revisi db & logger

This commit is contained in:
Sas Andy
2024-05-13 14:23:26 +07:00
parent f757652e96
commit 1a4f1ee2d6
11 changed files with 141 additions and 113 deletions

View File

@@ -1,6 +1,7 @@
package db
import (
"cpone/package/database"
"database/sql"
_ "github.com/glebarez/go-sqlite"
@@ -14,28 +15,14 @@ type BarChartStore struct {
}
func NewPieChartStore(dbName string) (PieChartStore, error) {
Db, err := getConnection(dbName)
if err != nil {
return PieChartStore{}, err
}
if err := createMigrations(dbName, Db); err != nil {
return PieChartStore{}, err
}
Db := database.Handle
return PieChartStore{
Db,
}, nil
}
func NewBarChartStore(dbName string) (BarChartStore, error) {
Db, err := getConnection(dbName)
if err != nil {
return BarChartStore{}, err
}
if err := createMigrations(dbName, Db); err != nil {
return BarChartStore{}, err
}
Db := database.Handle
return BarChartStore{
Db,

View File

@@ -2,8 +2,6 @@ package db
import (
"database/sql"
"fmt"
"log"
_ "github.com/glebarez/go-sqlite"
)
@@ -12,51 +10,9 @@ type AppStore struct {
Db *sql.DB
}
func NewAppStore(dbName string) (AppStore, error) {
Db, err := getConnection(dbName)
if err != nil {
return AppStore{}, err
}
func NewAppStore(db *sql.DB) (AppStore, error) {
return AppStore{
Db,
db,
}, nil
}
func getConnection(dbName string) (*sql.DB, error) {
var (
err error
db *sql.DB
)
if db != nil {
return db, nil
}
// Init SQLite3 database
db, err = sql.Open("sqlite", dbName)
if err != nil {
// log.Fatalf("🔥 failed to connect to the database: %s", err.Error())
return nil, fmt.Errorf("🔥 failed to connect to the database: %s", err)
}
log.Println("🚀 Connected Successfully to the Database")
return db, nil
}
func createMigrations(dbName string, db *sql.DB) error {
stmt := `CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
username VARCHAR(64) NOT NULL,
email VARCHAR(255) NOT NULL UNIQUE,
created_at DATETIME default CURRENT_TIMESTAMP
);`
_, err := db.Exec(stmt)
if err != nil {
return err
}
return nil
}

View File

@@ -1,6 +1,7 @@
package db
import (
"cpone/package/database"
"database/sql"
_ "github.com/glebarez/go-sqlite"
@@ -11,14 +12,7 @@ type EmployeeStore struct {
}
func NewEmployeeStore(dbName string) (EmployeeStore, error) {
Db, err := getConnection(dbName)
if err != nil {
return EmployeeStore{}, err
}
if err := createMigrations(dbName, Db); err != nil {
return EmployeeStore{}, err
}
Db := database.Handle
return EmployeeStore{
Db,

View File

@@ -1,6 +1,7 @@
package db
import (
"cpone/package/database"
"database/sql"
_ "github.com/glebarez/go-sqlite"
@@ -11,14 +12,7 @@ type LandingPageStore struct {
}
func NewLandingPageStore(dbName string) (LandingPageStore, error) {
Db, err := getConnection(dbName)
if err != nil {
return LandingPageStore{}, err
}
if err := createMigrations(dbName, Db); err != nil {
return LandingPageStore{}, err
}
Db := database.Handle
return LandingPageStore{
Db,

View File

@@ -1,6 +1,7 @@
package db
import (
"cpone/package/database"
"database/sql"
_ "github.com/glebarez/go-sqlite"
@@ -11,14 +12,7 @@ type LoginStore struct {
}
func NewLoginStore(dbName string) (LoginStore, error) {
Db, err := getConnection(dbName)
if err != nil {
return LoginStore{}, err
}
if err := createMigrations(dbName, Db); err != nil {
return LoginStore{}, err
}
Db := database.Handle
return LoginStore{
Db,

View File

@@ -1,6 +1,7 @@
package db
import (
"cpone/package/database"
"database/sql"
_ "github.com/glebarez/go-sqlite"
@@ -11,14 +12,7 @@ type MasterMenuUserGroupStore struct {
}
func NewMasterMenuUserGroupStore(dbName string) (MasterMenuUserGroupStore, error) {
Db, err := getConnection(dbName)
if err != nil {
return MasterMenuUserGroupStore{}, err
}
if err := createMigrations(dbName, Db); err != nil {
return MasterMenuUserGroupStore{}, err
}
Db := database.Handle
return MasterMenuUserGroupStore{
Db,

View File

@@ -1,6 +1,7 @@
package db
import (
"cpone/package/database"
"database/sql"
_ "github.com/glebarez/go-sqlite"
@@ -11,14 +12,7 @@ type XsampleStore struct {
}
func NewXsampleStore(dbName string) (XsampleStore, error) {
Db, err := getConnection(dbName)
if err != nil {
return XsampleStore{}, err
}
if err := createMigrations(dbName, Db); err != nil {
return XsampleStore{}, err
}
Db := database.Handle
return XsampleStore{
Db,