navbar from services
This commit is contained in:
177
services/mastermenu.services.go
Normal file
177
services/mastermenu.services.go
Normal file
@@ -0,0 +1,177 @@
|
||||
package services
|
||||
|
||||
import (
|
||||
"github.com/emarifer/go-templ-project-structure/db"
|
||||
)
|
||||
|
||||
func NewServicesMasterMenu(u MasterMenu, uStore db.MasterMenuStore) *ServicesMasterMenu {
|
||||
|
||||
return &ServicesMasterMenu{
|
||||
MasterMenu: u,
|
||||
MasterMenuStore: uStore,
|
||||
}
|
||||
}
|
||||
|
||||
// MasterMenu struct
|
||||
type Breadcrumb struct {
|
||||
IDBreadcrumb string `json:"id_breadcrumb"`
|
||||
Title string `json:"title"`
|
||||
IsActive string `json:"is_active"`
|
||||
}
|
||||
|
||||
type ChildrenMenu struct {
|
||||
ChildrenParentID string `json:"children_parent_id"`
|
||||
ChildrenMenuID string `json:"children_menu_id"`
|
||||
ChildrenMenuName string `json:"children_menu_name"`
|
||||
ChildrenMenuURL string `json:"children_menu_url"`
|
||||
Breadcrumb []Breadcrumb `json:"breadcrumb"`
|
||||
}
|
||||
|
||||
type MasterMenu struct {
|
||||
ID string `json:"id"`
|
||||
ParentMenuID string `json:"parent_menu_id"`
|
||||
ParentMenuName string `json:"parent_menu_name"`
|
||||
ParentUrl string `json:"parent_url"`
|
||||
Children []ChildrenMenu `json:"children"`
|
||||
}
|
||||
|
||||
type ServicesMasterMenu struct {
|
||||
MasterMenu MasterMenu
|
||||
MasterMenuStore db.MasterMenuStore
|
||||
}
|
||||
|
||||
func (su *ServicesMasterMenu) GetMasterMenus() ([]MasterMenu, error) {
|
||||
|
||||
dummyMenu := []MasterMenu{
|
||||
{
|
||||
|
||||
ID: "1",
|
||||
ParentMenuID: "0",
|
||||
ParentMenuName: "Dashboard",
|
||||
ParentUrl: "/client/md/dashboard",
|
||||
Children: []ChildrenMenu{
|
||||
{
|
||||
ChildrenParentID: "1",
|
||||
ChildrenMenuID: "1",
|
||||
ChildrenMenuName: "Master User",
|
||||
ChildrenMenuURL: "/client/md/user",
|
||||
Breadcrumb: []Breadcrumb{
|
||||
{
|
||||
IDBreadcrumb: "1",
|
||||
Title: "Dashboard",
|
||||
IsActive: "Y",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
ID: "1",
|
||||
ParentMenuID: "1",
|
||||
ParentMenuName: "Master Data",
|
||||
ParentUrl: "#",
|
||||
Children: []ChildrenMenu{
|
||||
{
|
||||
ChildrenParentID: "1",
|
||||
ChildrenMenuID: "1",
|
||||
ChildrenMenuName: "Master User",
|
||||
ChildrenMenuURL: "/client/md/user",
|
||||
Breadcrumb: []Breadcrumb{
|
||||
{
|
||||
IDBreadcrumb: "1",
|
||||
Title: "Dashboard",
|
||||
IsActive: "N",
|
||||
},
|
||||
{
|
||||
IDBreadcrumb: "2",
|
||||
Title: "Master",
|
||||
IsActive: "N",
|
||||
},
|
||||
{
|
||||
IDBreadcrumb: "3",
|
||||
Title: "User",
|
||||
IsActive: "Y",
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
ChildrenParentID: "1",
|
||||
ChildrenMenuID: "2",
|
||||
ChildrenMenuName: "Master User Group",
|
||||
ChildrenMenuURL: "/client/md/usergroup",
|
||||
Breadcrumb: []Breadcrumb{
|
||||
{
|
||||
IDBreadcrumb: "1",
|
||||
Title: "Dashboard",
|
||||
IsActive: "N",
|
||||
},
|
||||
{
|
||||
IDBreadcrumb: "2",
|
||||
Title: "Master",
|
||||
IsActive: "N",
|
||||
},
|
||||
{
|
||||
IDBreadcrumb: "3",
|
||||
Title: "User Group",
|
||||
IsActive: "Y",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
return dummyMenu, nil
|
||||
}
|
||||
|
||||
// func (su *ServicesMasterMenu) GetAllMasterMenus() ([]MasterMenu, error) {
|
||||
// query := `SELECT id, MasterMenuname, email, created_at FROM MasterMenus ORDER BY created_at DESC`
|
||||
|
||||
// rows, err := su.MasterMenuStore.Db.Query(query)
|
||||
// if err != nil {
|
||||
// return []MasterMenu{}, err
|
||||
// }
|
||||
// // We close the resource
|
||||
// defer rows.Close()
|
||||
|
||||
// MasterMenus := []MasterMenu{}
|
||||
// for rows.Next() {
|
||||
// rows.Scan(
|
||||
// &su.MasterMenu.ID,
|
||||
// &su.MasterMenu.MasterMenuname,
|
||||
// &su.MasterMenu.Email,
|
||||
// &su.MasterMenu.CreatedAt,
|
||||
// )
|
||||
|
||||
// MasterMenus = append(MasterMenus, su.MasterMenu)
|
||||
// }
|
||||
|
||||
// return MasterMenus, nil
|
||||
// }
|
||||
|
||||
// func (su *ServicesMasterMenu) GetMasterMenuById(id int) (MasterMenu, error) {
|
||||
|
||||
// query := `SELECT id, MasterMenuname, email, created_at FROM MasterMenus
|
||||
// WHERE id = ?`
|
||||
|
||||
// stmt, err := su.MasterMenuStore.Db.Prepare(query)
|
||||
// if err != nil {
|
||||
// return MasterMenu{}, err
|
||||
// }
|
||||
|
||||
// defer stmt.Close()
|
||||
|
||||
// su.MasterMenu.ID = id
|
||||
// err = stmt.QueryRow(
|
||||
// su.MasterMenu.ID,
|
||||
// ).Scan(
|
||||
// &su.MasterMenu.ID,
|
||||
// &su.MasterMenu.MasterMenuname,
|
||||
// &su.MasterMenu.Email,
|
||||
// &su.MasterMenu.CreatedAt,
|
||||
// )
|
||||
// if err != nil {
|
||||
// return MasterMenu{}, err
|
||||
// }
|
||||
|
||||
// return su.MasterMenu, nil
|
||||
// }
|
||||
Reference in New Issue
Block a user