update: addition of status and change in the validated column to the verified column

This commit is contained in:
falendikategar 2024-10-25 08:11:39 +07:00
parent 55cc35718d
commit edfcffe223
5 changed files with 26 additions and 25 deletions

View File

@ -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

View File

@ -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,
});

View File

@ -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();

View File

@ -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>()

View File

@ -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",