Files
simrsx-be/internal/use-case/main-use-case/user/helper.go
T
dpurbosakti 56d9513dd7 wip
2025-09-04 19:43:33 +07:00

74 lines
1.7 KiB
Go

/*
DESCRIPTION:
Any functions that are used internally by the use-case
*/
package user
import (
ee "simrs-vx/internal/domain/main-entities/employee"
esi "simrs-vx/internal/domain/main-entities/specialist-intern"
e "simrs-vx/internal/domain/main-entities/user"
ue "simrs-vx/internal/use-case/main-use-case/employee"
usi "simrs-vx/internal/use-case/main-use-case/specialist-intern"
ero "simrs-vx/internal/domain/references/organization"
pl "simrs-vx/pkg/logger"
p "simrs-vx/pkg/password"
"gorm.io/gorm"
)
func setCreate(src e.CreateDto, dst *e.User) error {
pass, err := p.Hash(src.Password)
if err != nil {
return err
}
dst.Name = src.Name
dst.Password = pass
dst.Status_Code = src.Status_Code
dst.Position_Code = src.Position_Code
return nil
}
func setUpdate(src e.UpdateDto, dst *e.User) {
dst.Status_Code = src.Status_Code
dst.Position_Code = src.Position_Code
}
func setDataEmployeeUpdate(src e.EmployeUpdateDto) ee.UpdateDto {
return ee.UpdateDto{
Id: src.Id,
CreateDto: ee.CreateDto{
User_Id: src.User_Id,
Person_Id: src.Person_Id,
Division_Code: src.Division_Code,
Number: src.Number,
Status_Code: src.Status_Code,
},
}
}
func getPersonIdByUserId(userId uint, positionCode ero.UserPosisitionCode, event *pl.Event, tx *gorm.DB) (*uint, error) {
pl.SetLogInfo(event, nil, "started", "DBGetPersonIdByUserId")
if positionCode == ero.UPCInt {
person, err := usi.ReadDetailData(esi.ReadDetailDto{User_Id: &userId}, event, tx)
if err != nil {
return nil, err
}
return &person.Id, nil
}
person, err := ue.ReadDetailData(ee.ReadDetailDto{User_Id: &userId}, event, tx)
if err != nil {
return nil, err
}
return &person.Id, nil
}