import { relations } from 'drizzle-orm'; import { pgTable,serial,char,pgEnum, primaryKey,integer,index,uniqueIndex,timestamp,unique, varchar, uuid } from 'drizzle-orm/pg-core'; import { tool } from './tools'; import { user } from './user'; export const userTool = pgTable("userTool", { id: uuid("id").primaryKey().notNull(), toolId: uuid("toolId").notNull().references(()=>tool.id,{onDelete:'cascade',onUpdate:'cascade'}), userId: varchar("userId",{length:255}).notNull().references(()=>user.id), toolName: varchar("tool_name",{length:255}).notNull(), quantity:integer('quantity').notNull().default(1), createdAt: timestamp('createdAt',{mode:'date'}).notNull().defaultNow(), updatedAt: timestamp('updatedAt',{mode:'date'}).notNull().defaultNow(), },(t)=>({ unq_user_tool:unique().on(t.toolId,t.userId), userTool_tool:index("userTool_tool").on(t.toolId), userTool_user:index('userTool_user').on(t.userId) })); export const userToolRelations=relations(userTool,({one,many})=>({ tool:one(tool,{ fields:[userTool.toolId], references:[tool.id] }), user:one(user,{ fields:[userTool.userId], references:[user.id] }), })) export type UserToolInsert = typeof userTool.$inferInsert export type UserToolSelect = typeof userTool.$inferSelect