diff --git a/server/plugins/01.system-init.ts b/server/plugins/01.system-init.ts index bb01ed9..1193ec5 100644 --- a/server/plugins/01.system-init.ts +++ b/server/plugins/01.system-init.ts @@ -1,4 +1,4 @@ -import prisma from "../internal/db/database"; +import prisma from "~/server/internal/db/database"; export default defineNitroPlugin(async (_nitro) => { // Ensure system user exists diff --git a/server/plugins/02.system-setup.ts b/server/plugins/02.setup-admin.ts similarity index 91% rename from server/plugins/02.system-setup.ts rename to server/plugins/02.setup-admin.ts index e568a69..1d4a128 100644 --- a/server/plugins/02.system-setup.ts +++ b/server/plugins/02.setup-admin.ts @@ -1,4 +1,4 @@ -import prisma from "../internal/db/database"; +import prisma from "~/server/internal/db/database"; export default defineNitroPlugin(async (_nitro) => { const userCount = await prisma.user.count({ diff --git a/server/plugins/04.tasks.ts b/server/plugins/04.tasks.ts new file mode 100644 index 0000000..3c8dde4 --- /dev/null +++ b/server/plugins/04.tasks.ts @@ -0,0 +1,7 @@ +export default defineNitroPlugin(async (_nitro) => { + // all tasks we should run on server boot + await Promise.all([ + runTask("cleanup:invitations"), + runTask("cleanup:sessions"), + ]); +}); diff --git a/server/tasks/cleanup/invitations.ts b/server/tasks/cleanup/invitations.ts index 965731f..b2afc45 100644 --- a/server/tasks/cleanup/invitations.ts +++ b/server/tasks/cleanup/invitations.ts @@ -5,6 +5,8 @@ export default defineTask({ name: "cleanup:invitations", }, async run() { + console.log("[Task cleanup:invitations]: Cleaning invitations"); + const now = new Date(); await prisma.invitation.deleteMany({ @@ -15,6 +17,7 @@ export default defineTask({ }, }); + console.log("[Task cleanup:invitations]: Done"); return { result: true }; }, }); diff --git a/server/tasks/cleanup/sessions.ts b/server/tasks/cleanup/sessions.ts index d2f4894..b613a72 100644 --- a/server/tasks/cleanup/sessions.ts +++ b/server/tasks/cleanup/sessions.ts @@ -2,11 +2,12 @@ import sessionHandler from "~/server/internal/session"; export default defineTask({ meta: { - name: "cleanup:invitations", + name: "cleanup:sessions", }, async run() { + console.log("[Task cleanup:sessions]: Cleaning up sessions"); await sessionHandler.cleanupSessions(); - + console.log("[Task cleanup:sessions]: Done"); return { result: true }; }, });