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

57 lines
1.3 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"
e "simrs-vx/internal/domain/main-entities/soapi"
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 setDataSimgos[T *e.CreateDto | *e.UpdateDto](input T) (data esimgos.DiagnosaDanTerapi) {
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.DivisionSimxLog) {
// 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.DivisionLink) {
data.Simx_Id = simxId
data.Simgos_Id = simgosId
return
}