From 37c26d58774409c5feac80f757ba799fe2f86508 Mon Sep 17 00:00:00 2001 From: giovanni Date: Thu, 15 Jan 2026 10:45:13 +0700 Subject: [PATCH] add daily checklist permission --- internal/middleware/permissions.go | 17 +++++++++-- internal/modules/daily-checklists/route.go | 28 +++++++++---------- .../modules/master/config-checklists/route.go | 10 +++---- internal/modules/master/employees/route.go | 10 +++---- .../modules/master/phase-activities/route.go | 10 +++---- internal/modules/master/phasess/route.go | 10 +++---- 6 files changed, 49 insertions(+), 36 deletions(-) diff --git a/internal/middleware/permissions.go b/internal/middleware/permissions.go index 5d5290d3..b5d3c727 100644 --- a/internal/middleware/permissions.go +++ b/internal/middleware/permissions.go @@ -1,8 +1,9 @@ package middleware -const( +const ( P_DashboardGetAll = "lti.dashboard.list" ) + // project-flock const ( P_ProjectFlockKandangsClosing = "lti.production.project_flock_kandangs.closing" @@ -151,7 +152,7 @@ const ( P_ProductsCreateOne = "lti.master.products.create" P_ProductsUpdateOne = "lti.master.products.update" P_ProductsDeleteOne = "lti.master.products.delete" - + P_SuppliersGetAll = "lti.master.suppliers.list" P_SuppliersGetOne = "lti.master.suppliers.detail" P_SuppliersCreateOne = "lti.master.suppliers.create" @@ -238,3 +239,15 @@ const ( P_UserGetAll = "lti.users.list" P_UserGetOne = "lti.users.detail" ) + +// daily-checklist +const ( + P_DailyChecklistDashboardList = "lti.daily_checklist.dashboard.list" + P_DailyChecklistCreateOne = "lti.daily_checklist.create" + P_DailyChecklistGetAll = "lti.daily_checklist.list" + P_DailyChecklistGetOne = "lti.daily_checklist.detail" + P_DailyChecklistReports = "lti.daily_checklist.reports" + P_DailyChecklistEmployee = "lti.daily_checklist.master_data.employee" + P_DailyChecklistActivity = "lti.daily_checklist.master_data.activity" + P_DailyChecklistActivityConfig = "lti.daily_checklist.master_data.configuration" +) diff --git a/internal/modules/daily-checklists/route.go b/internal/modules/daily-checklists/route.go index 9e576a05..0927486a 100644 --- a/internal/modules/daily-checklists/route.go +++ b/internal/modules/daily-checklists/route.go @@ -15,49 +15,49 @@ func DailyChecklistRoutes(v1 fiber.Router, u user.UserService, s dailyChecklist. route := v1.Group("/daily-checklists") route.Use(m.Auth(u)) - route.Get("/", ctrl.GetAll) - route.Get("/report", ctrl.GetReport) + route.Get("/", m.RequirePermissions(m.P_DailyChecklistGetAll), ctrl.GetAll) + route.Get("/report", m.RequirePermissions(m.P_DailyChecklistReports), ctrl.GetReport) - route.Get("/summary", ctrl.GetSummary) + route.Get("/summary", m.RequirePermissions(m.P_DailyChecklistDashboardList), ctrl.GetSummary) - route.Get("/report", ctrl.GetReport) + // route.Get("/report", ctrl.GetReport) // upsert daily checklist - route.Post("/", ctrl.CreateOne) + route.Post("/", m.RequirePermissions(m.P_DailyChecklistCreateOne), ctrl.CreateOne) // get detail data daily checklist by id - route.Get("/relation/:idDailyChecklist", ctrl.GetOne) + route.Get("/relation/:idDailyChecklist", m.RequirePermissions(m.P_DailyChecklistGetOne), ctrl.GetOne) // get phases by daily checklist id - route.Get("/phase/:idDailyChecklist", ctrl.GetPhaseByIdChecklist) + route.Get("/phase/:idDailyChecklist", m.RequirePermissions(m.P_DailyChecklistCreateOne), ctrl.GetPhaseByIdChecklist) // create task /* ketika add phase */ - route.Post("/phase/:idDailyChecklist", ctrl.CreateDailyChecklistPhase) + route.Post("/phase/:idDailyChecklist", m.RequirePermissions(m.P_DailyChecklistCreateOne), ctrl.CreateDailyChecklistPhase) // create assigment /* ketika add ABK */ - route.Post("/assignment/:idDailyChecklist", ctrl.CreateAssignment) + route.Post("/assignment/:idDailyChecklist", m.RequirePermissions(m.P_DailyChecklistCreateOne), ctrl.CreateAssignment) // remove assignment /* ketika remove ABK */ - route.Delete("/:idDailyChecklist/assignments/:idEmployee", ctrl.RemoveAssignment) + route.Delete("/:idDailyChecklist/assignments/:idEmployee", m.RequirePermissions(m.P_DailyChecklistCreateOne), ctrl.RemoveAssignment) //get all tasks - route.Get("/tasks", ctrl.GetAllTasks) + route.Get("/tasks", m.RequirePermissions(m.P_DailyChecklistCreateOne), ctrl.GetAllTasks) // update assignment /* ketika check dan uncheck tugas oleh ABK */ - route.Post("/assignment", ctrl.UpdateAssignment) + route.Post("/assignment", m.RequirePermissions(m.P_DailyChecklistCreateOne), ctrl.UpdateAssignment) - route.Patch("/:idDailyChecklist", ctrl.UpdateOne) - route.Delete("/:idDailyChecklist", ctrl.DeleteOne) + route.Patch("/:idDailyChecklist", m.RequirePermissions(m.P_DailyChecklistCreateOne), ctrl.UpdateOne) + route.Delete("/:idDailyChecklist", m.RequirePermissions(m.P_DailyChecklistCreateOne), ctrl.DeleteOne) } diff --git a/internal/modules/master/config-checklists/route.go b/internal/modules/master/config-checklists/route.go index 1b590067..a7e09500 100644 --- a/internal/modules/master/config-checklists/route.go +++ b/internal/modules/master/config-checklists/route.go @@ -15,9 +15,9 @@ func ConfigChecklistRoutes(v1 fiber.Router, u user.UserService, s configChecklis route := v1.Group("/config-checklists") route.Use(m.Auth(u)) - route.Get("/", ctrl.GetAll) - route.Post("/", ctrl.CreateOne) - route.Get("/:id", ctrl.GetOne) - route.Patch("/:id", ctrl.UpdateOne) - route.Delete("/:id", ctrl.DeleteOne) + route.Get("/", m.RequirePermissions(m.P_DailyChecklistActivityConfig), ctrl.GetAll) + route.Post("/", m.RequirePermissions(m.P_DailyChecklistActivityConfig), ctrl.CreateOne) + route.Get("/:id", m.RequirePermissions(m.P_DailyChecklistActivityConfig), ctrl.GetOne) + route.Patch("/:id", m.RequirePermissions(m.P_DailyChecklistActivityConfig), ctrl.UpdateOne) + route.Delete("/:id", m.RequirePermissions(m.P_DailyChecklistActivityConfig), ctrl.DeleteOne) } diff --git a/internal/modules/master/employees/route.go b/internal/modules/master/employees/route.go index 53974814..08fb4870 100644 --- a/internal/modules/master/employees/route.go +++ b/internal/modules/master/employees/route.go @@ -15,9 +15,9 @@ func EmployeesRoutes(v1 fiber.Router, u user.UserService, s employees.EmployeesS route := v1.Group("/employees") route.Use(m.Auth(u)) - route.Get("/", ctrl.GetAll) - route.Post("/", ctrl.CreateOne) - route.Get("/:id", ctrl.GetOne) - route.Patch("/:id", ctrl.UpdateOne) - route.Delete("/:id", ctrl.DeleteOne) + route.Get("/", m.RequirePermissions(m.P_DailyChecklistEmployee), ctrl.GetAll) + route.Post("/", m.RequirePermissions(m.P_DailyChecklistEmployee), ctrl.CreateOne) + route.Get("/:id", m.RequirePermissions(m.P_DailyChecklistEmployee), ctrl.GetOne) + route.Patch("/:id", m.RequirePermissions(m.P_DailyChecklistEmployee), ctrl.UpdateOne) + route.Delete("/:id", m.RequirePermissions(m.P_DailyChecklistEmployee), ctrl.DeleteOne) } diff --git a/internal/modules/master/phase-activities/route.go b/internal/modules/master/phase-activities/route.go index 6fcef558..723fd7bd 100644 --- a/internal/modules/master/phase-activities/route.go +++ b/internal/modules/master/phase-activities/route.go @@ -15,9 +15,9 @@ func PhaseActivityRoutes(v1 fiber.Router, u user.UserService, s phaseActivity.Ph route := v1.Group("/phase-activities") route.Use(m.Auth(u)) - route.Get("/", ctrl.GetAll) - route.Post("/", ctrl.CreateOne) - route.Get("/:id", ctrl.GetOne) - route.Patch("/:id", ctrl.UpdateOne) - route.Delete("/:id", ctrl.DeleteOne) + route.Get("/", m.RequirePermissions(m.P_DailyChecklistActivity), ctrl.GetAll) + route.Post("/", m.RequirePermissions(m.P_DailyChecklistActivity), ctrl.CreateOne) + route.Get("/:id", m.RequirePermissions(m.P_DailyChecklistActivity), ctrl.GetOne) + route.Patch("/:id", m.RequirePermissions(m.P_DailyChecklistActivity), ctrl.UpdateOne) + route.Delete("/:id", m.RequirePermissions(m.P_DailyChecklistActivity), ctrl.DeleteOne) } diff --git a/internal/modules/master/phasess/route.go b/internal/modules/master/phasess/route.go index b4ca202d..1da6aeeb 100644 --- a/internal/modules/master/phasess/route.go +++ b/internal/modules/master/phasess/route.go @@ -15,9 +15,9 @@ func PhasesRoutes(v1 fiber.Router, u user.UserService, s phases.PhasesService) { route := v1.Group("/phases") route.Use(m.Auth(u)) - route.Get("/", ctrl.GetAll) - route.Post("/", ctrl.CreateOne) - route.Get("/:id", ctrl.GetOne) - route.Patch("/:id", ctrl.UpdateOne) - route.Delete("/:id", ctrl.DeleteOne) + route.Get("/", m.RequirePermissions(m.P_DailyChecklistActivity), ctrl.GetAll) + route.Post("/", m.RequirePermissions(m.P_DailyChecklistActivity), ctrl.CreateOne) + route.Get("/:id", m.RequirePermissions(m.P_DailyChecklistActivity), ctrl.GetOne) + route.Patch("/:id", m.RequirePermissions(m.P_DailyChecklistActivity), ctrl.UpdateOne) + route.Delete("/:id", m.RequirePermissions(m.P_DailyChecklistActivity), ctrl.DeleteOne) }