remove unnecessary field in readdetail

This commit is contained in:
dpurbosakti
2025-09-01 14:28:34 +07:00
parent fae93e5158
commit 8aa34607b9
41 changed files with 175 additions and 185 deletions

No files matched your search

@@ -24,7 +24,7 @@ func Create(input e.CreateDto) (*d.Data, error) {
}
// Start log
pl.SetLogInfo(&event, input, "started", "create")
pl.SetLogInfo(&event, input.Sanitize(), "started", "create")
err := dg.I.Transaction(func(tx *gorm.DB) error {
mwRunner := newMiddlewareRunner(&event, tx)
@@ -34,6 +34,15 @@ func Create(input e.CreateDto) (*d.Data, error) {
return err
}
if input.Person_Id == nil {
if err := createPerson(&input, &event, tx); err != nil {
return err
}
}
if err := createUser(&input, &event, tx); err != nil {
return err
}
if resData, err := CreateData(input, &event, tx); err != nil {
return err
} else {
@@ -87,6 +96,9 @@ func ReadList(input e.ReadListDto) (*d.Data, error) {
return err
}
if len(input.Includes) > 0 {
input.Preloads = pu.GetPreloads(input.Includes)
}
if dataList, metaList, err = ReadListData(input, &event, tx); err != nil {
return err
}
@@ -5,7 +5,14 @@ Any functions that are used internally by the use-case
package employee
import (
"errors"
e "simrs-vx/internal/domain/main-entities/employee"
pl "simrs-vx/pkg/logger"
up "simrs-vx/internal/use-case/main-use-case/person"
uu "simrs-vx/internal/use-case/main-use-case/user"
"gorm.io/gorm"
)
func setData[T *e.CreateDto | *e.UpdateDto](input T, data *e.Employee) {
@@ -24,3 +31,40 @@ func setData[T *e.CreateDto | *e.UpdateDto](input T, data *e.Employee) {
data.Number = inputSrc.Number
data.Status_Code = inputSrc.Status_Code
}
func createUser(input *e.CreateDto, event *pl.Event, tx *gorm.DB) error {
if input.UserRequest == nil {
event.Status = "failed"
event.ErrInfo = pl.ErrorInfo{
Code: "data-create-fail",
Detail: "user request is required",
Raw: errors.New("user request is required"),
}
return pl.SetLogError(event, input)
}
user, err := uu.CreateData(*input.UserRequest, event, tx)
if err != nil {
return err
}
input.User_Id = &user.Id
return nil
}
func createPerson(input *e.CreateDto, event *pl.Event, tx *gorm.DB) error {
if input.PersonRequest == nil {
event.Status = "failed"
event.ErrInfo = pl.ErrorInfo{
Code: "data-create-fail",
Detail: "person request is required",
Raw: errors.New("person request is required"),
}
return pl.SetLogError(event, input)
}
person, err := up.CreateData(*input.PersonRequest, event, tx)
if err != nil {
return err
}
input.Person_Id = &person.Id
return nil
}
@@ -51,9 +51,15 @@ func ReadListData(input e.ReadListDto, event *pl.Event, dbx ...*gorm.DB) ([]e.Em
tx = dg.I
}
if len(input.Preloads) > 0 {
for _, preload := range input.Preloads {
tx = tx.Preload(preload)
}
}
tx = tx.
Model(&e.Employee{}).
Scopes(gh.Filter(input)).
Scopes(gh.Filter(input.FilterDto)).
Count(&count).
Scopes(gh.Paginate(input, &pagination)).
Order("\"CreatedAt\" DESC")