Merge branch 'feat/sync-setting' into feat/sync-from-simgos-161

This commit is contained in:
poetrasapoetra
2025-11-28 13:18:29 +07:00
162 changed files with 5395 additions and 401 deletions
@@ -1,31 +1,35 @@
package simgossynchandler
import (
"fmt"
"net/http"
hc "simrs-vx/pkg/handler-crud-helper"
/******************** infra ********************/
gs "simrs-vx/internal/infra/gorm-setting"
simgosdb "simrs-vx/internal/infra/simgos-db"
sync "simrs-vx/internal/infra/sync-consumer-cfg"
/******************** pkg ********************/
cmw "simrs-vx/pkg/cors-manager-mw"
hc "simrs-vx/pkg/handler-crud-helper"
lh "simrs-vx/pkg/lang-helper"
handlerlogger "simrs-vx/pkg/middleware/handler-logger"
zlc "simrs-vx/pkg/zerolog-ctx"
/******************** external ********************/
a "github.com/karincake/apem"
hk "github.com/karincake/hongkue"
/******************** internal ********************/
"simrs-vx/internal/interface/main-handler/home"
division "simrs-vx/internal/interface/simgos-sync-handler/division"
installation "simrs-vx/internal/interface/simgos-sync-handler/installation"
oldPatient "simrs-vx/internal/interface/simgos-sync-handler/old/patient"
patient "simrs-vx/internal/interface/simgos-sync-handler/patient"
specialist "simrs-vx/internal/interface/simgos-sync-handler/specialist"
subspecialist "simrs-vx/internal/interface/simgos-sync-handler/subspecialist"
unit "simrs-vx/internal/interface/simgos-sync-handler/unit"
"simrs-vx/internal/interface/simgos-sync-handler/new/division"
"simrs-vx/internal/interface/simgos-sync-handler/new/encounter"
"simrs-vx/internal/interface/simgos-sync-handler/new/installation"
"simrs-vx/internal/interface/simgos-sync-handler/new/patient"
"simrs-vx/internal/interface/simgos-sync-handler/new/specialist"
"simrs-vx/internal/interface/simgos-sync-handler/new/subspecialist"
"simrs-vx/internal/interface/simgos-sync-handler/new/unit"
oauth "simrs-vx/internal/interface/simgos-sync-handler/old/authentication" // just a reminder, an openauth
)
func SetRoutes() http.Handler {
@@ -33,6 +37,7 @@ func SetRoutes() http.Handler {
a.RegisterExtCall(gs.Adjust)
a.RegisterExtCall(zlc.Adjust)
a.RegisterExtCall(lh.Populate)
a.RegisterExtCall(sync.SetConfig)
a.RegisterExtCall(simgosdb.SetInstance)
r := http.NewServeMux()
@@ -40,18 +45,32 @@ func SetRoutes() http.Handler {
/******************** Main ********************/
r.HandleFunc("/", home.Home)
/******************** Source ******************/
prefix := "/new-to-old"
hc.SyncCrud(r, prefix+"/v1/installation", installation.O)
hc.SyncCrud(r, prefix+"/v1/unit", unit.O)
hc.SyncCrud(r, prefix+"/v1/division", division.O)
hc.SyncCrud(r, prefix+"/v1/specialist", specialist.O)
hc.SyncCrud(r, prefix+"/v1/subspecialist", subspecialist.O)
hc.SyncCrud(r, prefix+"/v1/patient", patient.O)
r.HandleFunc(fmt.Sprintf("GET %s/v1/patient-nomr-generator", prefix), patient.O.GenerateNomr)
/******************** SvcToOld ******************/
prefixnew := "/new-to-old"
hc.SyncCrud(r, prefixnew+"/v1/installation", installation.O)
hc.SyncCrud(r, prefixnew+"/v1/unit", unit.O)
hc.SyncCrud(r, prefixnew+"/v1/division", division.O)
hc.SyncCrud(r, prefixnew+"/v1/specialist", specialist.O)
hc.SyncCrud(r, prefixnew+"/v1/subspecialist", subspecialist.O)
hk.GroupRoutes(prefixnew+"/v1/patient", r, hk.MapHandlerFunc{
"POST /": patient.O.Create,
"POST /log": patient.O.CreateLog,
"PATCH /{id}": patient.O.Update,
"DELETE /{id}": patient.O.Delete,
"POST /nomr": patient.O.GenerateNomr,
})
hk.GroupRoutes(prefixnew+"/v1/encounter", r, hk.MapHandlerFunc{
"POST /": encounter.O.Create,
"POST /log": encounter.O.CreateLog,
"PATCH /{id}": encounter.O.Update,
"DELETE /{id}": encounter.O.Delete,
"PATCH /{id}/checkin": encounter.O.Checkin,
"PATCH /{id}/checkout": encounter.O.Checkout,
"PATCH /{id}/cancel": encounter.O.Cancel,
})
/*********** Source old-to-new ****************/
oldPrefix := "/old-to-new"
hc.SyncCrud(r, oldPrefix+"/v1/patient", oldPatient.O)
/******************** SvcToNew ******************/
prefixold := "/old-to-new"
hk.GroupRoutes(prefixold+"/v1/patient", r, oauth.OldGuardMW, hk.MapHandlerFunc{}) // FINISH THIS
return cmw.SetCors(handlerlogger.SetLog(r))
}