refactor structure

This commit is contained in:
Sas Andy
2024-05-08 15:26:14 +07:00
parent ac97487b9b
commit 9ae7e495c6
100 changed files with 2337 additions and 447 deletions

View File

@@ -1,9 +1,9 @@
package services
package dev_services
import (
"fmt"
"github.com/emarifer/go-templ-project-structure/db"
"cpone/db"
)
func NewServicesPiechart(u Piechart, b Barchart, uStore db.PieChartStore, bStore db.BarChartStore) *ServicesPiechart {

View File

@@ -1,9 +1,9 @@
package services
package dev_services
import (
"time"
"github.com/emarifer/go-templ-project-structure/db"
"cpone/db"
)
func NewServicesEmployee(u Employee, uStore db.EmployeeStore) *ServicesEmployee {

View File

@@ -1,9 +1,9 @@
package services
package dev_services
import (
"time"
"github.com/emarifer/go-templ-project-structure/db"
"cpone/db"
)
func NewServicesLandingPage(u LandingPage, uStore db.LandingPageStore) *ServicesLandingPage {

View File

@@ -1,9 +1,9 @@
package services
package dev_services
import (
"time"
"github.com/emarifer/go-templ-project-structure/db"
"cpone/db"
)
func NewServicesLogin(u Login, uStore db.LoginStore) *ServicesLogin {

View File

@@ -1,12 +1,12 @@
package services
package dev_services
import (
"fmt"
"strconv"
"github.com/emarifer/go-templ-project-structure/db"
"github.com/emarifer/go-templ-project-structure/models"
"github.com/emarifer/go-templ-project-structure/utils"
"cpone/db"
"cpone/models"
"cpone/utils"
)
func NewServicesMasterMenuUserGroup(u MasterMenu, uStore db.MasterMenuUserGroupStore) *ServicesMasterMenuUserGroup {

View File

@@ -1,17 +1,17 @@
package services
package dev_services
import (
"time"
"github.com/emarifer/go-templ-project-structure/db"
"github.com/emarifer/go-templ-project-structure/models"
"cpone/db"
"cpone/models"
)
func NewServicesUser(u User, uStore db.UserStore) *ServicesUser {
func NewServicesUser(u User, uStore db.AppStore) *ServicesUser {
return &ServicesUser{
User: u,
UserStore: uStore,
User: u,
AppStore: uStore,
}
}
@@ -23,14 +23,14 @@ type User struct {
}
type ServicesUser struct {
User User
UserStore db.UserStore
User User
AppStore db.AppStore
}
func (su *ServicesUser) GetAllUsers() ([]User, error) {
query := `SELECT id, username, email, created_at FROM users ORDER BY created_at DESC`
rows, err := su.UserStore.Db.Query(query)
rows, err := su.AppStore.Db.Query(query)
if err != nil {
return []User{}, err
}
@@ -57,7 +57,7 @@ func (su *ServicesUser) GetUserById(id int) (User, error) {
query := `SELECT id, username, email, created_at FROM users
WHERE id = ?`
stmt, err := su.UserStore.Db.Prepare(query)
stmt, err := su.AppStore.Db.Prepare(query)
if err != nil {
return User{}, err
}

View File

@@ -1,9 +1,9 @@
package services
package dev_services
import (
"time"
"github.com/emarifer/go-templ-project-structure/db"
"cpone/db"
)
func NewServicesXsample(u Xsample, uStore db.XsampleStore) *ServicesXsample {

View File

@@ -0,0 +1,287 @@
package public_services
import (
"time"
"cpone/db"
)
func NewServicesLandingPage(u LandingPage, uStore db.AppStore) *ServicesLandingPage {
return &ServicesLandingPage{
LandingPage: u,
LandingPageStore: uStore,
}
}
type LandingPage struct {
ID int `json:"id"`
LandingPagename string `json:"LandingPagename"`
Email string `json:"email"`
CreatedAt time.Time `json:"created_at,omitempty"`
}
type ClientService struct {
ClientServiceID int `json:"ClientServiceID"`
ClientServiceName string `json:"ClientServiceName"`
ClientServiceDescription string `json:"ClientServiceDescription"`
ClientServiceIcon string `json:"ClientServiceIcon"`
ClientServiceLink string `json:"ClientServiceLink"`
}
type AdvantageClient struct {
AdvantageClientID int `json:"AdvantageClientID"`
AdvantageClientName string `json:"AdvantageClientName"`
AdvantageClientDesc string `json:"AdvantageClientDesc"`
}
type Promotion struct {
PromotionID int `json:"PromotionID"`
PromotionAsset string `json:"PromotionAsset"`
PromotionLink string `json:"PromotionLink"`
}
type FooterSubNav struct {
FootSubNavID int `json:"FootSubNavID"`
FootSubNavTitle string `json:"FootSubNavTitle"`
FootSubNavLink string `json:"FootSubNavLink"`
}
type FooterNav struct {
FooterNavID int `json:"FooterNavID"`
FooterNavTitle string `json:"FooterNavTitle"`
FooteSubNav []FooterSubNav `json:"FooterSubNav,omitempty"`
}
type ServicesLandingPage struct {
LandingPage LandingPage
LandingPageStore db.AppStore
}
func (su *ServicesLandingPage) GetAllLandingPages() ([]LandingPage, error) {
query := `SELECT id, LandingPagename, email, created_at FROM LandingPages ORDER BY created_at DESC`
rows, err := su.LandingPageStore.Db.Query(query)
if err != nil {
return []LandingPage{}, err
}
// We close the resource
defer rows.Close()
LandingPages := []LandingPage{}
for rows.Next() {
rows.Scan(
&su.LandingPage.ID,
&su.LandingPage.LandingPagename,
&su.LandingPage.Email,
&su.LandingPage.CreatedAt,
)
LandingPages = append(LandingPages, su.LandingPage)
}
return LandingPages, nil
}
func (su *ServicesLandingPage) GetLandingPageById(id int) (LandingPage, error) {
query := `SELECT id, LandingPagename, email, created_at FROM LandingPages
WHERE id = ?`
stmt, err := su.LandingPageStore.Db.Prepare(query)
if err != nil {
return LandingPage{}, err
}
defer stmt.Close()
su.LandingPage.ID = id
err = stmt.QueryRow(
su.LandingPage.ID,
).Scan(
&su.LandingPage.ID,
&su.LandingPage.LandingPagename,
&su.LandingPage.Email,
&su.LandingPage.CreatedAt,
)
if err != nil {
return LandingPage{}, err
}
return su.LandingPage, nil
}
func (su *ServicesLandingPage) GetClientService() ([]ClientService, error) {
data := []ClientService{
{
ClientServiceID: 1,
ClientServiceName: "In House Clinic",
ClientServiceDescription: "Maintaining health in the workplace by carrying out promotional, preventive, curative and rehabilitative programs.",
ClientServiceIcon: "uil:clinic-medical",
ClientServiceLink: "/",
},
{
ClientServiceID: 2,
ClientServiceName: "Laboratorium Test",
ClientServiceDescription: "Maintaining health in the workplace by carrying out promotional, preventive, curative and rehabilitative programs.",
ClientServiceIcon: "healthicons:clinical-a-outline",
ClientServiceLink: "/",
},
{
ClientServiceID: 3,
ClientServiceName: "Medical Check Up",
ClientServiceDescription: "Supported by a professional medical, paramedical team, and as well as laboratory equipment ",
ClientServiceIcon: "jam:medical",
ClientServiceLink: "/",
},
{
ClientServiceID: 4,
ClientServiceName: "Medical Check Up 2",
ClientServiceDescription: "Supported by a professional medical, paramedical team, and as well as laboratory equipment ",
ClientServiceIcon: "jam:medical",
ClientServiceLink: "/",
},
{
ClientServiceID: 5,
ClientServiceName: "Medical Check Up 3",
ClientServiceDescription: "Supported by a professional medical, paramedical team, and as well as laboratory equipment ",
ClientServiceIcon: "jam:medical",
ClientServiceLink: "/",
},
}
return data, nil
}
func (su *ServicesLandingPage) GetClientAdvantage() ([]AdvantageClient, error) {
data := []AdvantageClient{
{
AdvantageClientID: 1,
AdvantageClientName: "ISO Certificate",
AdvantageClientDesc: "Westerindo Clinical Laboratory has obtained ISO 15189:2009 (ISO 15189:2007) Accreditation from the National Accreditation Committee (KAN) and the Health Laboratory Accreditation Commission (KALK).",
},
{
AdvantageClientID: 2,
AdvantageClientName: "Modern Technology",
AdvantageClientDesc: "Laboratory Information System (LIS) is an information system in which laboratory equipment and diagnostic support have been integrated automatically so that examination results can be immediately filled in in employee data. This eliminates the possibility of human error.",
},
{
AdvantageClientID: 3,
AdvantageClientName: "Good Quality Facilities",
AdvantageClientDesc: "The laboratory and medical support equipment used at the Westerindo Clinical Laboratory is international scale for precise, fast and accurate results. Lab and medical equipment certificates are periodically renewed according to standards.",
},
{
AdvantageClientID: 4,
AdvantageClientName: "Professional Service",
AdvantageClientDesc: "Westerindo Clinical Laboratory is committed to providing professional and excellent service. Therefore, all staff and doctors at the Westerindo Clinical Laboratory have competency certification according to their field.",
},
{
AdvantageClientID: 5,
AdvantageClientName: "Experienced",
AdvantageClientDesc: "Westerindo Clinical Laboratory is very experienced in carrying out Medical Check Ups both onsite and insite, in all corners of Indonesia. Serving various kinds of companies, from oil and gas companies, automotive, manufacturing, offices, and others.",
},
}
return data, nil
}
func (su *ServicesLandingPage) GetPromotionList() ([]Promotion, error) {
data := []Promotion{
{
PromotionID: 1,
PromotionAsset: "../../asset-corporate-portal/media/landingpage/promotion_1.png",
PromotionLink: "",
},
{
PromotionID: 2,
PromotionAsset: "../../asset-corporate-portal/media/landingpage/promotion_2.png",
PromotionLink: "",
},
{
PromotionID: 3,
PromotionAsset: "../../asset-corporate-portal/media/landingpage/promotion_3.png",
PromotionLink: "",
},
{
PromotionID: 4,
PromotionAsset: "../../asset-corporate-portal/media/landingpage/promotion_2.png",
PromotionLink: "",
},
{
PromotionID: 5,
PromotionAsset: "../../asset-corporate-portal/media/landingpage/promotion_3.png",
PromotionLink: "",
},
}
return data, nil
}
func (su *ServicesLandingPage) GetFooterNavList() ([]FooterNav, error) {
data := []FooterNav{
{
FooterNavID: 1,
FooterNavTitle: "Dashboard",
FooteSubNav: []FooterSubNav{
{
FootSubNavID: 1,
FootSubNavTitle: "Dashboard #1",
FootSubNavLink: "/",
},
{
FootSubNavID: 2,
FootSubNavTitle: "Dashboard #2",
FootSubNavLink: "/",
},
},
},
{
FooterNavID: 2,
FooterNavTitle: "Benefit",
FooteSubNav: []FooterSubNav{
{
FootSubNavID: 1,
FootSubNavTitle: "Benefit #1",
FootSubNavLink: "/",
},
{
FootSubNavID: 2,
FootSubNavTitle: "Benefit #2",
FootSubNavLink: "/",
},
},
},
{
FooterNavID: 3,
FooterNavTitle: "Finance & Claims",
FooteSubNav: []FooterSubNav{
{
FootSubNavID: 1,
FootSubNavTitle: "Finance & Claims #1",
FootSubNavLink: "/",
},
{
FootSubNavID: 2,
FootSubNavTitle: "Finance & Claims #2",
FootSubNavLink: "/",
},
},
},
{
FooterNavID: 4,
FooterNavTitle: "Memberships",
FooteSubNav: []FooterSubNav{
{
FootSubNavID: 1,
FootSubNavTitle: "Memberships #1",
FootSubNavLink: "/",
},
{
FootSubNavID: 2,
FootSubNavTitle: "Memberships #2",
FootSubNavLink: "/",
},
},
},
}
return data, nil
}