From 203857d116f71023951b08755da6c2dab4b45a80 Mon Sep 17 00:00:00 2001 From: Habib Fatkhul Rohman Date: Thu, 30 Oct 2025 14:45:02 +0700 Subject: [PATCH] feat(menu): Update GetMenus to use client_id from query and enhance filtering --- modules/menu/controller/menu_controller.go | 3 +-- modules/menu/query/menu_query.go | 6 ++++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/modules/menu/controller/menu_controller.go b/modules/menu/controller/menu_controller.go index fdd9d80..60e3c82 100644 --- a/modules/menu/controller/menu_controller.go +++ b/modules/menu/controller/menu_controller.go @@ -87,9 +87,8 @@ func (m *menuController) CreateMenu(ctx *gin.Context) { // @Failure 400 {object} utils.Response // @Router /menus [get] func (m *menuController) GetMenus(ctx *gin.Context) { - _ = ctx.MustGet("client_id").(string) var filter = &query.MenuFilter{ - // ClientID: clientId, + ClientID: ctx.Query("client_id"), Name: ctx.Query("name"), ParentID: ctx.Query("parent_id"), Includes: ctx.QueryArray("includes"), diff --git a/modules/menu/query/menu_query.go b/modules/menu/query/menu_query.go index 1612664..bfd70d3 100644 --- a/modules/menu/query/menu_query.go +++ b/modules/menu/query/menu_query.go @@ -4,6 +4,7 @@ import ( "github.com/Caknoooo/go-gin-clean-starter/database/entities" "github.com/Caknoooo/go-pagination" "github.com/google/uuid" + "github.com/sirupsen/logrus" "gorm.io/gorm" ) @@ -35,10 +36,11 @@ func (f *MenuFilter) ApplyFilters(q *gorm.DB) *gorm.DB { if f.ParentID != "" { q = q.Where("parent_id = ?", f.ParentID) } + logrus.Info("MenuFilter ClientID: ", f.ClientID) if f.ClientID != "" { - q = q.Where("client_id = ?", f.ClientID) + q = q.Joins("JOIN m_menu_clients ON m_menu_clients.menu_id = m_menus.id"). + Where("m_menu_clients.client_id = ?", f.ClientID) } - q = q.Model(entities.M_Menu{}).Preload("Parent", func(db *gorm.DB) *gorm.DB { return db.Select("m_menus.id", "m_menus.name") })