diff --git a/apps/backend/src/routes/assessmentRequestManagement/route.ts b/apps/backend/src/routes/assessmentRequestManagement/route.ts index a1b5840..4df81da 100644 --- a/apps/backend/src/routes/assessmentRequestManagement/route.ts +++ b/apps/backend/src/routes/assessmentRequestManagement/route.ts @@ -1,4 +1,4 @@ -import { and, eq, ilike, or, sql, desc } from "drizzle-orm"; +import { and, eq, ilike, or, sql, asc } from "drizzle-orm"; import { Hono } from "hono"; import checkPermission from "../../middlewares/checkPermission"; import { z } from "zod"; @@ -92,7 +92,21 @@ const assessmentsRequestManagementRoutes = new Hono() ) : undefined ) - .orderBy(desc(assessments.createdAt)) + .orderBy( + sql` + CASE + WHEN ${assessments.status} = 'menunggu konfirmasi' THEN 1 + WHEN ${assessments.status} = 'diterima' THEN 2 + WHEN ${assessments.status} = 'ditolak' THEN 3 + WHEN ${assessments.status} = 'dalam pengerjaan' THEN 4 + WHEN ${assessments.status} = 'sudah diverifikasi' THEN 5 + WHEN ${assessments.status} = 'belum diverifikasi' THEN 6 + WHEN ${assessments.status} = 'selesai' THEN 7 + ELSE 8 + END + `, + asc(assessments.createdAt) + ) .offset(page * limit) .limit(limit);