refactor(auth): add validation to prevent create another admin when a admin is present

This commit is contained in:
Mauricio Siu 2024-08-26 15:19:30 -06:00
parent 1df9f1f4df
commit 74ea9debd5

View File

@ -27,12 +27,21 @@ import {
protectedProcedure,
publicProcedure,
} from "../trpc";
import { db } from "../../db";
export const authRouter = createTRPCRouter({
createAdmin: publicProcedure
.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(