Skip to content

Commit 2c36f41

Browse files
NRL-2099 Condense down management script even better. SonarCloud fixes. Add test coverage for this script
1 parent b527a2d commit 2c36f41

3 files changed

Lines changed: 593 additions & 271 deletions

File tree

layer/nrlf/core/constants.py

Lines changed: 53 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -65,61 +65,6 @@ def list():
6565
return [control.value for control in AccessControls]
6666

6767

68-
class SupplierType(Enum):
69-
PRODUCER = "producer"
70-
CONSUMER = "consumer"
71-
72-
@staticmethod
73-
def list():
74-
return [supplier.value for supplier in SupplierType]
75-
76-
77-
class V2PermissionKey(Enum):
78-
ACCESS_CONTROLS = "access_controls"
79-
TYPES = "types"
80-
CATEGORIES = "categories"
81-
INTERACTIONS = "interactions"
82-
PRODUCE_FOR_AUTHORS = "produce_for_authors"
83-
PRODUCE_FOR_CUSTODIANS = "produce_for_custodians"
84-
85-
@staticmethod
86-
def list():
87-
return [permission_key.value for permission_key in V2PermissionKey]
88-
89-
def human_readable(self, plural=False):
90-
human_lookup = {
91-
V2PermissionKey.ACCESS_CONTROLS.value: {
92-
"singular": "access control",
93-
"plural": "access controls",
94-
},
95-
V2PermissionKey.TYPES.value: {
96-
"singular": "pointer type",
97-
"plural": "pointer types",
98-
},
99-
V2PermissionKey.CATEGORIES.value: {
100-
"singular": "category",
101-
"plural": "categories",
102-
},
103-
V2PermissionKey.INTERACTIONS.value: {
104-
"singular": "interaction",
105-
"plural": "interactions",
106-
},
107-
V2PermissionKey.PRODUCE_FOR_AUTHORS.value: {
108-
"singular": "produce for author",
109-
"plural": "produce for authors",
110-
},
111-
V2PermissionKey.PRODUCE_FOR_CUSTODIANS.value: {
112-
"singular": "produce for custodian",
113-
"plural": "produce for custodians",
114-
},
115-
}
116-
117-
if plural:
118-
return human_lookup.get(self.value)["plural"]
119-
120-
return human_lookup.get(self.value)["singular"]
121-
122-
12368
NHSD_REQUEST_ID_HEADER = "NHSD-Request-Id"
12469
NHSD_CORRELATION_ID_HEADER = "NHSD-Correlation-Id"
12570
X_REQUEST_ID_HEADER = "X-Request-Id"
@@ -790,3 +735,56 @@ def coding_value(self):
790735
"application/fhir+json",
791736
"application/json+fhir",
792737
}
738+
739+
740+
class V2PermissionKey(Enum):
741+
ACCESS_CONTROLS = "access_controls"
742+
TYPES = "types"
743+
CATEGORIES = "categories"
744+
INTERACTIONS = "interactions"
745+
PRODUCE_FOR_AUTHORS = "produce_for_authors"
746+
PRODUCE_FOR_CUSTODIANS = "produce_for_custodians"
747+
748+
@staticmethod
749+
def list():
750+
return [permission_key.value for permission_key in V2PermissionKey]
751+
752+
753+
PERMISSION_KEY_ATTRIBUTES = {
754+
V2PermissionKey.ACCESS_CONTROLS.value: {
755+
"display": "access controls",
756+
"display_singular": "access control",
757+
"permission_lookup": None,
758+
"all_assignable_permission_items": AccessControls.list(),
759+
},
760+
V2PermissionKey.TYPES.value: {
761+
"display": "pointer types",
762+
"display_singular": "pointer type",
763+
"permission_lookup": TYPE_ATTRIBUTES,
764+
"all_assignable_permission_items": PointerTypes.list(),
765+
},
766+
V2PermissionKey.CATEGORIES.value: {
767+
"display": "categories",
768+
"display_singular": "category",
769+
"permission_lookup": CATEGORY_ATTRIBUTES,
770+
"all_assignable_permission_items": Categories.list(),
771+
},
772+
V2PermissionKey.INTERACTIONS.value: {
773+
"display": "interactions",
774+
"display_singular": "interaction",
775+
"permission_lookup": "",
776+
"all_assignable_permission_items": "",
777+
},
778+
V2PermissionKey.PRODUCE_FOR_AUTHORS.value: {
779+
"display": "produce for authors",
780+
"display_singular": "produce for author",
781+
"permission_lookup": "",
782+
"all_assignable_permission_items": "",
783+
},
784+
V2PermissionKey.PRODUCE_FOR_CUSTODIANS.value: {
785+
"display": "produce for custodians",
786+
"display_singular": "produce for custodian",
787+
"permission_lookup": "",
788+
"all_assignable_permission_items": "",
789+
},
790+
}

0 commit comments

Comments
 (0)