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