Adding models, DB access, signup, login

* Created Base, Auth, User and Admin models
* Added skeleton API structure containing: User signup, User & Admin
login, authorized zones, ping tests
* Simple user signup functional
* Skeleton user login functional, no means to verify as of yet
* Added POSTMAN file
This commit is contained in:
🐙PiperYxzzy
2022-04-29 23:50:55 +02:00
parent b74158a7a5
commit 47ac0cdc07
10 changed files with 508 additions and 2 deletions

58
database/database.go Normal file
View File

@@ -0,0 +1,58 @@
package database
import (
"time"
"gorm.io/driver/sqlite"
"gorm.io/gorm"
)
type Database struct {
*gorm.DB
}
var Db *gorm.DB
func Init() *gorm.DB {
db, err := gorm.Open(sqlite.Open("prepack.db"), &gorm.Config{})
if err != nil {
panic(err)
}
//TODO GORM settings
database, err := db.DB()
if err != nil {
panic(err)
}
database.SetMaxIdleConns(10)
database.SetMaxOpenConns(50)
database.SetConnMaxLifetime(time.Minute * 30)
Db = db
return db
}
func InitTestDb() *gorm.DB {
db, err := gorm.Open(sqlite.Open("test_prepack.db"), &gorm.Config{})
if err != nil {
panic(err)
}
//TODO GORM settings
database, err := db.DB()
if err != nil {
panic(err)
}
database.SetMaxIdleConns(10)
database.SetMaxOpenConns(50)
database.SetConnMaxLifetime(time.Minute * 30)
Db = db
return db
}
func GetDb() *gorm.DB {
return Db
}