update: addition of status and change in the validated column to the verified column
This commit is contained in:
parent
55cc35718d
commit
edfcffe223
|
|
@ -4,7 +4,8 @@ import { relations } from "drizzle-orm";
|
|||
import { respondents } from "./respondents";
|
||||
import { users } from "./users";
|
||||
|
||||
export const statusEnum = pgEnum("status", ["menunggu konfirmasi", "diterima", "ditolak", "selesai"]);
|
||||
export const statusEnum = pgEnum("status", ["menunggu konfirmasi", "diterima", "ditolak",
|
||||
"dalam proses", "selesai", "belum diverifikasi", "sudah diverifikasi"]);
|
||||
|
||||
export const assessments = pgTable("assessments", {
|
||||
id: varchar("id", { length: 50 })
|
||||
|
|
@ -14,8 +15,8 @@ export const assessments = pgTable("assessments", {
|
|||
status: statusEnum("status"),
|
||||
reviewedBy: varchar("reviewedBy"),
|
||||
reviewedAt: timestamp("reviewedAt", { mode: "date" }),
|
||||
validatedBy: varchar("validatedBy"),
|
||||
validatedAt: timestamp("validatedAt", { mode: "date" }),
|
||||
verifiedBy: varchar("verifiedBy"),
|
||||
verifiedAt: timestamp("verifiedAt", { mode: "date" }),
|
||||
createdAt: timestamp("createdAt", { mode: "date" }).defaultNow(),
|
||||
});
|
||||
// Query Tools in PosgreSQL
|
||||
|
|
|
|||
|
|
@ -6,11 +6,11 @@ import { users } from "../schema/users";
|
|||
|
||||
type AssessmentData = {
|
||||
id: string;
|
||||
status: "menunggu konfirmasi" | "diterima" | "ditolak" | "selesai";
|
||||
status: "menunggu konfirmasi" | "diterima" | "ditolak" | "dalam proses" | "selesai" | "belum diverifikasi" | "sudah diverifikasi";
|
||||
reviewedAt: Date;
|
||||
reviewedBy: string;
|
||||
validatedBy: string;
|
||||
validatedAt: Date;
|
||||
verifiedBy: string;
|
||||
verifiedAt: Date;
|
||||
createdAt: Date,
|
||||
respondentId: string;
|
||||
};
|
||||
|
|
@ -26,8 +26,8 @@ const assessmentsSeeder = async () => {
|
|||
status: "diterima",
|
||||
reviewedAt: new Date(),
|
||||
reviewedBy: "Reviewer B",
|
||||
validatedBy: "Reviewer A",
|
||||
validatedAt: new Date(),
|
||||
verifiedBy: "Reviewer A",
|
||||
verifiedAt: new Date(),
|
||||
createdAt: new Date(),
|
||||
respondentId: respondent.id,
|
||||
|
||||
|
|
@ -38,8 +38,8 @@ const assessmentsSeeder = async () => {
|
|||
status: "ditolak",
|
||||
reviewedAt: new Date(),
|
||||
reviewedBy: "Reviewer C",
|
||||
validatedBy: "Reviewer D",
|
||||
validatedAt: new Date(),
|
||||
verifiedBy: "Reviewer D",
|
||||
verifiedAt: new Date(),
|
||||
createdAt: new Date(),
|
||||
respondentId: respondent.id,
|
||||
});
|
||||
|
|
@ -49,8 +49,8 @@ const assessmentsSeeder = async () => {
|
|||
status: "menunggu konfirmasi",
|
||||
reviewedAt: new Date(),
|
||||
reviewedBy: "Reviewer W",
|
||||
validatedBy: "Reviewer S",
|
||||
validatedAt: new Date(),
|
||||
verifiedBy: "Reviewer S",
|
||||
verifiedAt: new Date(),
|
||||
createdAt: new Date(),
|
||||
respondentId: respondent.id,
|
||||
});
|
||||
|
|
@ -60,8 +60,8 @@ const assessmentsSeeder = async () => {
|
|||
status: "selesai",
|
||||
reviewedAt: new Date(),
|
||||
reviewedBy: "Reviewer F",
|
||||
validatedBy: "Reviewer G",
|
||||
validatedAt: new Date(),
|
||||
verifiedBy: "Reviewer G",
|
||||
verifiedAt: new Date(),
|
||||
createdAt: new Date(),
|
||||
respondentId: respondent.id,
|
||||
});
|
||||
|
|
@ -70,8 +70,8 @@ const assessmentsSeeder = async () => {
|
|||
status: "selesai",
|
||||
reviewedAt: new Date(),
|
||||
reviewedBy: "Reviewer I",
|
||||
validatedBy: "Reviewer L",
|
||||
validatedAt: new Date(),
|
||||
verifiedBy: "Reviewer L",
|
||||
verifiedAt: new Date(),
|
||||
createdAt: new Date(),
|
||||
respondentId: respondent.id,
|
||||
});
|
||||
|
|
|
|||
|
|
@ -137,8 +137,8 @@ const assessmentRequestRoute = new Hono<HonoEnv>()
|
|||
id: createId(),
|
||||
respondentId,
|
||||
status: "menunggu konfirmasi", // Status awal permohonan
|
||||
validatedBy: null,
|
||||
validatedAt: null,
|
||||
verifiedBy: null,
|
||||
verifiedAt: null,
|
||||
createdAt: new Date(),
|
||||
})
|
||||
.returning();
|
||||
|
|
|
|||
|
|
@ -15,12 +15,12 @@ export const assessmentFormSchema = z.object({
|
|||
respondentId: z.string().min(1),
|
||||
status: z.enum(["menunggu konfirmasi", "diterima", "ditolak", "selesai"]),
|
||||
reviewedBy: z.string().min(1),
|
||||
validatedBy: z.string().min(1),
|
||||
validatedAt: z.string().optional(),
|
||||
verifiedBy: z.string().min(1),
|
||||
verifiedAt: z.string().optional(),
|
||||
});
|
||||
|
||||
export const assessmentUpdateSchema = assessmentFormSchema.extend({
|
||||
validatedAt: z.string().optional().or(z.literal("")),
|
||||
verifiedAt: z.string().optional().or(z.literal("")),
|
||||
});
|
||||
|
||||
const assessmentsRequestManagementRoutes = new Hono<HonoEnv>()
|
||||
|
|
|
|||
|
|
@ -64,7 +64,7 @@ const assessmentRoute = new Hono<HonoEnv>()
|
|||
statusAssessments: assessments.status,
|
||||
statusVerification: sql<string>`
|
||||
CASE
|
||||
WHEN ${assessments.validatedAt} IS NOT NULL THEN 'sudah diverifikasi'
|
||||
WHEN ${assessments.verifiedAt} IS NOT NULL THEN 'sudah diverifikasi'
|
||||
ELSE 'belum diverifikasi'
|
||||
END`
|
||||
.as("statusVerification"),
|
||||
|
|
@ -128,7 +128,7 @@ const assessmentRoute = new Hono<HonoEnv>()
|
|||
statusAssessment: assessments.status,
|
||||
statusVerification: sql<string>`
|
||||
CASE
|
||||
WHEN ${assessments.validatedAt} IS NOT NULL THEN 'sudah diverifikasi'
|
||||
WHEN ${assessments.verifiedAt} IS NOT NULL THEN 'sudah diverifikasi'
|
||||
ELSE 'belum diverifikasi'
|
||||
END`
|
||||
.as("statusVerification"),
|
||||
|
|
@ -290,10 +290,10 @@ const assessmentRoute = new Hono<HonoEnv>()
|
|||
await db
|
||||
.update(assessments)
|
||||
.set({
|
||||
validatedAt: new Date(),
|
||||
verifiedAt: new Date(),
|
||||
})
|
||||
.where(eq(assessments.id, assessmentId));
|
||||
console.log("Validated Success");
|
||||
console.log("Verified Success");
|
||||
|
||||
return c.json({
|
||||
message: "Assessment berhasil diverifikasi",
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user