removes ids on doctor,nurse,specialist-intern

This commit is contained in:
dpurbosakti
2025-11-06 12:08:36 +07:00
parent 444fc5ce28
commit a2015a5c7e
9 changed files with 55 additions and 49 deletions
@@ -136,17 +136,17 @@ func GenToken(input eu.LoginDto) (*d.Data, error) {
if doctor.Id == 0 {
return nil, d.FieldErrors{"authentication": d.FieldError{Code: "auth-noDoctor", Message: el.GenMessage("auth-noDoctor")}}
}
atClaims["doctor_id"] = doctor.Id
outputData["doctor_id"] = doctor.Id
atClaims["doctor_code"] = doctor.Code
outputData["doctor_code"] = doctor.Code
// specialist
if doctor.Specialist_Id != nil {
atClaims["specialist_id"] = doctor.Specialist_Id
outputData["specialist_id"] = doctor.Specialist_Id
if doctor.Specialist_Code != nil {
atClaims["specialist_code"] = doctor.Specialist_Code
outputData["specialist_code"] = doctor.Specialist_Code
}
if doctor.Subspecialist_Id != nil {
atClaims["subspecialist_id"] = doctor.Subspecialist_Id
outputData["subspecialist_id"] = doctor.Subspecialist_Id
if doctor.Subspecialist_Code != nil {
atClaims["subspecialist_code"] = doctor.Subspecialist_Code
outputData["subspecialist_code"] = doctor.Subspecialist_Code
}
case erg.EPCNur:
empData := en.Nurse{}
@@ -154,16 +154,16 @@ func GenToken(input eu.LoginDto) (*d.Data, error) {
if empData.Id == 0 {
return nil, d.FieldErrors{"authentication": d.FieldError{Code: "auth-noNurse", Message: el.GenMessage("auth-noNurse")}}
}
atClaims["nurse_id"] = empData.Id
outputData["nurse_id"] = empData.Id
atClaims["nurse_code"] = empData.Code
outputData["nurse_code"] = empData.Code
case erg.EPCMwi:
empData := em.Midwife{}
dg.I.Where("\"Employee_Id\" = ?", employee.Id).First(&empData)
if empData.Id == 0 {
return nil, d.FieldErrors{"authentication": d.FieldError{Code: "auth-noNurse", Message: el.GenMessage("auth-noNurse")}}
return nil, d.FieldErrors{"authentication": d.FieldError{Code: "auth-noMidwife", Message: el.GenMessage("auth-noMidwife")}}
}
atClaims["nurse_id"] = empData.Id
outputData["nurse_id"] = empData.Id
atClaims["midwife_code"] = empData.Code
outputData["midwife_code"] = empData.Code
}
errorGetPosition := d.FieldErrors{"authentication": d.FieldError{Code: "auth-getData-failed", Message: el.GenMessage("auth-getData-failed")}}
@@ -308,12 +308,12 @@ func ExtractToken(r *http.Request, tokenType TokenType) (data *pa.AuthInfo, err
data.User_ContractPosition_code = checkStrClaims(claims, "contractPosition_code")
data.Employee_Position_Code = checkStrPtrClaims(claims, "employee_position_code")
data.Doctor_Id = checkUntPtrClaims(claims, "doctor_id")
data.Nurse_Id = checkUntPtrClaims(claims, "nurse_id")
data.Midwife_Id = checkUntPtrClaims(claims, "midwife_id")
data.Nutritionist_Id = checkUntPtrClaims(claims, "nutritionist_id")
data.Laborant_Id = checkUntPtrClaims(claims, "laborant_id")
data.Pharmachist_Id = checkUntPtrClaims(claims, "pharmachist_id")
data.Doctor_Code = checkStrPtrClaims(claims, "doctor_string")
data.Nurse_Code = checkStrPtrClaims(claims, "nurse_string")
data.Midwife_Code = checkStrPtrClaims(claims, "midwife_string")
data.Nutritionist_Code = checkStrPtrClaims(claims, "nutritionist_string")
data.Laborant_Code = checkStrPtrClaims(claims, "laborant_string")
data.Pharmachist_Code = checkStrPtrClaims(claims, "pharmachist_string")
data.Intern_Position_Code = checkStrPtrClaims(claims, "intern_position_code")
data.Employee_Id = checkUntPtrClaims(claims, "employee_id")
return
@@ -4,10 +4,12 @@ import (
// std
"errors"
ere "simrs-vx/internal/domain/references/encounter"
// external
dg "github.com/karincake/apem/db-gorm-pg"
gh "github.com/karincake/getuk"
"gorm.io/gorm"
// pkg
plh "simrs-vx/pkg/lib-helper"
pl "simrs-vx/pkg/logger"
@@ -56,8 +58,8 @@ func ReadListData(input e.ReadListDto, event *pl.Event, dbx ...*gorm.DB) ([]e.En
}
tx = tx.Model(&e.Encounter{})
if input.AuthInfo.Doctor_Id != nil {
tx.Where("\"Responsible_Doctor_Id\" = ?", *input.AuthInfo.Doctor_Id)
if input.AuthInfo.Doctor_Code != nil {
tx.Where("\"Responsible_Doctor_Id\" = ?", *input.AuthInfo.Doctor_Code) // TODO: fix this
}
tx.Scopes(gh.Preload(input.Includes)).
@@ -38,7 +38,7 @@ func setData[T *e.CreateDto | *e.UpdateDto](input T, data *e.Prescription) {
data.Encounter_Id = inputSrc.Encounter_Id
// data.Doctor_Id = inputSrc.Doctor_Id
data.Doctor_Id = inputSrc.AuthInfo.Doctor_Id
data.Doctor_Code = inputSrc.AuthInfo.Doctor_Code
data.IssuedAt = inputSrc.IssuedAt
}