feat: require hospital code and add company APIs

This commit is contained in:
2026-08-28 10:30:08 +07:00
parent a59b2c6443
commit 8dd880003d
17 changed files with 867 additions and 142 deletions

View File

@@ -25,10 +25,6 @@ func main() {
registry, err := databaseconfig.NewRegistry(bootstrapCtx, databaseconfig.Setting{
Host: cfg.ManagementDBHost, Port: cfg.ManagementDBPort, Database: cfg.ManagementDBDatabase,
Username: cfg.ManagementDBUsername, Password: cfg.ManagementDBPassword,
}, cfg.DBDefaultRSCode, databaseconfig.Setting{
RSCode: cfg.DBDefaultRSCode, Name: cfg.DBDefaultRSName,
Host: cfg.DBHost, Port: cfg.DBPort, Database: cfg.DBDatabase,
Username: cfg.DBUsername, Password: cfg.DBPassword,
}, databaseconfig.PoolConfig{
MaxOpenConns: cfg.DBMaxOpenConns, MaxIdleConns: cfg.DBMaxIdleConns,
ConnMaxLifetime: cfg.DBConnMaxLifetime,
@@ -39,14 +35,7 @@ func main() {
}
defer registry.Close()
defaultDBCtx, defaultDBCancel := context.WithTimeout(context.Background(), 10*time.Second)
repo, err := registry.Resolve(defaultDBCtx, cfg.DBDefaultRSCode)
defaultDBCancel()
if err != nil {
log.Fatalf("ping mysql: %v", err)
}
handler := apphttp.NewHandler(repo)
handler := apphttp.NewDynamicHandler()
settingsHandler := apphttp.NewDatabaseSettingsHandler(registry)
protected := func(handler http.Handler) http.Handler {
return apphttp.BearerAuth(cfg.BearerToken, apphttp.SelectDatabase(registry, handler))
@@ -58,6 +47,10 @@ func main() {
mux := http.NewServeMux()
mux.Handle("GET /api/cpone/paket", protected(http.HandlerFunc(handler.ListPaket)))
mux.Handle("GET /api/cpone/paket/{id}", protected(http.HandlerFunc(handler.GetPaket)))
mux.Handle("GET /api/cpone/layanan", protected(http.HandlerFunc(handler.ListLayanan)))
mux.Handle("GET /api/cpone/perusahaan", protected(http.HandlerFunc(handler.ListPerusahaan)))
mux.Handle("GET /api/cpone/perusahaan/{id}", protected(http.HandlerFunc(handler.GetPerusahaan)))
mux.Handle("GET /api/cpone/perusahaan/{id}/group-tarif", protected(http.HandlerFunc(handler.GetPerusahaanGroupTarif)))
mux.Handle("GET /api/cpone/tarif-kerjasama", protected(http.HandlerFunc(handler.ListTarifKerjasama)))
mux.Handle("GET /api/cpone/tarif-kerjasama/{id}", protected(http.HandlerFunc(handler.GetTarifKerjasama)))
mux.Handle("GET /api/cpone/layanan-mapping-harga", protected(http.HandlerFunc(handler.MappingHarga)))