edit study_iuids & accNum in patient jwt to array
This commit is contained in:
@@ -53,26 +53,17 @@ func (s *AuthService) Login(email, password string) (*models.LoginResponse, erro
|
||||
// Set patient-specific claims
|
||||
additionalClaims["patient_id"] = patientData.PatientID
|
||||
additionalClaims["patient_name"] = patientData.PatientName
|
||||
additionalClaims["study_iuids"] = patientData.StudyIUIDs
|
||||
additionalClaims["accession_numbers"] = patientData.AccessionNumbers
|
||||
|
||||
// Handle multiple studies if available
|
||||
// For redirectURL and home_url, use first study for simplicity
|
||||
if len(patientData.StudyIUIDs) > 0 {
|
||||
// Store all studies in the token for DICOMWeb access
|
||||
additionalClaims["study_iuids"] = patientData.StudyIUIDs
|
||||
additionalClaims["accession_numbers"] = patientData.AccessionNumbers
|
||||
|
||||
// Set the first study as default for display and backward compatibility
|
||||
additionalClaims["study_iuid"] = patientData.StudyIUIDs[0]
|
||||
additionalClaims["accession_number"] = patientData.AccessionNumbers[0]
|
||||
|
||||
// Only use the first study in the redirect URL
|
||||
additionalClaims["home_url"] = fmt.Sprintf("viewer?StudyInstanceUIDs=%s", patientData.StudyIUIDs[0])
|
||||
redirectURL = fmt.Sprintf("/viewer?StudyInstanceUIDs=%s", patientData.StudyIUIDs[0])
|
||||
} else {
|
||||
// Fall back to single study for backward compatibility
|
||||
additionalClaims["study_iuid"] = patientData.StudyIUID
|
||||
additionalClaims["accession_number"] = patientData.AccessionNumber
|
||||
additionalClaims["home_url"] = fmt.Sprintf("viewer?StudyInstanceUIDs=%s", patientData.StudyIUID)
|
||||
redirectURL = fmt.Sprintf("/viewer?StudyInstanceUIDs=%s", patientData.StudyIUID)
|
||||
// Fallback for empty studies array (shouldn't happen)
|
||||
additionalClaims["home_url"] = "/"
|
||||
redirectURL = "/"
|
||||
}
|
||||
|
||||
additionalClaims["study_list"] = "disabled"
|
||||
@@ -138,12 +129,6 @@ func (s *AuthService) RefreshToken(refreshToken string) (string, error) {
|
||||
if claims.PatientName != "" {
|
||||
additionalClaims["patient_name"] = claims.PatientName
|
||||
}
|
||||
if claims.AccessionNumber != "" {
|
||||
additionalClaims["accession_number"] = claims.AccessionNumber
|
||||
}
|
||||
if claims.StudyIUID != "" {
|
||||
additionalClaims["study_iuid"] = claims.StudyIUID
|
||||
}
|
||||
if claims.HomeURL != "" {
|
||||
additionalClaims["home_url"] = claims.HomeURL
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user