From 239f052a9a92d2d4d665ce5f2152667305cca4ca Mon Sep 17 00:00:00 2001 From: Aditya Siregar Date: Fri, 10 Oct 2025 00:05:50 +0700 Subject: [PATCH] fix --- .DS_Store | Bin 6148 -> 8196 bytes .../handler/admin_approval_flow_handler.go | 23 ++++++++++++++++++ internal/router/health_handler.go | 2 +- internal/router/router.go | 1 + 4 files changed, 25 insertions(+), 1 deletion(-) diff --git a/.DS_Store b/.DS_Store index 3642ece99647ac1d16a8332b7cba28905f22c12f..fa91e60ad75a64f00ece6c63b382aa9b4a0cc4f3 100644 GIT binary patch literal 8196 zcmeHMO=}cE5UtM6>Y{=P_z^tF9K?eMAs`yOWDF}Rp2D8h?1!#_*=$HQUIZCD1OyTB zqBlJ$f`a5v2r3>05y77zi-JdASGSq!%&bZd60jP&YnZC)_vZENbgDx{W_GnRMKno7 zHFRsocVj4N)^B^EjrluAU=8w#R;fc*)9zHG-7iGz4OKuDPz6*0RX`Qk4hmq;wyic| z-*;XeRRLAtzf{0}A7XTC6K^wT`O|@cO90pix4GdObpYqY-X`8=&T=Z|bk&3Lsm7NW z#-+m_+i=*#+ss*)PR6B^@yNzkD2CCI7jrn7#919x0ac)=fUVtk(s622N=;e6_m*7n z*ymzIuV1gX(tZn`+TOYLmB!5LGi6bozld78Zcht-q4BRb0-r7|(7>G}IA3-B;sao8 z_#}t5(=RSxI>#J@KSwX~OWf+mub7&uz+JE>7}S)=L^H$CE3qe@&prEep0P!Kub-or zM@W34%;Hz51^h*c9Sz^z$UPEw{^f_87p584=Sj?>SK>uOe%=aJy+<91hc7x#g}{V8 z5^w$c!$$}9c|7mUpRwqbcz#dVfm!>sNZ0U`-4J#EA)p3+iGAYekJ~G!7<*Gp&R|qb z$Rh&`))^{;#q#ELuHFj0l0);`o4cNa$d{UzM}+wNe%Ba(fcI<}JergSTI{+13M>jS zlFQ@wch-)bWIamaa!r007x0?+0!Z40w*f0-b)f;S>{_h^+|0eFqv9mLx8n!X!wK^% zol~mzr`UjJ^o0Ky0SDdx?TTqr1-7n0#idT#`v2_c^Z%^_Xr?Nl3T%4?OjK{wXF=1~ z)&;`0){fEV(QUJFnX{aNfy;4NF2`Xv{$Ysg7@;;N@iuc7chK}8fMw7@75JwL`~8|HpP!QiV<#qsWu}(L3y3)9=anR8=A{;aHDsow0+qysXXd5kmpkQ` z=A{%z*CWYraB^_Q3rJK~n;4krD41B9*Xk%#TN)Vv*~VtIwVWKH%KFwp@!2`KdHG#H z#{mH&&|_f03#DOHH;{qFYh}Sjc{%xc=|EYC&W&ZiSQfK$a0oI(bP8|-X;)C_Z7lrG cJegm{5fr>2#VjBi7?z;$1&eKt=b6I{0A)o~h5!Hn diff --git a/internal/handler/admin_approval_flow_handler.go b/internal/handler/admin_approval_flow_handler.go index 5a2bd48..a1a682d 100644 --- a/internal/handler/admin_approval_flow_handler.go +++ b/internal/handler/admin_approval_flow_handler.go @@ -2,6 +2,7 @@ package handler import ( "context" + "eslogad-be/internal/appcontext" "net/http" "strconv" @@ -200,6 +201,28 @@ func (h *AdminApprovalFlowHandler) ListApprovalFlows(c *gin.Context) { c.JSON(http.StatusOK, contract.BuildSuccessResponse(resp)) } +func (h *AdminApprovalFlowHandler) ListApprovalFlowsByDepartment(c *gin.Context) { + appCtx := appcontext.FromGinContext(c.Request.Context()) + + page, _ := strconv.Atoi(c.DefaultQuery("page", "1")) + limit, _ := strconv.Atoi(c.DefaultQuery("limit", "10")) + offset := (page - 1) * limit + + req := &contract.ListApprovalFlowsRequest{ + Limit: limit, + Offset: offset, + DepartmentID: &appCtx.DepartmentID, + } + + resp, err := h.svc.ListApprovalFlows(c.Request.Context(), req) + if err != nil { + c.JSON(http.StatusInternalServerError, &contract.ErrorResponse{Error: err.Error(), Code: http.StatusInternalServerError}) + return + } + + c.JSON(http.StatusOK, contract.BuildSuccessResponse(resp)) +} + func (h *AdminApprovalFlowHandler) ActivateApprovalFlow(c *gin.Context) { id, err := uuid.Parse(c.Param("id")) if err != nil { diff --git a/internal/router/health_handler.go b/internal/router/health_handler.go index 456cafb..645cc29 100644 --- a/internal/router/health_handler.go +++ b/internal/router/health_handler.go @@ -17,7 +17,6 @@ type UserHandler interface { ChangePassword(c *gin.Context) ListTitles(c *gin.Context) GetActiveUsersForMention(c *gin.Context) - } type FileHandler interface { @@ -134,6 +133,7 @@ type AdminApprovalFlowHandler interface { UpdateApprovalFlow(c *gin.Context) DeleteApprovalFlow(c *gin.Context) ListApprovalFlows(c *gin.Context) + ListApprovalFlowsByDepartment(c *gin.Context) ActivateApprovalFlow(c *gin.Context) DeactivateApprovalFlow(c *gin.Context) CloneApprovalFlow(c *gin.Context) diff --git a/internal/router/router.go b/internal/router/router.go index 73486a2..36cf1ab 100644 --- a/internal/router/router.go +++ b/internal/router/router.go @@ -241,6 +241,7 @@ func (r *Router) addAppRoutes(rg *gin.Engine) { { approvalFlows.POST("", r.adminApprovalFlowHandler.CreateApprovalFlow) approvalFlows.GET("", r.adminApprovalFlowHandler.ListApprovalFlows) + approvalFlows.GET("/department", r.adminApprovalFlowHandler.ListApprovalFlowsByDepartment) approvalFlows.GET("/:id", r.adminApprovalFlowHandler.GetApprovalFlow) approvalFlows.GET("/department/:department_id", r.adminApprovalFlowHandler.GetApprovalFlowByDepartment) approvalFlows.PUT("/:id", r.adminApprovalFlowHandler.UpdateApprovalFlow)