amati/apps/backend/src/drizzle/schema/respondents.ts
2024-09-11 09:58:31 +07:00

26 lines
1.0 KiB
TypeScript

import { createId } from "@paralleldrive/cuid2";
import { pgTable, text, timestamp, varchar } from "drizzle-orm/pg-core";
import { relations } from "drizzle-orm";
import { users } from "./users";
export const respondents = pgTable("respondents", {
id: varchar("id", { length: 50 })
.primaryKey()
.$defaultFn(() => createId()),
userId: varchar('userId').references(() => users.id).unique(),
companyName: varchar("companyName").notNull(),
position: varchar("position").notNull(),
workExperience: varchar("workExperience").notNull(),
address: text("address").notNull(),
phoneNumber: varchar("phoneNumber", { length: 13 }).notNull(),
createdAt: timestamp("createdAt", { mode: "date" }).defaultNow(),
updatedAt: timestamp("updatedAt", { mode: "date" }).defaultNow(),
deletedAt: timestamp("deletedAt", { mode: "date" }),
});
export const respondentsRelations = relations(respondents, ({ one }) => ({
user: one(users, {
fields: [respondents.userId],
references: [users.id],
}),
}));