feat (patient): crud untested yet
This commit is contained in:
No files matched your search
@@ -12,17 +12,19 @@ import (
|
||||
ud "simrs-vx/internal/use-case/main-use-case/doctor"
|
||||
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"
|
||||
upa "simrs-vx/internal/use-case/main-use-case/person-address"
|
||||
upc "simrs-vx/internal/use-case/main-use-case/person-contact"
|
||||
up "simrs-vx/internal/use-case/main-use-case/pharmacist"
|
||||
|
||||
ero "simrs-vx/internal/domain/references/organization"
|
||||
|
||||
dg "github.com/karincake/apem/db-gorm-pg"
|
||||
d "github.com/karincake/dodol"
|
||||
|
||||
pl "simrs-vx/pkg/logger"
|
||||
pu "simrs-vx/pkg/use-case-helper"
|
||||
|
||||
dg "github.com/karincake/apem/db-gorm-pg"
|
||||
d "github.com/karincake/dodol"
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
@@ -47,8 +49,10 @@ func Create(input e.CreateDto) (*d.Data, error) {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := createOrUpdatePerson(&input, &event, tx); err != nil {
|
||||
if person_id, err := upe.CreateOrUpdatePerson(input.Person, &event, tx); err != nil {
|
||||
return err
|
||||
} else {
|
||||
input.Person_Id = person_id
|
||||
}
|
||||
|
||||
for idx := range input.PersonAddresses {
|
||||
@@ -265,8 +269,10 @@ func Update(input e.UpdateDto) (*d.Data, error) {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := createOrUpdatePerson(&input.CreateDto, &event, tx); err != nil {
|
||||
if person_id, err := upe.CreateOrUpdatePerson(input.Person, &event, tx); err != nil {
|
||||
return err
|
||||
} else {
|
||||
input.Person_Id = person_id
|
||||
}
|
||||
|
||||
for idx := range input.PersonAddresses {
|
||||
|
||||
@@ -7,12 +7,8 @@ package employee
|
||||
import (
|
||||
"errors"
|
||||
e "simrs-vx/internal/domain/main-entities/employee"
|
||||
ep "simrs-vx/internal/domain/main-entities/person"
|
||||
"strconv"
|
||||
|
||||
up "simrs-vx/internal/use-case/main-use-case/person"
|
||||
uu "simrs-vx/internal/use-case/main-use-case/user"
|
||||
|
||||
pl "simrs-vx/pkg/logger"
|
||||
|
||||
"gorm.io/gorm"
|
||||
@@ -52,35 +48,3 @@ func createUser(input *e.CreateDto, event *pl.Event, tx *gorm.DB) error {
|
||||
input.User_Id = &user.Id
|
||||
return nil
|
||||
}
|
||||
|
||||
func createOrUpdatePerson(input *e.CreateDto, event *pl.Event, tx *gorm.DB) error {
|
||||
if input.Person.Id == 0 {
|
||||
person, err := up.CreateData(input.Person.CreateDto, event, tx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
input.Person_Id = &person.Id
|
||||
return nil
|
||||
}
|
||||
|
||||
person, err := up.ReadDetailData(ep.ReadDetailDto{Id: input.Person.Id}, event, tx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if person == nil {
|
||||
event.Status = "failed"
|
||||
event.ErrInfo = pl.ErrorInfo{
|
||||
Code: "data-notFound",
|
||||
Detail: "person with ID " + strconv.Itoa(int(*input.Person_Id)) + " not found",
|
||||
Raw: errors.New("person with ID " + strconv.Itoa(int(*input.Person_Id)) + " not found"),
|
||||
}
|
||||
return pl.SetLogError(event, input)
|
||||
}
|
||||
|
||||
if err := up.UpdateData(ep.UpdateDto{CreateDto: input.Person.CreateDto}, person, event, tx); err != nil {
|
||||
return err
|
||||
}
|
||||
input.Person_Id = &person.Id
|
||||
return nil
|
||||
}
|
||||
Reference in New Issue
Block a user