feat(menu): Update GetMenus to use client_id from query and enhance filtering
Deploy Application / deploy (push) Successful in 31s
Details
Deploy Application / deploy (push) Successful in 31s
Details
This commit is contained in:
parent
02dc2c71d8
commit
203857d116
|
|
@ -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"),
|
||||
|
|
|
|||
|
|
@ -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")
|
||||
})
|
||||
|
|
|
|||
Loading…
Reference in New Issue