@@ -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