Files
api-antrian-operasi/internal/domain/reference/dokter/response.go
T
2026-03-03 12:07:44 +07:00

39 lines
928 B
Go

package dokter
import "strings"
func DokterRowToResponse(row DokterModel) DokterResponse {
var hfis *string
if row.HfisCode.Valid {
hfis = &row.HfisCode.String
}
namaDepan := strings.ToUpper(row.NamaDepan.String)
namaBelakang := strings.ToUpper(row.NamaBelakang.String)
gelarDepan := strings.Join(row.GelarDepan, " ")
gelarBelakang := strings.Join(row.GelarBelakang, ", ")
return DokterResponse{
ID: row.ID,
Nip: row.Nip,
NamaLengkap: gelarDepan + " " + namaDepan + " " + namaBelakang + " " + gelarBelakang,
HfisCode: hfis,
NamaKsm: row.NamaKsm,
}
}
func (d DokterModel) ToResponse() DokterResponse {
return DokterRowToResponse(d)
}
type ListDokterModel []DokterModel
func (rows ListDokterModel) ToResponseList() []DokterResponse {
result := make([]DokterResponse, 0, len(rows))
for _, item := range rows {
result = append(result, item.ToResponse())
}
return result
}