From 2dc22f50bee4b6a77d36e9ec38e7f6ad1b7d6c59 Mon Sep 17 00:00:00 2001 From: ferdiansyah666 Date: Sun, 4 Aug 2024 21:38:38 +0700 Subject: [PATCH] create: assessments schema --- .../backend/src/drizzle/schema/assessments.ts | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 apps/backend/src/drizzle/schema/assessments.ts diff --git a/apps/backend/src/drizzle/schema/assessments.ts b/apps/backend/src/drizzle/schema/assessments.ts new file mode 100644 index 0000000..fea7a54 --- /dev/null +++ b/apps/backend/src/drizzle/schema/assessments.ts @@ -0,0 +1,22 @@ +import { createId } from "@paralleldrive/cuid2"; +import { pgEnum, pgTable, timestamp, varchar } from "drizzle-orm/pg-core"; +import { relations } from "drizzle-orm"; +import { respondents } from "./respondents"; + +const statusEnum = pgEnum("status", ["tertunda", "disetujui", "ditolak", "selesai"]); + +export const assessments = pgTable("assessments", { + id: varchar("id", { length: 50 }) + .primaryKey() + .$defaultFn(() => createId()), + respondentName: varchar("respondentName", { length: 255 }).notNull(), + status: statusEnum("status"), + reviewedBy: varchar("reviewedBy").notNull(), + validatedBy: varchar("validatedBy").notNull(), + validatedAt: timestamp("validatedAt", { mode: "date" }), + createdAt: timestamp("createdAt", { mode: "date" }).defaultNow(), + respondentId: varchar("respondentId").references(() => respondents.id), +}); + +// Query Tools in PosgreSQL +// CREATE TYPE status AS ENUM ('tertunda', 'disetujui', 'ditolak', 'selesai'); \ No newline at end of file