|
4 | 4 | """ |
5 | 5 |
|
6 | 6 | from unique_permission import get_unique_action_flags_from_s3 |
7 | | -from enum import StrEnum |
8 | 7 | from clients import logger, s3_client |
9 | 8 | from make_and_upload_ack_file import make_and_upload_ack_file |
10 | 9 | from utils_for_recordprocessor import get_csv_content_dict_reader, invoke_filename_lambda |
@@ -32,34 +31,33 @@ def validate_action_flag_permissions( |
32 | 31 | # Get unique ACTION_FLAG values from the S3 file |
33 | 32 | required_action_flags = get_unique_action_flags_from_s3(csv_data) |
34 | 33 |
|
35 | | - raw_action_flags = get_unique_action_flags_from_s3(csv_data) |
36 | 34 | valid_action_flag_values = {flag.value for flag in ActionFlag} |
37 | | - required_action_flags = raw_action_flags & valid_action_flag_values # intersection |
| 35 | + required_action_flags = required_action_flags & valid_action_flag_values # intersection |
38 | 36 |
|
39 | 37 | if not required_action_flags: |
40 | 38 | logger.warning("No valid ACTION_FLAGs found in file. Skipping permission validation.") |
41 | 39 | return set() |
42 | 40 |
|
43 | 41 | # Check if supplier has permission for the subject vaccine type and extract permissions |
44 | | - permission_strs_for_vaccine_type = set( |
| 42 | + permission_strs_for_vaccine_type = { |
45 | 43 | permission_str |
46 | 44 | for permission_str in allowed_permissions_list |
47 | 45 | if permission_str.split(".")[0].upper() == vaccine_type.upper() |
48 | | - ) |
49 | | - |
| 46 | + } |
| 47 | + |
50 | 48 | # Extract permissions letters to get map key from the allowed vaccine type |
51 | | - permissions_for_vaccine_type = set( |
| 49 | + permissions_for_vaccine_type = { |
52 | 50 | Permission(permission) |
53 | 51 | for permission_str in permission_strs_for_vaccine_type |
54 | | - for permission in permission_str.split(".")[1].upper() # CRUDS, CRUD etc |
| 52 | + for permission in permission_str.split(".")[1].upper() |
55 | 53 | if permission in list(Permission) |
56 | | - ) |
| 54 | + } |
57 | 55 |
|
58 | | - # Map Permission key to action flag |
59 | | - permitted_action_flags_for_vaccine_type = set( |
| 56 | + # Map Permission key to action flag |
| 57 | + permitted_action_flags_for_vaccine_type = { |
60 | 58 | permission_to_action_flag_map[permission].value |
61 | 59 | for permission in permissions_for_vaccine_type |
62 | | - ) |
| 60 | + } |
63 | 61 |
|
64 | 62 | if not required_action_flags.intersection(permitted_action_flags_for_vaccine_type): |
65 | 63 | raise NoOperationPermissions( |
|
0 commit comments