export async function runServerStartupBeforeListen({
initializeDatabaseFn,
ensureLocalUserWhenAuthDisabledFn,
configureWebPushFn
}) {
if (typeof initializeDatabaseFn !== 'function') {
throw new TypeError('initializeDatabaseFn is required');
}
if (typeof ensureLocalUserWhenAuthDisabledFn !== 'function') {
throw new TypeError('ensureLocalUserWhenAuthDisabledFn is required');
}
if (typeof configureWebPushFn !== 'function') {
throw new TypeError('configureWebPushFn is required');
}
await initializeDatabaseFn();
await ensureLocalUserWhenAuthDisabledFn();
configureWebPushFn();
}
export async function startServerAfterStartup({
startupFn,
listenFn
}) {
if (typeof startupFn !== 'function') {
throw new TypeError('startupFn is required');
}
if (typeof listenFn !== 'function') {
throw new TypeError('listenFn is required');
}
await startupFn();
return await listenFn();
}