import { t as OptionsRepository } from "./options-DTTML-Tx.mjs";

//#region src/api/setup-complete.ts
/**
* 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.
*/
async function finalizeSetup(db) {
	const options = new OptionsRepository(db);
	const setupComplete = await options.get("emdash:setup_complete");
	if (setupComplete === true || setupComplete === "true") return;
	const setupState = await options.get("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");
}

//#endregion
export { finalizeSetup as t };
//# sourceMappingURL=setup-complete-Cb3LRyzy.mjs.map