update: addition of the submitAssessment endpoint and the addition of some permissions

This commit is contained in:
falendikategar 2024-10-23 10:52:02 +07:00
parent a0707d67a9
commit 7687eae2bb
2 changed files with 42 additions and 2 deletions

View File

@ -113,6 +113,15 @@ const permissionsData = [
{
code: "assessments.submitAnswer",
},
{
code: "assessments.submitOption",
},
{
code: "assessments.submitValidation",
},
{
code: "assessments.submitAssessment",
},
{
code: "assessments.updateAnswer",
},

View File

@ -590,7 +590,7 @@ const assessmentsRoute = new Hono<HonoEnv>()
.post(
"/submitOption",
// checkPermission("assessments.submitOption"),
checkPermission("assessments.submitOption"),
requestValidator("json", optionFormSchema),
async (c) => {
const optionData = c.req.valid("json");
@ -648,7 +648,7 @@ const assessmentsRoute = new Hono<HonoEnv>()
.post(
"/submitValidation",
// checkPermission("assessments.submitValidation"),
checkPermission("assessments.submitValidation"),
requestValidator("json", validationFormSchema),
async (c) => {
const validationData = c.req.valid("json");
@ -702,6 +702,37 @@ const assessmentsRoute = new Hono<HonoEnv>()
}
)
.patch(
"/submitAssessment/:id",
checkPermission("assessments.submitAssessment"),
async (c) => {
const assessmentId = c.req.param("id");
const status = "selesai";
const assessment = await db
.select()
.from(assessments)
.where(and(eq(assessments.id, assessmentId),));
if (!assessment[0]) {
throw notFound({
message: "Assessment not found.",
});
}
await db
.update(assessments)
.set({
status,
})
.where(eq(assessments.id, assessmentId));
return c.json({
message: "Status assessment berhasil diperbarui.",
});
}
)
// Update answer in table answers if answer changes
.patch(
"/:id/updateAnswer",