diff --git a/src/lib/server/services/user-service.ts b/src/lib/server/services/user-service.ts index 5760a48..548e5a4 100644 --- a/src/lib/server/services/user-service.ts +++ b/src/lib/server/services/user-service.ts @@ -28,6 +28,11 @@ const userCreationSchema = z.object({ token: z.uuidv7().optional(), tokenValidUntil: z.date().optional(), language: z.enum(["de", "en"]).optional().default("de"), + confirmationState: z + .enum(["INVITED", "CONFIRMED", "ACCESS_GRANTED"]) + .optional() + .default("INVITED"), + // Note: passphraseHash and recoveryPassphrase are handled internally, not via user input }); type UserCreation = z.infer; diff --git a/src/routes/api/admin/init/+server.ts b/src/routes/api/admin/init/+server.ts index 8a026ab..8728f3f 100644 --- a/src/routes/api/admin/init/+server.ts +++ b/src/routes/api/admin/init/+server.ts @@ -150,6 +150,7 @@ export const POST: RequestHandler = async ({ request, cookies, url }) => { passphrase: body.passphrase, // Will be undefined if passkey is used language: body.language || "de", role: "GLOBAL_ADMIN", + confirmationState: "ACCESS_GRANTED", // Admin account is active immediately }, url, );