Merge pull request #149 from dikstub-rssa/feat/sync-installation

Feat/sync installation
This commit is contained in:
Dwi Atmoko Purbo Sakti
2025-11-14 10:12:43 +07:00
committed by GitHub
39 changed files with 1266 additions and 194 deletions
@@ -60,6 +60,7 @@ import (
gs "simrs-vx/internal/infra/gorm-setting"
minio "simrs-vx/internal/infra/minio"
ssdb "simrs-vx/internal/infra/ss-db"
simgossync "simrs-vx/internal/infra/sync-cfg"
/******************** pkg ********************/
cmw "simrs-vx/pkg/cors-manager-mw"
@@ -129,6 +130,7 @@ func SetRoutes() http.Handler {
a.RegisterExtCall(mh.I.SetClient)
a.RegisterExtCall(ibpjs.SetConfig)
a.RegisterExtCall(validation.RegisterValidation)
a.RegisterExtCall(simgossync.SetConfig)
r := http.NewServeMux()
@@ -1,36 +0,0 @@
package mainsynchandler
import (
"net/http"
/******************** infra ********************/
gs "simrs-vx/internal/infra/gorm-setting"
synccfg "simrs-vx/internal/infra/sync-cfg"
/******************** pkg ********************/
cmw "simrs-vx/pkg/cors-manager-mw"
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"
/******************** internal ********************/
"simrs-vx/internal/interface/main-handler/home"
)
func SetRoutes() http.Handler {
///
a.RegisterExtCall(gs.Adjust)
a.RegisterExtCall(zlc.Adjust)
a.RegisterExtCall(lh.Populate)
a.RegisterExtCall(synccfg.SetConfig)
r := http.NewServeMux()
/******************** Main ********************/
r.HandleFunc("/", home.Home)
return cmw.SetCors(handlerlogger.SetLog(r))
}
@@ -31,6 +31,8 @@ func getEntities(input string) []any {
return getMainEntities()
case "satusehat":
return getSatuSehatEntities()
case "simgossync":
return getSimgosSyncEntities()
}
return nil
}
@@ -0,0 +1,14 @@
package migration
import (
/************** Source ***************/
installation "simrs-vx/internal/domain/sync-entities/installation"
)
func getSimgosSyncEntities() []any {
return []any{
&installation.InstallationLink{},
&installation.InstallationSimxLog{},
&installation.InstallationSimgosLog{},
}
}
+3 -2
View File
@@ -2,6 +2,7 @@
package migration
const (
Main = "main"
SatuSehat = "satusehat"
Main = "main"
SatuSehat = "satusehat"
SimgosSync = "simgossync"
)
@@ -0,0 +1,69 @@
package installation
import (
"net/http"
"strconv"
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{}
var O myBase
func (obj myBase) Create(w http.ResponseWriter, r *http.Request) {
dto := e.CreateDto{}
if res := rw.ValidateStructByIOR(w, r.Body, &dto); !res {
return
}
res, err := u.Create(dto)
rw.DataResponse(w, res, err)
}
func (obj myBase) CreateLog(w http.ResponseWriter, r *http.Request) {
dto := esync.SimxLogDto{}
if res := rw.ValidateStructByIOR(w, r.Body, &dto); !res {
return
}
res, err := u.CreateSimxLog(dto)
rw.DataResponse(w, res, err)
}
func (obj myBase) Update(w http.ResponseWriter, r *http.Request) {
id := rw.ValidateString(w, "id", r.PathValue("id"))
if id == "" {
return
}
dto := e.UpdateDto{}
if res := rw.ValidateStructByIOR(w, r.Body, &dto); !res {
return
}
val, _ := strconv.ParseUint(id, 10, 16)
valUint := uint16(val)
dto.Id = &valUint
res, err := u.Update(dto)
rw.DataResponse(w, res, err)
}
func (obj myBase) Delete(w http.ResponseWriter, r *http.Request) {
id := rw.ValidateString(w, "id", r.PathValue("id"))
if id == "" {
return
}
dto := e.DeleteDto{}
val, _ := strconv.ParseUint(id, 10, 16)
valUint := uint16(val)
dto.Id = &valUint
res, err := u.Delete(dto)
rw.DataResponse(w, res, err)
}
@@ -5,8 +5,7 @@ import (
/******************** infra ********************/
gs "simrs-vx/internal/infra/gorm-setting"
synccfg "simrs-vx/internal/infra/sync-cfg"
simgosdb "simrs-vx/internal/infra/simgos-db"
/******************** pkg ********************/
cmw "simrs-vx/pkg/cors-manager-mw"
lh "simrs-vx/pkg/lang-helper"
@@ -15,9 +14,11 @@ import (
/******************** external ********************/
a "github.com/karincake/apem"
hk "github.com/karincake/hongkue"
/******************** internal ********************/
"simrs-vx/internal/interface/main-handler/home"
installation "simrs-vx/internal/interface/simgos-sync-handler/installation"
)
func SetRoutes() http.Handler {
@@ -25,12 +26,20 @@ func SetRoutes() http.Handler {
a.RegisterExtCall(gs.Adjust)
a.RegisterExtCall(zlc.Adjust)
a.RegisterExtCall(lh.Populate)
a.RegisterExtCall(synccfg.SetConfig)
a.RegisterExtCall(simgosdb.SetInstance)
r := http.NewServeMux()
/******************** Main ********************/
r.HandleFunc("/", home.Home)
/******************** Source ******************/
hk.GroupRoutes("/new-to-old/v1/installation", r, hk.MapHandlerFunc{
"POST /": installation.O.Create,
"POST /log": installation.O.CreateLog,
"PATCH /{id}": installation.O.Update,
"DELETE /{id}": installation.O.Delete,
})
return cmw.SetCors(handlerlogger.SetLog(r))
}