44 lines
1.4 KiB
TypeScript
44 lines
1.4 KiB
TypeScript
import {
|
|
date,
|
|
integer,
|
|
pgTable,
|
|
text,
|
|
timestamp,
|
|
uuid,
|
|
} from "drizzle-orm/pg-core";
|
|
import { createSelectSchema } from "drizzle-zod";
|
|
|
|
export const invHistoricalData = pgTable(
|
|
"invHistoricalData",
|
|
{
|
|
inv_id: uuid("inv_id").defaultRandom().primaryKey(),
|
|
histDate: date("histDate").notNull(), // this date should always be yesterday when we post it.
|
|
plantToken: text("plantToken"),
|
|
article: text("article").notNull(),
|
|
articleDescription: text("articleDescription").notNull(),
|
|
materialType: text("materialType"),
|
|
total_QTY: text("total_QTY"),
|
|
avaliable_QTY: text("avaliable_QTY"),
|
|
coa_QTY: text("coa_QTY"),
|
|
held_QTY: text("held_QTY"),
|
|
lot_Number: text("lot_number"),
|
|
consignment: text("consignment"),
|
|
location: text("location"),
|
|
whseId: text("whse_id").default(""),
|
|
whseName: text("whse_name").default("missing whseName"),
|
|
upd_user: text("upd_user").default("lst"),
|
|
upd_date: timestamp("upd_date").defaultNow(),
|
|
},
|
|
// (table) => [
|
|
// // uniqueIndex('emailUniqueIndex').on(sql`lower(${table.email})`),
|
|
// uniqueIndex("role_name").on(table.name),
|
|
// ]
|
|
);
|
|
|
|
// Schema for inserting a user - can be used to validate API requests
|
|
// export const insertRolesSchema = createInsertSchema(roles, {
|
|
// name: z.string().min(3, {message: "Role name must be more than 3 letters"}),
|
|
// });
|
|
// Schema for selecting a Expenses - can be used to validate API responses
|
|
export const selectRolesSchema = createSelectSchema(invHistoricalData);
|