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) { +
+
+
+ @breadcrumb +
+
+ //
+
+ +
+
+
+ +
+
+
+} + +templ CssMdUserGroup() { + + + + +} + +templ JsMdUserGroup() { +} + +templ ShowMdUserGroupScreen(title string, cmp templ.Component, css templ.Component, js templ.Component, + navbarmenu templ.Component, + navbaruser templ.Component, + userprofile templ.Component) { + @layout.CorporateLayout(title, css, js, navbarmenu, navbaruser, userprofile) { + @cmp + } +} diff --git a/views/dev/mdusergroup/mdusergroup_templ.go b/views/dev/mdusergroup/mdusergroup_templ.go new file mode 100644 index 0000000..d5506f5 --- /dev/null +++ b/views/dev/mdusergroup/mdusergroup_templ.go @@ -0,0 +1,133 @@ +// Code generated by templ - DO NOT EDIT. + +// templ: version: v0.2.663 +package dev_mdusergroupview + +//lint:file-ignore SA4006 This context is only used if a nested component is present. + +import "github.com/a-h/templ" +import "context" +import "io" +import "bytes" + +import ( + "cpone/layout" +) + +func MdUserGroupScreen(breadcrumb templ.Component) templ.Component { + return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) { + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer) + if !templ_7745c5c3_IsBuffer { + templ_7745c5c3_Buffer = templ.GetBuffer() + defer templ.ReleaseBuffer(templ_7745c5c3_Buffer) + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Var1 := templ.GetChildren(ctx) + if templ_7745c5c3_Var1 == nil { + templ_7745c5c3_Var1 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = breadcrumb.Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + if !templ_7745c5c3_IsBuffer { + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W) + } + return templ_7745c5c3_Err + }) +} + +func CssMdUserGroup() templ.Component { + return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) { + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer) + if !templ_7745c5c3_IsBuffer { + templ_7745c5c3_Buffer = templ.GetBuffer() + defer templ.ReleaseBuffer(templ_7745c5c3_Buffer) + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Var2 := templ.GetChildren(ctx) + if templ_7745c5c3_Var2 == nil { + templ_7745c5c3_Var2 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + if !templ_7745c5c3_IsBuffer { + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W) + } + return templ_7745c5c3_Err + }) +} + +func JsMdUserGroup() templ.Component { + return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) { + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer) + if !templ_7745c5c3_IsBuffer { + templ_7745c5c3_Buffer = templ.GetBuffer() + defer templ.ReleaseBuffer(templ_7745c5c3_Buffer) + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Var3 := templ.GetChildren(ctx) + if templ_7745c5c3_Var3 == nil { + templ_7745c5c3_Var3 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + if !templ_7745c5c3_IsBuffer { + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W) + } + return templ_7745c5c3_Err + }) +} + +func ShowMdUserGroupScreen(title string, cmp templ.Component, css templ.Component, js templ.Component, + navbarmenu templ.Component, + navbaruser templ.Component, + userprofile templ.Component) templ.Component { + return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) { + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer) + if !templ_7745c5c3_IsBuffer { + templ_7745c5c3_Buffer = templ.GetBuffer() + defer templ.ReleaseBuffer(templ_7745c5c3_Buffer) + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Var4 := templ.GetChildren(ctx) + if templ_7745c5c3_Var4 == nil { + templ_7745c5c3_Var4 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + templ_7745c5c3_Var5 := templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) { + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer) + if !templ_7745c5c3_IsBuffer { + templ_7745c5c3_Buffer = templ.GetBuffer() + defer templ.ReleaseBuffer(templ_7745c5c3_Buffer) + } + templ_7745c5c3_Err = cmp.Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + if !templ_7745c5c3_IsBuffer { + _, templ_7745c5c3_Err = io.Copy(templ_7745c5c3_W, templ_7745c5c3_Buffer) + } + return templ_7745c5c3_Err + }) + templ_7745c5c3_Err = layout.CorporateLayout(title, css, js, navbarmenu, navbaruser, userprofile).Render(templ.WithChildren(ctx, templ_7745c5c3_Var5), templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + if !templ_7745c5c3_IsBuffer { + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W) + } + return templ_7745c5c3_Err + }) +}