add enabled sync

This commit is contained in:
vanilia
2025-11-18 09:58:41 +07:00
parent d5d09c47bf
commit 938ec89c20
7 changed files with 159 additions and 13 deletions
+1
View File
@@ -69,5 +69,6 @@ bpjsCfg:
baseUrl: baseUrl:
syncUrlCfg: syncUrlCfg:
enable: false
host: host:
prefix: new-to-old prefix: new-to-old
+1
View File
@@ -5,4 +5,5 @@ var O SyncUrlCfg = SyncUrlCfg{}
type SyncUrlCfg struct { type SyncUrlCfg struct {
Prefix string `yaml:"prefix"` Prefix string `yaml:"prefix"`
Host string `yaml:"host"` Host string `yaml:"host"`
Enable bool `yaml:"enable"`
} }
@@ -1,29 +1,38 @@
package division package division
import ( import (
e "simrs-vx/internal/domain/main-entities/division"
esync "simrs-vx/internal/domain/sync-entities/log"
pl "simrs-vx/pkg/logger" pl "simrs-vx/pkg/logger"
pu "simrs-vx/pkg/use-case-helper" pu "simrs-vx/pkg/use-case-helper"
"gorm.io/gorm" "gorm.io/gorm"
sync "simrs-vx/internal/infra/sync-cfg"
e "simrs-vx/internal/domain/main-entities/division"
esync "simrs-vx/internal/domain/sync-entities/log"
) )
type middlewareRunner struct { type middlewareRunner struct {
Event *pl.Event Event *pl.Event
Tx *gorm.DB Tx *gorm.DB
MwType pu.MWType MwType pu.MWType
SyncOn bool
} }
// NewMiddlewareExecutor creates a new middleware executor // NewMiddlewareExecutor creates a new middleware executor
func newMiddlewareRunner(event *pl.Event) *middlewareRunner { func newMiddlewareRunner(event *pl.Event) *middlewareRunner {
return &middlewareRunner{ return &middlewareRunner{
Event: event, Event: event,
SyncOn: sync.O.Enable,
} }
} }
// ExecuteCreateMiddleware executes create middleware // ExecuteCreateMiddleware executes create middleware
func (me *middlewareRunner) RunCreateMiddleware(middlewares []createMw, input *e.CreateDto) error { func (me *middlewareRunner) RunCreateMiddleware(middlewares []createMw, input *e.CreateDto) error {
if !me.SyncOn {
return nil
}
for _, middleware := range middlewares { for _, middleware := range middlewares {
logData := pu.GetLogData(input, nil) logData := pu.GetLogData(input, nil)
@@ -40,6 +49,10 @@ func (me *middlewareRunner) RunCreateMiddleware(middlewares []createMw, input *e
// ExecuteCreateMiddleware executes createlog middleware // ExecuteCreateMiddleware executes createlog middleware
func (me *middlewareRunner) RunCreateLogMiddleware(middlewares []createLogMw, input *esync.SimxLogDto) error { func (me *middlewareRunner) RunCreateLogMiddleware(middlewares []createLogMw, input *esync.SimxLogDto) error {
if !me.SyncOn {
return nil
}
for _, middleware := range middlewares { for _, middleware := range middlewares {
logData := pu.GetLogData(input, nil) logData := pu.GetLogData(input, nil)
@@ -55,6 +68,10 @@ func (me *middlewareRunner) RunCreateLogMiddleware(middlewares []createLogMw, in
} }
func (me *middlewareRunner) RunReadListMiddleware(middlewares []readListMw, input *e.ReadListDto, data *e.Division) error { func (me *middlewareRunner) RunReadListMiddleware(middlewares []readListMw, input *e.ReadListDto, data *e.Division) error {
if !me.SyncOn {
return nil
}
for _, middleware := range middlewares { for _, middleware := range middlewares {
logData := pu.GetLogData(input, data) logData := pu.GetLogData(input, data)
@@ -70,6 +87,10 @@ func (me *middlewareRunner) RunReadListMiddleware(middlewares []readListMw, inpu
} }
func (me *middlewareRunner) RunReadDetailMiddleware(middlewares []readDetailMw, input *e.ReadDetailDto, data *e.Division) error { func (me *middlewareRunner) RunReadDetailMiddleware(middlewares []readDetailMw, input *e.ReadDetailDto, data *e.Division) error {
if !me.SyncOn {
return nil
}
for _, middleware := range middlewares { for _, middleware := range middlewares {
logData := pu.GetLogData(input, data) logData := pu.GetLogData(input, data)
@@ -85,6 +106,10 @@ func (me *middlewareRunner) RunReadDetailMiddleware(middlewares []readDetailMw,
} }
func (me *middlewareRunner) RunUpdateMiddleware(middlewares []updateMw, input *e.UpdateDto) error { func (me *middlewareRunner) RunUpdateMiddleware(middlewares []updateMw, input *e.UpdateDto) error {
if !me.SyncOn {
return nil
}
for _, middleware := range middlewares { for _, middleware := range middlewares {
logData := pu.GetLogData(input, nil) logData := pu.GetLogData(input, nil)
@@ -100,6 +125,10 @@ func (me *middlewareRunner) RunUpdateMiddleware(middlewares []updateMw, input *e
} }
func (me *middlewareRunner) RunDeleteMiddleware(middlewares []deleteMw, input *e.DeleteDto) error { func (me *middlewareRunner) RunDeleteMiddleware(middlewares []deleteMw, input *e.DeleteDto) error {
if !me.SyncOn {
return nil
}
for _, middleware := range middlewares { for _, middleware := range middlewares {
logData := pu.GetLogData(input, nil) logData := pu.GetLogData(input, nil)
@@ -6,6 +6,8 @@ import (
"gorm.io/gorm" "gorm.io/gorm"
sync "simrs-vx/internal/infra/sync-cfg"
e "simrs-vx/internal/domain/main-entities/installation" e "simrs-vx/internal/domain/main-entities/installation"
esync "simrs-vx/internal/domain/sync-entities/log" esync "simrs-vx/internal/domain/sync-entities/log"
) )
@@ -14,17 +16,23 @@ type middlewareRunner struct {
Event *pl.Event Event *pl.Event
Tx *gorm.DB Tx *gorm.DB
MwType pu.MWType MwType pu.MWType
SyncOn bool
} }
// NewMiddlewareExecutor creates a new middleware executor // NewMiddlewareExecutor creates a new middleware executor
func newMiddlewareRunner(event *pl.Event) *middlewareRunner { func newMiddlewareRunner(event *pl.Event) *middlewareRunner {
return &middlewareRunner{ return &middlewareRunner{
Event: event, Event: event,
SyncOn: sync.O.Enable,
} }
} }
// ExecuteCreateMiddleware executes create middleware // ExecuteCreateMiddleware executes create middleware
func (me *middlewareRunner) RunCreateMiddleware(middlewares []createMw, input *e.CreateDto) error { func (me *middlewareRunner) RunCreateMiddleware(middlewares []createMw, input *e.CreateDto) error {
if !me.SyncOn {
return nil
}
for _, middleware := range middlewares { for _, middleware := range middlewares {
logData := pu.GetLogData(input, nil) logData := pu.GetLogData(input, nil)
@@ -41,6 +49,10 @@ func (me *middlewareRunner) RunCreateMiddleware(middlewares []createMw, input *e
// ExecuteCreateMiddleware executes create middleware // ExecuteCreateMiddleware executes create middleware
func (me *middlewareRunner) RunCreateLogMiddleware(middlewares []createLogMw, input *esync.SimxLogDto) error { func (me *middlewareRunner) RunCreateLogMiddleware(middlewares []createLogMw, input *esync.SimxLogDto) error {
if !me.SyncOn {
return nil
}
for _, middleware := range middlewares { for _, middleware := range middlewares {
logData := pu.GetLogData(input, nil) logData := pu.GetLogData(input, nil)
@@ -56,6 +68,10 @@ func (me *middlewareRunner) RunCreateLogMiddleware(middlewares []createLogMw, in
} }
func (me *middlewareRunner) RunReadListMiddleware(middlewares []readListMw, input *e.ReadListDto, data *e.Installation) error { func (me *middlewareRunner) RunReadListMiddleware(middlewares []readListMw, input *e.ReadListDto, data *e.Installation) error {
if !me.SyncOn {
return nil
}
for _, middleware := range middlewares { for _, middleware := range middlewares {
logData := pu.GetLogData(input, data) logData := pu.GetLogData(input, data)
@@ -71,6 +87,10 @@ func (me *middlewareRunner) RunReadListMiddleware(middlewares []readListMw, inpu
} }
func (me *middlewareRunner) RunReadDetailMiddleware(middlewares []readDetailMw, input *e.ReadDetailDto, data *e.Installation) error { func (me *middlewareRunner) RunReadDetailMiddleware(middlewares []readDetailMw, input *e.ReadDetailDto, data *e.Installation) error {
if !me.SyncOn {
return nil
}
for _, middleware := range middlewares { for _, middleware := range middlewares {
logData := pu.GetLogData(input, data) logData := pu.GetLogData(input, data)
@@ -86,6 +106,10 @@ func (me *middlewareRunner) RunReadDetailMiddleware(middlewares []readDetailMw,
} }
func (me *middlewareRunner) RunUpdateMiddleware(middlewares []UpdateMw, input *e.UpdateDto) error { func (me *middlewareRunner) RunUpdateMiddleware(middlewares []UpdateMw, input *e.UpdateDto) error {
if !me.SyncOn {
return nil
}
for _, middleware := range middlewares { for _, middleware := range middlewares {
logData := pu.GetLogData(input, nil) logData := pu.GetLogData(input, nil)
@@ -101,6 +125,10 @@ func (me *middlewareRunner) RunUpdateMiddleware(middlewares []UpdateMw, input *e
} }
func (me *middlewareRunner) RunDeleteMiddleware(middlewares []DeleteMw, input *e.DeleteDto) error { func (me *middlewareRunner) RunDeleteMiddleware(middlewares []DeleteMw, input *e.DeleteDto) error {
if !me.SyncOn {
return nil
}
for _, middleware := range middlewares { for _, middleware := range middlewares {
logData := pu.GetLogData(input, nil) logData := pu.GetLogData(input, nil)
@@ -1,29 +1,38 @@
package specialist package specialist
import ( import (
e "simrs-vx/internal/domain/main-entities/specialist"
esync "simrs-vx/internal/domain/sync-entities/log"
pl "simrs-vx/pkg/logger" pl "simrs-vx/pkg/logger"
pu "simrs-vx/pkg/use-case-helper" pu "simrs-vx/pkg/use-case-helper"
"gorm.io/gorm" "gorm.io/gorm"
sync "simrs-vx/internal/infra/sync-cfg"
e "simrs-vx/internal/domain/main-entities/specialist"
esync "simrs-vx/internal/domain/sync-entities/log"
) )
type middlewareRunner struct { type middlewareRunner struct {
Event *pl.Event Event *pl.Event
Tx *gorm.DB Tx *gorm.DB
MwType pu.MWType MwType pu.MWType
SyncOn bool
} }
// NewMiddlewareExecutor creates a new middleware executor // NewMiddlewareExecutor creates a new middleware executor
func newMiddlewareRunner(event *pl.Event) *middlewareRunner { func newMiddlewareRunner(event *pl.Event) *middlewareRunner {
return &middlewareRunner{ return &middlewareRunner{
Event: event, Event: event,
SyncOn: sync.O.Enable,
} }
} }
// ExecuteCreateMiddleware executes create middleware // ExecuteCreateMiddleware executes create middleware
func (me *middlewareRunner) RunCreateMiddleware(middlewares []createMw, input *e.CreateDto) error { func (me *middlewareRunner) RunCreateMiddleware(middlewares []createMw, input *e.CreateDto) error {
if !me.SyncOn {
return nil
}
for _, middleware := range middlewares { for _, middleware := range middlewares {
logData := pu.GetLogData(input, nil) logData := pu.GetLogData(input, nil)
@@ -40,6 +49,10 @@ func (me *middlewareRunner) RunCreateMiddleware(middlewares []createMw, input *e
// ExecuteCreateMiddleware executes createlog middleware // ExecuteCreateMiddleware executes createlog middleware
func (me *middlewareRunner) RunCreateLogMiddleware(middlewares []createLogMw, input *esync.SimxLogDto) error { func (me *middlewareRunner) RunCreateLogMiddleware(middlewares []createLogMw, input *esync.SimxLogDto) error {
if !me.SyncOn {
return nil
}
for _, middleware := range middlewares { for _, middleware := range middlewares {
logData := pu.GetLogData(input, nil) logData := pu.GetLogData(input, nil)
@@ -55,6 +68,10 @@ func (me *middlewareRunner) RunCreateLogMiddleware(middlewares []createLogMw, in
} }
func (me *middlewareRunner) RunReadListMiddleware(middlewares []readListMw, input *e.ReadListDto, data *e.Specialist) error { func (me *middlewareRunner) RunReadListMiddleware(middlewares []readListMw, input *e.ReadListDto, data *e.Specialist) error {
if !me.SyncOn {
return nil
}
for _, middleware := range middlewares { for _, middleware := range middlewares {
logData := pu.GetLogData(input, data) logData := pu.GetLogData(input, data)
@@ -70,6 +87,10 @@ func (me *middlewareRunner) RunReadListMiddleware(middlewares []readListMw, inpu
} }
func (me *middlewareRunner) RunReadDetailMiddleware(middlewares []readDetailMw, input *e.ReadDetailDto, data *e.Specialist) error { func (me *middlewareRunner) RunReadDetailMiddleware(middlewares []readDetailMw, input *e.ReadDetailDto, data *e.Specialist) error {
if !me.SyncOn {
return nil
}
for _, middleware := range middlewares { for _, middleware := range middlewares {
logData := pu.GetLogData(input, data) logData := pu.GetLogData(input, data)
@@ -85,6 +106,10 @@ func (me *middlewareRunner) RunReadDetailMiddleware(middlewares []readDetailMw,
} }
func (me *middlewareRunner) RunUpdateMiddleware(middlewares []updateMw, input *e.UpdateDto) error { func (me *middlewareRunner) RunUpdateMiddleware(middlewares []updateMw, input *e.UpdateDto) error {
if !me.SyncOn {
return nil
}
for _, middleware := range middlewares { for _, middleware := range middlewares {
logData := pu.GetLogData(input, nil) logData := pu.GetLogData(input, nil)
@@ -100,6 +125,10 @@ func (me *middlewareRunner) RunUpdateMiddleware(middlewares []updateMw, input *e
} }
func (me *middlewareRunner) RunDeleteMiddleware(middlewares []deleteMw, input *e.DeleteDto) error { func (me *middlewareRunner) RunDeleteMiddleware(middlewares []deleteMw, input *e.DeleteDto) error {
if !me.SyncOn {
return nil
}
for _, middleware := range middlewares { for _, middleware := range middlewares {
logData := pu.GetLogData(input, nil) logData := pu.GetLogData(input, nil)
@@ -1,29 +1,38 @@
package subspecialist package subspecialist
import ( import (
e "simrs-vx/internal/domain/main-entities/subspecialist"
esync "simrs-vx/internal/domain/sync-entities/log"
pl "simrs-vx/pkg/logger" pl "simrs-vx/pkg/logger"
pu "simrs-vx/pkg/use-case-helper" pu "simrs-vx/pkg/use-case-helper"
"gorm.io/gorm" "gorm.io/gorm"
sync "simrs-vx/internal/infra/sync-cfg"
e "simrs-vx/internal/domain/main-entities/subspecialist"
esync "simrs-vx/internal/domain/sync-entities/log"
) )
type middlewareRunner struct { type middlewareRunner struct {
Event *pl.Event Event *pl.Event
Tx *gorm.DB Tx *gorm.DB
MwType pu.MWType MwType pu.MWType
SyncOn bool
} }
// NewMiddlewareExecutor creates a new middleware executor // NewMiddlewareExecutor creates a new middleware executor
func newMiddlewareRunner(event *pl.Event) *middlewareRunner { func newMiddlewareRunner(event *pl.Event) *middlewareRunner {
return &middlewareRunner{ return &middlewareRunner{
Event: event, Event: event,
SyncOn: sync.O.Enable,
} }
} }
// ExecuteCreateMiddleware executes create middleware // ExecuteCreateMiddleware executes create middleware
func (me *middlewareRunner) RunCreateMiddleware(middlewares []createMw, input *e.CreateDto) error { func (me *middlewareRunner) RunCreateMiddleware(middlewares []createMw, input *e.CreateDto) error {
if !me.SyncOn {
return nil
}
for _, middleware := range middlewares { for _, middleware := range middlewares {
logData := pu.GetLogData(input, nil) logData := pu.GetLogData(input, nil)
@@ -39,6 +48,10 @@ func (me *middlewareRunner) RunCreateMiddleware(middlewares []createMw, input *e
} }
func (me *middlewareRunner) RunCreateLogMiddleware(middlewares []createLogMw, input *esync.SimxLogDto) error { func (me *middlewareRunner) RunCreateLogMiddleware(middlewares []createLogMw, input *esync.SimxLogDto) error {
if !me.SyncOn {
return nil
}
for _, middleware := range middlewares { for _, middleware := range middlewares {
logData := pu.GetLogData(input, nil) logData := pu.GetLogData(input, nil)
@@ -54,6 +67,10 @@ func (me *middlewareRunner) RunCreateLogMiddleware(middlewares []createLogMw, in
} }
func (me *middlewareRunner) RunReadListMiddleware(middlewares []readListMw, input *e.ReadListDto, data *e.Subspecialist) error { func (me *middlewareRunner) RunReadListMiddleware(middlewares []readListMw, input *e.ReadListDto, data *e.Subspecialist) error {
if !me.SyncOn {
return nil
}
for _, middleware := range middlewares { for _, middleware := range middlewares {
logData := pu.GetLogData(input, data) logData := pu.GetLogData(input, data)
@@ -69,6 +86,10 @@ func (me *middlewareRunner) RunReadListMiddleware(middlewares []readListMw, inpu
} }
func (me *middlewareRunner) RunReadDetailMiddleware(middlewares []readDetailMw, input *e.ReadDetailDto, data *e.Subspecialist) error { func (me *middlewareRunner) RunReadDetailMiddleware(middlewares []readDetailMw, input *e.ReadDetailDto, data *e.Subspecialist) error {
if !me.SyncOn {
return nil
}
for _, middleware := range middlewares { for _, middleware := range middlewares {
logData := pu.GetLogData(input, data) logData := pu.GetLogData(input, data)
@@ -84,6 +105,10 @@ func (me *middlewareRunner) RunReadDetailMiddleware(middlewares []readDetailMw,
} }
func (me *middlewareRunner) RunUpdateMiddleware(middlewares []updateMw, input *e.UpdateDto) error { func (me *middlewareRunner) RunUpdateMiddleware(middlewares []updateMw, input *e.UpdateDto) error {
if !me.SyncOn {
return nil
}
for _, middleware := range middlewares { for _, middleware := range middlewares {
logData := pu.GetLogData(input, nil) logData := pu.GetLogData(input, nil)
@@ -99,6 +124,10 @@ func (me *middlewareRunner) RunUpdateMiddleware(middlewares []updateMw, input *e
} }
func (me *middlewareRunner) RunDeleteMiddleware(middlewares []deleteMw, input *e.DeleteDto) error { func (me *middlewareRunner) RunDeleteMiddleware(middlewares []deleteMw, input *e.DeleteDto) error {
if !me.SyncOn {
return nil
}
for _, middleware := range middlewares { for _, middleware := range middlewares {
logData := pu.GetLogData(input, nil) logData := pu.GetLogData(input, nil)
@@ -1,29 +1,38 @@
package unit package unit
import ( import (
e "simrs-vx/internal/domain/main-entities/unit"
esync "simrs-vx/internal/domain/sync-entities/log"
pl "simrs-vx/pkg/logger" pl "simrs-vx/pkg/logger"
pu "simrs-vx/pkg/use-case-helper" pu "simrs-vx/pkg/use-case-helper"
"gorm.io/gorm" "gorm.io/gorm"
sync "simrs-vx/internal/infra/sync-cfg"
e "simrs-vx/internal/domain/main-entities/unit"
esync "simrs-vx/internal/domain/sync-entities/log"
) )
type middlewareRunner struct { type middlewareRunner struct {
Event *pl.Event Event *pl.Event
Tx *gorm.DB Tx *gorm.DB
MwType pu.MWType MwType pu.MWType
SyncOn bool
} }
// NewMiddlewareExecutor creates a new middleware executor // NewMiddlewareExecutor creates a new middleware executor
func newMiddlewareRunner(event *pl.Event) *middlewareRunner { func newMiddlewareRunner(event *pl.Event) *middlewareRunner {
return &middlewareRunner{ return &middlewareRunner{
Event: event, Event: event,
SyncOn: sync.O.Enable,
} }
} }
// ExecuteCreateMiddleware executes create middleware // ExecuteCreateMiddleware executes create middleware
func (me *middlewareRunner) RunCreateMiddleware(middlewares []createMw, input *e.CreateDto) error { func (me *middlewareRunner) RunCreateMiddleware(middlewares []createMw, input *e.CreateDto) error {
if !me.SyncOn {
return nil
}
for _, middleware := range middlewares { for _, middleware := range middlewares {
logData := pu.GetLogData(input, nil) logData := pu.GetLogData(input, nil)
@@ -40,6 +49,10 @@ func (me *middlewareRunner) RunCreateMiddleware(middlewares []createMw, input *e
// ExecuteCreateMiddleware executes create middleware // ExecuteCreateMiddleware executes create middleware
func (me *middlewareRunner) RunCreateLogMiddleware(middlewares []createLogMw, input *esync.SimxLogDto) error { func (me *middlewareRunner) RunCreateLogMiddleware(middlewares []createLogMw, input *esync.SimxLogDto) error {
if !me.SyncOn {
return nil
}
for _, middleware := range middlewares { for _, middleware := range middlewares {
logData := pu.GetLogData(input, nil) logData := pu.GetLogData(input, nil)
@@ -55,6 +68,10 @@ func (me *middlewareRunner) RunCreateLogMiddleware(middlewares []createLogMw, in
} }
func (me *middlewareRunner) RunReadListMiddleware(middlewares []readListMw, input *e.ReadListDto, data *e.Unit) error { func (me *middlewareRunner) RunReadListMiddleware(middlewares []readListMw, input *e.ReadListDto, data *e.Unit) error {
if !me.SyncOn {
return nil
}
for _, middleware := range middlewares { for _, middleware := range middlewares {
logData := pu.GetLogData(input, data) logData := pu.GetLogData(input, data)
@@ -70,6 +87,10 @@ func (me *middlewareRunner) RunReadListMiddleware(middlewares []readListMw, inpu
} }
func (me *middlewareRunner) RunReadDetailMiddleware(middlewares []readDetailMw, input *e.ReadDetailDto, data *e.Unit) error { func (me *middlewareRunner) RunReadDetailMiddleware(middlewares []readDetailMw, input *e.ReadDetailDto, data *e.Unit) error {
if !me.SyncOn {
return nil
}
for _, middleware := range middlewares { for _, middleware := range middlewares {
logData := pu.GetLogData(input, data) logData := pu.GetLogData(input, data)
@@ -85,6 +106,10 @@ func (me *middlewareRunner) RunReadDetailMiddleware(middlewares []readDetailMw,
} }
func (me *middlewareRunner) RunUpdateMiddleware(middlewares []updateMw, input *e.UpdateDto) error { func (me *middlewareRunner) RunUpdateMiddleware(middlewares []updateMw, input *e.UpdateDto) error {
if !me.SyncOn {
return nil
}
for _, middleware := range middlewares { for _, middleware := range middlewares {
logData := pu.GetLogData(input, nil) logData := pu.GetLogData(input, nil)
@@ -100,6 +125,10 @@ func (me *middlewareRunner) RunUpdateMiddleware(middlewares []updateMw, input *e
} }
func (me *middlewareRunner) RunDeleteMiddleware(middlewares []deleteMw, input *e.DeleteDto) error { func (me *middlewareRunner) RunDeleteMiddleware(middlewares []deleteMw, input *e.DeleteDto) error {
if !me.SyncOn {
return nil
}
for _, middleware := range middlewares { for _, middleware := range middlewares {
logData := pu.GetLogData(input, nil) logData := pu.GetLogData(input, nil)