import {text, pgTable, serial, numeric, index, timestamp, boolean} from "drizzle-orm/pg-core"; import {createInsertSchema, createSelectSchema} from "drizzle-zod"; import {z} from "zod"; export const users = pgTable("users", { user_id: serial("id").primaryKey(), username: text("user_id").notNull(), email: text("title").notNull(), passwordToken: text("passwordToken").notNull(), passwordTokenExpires: timestamp("passwordTokenExpires"), acitve: boolean("active").default(true).notNull(), pinCode: numeric("pingcode"), lastLogin: timestamp("add_Date").defaultNow(), add_User: text("add_User").default("LST_System").notNull(), add_Date: timestamp("add_Date").defaultNow(), upd_user: text("add_User").default("LST_System").notNull(), upd_date: timestamp("upd_date").defaultNow(), }); // Schema for inserting a user - can be used to validate API requests export const insertUsersSchema = createInsertSchema(users, { username: z.string().min(3, {message: "Username must be at least 3 characters"}), email: z.string().email({message: "Invalid email"}), passwordToken: z.string().min(8, {message: "Password must be at least 8 characters"}), }); // Schema for selecting a Expenses - can be used to validate API responses export const selectExpensesSchema = createSelectSchema(users);