import {
router,
publicProcedure,
isAdminMiddleware,
} from "../trpc";
import { z } from "zod";
import { projectServiceFacade } from "../project/application/facade";
import { projectFloorSchema } from "@/lib/schemas/projectFloorSchema";
import { v4 as uuidv4 } from 'uuid';
export const floorRouter = router({
createProjectFloor: publicProcedure
.use(isAdminMiddleware)
.input(
projectFloorSchema.extend({
id:z.string().default(()=>uuidv4())
})
)
.mutation(async ({ input, ctx }) => {
const userId={value:ctx.user.userId}
return await projectServiceFacade.createProjectFloor(input,userId)
}),
deleteProjectFloor: publicProcedure
.use(isAdminMiddleware)
.input(
z.object({
id: z.string().uuid({ message: "ID debe ser un UUID válido" }),
})
)
.mutation(async ({ input, ctx }) => {
const { id } = input;
const floorId={value:id}
const userId={value:ctx.user.userId}
return await projectServiceFacade.deleteProjectFloor(floorId,userId)
}),
});