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
|
// @Failure 400 {object} utils.Response
|
||||||
// @Router /menus [get]
|
// @Router /menus [get]
|
||||||
func (m *menuController) GetMenus(ctx *gin.Context) {
|
func (m *menuController) GetMenus(ctx *gin.Context) {
|
||||||
_ = ctx.MustGet("client_id").(string)
|
|
||||||
var filter = &query.MenuFilter{
|
var filter = &query.MenuFilter{
|
||||||
// ClientID: clientId,
|
ClientID: ctx.Query("client_id"),
|
||||||
Name: ctx.Query("name"),
|
Name: ctx.Query("name"),
|
||||||
ParentID: ctx.Query("parent_id"),
|
ParentID: ctx.Query("parent_id"),
|
||||||
Includes: ctx.QueryArray("includes"),
|
Includes: ctx.QueryArray("includes"),
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ import (
|
||||||
"github.com/Caknoooo/go-gin-clean-starter/database/entities"
|
"github.com/Caknoooo/go-gin-clean-starter/database/entities"
|
||||||
"github.com/Caknoooo/go-pagination"
|
"github.com/Caknoooo/go-pagination"
|
||||||
"github.com/google/uuid"
|
"github.com/google/uuid"
|
||||||
|
"github.com/sirupsen/logrus"
|
||||||
"gorm.io/gorm"
|
"gorm.io/gorm"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
@ -35,10 +36,11 @@ func (f *MenuFilter) ApplyFilters(q *gorm.DB) *gorm.DB {
|
||||||
if f.ParentID != "" {
|
if f.ParentID != "" {
|
||||||
q = q.Where("parent_id = ?", f.ParentID)
|
q = q.Where("parent_id = ?", f.ParentID)
|
||||||
}
|
}
|
||||||
|
logrus.Info("MenuFilter ClientID: ", f.ClientID)
|
||||||
if 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 {
|
q = q.Model(entities.M_Menu{}).Preload("Parent", func(db *gorm.DB) *gorm.DB {
|
||||||
return db.Select("m_menus.id", "m_menus.name")
|
return db.Select("m_menus.id", "m_menus.name")
|
||||||
})
|
})
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue