refactor structure
This commit is contained in:
@@ -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 {
|
||||
@@ -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 {
|
||||
@@ -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 {
|
||||
@@ -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 {
|
||||
@@ -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 {
|
||||
@@ -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
|
||||
}
|
||||
@@ -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 {
|
||||
287
services/public/landingpage.services.go
Normal file
287
services/public/landingpage.services.go
Normal 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
|
||||
}
|
||||
Reference in New Issue
Block a user