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