import { relations } from 'drizzle-orm';
import { pgTable,serial,char,pgEnum, primaryKey,integer,index,uniqueIndex,timestamp,unique, varchar, uuid, boolean, text } from 'drizzle-orm/pg-core';
import { task } from './task';
import { userTool } from './userTool';
export const user = pgTable("user", {
id: varchar("id",{length:255}).primaryKey().notNull(),
firstName: varchar("firstName", { length: 255 }).notNull(),
lastName: varchar("lastName", { length: 255 }),
email: varchar("email", { length: 255 }).unique(),
image:text('user_image'),
createdAt: timestamp('createdAt',{mode:'date'}).notNull().defaultNow(),
updatedAt: timestamp('updatedAt',{mode:'date'}).notNull().defaultNow(),
isActive:boolean('is_active').notNull().default(true),
rol:text('rol').default("moderator").notNull(),
isDeleted:boolean('is_deleted').notNull().default(false)
});
export const userRelations=relations(user,({one,many})=>({
tasks:many(task),
userTool:many(userTool)
}))
export type UserSelect = typeof user.$inferInsert
export type UserInsert = typeof user.$inferInsert