diff --git a/handlers/dev/md.usergroup.handlers.go b/handlers/dev/md.usergroup.handlers.go new file mode 100644 index 0000000..e8142cf --- /dev/null +++ b/handlers/dev/md.usergroup.handlers.go @@ -0,0 +1,98 @@ +package dev_handlers + +import ( + breadcrumadmin "cpone/component/breadcrumbadmin" + navbarmenu "cpone/component/navbar" + sidebaruserprofile "cpone/component/sidebar_user_profile" + "cpone/models" + "cpone/services" + "cpone/utils" + dev_mdusergroupview "cpone/views/dev/mdusergroup" + + "fmt" + + "github.com/labstack/echo/v4" + "go.uber.org/zap" +) + +type MdUserGroupServices interface { + GetListMdUserGroup(search string, currentPage int, rowPerPage int) ([]models.UserGroupV1, int, error) + GetMdUserGroupByID(id string) (models.UserGroupV1, error) + AddMdUserGroup(code string, name string) (models.UserGroupV1, error) + EditMdUsergroup(id string, code string, name string) (models.UserGroupV1, error) + DeleteMdUserGroup(id string) (models.UserGroupV1, error) + GetMdUserGroupBreadCrumb(title string) (models.BreadCrumbV1, error) +} + +func NewMdUserGroupHandler(us MdUserGroupServices) *MdUserGroupHandler { + return &MdUserGroupHandler{ + MdUserGroupServices: us, + } +} + +type MdUserGroupHandler struct { + MdUserGroupServices MdUserGroupServices +} + +func (lh *MdUserGroupHandler) HandleShowMdUserGroupScreen(c echo.Context) error { + logger, _ := zap.NewProduction() + //get sidebarmenu + + dataMenu, err := services.GetMenu() + fmt.Println(dataMenu) + fmt.Println(err) + if err != nil { + fmt.Println(dataMenu) + return err + } + + //get user login + dataUser, err := services.GetUserLogin() + fmt.Println(dataUser) + fmt.Println(err) + if err != nil { + fmt.Println(dataUser) + return err + } + defer logger.Sync() + logger.Info("LOAD USER DEV", + zap.Any("data", dataUser), + ) + + title := "Master User Group" + + dataBreadCrumb, err := lh.MdUserGroupServices.GetMdUserGroupBreadCrumb(title) + fmt.Println(dataBreadCrumb) + fmt.Println(err) + if err != nil { + defer logger.Sync() + logger.Info("ERROR BREADCRUMB DEV", + zap.Any("error", err), + ) + fmt.Println(dataBreadCrumb) + return err + } + + defer logger.Sync() + logger.Info("LOAD BREADCRUMB DEV", + zap.Any("data", dataBreadCrumb), + ) + //Breadcrumb component + breadcrumbComponent := breadcrumadmin.MainBreadcrumbAdminV1(dataBreadCrumb) + // navbar menu + navbarmenuComponent := navbarmenu.NavbarMenu(dataMenu) + + // navbar user + navbaruserComponent := navbarmenu.Navbar(dataUser) + + // sidebar + sidebaruserprofileComponent := sidebaruserprofile.Navbaruserprofile(dataUser) + + //content js & css + content := dev_mdusergroupview.MdUserGroupScreen(breadcrumbComponent) + css := dev_mdusergroupview.CssMdUserGroup() + js := dev_mdusergroupview.JsMdUserGroup() + + view := dev_mdusergroupview.ShowMdUserGroupScreen(title, content, css, js, navbarmenuComponent, navbaruserComponent, sidebaruserprofileComponent) + return utils.View(c, view) +} diff --git a/handlers/routes.go b/handlers/routes.go index 7e23bcd..2b0e31f 100644 --- a/handlers/routes.go +++ b/handlers/routes.go @@ -211,4 +211,10 @@ func SetupRoutesDev(app *echo.Echo, appStore db.AppStore) { // clientgroup.GET("/usergroup/edit", mastermenuusergroupHandler.ChangeFormEdit) // clientgroup.GET("/usergroup/pagination", mastermenuusergroupHandler.HandleChangePage) + + //New User Group + devMdUserGroupServices := dev_services.NewMdUserGroupServices(appStore) + devMdUserGroupHandlers := dev_handlers.NewMdUserGroupHandler(devMdUserGroupServices) + dev.GET("/usergroupv2", devMdUserGroupHandlers.HandleShowMdUserGroupScreen) + } diff --git a/services/dev/md.usergroup.service.go b/services/dev/md.usergroup.service.go index 8ae66cb..f21ded9 100644 --- a/services/dev/md.usergroup.service.go +++ b/services/dev/md.usergroup.service.go @@ -12,19 +12,19 @@ import ( "go.uber.org/zap" ) -func NewServicesMdUserGroup(uStore db.AppStore) *ServicesMdUserGroup { +func NewMdUserGroupServices(uStore db.AppStore) *MdUserGroupServices { - return &ServicesMdUserGroup{ + return &MdUserGroupServices{ MdUserGroupStore: uStore, } } -type ServicesMdUserGroup struct { +type MdUserGroupServices struct { MdUserGroupStore db.AppStore } -func (su *ServicesMdUserGroup) GetListMdUserGroup(search string, currentPage int, rowPerPage int) ([]models.UserGroupV1, int, error) { +func (su *MdUserGroupServices) GetListMdUserGroup(search string, currentPage int, rowPerPage int) ([]models.UserGroupV1, int, error) { var userGroupList []models.UserGroupV1 var totalData int offset := (currentPage - 1) * rowPerPage @@ -61,7 +61,7 @@ func (su *ServicesMdUserGroup) GetListMdUserGroup(search string, currentPage int return userGroupList, totalPage, nil } -func (ug *ServicesMdUserGroup) GetMdUserGroupByID(id string) (models.UserGroupV1, error) { +func (ug *MdUserGroupServices) GetMdUserGroupByID(id string) (models.UserGroupV1, error) { logger, _ := zap.NewProduction() var data models.UserGroupV1 @@ -79,7 +79,7 @@ func (ug *ServicesMdUserGroup) GetMdUserGroupByID(id string) (models.UserGroupV1 return data, nil } -func (ug *ServicesMdUserGroup) AddMdUserGroup(code string, name string) (models.UserGroupV1, error) { +func (ug *MdUserGroupServices) AddMdUserGroup(code string, name string) (models.UserGroupV1, error) { logger, _ := zap.NewProduction() var data models.UserGroupV1 var datacek []models.UserGroupV1 @@ -129,7 +129,7 @@ func (ug *ServicesMdUserGroup) AddMdUserGroup(code string, name string) (models. } return data, nil } -func (ug *ServicesMdUserGroup) EditMdUsergroup(id string, code string, name string) (models.UserGroupV1, error) { +func (ug *MdUserGroupServices) EditMdUsergroup(id string, code string, name string) (models.UserGroupV1, error) { logger, _ := zap.NewProduction() var data models.UserGroupV1 var datacek []models.UserGroupV1 @@ -180,7 +180,7 @@ func (ug *ServicesMdUserGroup) EditMdUsergroup(id string, code string, name stri return data, nil } -func (ug *ServicesMdUserGroup) DeleteMdUserGroup(id string) (models.UserGroupV1, error) { +func (ug *MdUserGroupServices) DeleteMdUserGroup(id string) (models.UserGroupV1, error) { logger, _ := zap.NewProduction() var data models.UserGroupV1 qry := `UPDATE m_usergroup @@ -207,7 +207,7 @@ func (ug *ServicesMdUserGroup) DeleteMdUserGroup(id string) (models.UserGroupV1, } return data, nil } -func (su *ServicesMdUserGroup) GetMdUserGroupBreadCrumb(title string) (models.BreadCrumbV1, error) { +func (su *MdUserGroupServices) GetMdUserGroupBreadCrumb(title string) (models.BreadCrumbV1, error) { var ret models.BreadCrumbV1 dummyBreadcrumb := []models.BreadCrumbV1{ diff --git a/views/dev/mdusergroup/mdusergroup.templ b/views/dev/mdusergroup/mdusergroup.templ new file mode 100644 index 0000000..c2f19a3 --- /dev/null +++ b/views/dev/mdusergroup/mdusergroup.templ @@ -0,0 +1,78 @@ +package dev_mdusergroupview + +import ( + "cpone/layout" +) + +templ MdUserGroupScreen(breadcrumb templ.Component) { +