diff --git a/internal/use-case/simgos-sync-use-case/new/doctor/case.go b/internal/use-case/simgos-sync-use-case/new/doctor/case.go index 75ac9f4a..d9b1aa9f 100644 --- a/internal/use-case/simgos-sync-use-case/new/doctor/case.go +++ b/internal/use-case/simgos-sync-use-case/new/doctor/case.go @@ -11,56 +11,7 @@ import ( elog "simrs-vx/internal/domain/sync-entities/log" ) -const source = "division" - -//func Create(input e.CreateDto) (*d.Data, error) { -// var ( -// sgData *esimgos.MUnit -// syncLink *esync.DivisionLink -// err error -// ) -// -// event := pl.Event{ -// Feature: "Create", -// Source: source, -// } -// -// // Start log -// pl.SetLogInfo(&event, input, "started", "create") -// -// err = db.WithDualTx(func(tx *db.Dualtx) error { -// // STEP 1: Insert to simgos -// sgData, err = CreateSimgosData(input, &event, tx.Simgos) -// if err != nil { -// return err -// } -// -// // STEP 2: Insert to Link -// syncLink, err = CreateLinkData(*input.Id, sgData.KodeUnit, &event, tx.Sync) -// if err != nil { -// return err -// } -// -// return nil -// }) -// -// if err != nil { -// if syncLink != nil { -// go func() { _ = DeleteLinkData(syncLink, &event) }() -// } -// return nil, err -// } -// -// pl.SetLogInfo(&event, nil, "complete") -// -// return &d.Data{ -// Meta: d.II{ -// "source": source, -// "structure": "single-data", -// "status": "created", -// }, -// }, nil -//} +const source = "doctor" func CreateSimxLog(input elog.SimxLogDto) (*d.Data, error) { event := pl.Event{ @@ -95,100 +46,3 @@ func CreateSimxLog(input elog.SimxLogDto) (*d.Data, error) { }, }, nil } - -//func Update(input e.UpdateDto) (*d.Data, error) { -// event := pl.Event{ -// Feature: "Update", -// Source: source, -// } -// -// // Start log -// pl.SetLogInfo(&event, input, "started", "update") -// -// // STEP 1: Get Link -// syncLink, err := ReadDetailLinkData(*input.Id, &event) -// if err != nil { -// return nil, err -// } -// -// tx := db.NewTx() -// err = tx.Simgos.Transaction(func(tx *gorm.DB) error { -// // Step 2: Update Simgos -// if err = UpdateSimgosData(input, syncLink, &event, tx); err != nil { -// return err -// } -// -// return nil -// }) -// -// pl.SetLogInfo(&event, nil, "complete") -// -// return &d.Data{ -// Meta: d.IS{ -// "source": source, -// "structure": "single-data", -// "status": "updated", -// }, -// }, nil -//} - -//func Delete(input e.DeleteDto) (*d.Data, error) { -// var isLinkDeleted bool -// -// event := pl.Event{ -// Feature: "Delete", -// Source: source, -// } -// -// // Start log -// pl.SetLogInfo(&event, input, "started", "delete") -// -// // STEP 1: Get Link -// syncLink, err := ReadDetailLinkData(*input.Id, &event) -// if err != nil { -// return nil, err -// } -// -// // STEP 2: Get Simgos -// sgData, err := ReadDetailSimgosData(uint16(syncLink.Simgos_Id), &event) -// if err != nil { -// return nil, err -// } -// -// err = db.WithDualTx(func(tx *db.Dualtx) error { -// // STEP 3: Delete Simgos -// err = HardDeleteSimgosData(sgData, &event, tx.Simgos) -// if err != nil { -// return err -// } -// -// // STEP 4: Delete Link -// err = DeleteLinkData(syncLink, &event, tx.Sync) -// if err != nil { -// return err -// } -// -// isLinkDeleted = true -// return nil -// }) -// -// if err != nil { -// if isLinkDeleted { -// go func() { -// _, _ = CreateLinkData(uint(*input.Id), sgData.KodeUnit, &event) -// }() -// } -// return nil, err -// } -// -// pl.SetLogInfo(&event, nil, "complete") -// -// return &d.Data{ -// Meta: d.IS{ -// "source": source, -// "structure": "single-data", -// "status": "deleted", -// }, -// }, nil -// -//} diff --git a/internal/use-case/simgos-sync-use-case/new/doctor/helper.go b/internal/use-case/simgos-sync-use-case/new/doctor/helper.go index 71fa4cfc..3d6cdb88 100644 --- a/internal/use-case/simgos-sync-use-case/new/doctor/helper.go +++ b/internal/use-case/simgos-sync-use-case/new/doctor/helper.go @@ -7,24 +7,11 @@ package doctor import ( "encoding/json" erc "simrs-vx/internal/domain/references/common" - + esync "simrs-vx/internal/domain/sync-entities/doctor" esyncLog "simrs-vx/internal/domain/sync-entities/log" ) -//func setDataSimgos[T *e.CreateDto | *e.UpdateDto](input T) (data esimgos.MDokter) { -// var inputSrc *e.CreateDto -// if inputT, ok := any(input).(*e.CreateDto); ok { -// inputSrc = inputT -// } else { -// inputTemp := any(input).(*e.UpdateDto) -// inputSrc = &inputTemp.CreateDto -// } -// -// data.NamaUnit = inputSrc.Name -// return -//} - func setDataSimxLog(input *esyncLog.SimxLogDto) (data esync.DoctorSimxLog) { // encode to JSON jsonData, _ := json.MarshalIndent(input.Payload, "", " ") diff --git a/internal/use-case/simgos-sync-use-case/new/doctor/lib.go b/internal/use-case/simgos-sync-use-case/new/doctor/lib.go index b9b6e7cf..c5bbf6fb 100644 --- a/internal/use-case/simgos-sync-use-case/new/doctor/lib.go +++ b/internal/use-case/simgos-sync-use-case/new/doctor/lib.go @@ -3,108 +3,17 @@ package doctor import ( plh "simrs-vx/pkg/lib-helper" pl "simrs-vx/pkg/logger" - pu "simrs-vx/pkg/use-case-helper" "time" dg "github.com/karincake/apem/db-gorm-pg" "gorm.io/gorm" - + esync "simrs-vx/internal/domain/sync-entities/doctor" esynclog "simrs-vx/internal/domain/sync-entities/log" ) var now = time.Now() -//func CreateSimgosData(input e.CreateDto, event *pl.Event, dbx ...*gorm.DB) (*esimgos.MDokter, error) { -// pl.SetLogInfo(event, nil, "started", "DBCreate") -// -// data := setDataSimgos(&input) -// -// var tx *gorm.DB -// if len(dbx) > 0 { -// tx = dbx[0] -// } else { -// tx = dg.IS["simrs"] -// } -// -// if err := tx.Create(&data).Error; err != nil { -// return nil, plh.HandleCreateError(input, event, err) -// } -// -// pl.SetLogInfo(event, nil, "complete") -// return &data, nil -//} - -//func ReadDetailSimgosData(simgosId uint16, event *pl.Event) (*esimgos.MUnit, error) { -// pl.SetLogInfo(event, simgosId, "started", "DBReadDetail") -// data := esimgos.MUnit{} -// -// var tx = dg.IS["simrs"] -// -// if err := tx. -// Where("\"kode_unit\" = ?", simgosId). -// First(&data).Error; err != nil { -// if processedErr := pu.HandleReadError(err, event, source, simgosId, data); processedErr != nil { -// return nil, processedErr -// } -// } -// -// pl.SetLogInfo(event, nil, "complete") -// return &data, nil -//} - -//func UpdateSimgosData(input e.UpdateDto, dataSimgos *esync.DivisionLink, event *pl.Event, dbx ...*gorm.DB) error { -// pl.SetLogInfo(event, input, "started", "DBUpdate") -// -// data := setDataSimgos(&input) -// data.KodeUnit = dataSimgos.Simgos_Id -// -// var tx *gorm.DB -// if len(dbx) > 0 { -// tx = dbx[0] -// } else { -// tx = dg.IS["simrs"] -// } -// -// if err := tx.Save(&data).Error; err != nil { -// event.Status = "failed" -// event.ErrInfo = pl.ErrorInfo{ -// Code: "data-update-fail", -// Detail: "Database update failed", -// Raw: err, -// } -// return pl.SetLogError(event, input) -// } -// -// pl.SetLogInfo(event, nil, "complete") -// return nil -//} - -//func HardDeleteSimgosData(data *esimgos.MUnit, event *pl.Event, dbx ...*gorm.DB) error { -// pl.SetLogInfo(event, data, "started", "DBDelete") -// -// var tx *gorm.DB -// if len(dbx) > 0 { -// tx = dbx[0] -// } else { -// tx = dg.IS["simrs"] -// } -// -// if err := tx. -// Delete(&data).Error; err != nil { -// event.Status = "failed" -// event.ErrInfo = pl.ErrorInfo{ -// Code: "data-delete-fail", -// Detail: "Database delete failed", -// Raw: err, -// } -// return pl.SetLogError(event, data) -// } -// -// pl.SetLogInfo(event, nil, "complete") -// return nil -//} - func CreateLinkData(simxId, simgosId uint, event *pl.Event, dbx ...*gorm.DB) (*esync.DoctorLink, error) { pl.SetLogInfo(event, nil, "started", "DBCreate") data := setDataSimxLink(simxId, simgosId) @@ -124,48 +33,6 @@ func CreateLinkData(simxId, simgosId uint, event *pl.Event, dbx ...*gorm.DB) (*e return &data, nil } -func ReadDetailLinkData(simxId uint16, event *pl.Event) (*esync.DoctorLink, error) { - pl.SetLogInfo(event, simxId, "started", "DBReadDetail") - data := esync.DoctorLink{} - - var tx = dg.I - - if err := tx. - Where("\"Simx_Id\" = ?", simxId). - First(&data).Error; err != nil { - if processedErr := pu.HandleReadError(err, event, source, simxId, data); processedErr != nil { - return nil, processedErr - } - } - - pl.SetLogInfo(event, nil, "complete") - return &data, nil -} - -func DeleteLinkData(data *esync.DoctorLink, event *pl.Event, dbx ...*gorm.DB) error { - pl.SetLogInfo(event, data, "started", "DBDelete") - - var tx *gorm.DB - if len(dbx) > 0 { - tx = dbx[0] - } else { - tx = dg.I - } - - if err := tx.Delete(&data).Error; err != nil { - event.Status = "failed" - event.ErrInfo = pl.ErrorInfo{ - Code: "data-delete-fail", - Detail: "Database delete failed", - Raw: err, - } - return pl.SetLogError(event, data) - } - - pl.SetLogInfo(event, nil, "complete") - return nil -} - func CreateLogData(input esynclog.SimxLogDto, event *pl.Event, dbx ...*gorm.DB) error { pl.SetLogInfo(event, nil, "started", "DBCreate") data := setDataSimxLog(&input) diff --git a/internal/use-case/simgos-sync-use-case/new/nurse/case.go b/internal/use-case/simgos-sync-use-case/new/nurse/case.go index de34b9b9..647b9956 100644 --- a/internal/use-case/simgos-sync-use-case/new/nurse/case.go +++ b/internal/use-case/simgos-sync-use-case/new/nurse/case.go @@ -11,56 +11,7 @@ import ( elog "simrs-vx/internal/domain/sync-entities/log" ) -const source = "patient" - -//func Create(input e.CreateDto) (*d.Data, error) { -// var ( -// sgData *esimgos.MUnit -// syncLink *esync.DivisionLink -// err error -// ) -// -// event := pl.Event{ -// Feature: "Create", -// Source: source, -// } -// -// // Start log -// pl.SetLogInfo(&event, input, "started", "create") -// -// err = db.WithDualTx(func(tx *db.Dualtx) error { -// // STEP 1: Insert to simgos -// sgData, err = CreateSimgosData(input, &event, tx.Simgos) -// if err != nil { -// return err -// } -// -// // STEP 2: Insert to Link -// syncLink, err = CreateLinkData(*input.Id, sgData.KodeUnit, &event, tx.Sync) -// if err != nil { -// return err -// } -// -// return nil -// }) -// -// if err != nil { -// if syncLink != nil { -// go func() { _ = DeleteLinkData(syncLink, &event) }() -// } -// return nil, err -// } -// -// pl.SetLogInfo(&event, nil, "complete") -// -// return &d.Data{ -// Meta: d.II{ -// "source": source, -// "structure": "single-data", -// "status": "created", -// }, -// }, nil -//} +const source = "nurse" func CreateSimxLog(input elog.SimxLogDto) (*d.Data, error) { event := pl.Event{ @@ -95,100 +46,3 @@ func CreateSimxLog(input elog.SimxLogDto) (*d.Data, error) { }, }, nil } - -//func Update(input e.UpdateDto) (*d.Data, error) { -// event := pl.Event{ -// Feature: "Update", -// Source: source, -// } -// -// // Start log -// pl.SetLogInfo(&event, input, "started", "update") -// -// // STEP 1: Get Link -// syncLink, err := ReadDetailLinkData(*input.Id, &event) -// if err != nil { -// return nil, err -// } -// -// tx := db.NewTx() -// err = tx.Simgos.Transaction(func(tx *gorm.DB) error { -// // Step 2: Update Simgos -// if err = UpdateSimgosData(input, syncLink, &event, tx); err != nil { -// return err -// } -// -// return nil -// }) -// -// pl.SetLogInfo(&event, nil, "complete") -// -// return &d.Data{ -// Meta: d.IS{ -// "source": source, -// "structure": "single-data", -// "status": "updated", -// }, -// }, nil -//} - -//func Delete(input e.DeleteDto) (*d.Data, error) { -// var isLinkDeleted bool -// -// event := pl.Event{ -// Feature: "Delete", -// Source: source, -// } -// -// // Start log -// pl.SetLogInfo(&event, input, "started", "delete") -// -// // STEP 1: Get Link -// syncLink, err := ReadDetailLinkData(*input.Id, &event) -// if err != nil { -// return nil, err -// } -// -// // STEP 2: Get Simgos -// sgData, err := ReadDetailSimgosData(uint16(syncLink.Simgos_Id), &event) -// if err != nil { -// return nil, err -// } -// -// err = db.WithDualTx(func(tx *db.Dualtx) error { -// // STEP 3: Delete Simgos -// err = HardDeleteSimgosData(sgData, &event, tx.Simgos) -// if err != nil { -// return err -// } -// -// // STEP 4: Delete Link -// err = DeleteLinkData(syncLink, &event, tx.Sync) -// if err != nil { -// return err -// } -// -// isLinkDeleted = true -// return nil -// }) -// -// if err != nil { -// if isLinkDeleted { -// go func() { -// _, _ = CreateLinkData(uint(*input.Id), sgData.KodeUnit, &event) -// }() -// } -// return nil, err -// } -// -// pl.SetLogInfo(&event, nil, "complete") -// -// return &d.Data{ -// Meta: d.IS{ -// "source": source, -// "structure": "single-data", -// "status": "deleted", -// }, -// }, nil -// -//} diff --git a/internal/use-case/simgos-sync-use-case/new/nurse/helper.go b/internal/use-case/simgos-sync-use-case/new/nurse/helper.go index 73dfe1ac..026d53ba 100644 --- a/internal/use-case/simgos-sync-use-case/new/nurse/helper.go +++ b/internal/use-case/simgos-sync-use-case/new/nurse/helper.go @@ -12,19 +12,6 @@ import ( esync "simrs-vx/internal/domain/sync-entities/nurse" ) -//func setDataSimgos[T *e.CreateDto | *e.UpdateDto](input T) (data esimgos.MDokter) { -// var inputSrc *e.CreateDto -// if inputT, ok := any(input).(*e.CreateDto); ok { -// inputSrc = inputT -// } else { -// inputTemp := any(input).(*e.UpdateDto) -// inputSrc = &inputTemp.CreateDto -// } -// -// data.NamaUnit = inputSrc.Name -// return -//} - func setDataSimxLog(input *esyncLog.SimxLogDto) (data esync.NurseSimxLog) { // encode to JSON jsonData, _ := json.MarshalIndent(input.Payload, "", " ") diff --git a/internal/use-case/simgos-sync-use-case/new/nurse/lib.go b/internal/use-case/simgos-sync-use-case/new/nurse/lib.go index e92b5b66..3fc9456d 100644 --- a/internal/use-case/simgos-sync-use-case/new/nurse/lib.go +++ b/internal/use-case/simgos-sync-use-case/new/nurse/lib.go @@ -3,7 +3,6 @@ package nurse import ( plh "simrs-vx/pkg/lib-helper" pl "simrs-vx/pkg/logger" - pu "simrs-vx/pkg/use-case-helper" "time" dg "github.com/karincake/apem/db-gorm-pg" @@ -15,96 +14,6 @@ import ( var now = time.Now() -//func CreateSimgosData(input e.CreateDto, event *pl.Event, dbx ...*gorm.DB) (*esimgos.MDokter, error) { -// pl.SetLogInfo(event, nil, "started", "DBCreate") -// -// data := setDataSimgos(&input) -// -// var tx *gorm.DB -// if len(dbx) > 0 { -// tx = dbx[0] -// } else { -// tx = dg.IS["simrs"] -// } -// -// if err := tx.Create(&data).Error; err != nil { -// return nil, plh.HandleCreateError(input, event, err) -// } -// -// pl.SetLogInfo(event, nil, "complete") -// return &data, nil -//} - -//func ReadDetailSimgosData(simgosId uint16, event *pl.Event) (*esimgos.MUnit, error) { -// pl.SetLogInfo(event, simgosId, "started", "DBReadDetail") -// data := esimgos.MUnit{} -// -// var tx = dg.IS["simrs"] -// -// if err := tx. -// Where("\"kode_unit\" = ?", simgosId). -// First(&data).Error; err != nil { -// if processedErr := pu.HandleReadError(err, event, source, simgosId, data); processedErr != nil { -// return nil, processedErr -// } -// } -// -// pl.SetLogInfo(event, nil, "complete") -// return &data, nil -//} - -//func UpdateSimgosData(input e.UpdateDto, dataSimgos *esync.DivisionLink, event *pl.Event, dbx ...*gorm.DB) error { -// pl.SetLogInfo(event, input, "started", "DBUpdate") -// -// data := setDataSimgos(&input) -// data.KodeUnit = dataSimgos.Simgos_Id -// -// var tx *gorm.DB -// if len(dbx) > 0 { -// tx = dbx[0] -// } else { -// tx = dg.IS["simrs"] -// } -// -// if err := tx.Save(&data).Error; err != nil { -// event.Status = "failed" -// event.ErrInfo = pl.ErrorInfo{ -// Code: "data-update-fail", -// Detail: "Database update failed", -// Raw: err, -// } -// return pl.SetLogError(event, input) -// } -// -// pl.SetLogInfo(event, nil, "complete") -// return nil -//} - -//func HardDeleteSimgosData(data *esimgos.MUnit, event *pl.Event, dbx ...*gorm.DB) error { -// pl.SetLogInfo(event, data, "started", "DBDelete") -// -// var tx *gorm.DB -// if len(dbx) > 0 { -// tx = dbx[0] -// } else { -// tx = dg.IS["simrs"] -// } -// -// if err := tx. -// Delete(&data).Error; err != nil { -// event.Status = "failed" -// event.ErrInfo = pl.ErrorInfo{ -// Code: "data-delete-fail", -// Detail: "Database delete failed", -// Raw: err, -// } -// return pl.SetLogError(event, data) -// } -// -// pl.SetLogInfo(event, nil, "complete") -// return nil -//} - func CreateLinkData(simxId, simgosId uint, event *pl.Event, dbx ...*gorm.DB) (*esync.NurseLink, error) { pl.SetLogInfo(event, nil, "started", "DBCreate") data := setDataSimxLink(simxId, simgosId) @@ -124,48 +33,6 @@ func CreateLinkData(simxId, simgosId uint, event *pl.Event, dbx ...*gorm.DB) (*e return &data, nil } -func ReadDetailLinkData(simxId uint16, event *pl.Event) (*esync.NurseLink, error) { - pl.SetLogInfo(event, simxId, "started", "DBReadDetail") - data := esync.NurseLink{} - - var tx = dg.I - - if err := tx. - Where("\"Simx_Id\" = ?", simxId). - First(&data).Error; err != nil { - if processedErr := pu.HandleReadError(err, event, source, simxId, data); processedErr != nil { - return nil, processedErr - } - } - - pl.SetLogInfo(event, nil, "complete") - return &data, nil -} - -func DeleteLinkData(data *esync.NurseLink, event *pl.Event, dbx ...*gorm.DB) error { - pl.SetLogInfo(event, data, "started", "DBDelete") - - var tx *gorm.DB - if len(dbx) > 0 { - tx = dbx[0] - } else { - tx = dg.I - } - - if err := tx.Delete(&data).Error; err != nil { - event.Status = "failed" - event.ErrInfo = pl.ErrorInfo{ - Code: "data-delete-fail", - Detail: "Database delete failed", - Raw: err, - } - return pl.SetLogError(event, data) - } - - pl.SetLogInfo(event, nil, "complete") - return nil -} - func CreateLogData(input esynclog.SimxLogDto, event *pl.Event, dbx ...*gorm.DB) error { pl.SetLogInfo(event, nil, "started", "DBCreate") data := setDataSimxLog(&input)