approve and switch poly

This commit is contained in:
vanilia
2025-11-24 10:40:54 +07:00
81 changed files with 624 additions and 351 deletions
@@ -2,13 +2,13 @@ package division
import (
"net/http"
u "simrs-vx/internal/use-case/simgos-sync-use-case/new/division"
rw "github.com/karincake/risoles"
// ua "github.com/karincake/tumpeng/auth/svc"
e "simrs-vx/internal/domain/main-entities/division"
esync "simrs-vx/internal/domain/sync-entities/log"
u "simrs-vx/internal/use-case/simgos-sync-use-case/division"
)
type myBase struct{}
@@ -2,13 +2,13 @@ package encounter
import (
"net/http"
u "simrs-vx/internal/use-case/simgos-sync-use-case/new/encounter"
rw "github.com/karincake/risoles"
// ua "github.com/karincake/tumpeng/auth/svc"
e "simrs-vx/internal/domain/main-entities/encounter"
esync "simrs-vx/internal/domain/sync-entities/log"
u "simrs-vx/internal/use-case/simgos-sync-use-case/encounter"
)
type myBase struct{}
@@ -34,16 +34,10 @@ func (obj myBase) CreateLog(w http.ResponseWriter, r *http.Request) {
}
func (obj myBase) Update(w http.ResponseWriter, r *http.Request) {
id := rw.ValidateInt(w, "id", r.PathValue("id"))
if id <= 0 {
return
}
dto := e.Encounter{}
if res := rw.ValidateStructByIOR(w, r.Body, &dto); !res {
return
}
dto.Id = uint(id)
res, err := u.Update(dto)
rw.DataResponse(w, res, err)
@@ -61,3 +55,33 @@ func (obj myBase) Delete(w http.ResponseWriter, r *http.Request) {
res, err := u.Delete(dto)
rw.DataResponse(w, res, err)
}
func (obj myBase) Checkin(w http.ResponseWriter, r *http.Request) {
dto := e.Encounter{}
if res := rw.ValidateStructByIOR(w, r.Body, &dto); !res {
return
}
res, err := u.CheckIn(dto)
rw.DataResponse(w, res, err)
}
func (obj myBase) Checkout(w http.ResponseWriter, r *http.Request) {
dto := e.Encounter{}
if res := rw.ValidateStructByIOR(w, r.Body, &dto); !res {
return
}
res, err := u.CheckOut(dto)
rw.DataResponse(w, res, err)
}
func (obj myBase) Cancel(w http.ResponseWriter, r *http.Request) {
dto := e.Encounter{}
if res := rw.ValidateStructByIOR(w, r.Body, &dto); !res {
return
}
res, err := u.Cancel(dto)
rw.DataResponse(w, res, err)
}
@@ -2,13 +2,13 @@ package installation
import (
"net/http"
u "simrs-vx/internal/use-case/simgos-sync-use-case/new/installation"
rw "github.com/karincake/risoles"
// ua "github.com/karincake/tumpeng/auth/svc"
e "simrs-vx/internal/domain/main-entities/installation"
esync "simrs-vx/internal/domain/sync-entities/log"
u "simrs-vx/internal/use-case/simgos-sync-use-case/installation"
)
type myBase struct{}
@@ -2,13 +2,13 @@ package patient
import (
"net/http"
u "simrs-vx/internal/use-case/simgos-sync-use-case/new/patient"
rw "github.com/karincake/risoles"
// ua "github.com/karincake/tumpeng/auth/svc"
e "simrs-vx/internal/domain/main-entities/patient"
esync "simrs-vx/internal/domain/sync-entities/log"
u "simrs-vx/internal/use-case/simgos-sync-use-case/patient"
)
type myBase struct{}
@@ -2,13 +2,13 @@ package specialist
import (
"net/http"
u "simrs-vx/internal/use-case/simgos-sync-use-case/new/specialist"
rw "github.com/karincake/risoles"
// ua "github.com/karincake/tumpeng/auth/svc"
e "simrs-vx/internal/domain/main-entities/specialist"
esync "simrs-vx/internal/domain/sync-entities/log"
u "simrs-vx/internal/use-case/simgos-sync-use-case/specialist"
)
type myBase struct{}
@@ -2,13 +2,13 @@ package subspecialist
import (
"net/http"
u "simrs-vx/internal/use-case/simgos-sync-use-case/new/subspecialist"
rw "github.com/karincake/risoles"
// ua "github.com/karincake/tumpeng/auth/svc"
e "simrs-vx/internal/domain/main-entities/subspecialist"
esync "simrs-vx/internal/domain/sync-entities/log"
u "simrs-vx/internal/use-case/simgos-sync-use-case/subspecialist"
)
type myBase struct{}
@@ -2,13 +2,13 @@ package unit
import (
"net/http"
u "simrs-vx/internal/use-case/simgos-sync-use-case/new/unit"
rw "github.com/karincake/risoles"
// ua "github.com/karincake/tumpeng/auth/svc"
e "simrs-vx/internal/domain/main-entities/unit"
esync "simrs-vx/internal/domain/sync-entities/log"
u "simrs-vx/internal/use-case/simgos-sync-use-case/unit"
)
type myBase struct{}
@@ -1,8 +1,14 @@
package simgossynchandler
import (
"fmt"
"net/http"
"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"
hc "simrs-vx/pkg/handler-crud-helper"
/******************** infra ********************/
@@ -16,15 +22,10 @@ import (
/******************** 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"
encounter "simrs-vx/internal/interface/simgos-sync-handler/encounter"
installation "simrs-vx/internal/interface/simgos-sync-handler/installation"
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"
)
func SetRoutes() http.Handler {
@@ -39,16 +40,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)
hc.SyncCrud(r, prefix+"/v1/encounter", encounter.O)
/******************** 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,
})
/******************** SvcToNew ******************/
//prefixold := "/old-to-new"
return cmw.SetCors(handlerlogger.SetLog(r))
}