import { relations } from 'drizzle-orm';
import { pgTable,serial,char,pgEnum, primaryKey,integer,index,uniqueIndex,timestamp,unique, varchar, uuid } from 'drizzle-orm/pg-core';
import { project } from './project';
import { areas } from './areas';
import { task } from './task';
export const floor = pgTable("floor", {
id: uuid("id").primaryKey().notNull().defaultRandom(),
name:varchar('name',{length:255}).notNull(),
projectName:varchar('project_name',{length:255}).notNull(),
projectId:uuid('project_id').references(()=>project.id,{onDelete:'cascade',onUpdate:'cascade'})
},(t)=>({
unq_floor_project:unique().on(t.name,t.projectId),
floor_project:index("floor_project").on(t.projectId)
}));
export const floorRelations=relations(floor,({one,many})=>({
project:one(project,{
fields:[floor.projectId],
references:[project.id]
}),
areas:many(areas),
}))
export type FloorSelect = typeof floor.$inferInsert