coba landing page hanan

This commit is contained in:
Hanan Askarim
2024-04-29 14:45:12 +07:00
parent 99d7fd5159
commit 61788b3c85
8 changed files with 956 additions and 11 deletions

View File

@@ -0,0 +1,80 @@
package services
import (
"time"
"github.com/emarifer/go-templ-project-structure/db"
)
func NewServicesLandingPage(u LandingPage, uStore db.LandingPageStore) *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 ServicesLandingPage struct {
LandingPage LandingPage
LandingPageStore db.LandingPageStore
}
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
}