Skip to content

Commit a78363a

Browse files
Merge pull request #1197 from NHSDigital/NRL-2099-manage-permissions-script-parity
NRL-2099 manage permissions script (parity)
2 parents 52cc2e8 + d544f88 commit a78363a

File tree

5 files changed

+1223
-114
lines changed

5 files changed

+1223
-114
lines changed

layer/nrlf/core/constants.py

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -735,3 +735,56 @@ def coding_value(self):
735735
"application/fhir+json",
736736
"application/json+fhir",
737737
}
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+
"attribute_lookup": None,
758+
"all_assignable_permission_items": AccessControls.list(),
759+
},
760+
V2PermissionKey.TYPES.value: {
761+
"display": "pointer types",
762+
"display_singular": "pointer type",
763+
"attribute_lookup": TYPE_ATTRIBUTES,
764+
"all_assignable_permission_items": PointerTypes.list(),
765+
},
766+
V2PermissionKey.CATEGORIES.value: {
767+
"display": "categories",
768+
"display_singular": "category",
769+
"attribute_lookup": CATEGORY_ATTRIBUTES,
770+
"all_assignable_permission_items": Categories.list(),
771+
},
772+
V2PermissionKey.INTERACTIONS.value: {
773+
"display": "interactions",
774+
"display_singular": "interaction",
775+
"attribute_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+
"attribute_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+
"attribute_lookup": "",
788+
"all_assignable_permission_items": "",
789+
},
790+
}

0 commit comments

Comments
 (0)