diff --git a/apps/dokploy/server/api/routers/auth.ts b/apps/dokploy/server/api/routers/auth.ts index 262c9ac2..f3b2362f 100644 --- a/apps/dokploy/server/api/routers/auth.ts +++ b/apps/dokploy/server/api/routers/auth.ts @@ -12,6 +12,7 @@ import { } from "@/server/db/schema"; import { TRPCError } from "@trpc/server"; import * as bcrypt from "bcrypt"; +import { db } from "../../db"; import { createAdmin, createUser, @@ -33,6 +34,14 @@ export const authRouter = createTRPCRouter({ .input(apiCreateAdmin) .mutation(async ({ ctx, input }) => { try { + const admin = await db.query.admins.findFirst({}); + + if (admin) { + throw new TRPCError({ + code: "BAD_REQUEST", + message: "Admin already exists", + }); + } const newAdmin = await createAdmin(input); const session = await lucia.createSession(newAdmin.id || "", {}); ctx.res.appendHeader(