feat: create customer management menu

This commit is contained in:
2026-04-17 09:17:26 +02:00
parent 7bce04e05a
commit 612e97e76e
11 changed files with 190 additions and 9 deletions

View File

@@ -193,18 +193,41 @@ func (s *MenuService) GetBreadcrumb(root_category_id uint, start_category_id uin
return breadcrumb, nil
}
func (s *MenuService) GetTopMenu(languageId uint, roleId uint) ([]*model.B2BTopMenu, error) {
func (s *MenuService) GetTopMenu(languageId uint, roleId uint) ([]*model.B2BMenu, error) {
items, err := s.routesRepo.GetTopMenu(languageId, roleId)
if err != nil {
return nil, err
}
menuMap := make(map[int]*model.B2BTopMenu, len(items))
roots := make([]*model.B2BTopMenu, 0)
menus := make([]model.B2BMenu, len(items))
for i := range items {
menus[i] = items[i].B2BMenu
}
return buildMenu(menus), nil
}
func (s *MenuService) GetCustomerManagementMenu(languageId uint) ([]*model.B2BMenu, error) {
items, err := s.routesRepo.GetCustomerManagementMenu(languageId)
if err != nil {
return nil, err
}
menus := make([]model.B2BMenu, len(items))
for i := range items {
menus[i] = items[i].B2BMenu
}
return buildMenu(menus), nil
}
func buildMenu(items []model.B2BMenu) []*model.B2BMenu {
menuMap := make(map[int]*model.B2BMenu, len(items))
roots := make([]*model.B2BMenu, 0)
for i := range items {
menu := &items[i]
menu.Children = make([]*model.B2BTopMenu, 0)
menu.Children = make([]*model.B2BMenu, 0)
menuMap[menu.MenuID] = menu
}
@@ -226,7 +249,7 @@ func (s *MenuService) GetTopMenu(languageId uint, roleId uint) ([]*model.B2BTopM
parent.Children = append(parent.Children, menu)
}
return roots, nil
return roots
}
func (s *MenuService) appendAdditional(all_categories *[]model.ScannedCategory, id_lang uint, iso_code string) {