feat (midwife): add crud, user + midwife

This commit is contained in:
dpurbosakti
2025-10-08 10:26:19 +07:00
parent 6c47a8e176
commit 2b0c5ac577
7 changed files with 644 additions and 0 deletions
@@ -9,6 +9,7 @@ import (
ed "simrs-vx/internal/domain/main-entities/doctor"
ee "simrs-vx/internal/domain/main-entities/employee"
el "simrs-vx/internal/domain/main-entities/laborant"
em "simrs-vx/internal/domain/main-entities/midwife"
en "simrs-vx/internal/domain/main-entities/nurse"
et "simrs-vx/internal/domain/main-entities/nutritionist"
ep "simrs-vx/internal/domain/main-entities/pharmacist"
@@ -18,6 +19,7 @@ import (
ud "simrs-vx/internal/use-case/main-use-case/doctor"
ue "simrs-vx/internal/use-case/main-use-case/employee"
ul "simrs-vx/internal/use-case/main-use-case/laborant"
um "simrs-vx/internal/use-case/main-use-case/midwife"
un "simrs-vx/internal/use-case/main-use-case/nurse"
ut "simrs-vx/internal/use-case/main-use-case/nutritionist"
upe "simrs-vx/internal/use-case/main-use-case/person"
@@ -150,6 +152,14 @@ func Create(input e.CreateDto) (*d.Data, error) {
if _, err := ul.CreateData(createLaborant, &event, tx); err != nil {
return err
}
case ero.UPCMwi:
createMidwife := em.CreateDto{
Employee_Id: &employeeData.Id,
IHS_Number: input.IHS_Number,
}
if _, err := um.CreateData(em.CreateDto(createMidwife), &event, tx); err != nil {
return err
}
default:
return errors.New("invalid employee position")
}
@@ -475,6 +485,26 @@ func Update(input e.UpdateDto) (*d.Data, error) {
if _, err := ul.CreateData(createLab, &event, tx); err != nil {
return err
}
case ero.UPCMwi:
readMidwife := em.ReadDetailDto{Employee_Id: &employeeData.Id}
readMidwifeData, err := um.ReadDetailData(readMidwife, &event, tx)
if err != nil {
return err
}
createMidwife := em.CreateDto{
Employee_Id: &employeeData.Id,
IHS_Number: input.IHS_Number,
}
if readMidwifeData != nil {
if err := um.UpdateData(em.UpdateDto{CreateDto: createMidwife}, readMidwifeData, &event, tx); err != nil {
return err
}
return nil
}
if _, err := um.CreateData(createMidwife, &event, tx); err != nil {
return err
}
default:
return errors.New("invalid employee position")
}