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