Files
api-antrian-operasi/internal/domain/antrian_operasi/requestValidation.go
T
2026-02-10 08:47:38 +07:00

49 lines
1.2 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 status operasi (1,2,3,4)
// validasi kategori
_, err := handler.repoKategori.GetKategoriById(c, req.RencanaOperasiData.KategoriOperasi)
if err != nil {
log.Println(err)
errValidation = append(errValidation, err.Error())
}
// validasi spesialis
_, err = handler.repoSpesialis.GetSpesialisById(c, req.RencanaOperasiData.Spesialis)
if err != nil {
log.Println(err)
errValidation = append(errValidation, err.Error())
}
// validasi subspesialis
_, err = handler.repoSpesialis.GetSubSpesialisById(c, req.RencanaOperasiData.SubSpesialis)
if err != nil {
log.Println(err)
errValidation = append(errValidation, err.Error())
}
// validasi dokter pelaksana
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
}