2025-06-30 18:58:24 +02:00
|
|
|
/*
|
|
|
|
SPDX-FileCopyrightText: © 2025 Hornwitser <code@hornwitser.no>
|
|
|
|
SPDX-License-Identifier: AGPL-3.0-or-later
|
|
|
|
*/
|
2025-07-09 17:57:49 +02:00
|
|
|
import { nextAuthenticationMethodId, writeAuthenticationMethods, writeNextAuthenticationMethodId, writeSchedule, writeUsers } from "~/server/database";
|
2025-06-28 01:23:52 +02:00
|
|
|
import { generateDemoSchedule, generateDemoAccounts } from "~/server/generate-demo-schedule";
|
|
|
|
export default defineEventHandler(async (event) => {
|
|
|
|
await requireServerSessionWithAdmin(event);
|
2025-07-09 17:57:49 +02:00
|
|
|
const accounts = generateDemoAccounts();
|
|
|
|
await writeUsers(accounts);
|
2025-06-28 01:23:52 +02:00
|
|
|
await writeSchedule(generateDemoSchedule());
|
2025-07-09 17:57:49 +02:00
|
|
|
await writeAuthenticationMethods(accounts.map((user, index) => ({
|
|
|
|
id: index,
|
|
|
|
userId: user.id,
|
|
|
|
provider: "demo",
|
|
|
|
slug: user.name!,
|
|
|
|
name: user.name!,
|
|
|
|
})));
|
|
|
|
await writeNextAuthenticationMethodId(Math.max(await nextAuthenticationMethodId(), accounts.length));
|
2025-06-28 01:23:52 +02:00
|
|
|
})
|