Files
api-antrian-operasi/internal/domain/antrian_operasi/requestValidation.go
T
2026-01-30 08:01:07 +07:00

45 lines
1.1 KiB
Go

package antrianoperasi
import (
"log"
"github.com/gin-gonic/gin"
)
func (req CreatePasienOperasiRequest) DataValidation(c *gin.Context, handler AntrianOperasiHandler) (bool, []string) {
isValid := false
var errValidation []string
// validasi kategori
_, err := handler.repoKategori.GetKategoriById(c, req.RencanaOperasiData.KategoriOperasi)
if err != nil {
log.Println(err)
errValidation = append(errValidation, err.Error())
}
_, err = handler.repoSpesialis.GetSpesialisById(c, req.RencanaOperasiData.Spesialis)
if err != nil {
log.Println(err)
errValidation = append(errValidation, err.Error())
}
_, err = handler.repoSpesialis.GetSubSpesialisById(c, req.RencanaOperasiData.SubSpesialis)
if err != nil {
log.Println(err)
errValidation = append(errValidation, err.Error())
}
for _, dp := range req.DokterPelaksanaItems {
_, err := handler.repoDokter.GetDokterById(c, dp.Id)
if err != nil {
log.Println(err)
errValidation = append(errValidation, err.Error())
continue
}
}
if len(errValidation) == 0 {
isValid = true
}
return isValid, errValidation
}