revisi db & logger
This commit is contained in:
@@ -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,
|
||||
|
||||
48
db/db.go
48
db/db.go
@@ -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
|
||||
}
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user