--- idea-data-model-2024.6/ideadatamodel/constants.py 2024-06-14 13:52:47 +++ idea-data-model-2024.6/ideadatamodel/constants.py 2024-06-14 15:58:31 @@ -468,6 +468,8 @@ AD_SAM_ACCOUNT_NAME_MAX_LENGTH = 20 AD_SAM_ACCOUNT_NAME_REGEX = rf'[a-zA-Z0-9_.][a-zA-Z0-9_.-]{{1,{AD_SAM_ACCOUNT_NAME_MAX_LENGTH}}}' +GROUP_NAME_REGEX = rf'[a-zA-Z0-9_. -]{{1,30}}' + USERNAME_REGEX = rf'^{AD_SAM_ACCOUNT_NAME_REGEX}$' USERNAME_ERROR_MESSAGE = (f"Username (SAM-Account-Name of the AD user) doesn't match the regex pattern {USERNAME_REGEX}. " f"Username may only contain lower and upper case ASCII letters, " @@ -475,8 +477,8 @@ f"hyphen is not allowed as first character of the username. " f"The maximum length of username is 20.") -ROLE_ASSIGNMENT_ACTOR_ID_REGEX = rf'^{AD_SAM_ACCOUNT_NAME_REGEX}$' +ROLE_ASSIGNMENT_ACTOR_ID_REGEX = rf'^({AD_SAM_ACCOUNT_NAME_REGEX}|{GROUP_NAME_REGEX})$' ROLE_ASSIGNMENT_ACTOR_ID_ERROR_MESSAGE = f"Actor ID doesn't match the regex pattern {ROLE_ASSIGNMENT_ACTOR_ID_REGEX}" -ROLE_ASSIGNMENT_ACTOR_KEY_REGEX = rf"^{AD_SAM_ACCOUNT_NAME_REGEX}:({'|'.join(VALID_ROLE_ASSIGNMENT_ACTOR_TYPES)})$" +ROLE_ASSIGNMENT_ACTOR_KEY_REGEX = rf"^({AD_SAM_ACCOUNT_NAME_REGEX}:user|{GROUP_NAME_REGEX}:group)$" ROLE_ASSIGNMENT_ACTOR_KEY_ERROR_MESSAGE = f"Actor key doesn't match the regex pattern {ROLE_ASSIGNMENT_ACTOR_KEY_REGEX}"