Merge branch 'feat/infra-ss-plugin' of github.com:dikstub-rssa/simrs-be into feat/user

This commit is contained in:
dpurbosakti
2025-08-14 14:13:27 +07:00
7 changed files with 87 additions and 8 deletions
@@ -0,0 +1,19 @@
package gormsetting
import (
dg "github.com/karincake/apem/db-gorm-pg"
// "gorm.io/gorm"
"gorm.io/gorm"
"gorm.io/gorm/schema"
)
func Adjust() {
dg.GormConfig = &gorm.Config{
// Logger: logger.Default.LogMode(logger.Error),
NamingStrategy: schema.NamingStrategy{
SingularTable: true,
NoLowerCase: true,
},
}
}
+36
View File
@@ -0,0 +1,36 @@
package ssdb
import (
"log"
a "github.com/karincake/apem"
lo "github.com/karincake/apem/loggero"
"gorm.io/driver/postgres"
"gorm.io/gorm"
"gorm.io/gorm/schema"
)
func Init() {
SetConfig()
NewInstance()
}
func SetConfig() {
a.ParseSingleCfg(&Cfg)
}
func NewInstance() {
// create database connection
db, err := gorm.Open(postgres.Open(Cfg.Dsn), &gorm.Config{
NamingStrategy: schema.NamingStrategy{
SingularTable: true,
NoLowerCase: true,
},
})
if err != nil {
log.Fatal(err)
}
SSDb = db
lo.I.Println("Instantiation for satu-sehat database-connetion using db-gorm-pg, status: DONE!!")
}
+13
View File
@@ -0,0 +1,13 @@
package ssdb
import "gorm.io/gorm"
type SsDbCfg struct {
Dsn string
MaxOpenConns int `yaml:"maxOpenConns"`
MaxIdleConns int `yaml:"maxIdleConns"`
MaxIdleTime int `yaml:"maxIdleTime"`
}
var Cfg SsDbCfg = SsDbCfg{}
var SSDb *gorm.DB
@@ -3,7 +3,14 @@ package handler
import (
"net/http"
///// PKG
/******************** external ********************/
a "github.com/karincake/apem"
/******************** infra ********************/
gs "simrs-vx/internal/infra/gorm-setting"
ssdb "simrs-vx/internal/infra/ss-db"
/******************** pkg ********************/
handlerlogger "simrs-vx/pkg/middleware/handler-logger"
///// Internal
@@ -13,7 +20,8 @@ import (
// One place route to relatively easier to manage, ESPECIALLY in tracking
func SetRoutes() http.Handler {
/////
// a.RegisterExtCall(gs.Adjust)
a.RegisterExtCall(gs.Adjust)
a.RegisterExtCall(ssdb.Init)
r := http.NewServeMux()