Files
simrsx-be/internal/use-case/simgos-sync-use-case/new/soapi/helper.go
2025-12-01 16:59:23 +07:00

63 lines
1.4 KiB
Go

/*
DESCRIPTION:
Any functions that are used internally by the use-case
*/
package soapi
import (
"encoding/json"
erc "simrs-vx/internal/domain/references/common"
"strconv"
e "simrs-vx/internal/domain/main-entities/soapi"
soapi "simrs-vx/internal/domain/references/clinical"
esimgos "simrs-vx/internal/domain/simgos-entities/t-diagnosadanterapi"
esyncLog "simrs-vx/internal/domain/sync-entities/log"
esync "simrs-vx/internal/domain/sync-entities/soapi"
)
func setDataEarlyMedic(input e.Soapi) (data esimgos.DiagnosaDanTerapi) {
value := soapi.EarlyMedicValue{}
_ = json.Unmarshal([]byte(*input.Value), &value)
data.Idxdaftar = toPtr(uint(input.Employee_Id))
return
}
func setDataSimxLog(input *esyncLog.SimxLogDto) (data esync.SoapiSimxLog) {
// encode to JSON
jsonData, _ := json.MarshalIndent(input.Payload, "", " ")
jsonString := string(jsonData)
var status erc.ProcessStatusCode
if input.IsSuccess {
status = erc.PSCSuccess
} else {
status = erc.PSCFailed
if input.ErrMessage != nil {
data.ErrMessage = input.ErrMessage
}
}
data.Value = &jsonString
data.Date = &now
data.Status = status
return
}
func setDataSimxLink(simxId, simgosId uint) (data esync.SoapiLink) {
data.Simx_Id = simxId
data.Simgos_Id = simgosId
return
}
func toPtr(v uint) *uint {
return &v
}
func stringtouint(v string) *uint {
u, _ := strconv.Atoi(v)
point := uint(u)
return &point
}