import { relations } from 'drizzle-orm';
import { pgTable,serial,char,pgEnum, primaryKey,integer,index,uniqueIndex,timestamp,unique, varchar, json, text, jsonb, uuid } from 'drizzle-orm/pg-core';
import { z } from 'zod';
import { user } from './user';
export const eventType=pgEnum('eventType',['crear','modificar','eliminar'])
export const eventTypeScheme=z.enum(eventType.enumValues)
export const eventsLog = pgTable("eventsLog", {
id: uuid("id").primaryKey().defaultRandom().notNull(),
eventType:eventType('eventType').notNull(),
userId:varchar('userId',{length:255}).references(()=>user.id,{onDelete:'cascade',onUpdate:'cascade'}),
description:text('newValues').notNull(),
modifiedItem:text('modifiedItem').notNull(),
tableName:varchar('tableName',{length:80}).notNull(),
createdAt:timestamp('createdAt').defaultNow(),
});
export const eventsLogRelations=relations(eventsLog,({one,many})=>({
user:one(user,{
fields:[eventsLog.userId],
references:[user.id]
})
}))