39 lines
928 B
Go
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
|
|
}
|