36 lines
1.5 KiB
TypeScript
36 lines
1.5 KiB
TypeScript
import {boolean, date, jsonb, numeric, pgTable, text, timestamp, uniqueIndex, uuid} from "drizzle-orm/pg-core";
|
|
import {createSelectSchema} from "drizzle-zod";
|
|
|
|
export const serverData = pgTable(
|
|
"serverData",
|
|
{
|
|
server_id: uuid("server_id").defaultRandom().primaryKey(),
|
|
sName: text("sName").notNull(),
|
|
serverDNS: text("serverDNS"),
|
|
plantToken: text("plantToken"),
|
|
idAddress: text("idAddress"),
|
|
greatPlainsPlantCode: numeric("greatPlainsPlantCode"),
|
|
streetAddress: text("streetAddress"),
|
|
cityState: text("cityState"),
|
|
zipcode: numeric("zipcode"),
|
|
contactEmail: text("contactEmail"),
|
|
contactPhone: text("contactPhone"),
|
|
customerTiAcc: text("customerTiAcc"),
|
|
lstServerPort: numeric("lstServerPort"),
|
|
active: boolean("active").default(true),
|
|
serverLoc: text("serverLoc"),
|
|
oldVersion: text("oldVersion"),
|
|
lastUpdated: timestamp("lastUpdated").defaultNow(),
|
|
shippingHours: text("shippingHours").default('[{"early": "06:30", "late": "23:00"}]'),
|
|
tiPostTime: text("tiPostTime").default('[{"from": "24", "to": "24"}]'),
|
|
otherSettings: jsonb("otherSettings").default([{specialInstructions: "something for ti", active: false}]),
|
|
},
|
|
|
|
(table) => [
|
|
// uniqueIndex('emailUniqueIndex').on(sql`lower(${table.email})`),
|
|
uniqueIndex("plantToken").on(table.plantToken),
|
|
]
|
|
);
|
|
|
|
export const selectRolesSchema = createSelectSchema(serverData);
|