"""All application level constants.""" # DB constants NEO4j_READ_ACCESS = 'READ' NEO4j_WRITE_ACCESS = 'WRITE' NEO4j_WRITE_TIMEOUT = 55 # sec # Pagination PAGINATION_TYPE_STANDARD = 'standard' DEFAULT_LIMIT = 50 DEFAULT_USERS_LIMIT = 50 DEFAULT_OFFSET = 0 DEFAULT_ACTIVE_STATUS = True RESOURCE_TYPE_ALL = 'all' # For backward compatibility Label will include both Vendor and Subaccount. RESOURCE_TYPE_LABEL = 'label' # neo4j profile types ABACUSPROFILE = 'AbacusProfile' COLLABORATORSPROFILE = 'CollaboratorsProfile' ARTISTPROFILE = 'ArtistProfile' CONTENTPROFILE = 'ContentProfile' DISTRIBUTIONPROFILE = 'DistributionProfile' INSIGHTSPROFILE = 'InsightsProfile' LABELPROFILE = 'LabelProfile' MONEYHUBPROFILE = 'MoneyhubProfile' ORCHADMINPROFILE = 'OrchAdminProfile' PODCASTPROFILE = 'PodcastProfile' PUBLISHINGPROFILE = 'PublishingProfile' SETTINGSPROFILE = 'SettingsProfile' SONGWHIPPROFILE = 'SongwhipProfile' DOCUMENTSPROFILE = 'DocumentsProfile' AUDIENCEPROFILE = 'AudienceProfile' ACCOUNT360PROFILE = 'Account360Profile' # neo4j resource label constants SUBACCOUNT_RESOURCE_TYPE = 'Subaccount' SUBACCOUNT_NEO4J_RESOURCE_TYPE = 'SubAccount' VENDOR_RESOURCE_TYPE = 'Vendor' ARTIST_INFO_RESOURCE_TYPE = 'ArtistInfo' LABEL_RESOURCE_TYPE = 'Label' LABELPARTICIPANT_RESOURCE_TYPE = 'LabelParticipant' COLLABORATOR_RESOURCE_TYPE = 'Collaborator' COMPANY_BRAND_RESOURCE_TYPE = 'CompanyBrand' PARENT_COMPANY_RESOURCE_TYPE = 'ParentCompany' # graphql resource label constants VENDOR_STAR_RESOURCE_TYPE = 'VendorStar' # Permissions Platform constants PP_SUPPORTED_RESOURCE_TYPES = [ SUBACCOUNT_RESOURCE_TYPE, SUBACCOUNT_NEO4J_RESOURCE_TYPE, VENDOR_RESOURCE_TYPE, COMPANY_BRAND_RESOURCE_TYPE, LABELPARTICIPANT_RESOURCE_TYPE, COLLABORATOR_RESOURCE_TYPE, ] # user types LABEL_USER_TYPE = 'label' ARTIST_USER_TYPE = 'artist' # neo4j Profile role types # All Roles ACCOUNTING_ROLE = 'accounting' ADMIN_ROLE = 'admin' ADMINISTRATOR_ROLE = 'administrator' ADVERTISING_ROLE = 'advertising' ANALYTICS_ROLE = 'analytics' CATALOG_ROLE = 'catalog' DELIVER_PHYSICAL_AUDIO_ROLE = 'deliver_physical_audio' DOLBY_ATMOS_PACKAGER_ALPHA_ROLE = 'dolby_atmos_packager_alpha' MANAGE_NR_DELIVERIES_ROLE = 'manage_nr_deliveries' MANAGE_NR_OWNERSHIP_ROLE = 'manage_nr_ownership' MANAGE_NR_REPERTOIRE_ROLE = 'manage_nr_repertoire' MARKETING_ROLE = 'marketing' OWS_DELIVERY_METADATA_ROLE = 'ows_delivery_metadata' PAYEE_MANAGEMENT_ROLE = 'payee_management' PRODUCER_ROLE = 'producer' REVIEW_DIGITAL_AUDIO = 'review_digital_audio' ROYALTIES_ROLE = 'royalties' AUDIENCE_ROLE = 'audience' VIEW_ORCHARD_SOUND_RECORDING = 'view_orchard_sound_recording' SONGWHIP_ROLE = 'songwhip' PUBLISHING_COMPOSITIONS_CHANGELOG = 'publishing_compositions_changelog' ACCOUNT360_ROLE = 'account360' ALL_ROLES = 'all_roles' # Remove only PROFILE_ROLE_TYPES = [ ACCOUNTING_ROLE, ADMIN_ROLE, ADMINISTRATOR_ROLE, ADVERTISING_ROLE, ANALYTICS_ROLE, CATALOG_ROLE, DELIVER_PHYSICAL_AUDIO_ROLE, REVIEW_DIGITAL_AUDIO, 'insight', MARKETING_ROLE, PRODUCER_ROLE, PAYEE_MANAGEMENT_ROLE, ROYALTIES_ROLE, AUDIENCE_ROLE, MANAGE_NR_REPERTOIRE_ROLE, VIEW_ORCHARD_SOUND_RECORDING, MANAGE_NR_DELIVERIES_ROLE, MANAGE_NR_OWNERSHIP_ROLE, DOLBY_ATMOS_PACKAGER_ALPHA_ROLE, OWS_DELIVERY_METADATA_ROLE, SONGWHIP_ROLE, ACCOUNT360_ROLE, ] AR_ROLES_MAPPING_TO_ID = { CATALOG_ROLE: 1, MARKETING_ROLE: 2, ANALYTICS_ROLE: 3, ADMINISTRATOR_ROLE: 4, ACCOUNTING_ROLE: 5, ADVERTISING_ROLE: 7, } RESOURCE_TO_NODE_MAPPING = { 'label': LABELPROFILE, 'labelparticipant': LABELPARTICIPANT_RESOURCE_TYPE, 'artist': ARTISTPROFILE, 'artistprofile': ARTISTPROFILE, 'labelprofile': LABELPROFILE, 'artistinfo': ARTIST_INFO_RESOURCE_TYPE, 'vendor': VENDOR_RESOURCE_TYPE, 'subaccount': 'SubAccount', 'identity': 'Identity', 'insightsprofile': INSIGHTSPROFILE, 'abacusprofile': ABACUSPROFILE, 'collaboratorsprofile': COLLABORATORSPROFILE, 'moneyhubprofile': MONEYHUBPROFILE, 'orchadminprofile': ORCHADMINPROFILE, 'podcastprofile': PODCASTPROFILE, 'publishingprofile': PUBLISHINGPROFILE, 'settingsprofile': SETTINGSPROFILE, 'contentprofile': CONTENTPROFILE, 'distributionprofile': DISTRIBUTIONPROFILE, 'songwhipprofile': SONGWHIPPROFILE, 'audienceprofile': AUDIENCEPROFILE, 'documentsprofile': DOCUMENTSPROFILE, 'collaborator': COLLABORATOR_RESOURCE_TYPE, 'account360profile': ACCOUNT360PROFILE, } PROFILE_TYPES = [ ARTISTPROFILE, LABELPROFILE, INSIGHTSPROFILE, ABACUSPROFILE, COLLABORATORSPROFILE, ORCHADMINPROFILE, PODCASTPROFILE, PUBLISHINGPROFILE, SETTINGSPROFILE, MONEYHUBPROFILE, CONTENTPROFILE, SONGWHIPPROFILE, DOCUMENTSPROFILE, AUDIENCEPROFILE, DISTRIBUTIONPROFILE, ACCOUNT360PROFILE, ] NEO4J_MIGRATED_RESOURCE_TYPES = [ARTIST_INFO_RESOURCE_TYPE] RESOURCE_TYPES = [ ARTIST_INFO_RESOURCE_TYPE, VENDOR_RESOURCE_TYPE, SUBACCOUNT_RESOURCE_TYPE, LABEL_RESOURCE_TYPE, SUBACCOUNT_NEO4J_RESOURCE_TYPE, LABELPARTICIPANT_RESOURCE_TYPE, COLLABORATOR_RESOURCE_TYPE, ] TYPES_ASSOCIATED_WITH_LABEL = [ ARTIST_INFO_RESOURCE_TYPE, LABELPARTICIPANT_RESOURCE_TYPE, SUBACCOUNT_RESOURCE_TYPE, SUBACCOUNT_NEO4J_RESOURCE_TYPE, ] NEO4J_RESOURCE_TYPES = [ ARTIST_INFO_RESOURCE_TYPE, VENDOR_RESOURCE_TYPE, SUBACCOUNT_NEO4J_RESOURCE_TYPE, LABELPARTICIPANT_RESOURCE_TYPE, COLLABORATOR_RESOURCE_TYPE, ] ADMIN_RESOURCE_RELATIONSHIP = 'HAS_ADMIN_ACCESS_TO' PROFILE_TO_RESOURCE_RELATIONSHIP = 'HAS_ACCESS_TO' IDENTITY_TO_PROFILE_RELATIONSHIP = 'HAS_PROFILE' # neo4j Index FULLTEXT_INDEX = {LABELPARTICIPANT_RESOURCE_TYPE: 'participantNames'} VENDOR_STAR_UUID = '053a1a75-acc5-4cd8-9206-a194335d2afa' # feature flags EDIT_SUPER_ADMINS = 'settings_app_edit_super_admins' MONEYHUB_SUBACCOUNT_ACCESS = 'moneyhub_subaccount_profile_access' USER_UPDATED_PERMISSIONS_EMAIL = 'notifications_user_updated_permissions_email' # User Context types PROFILE_CONTEXT_TYPE = 'profile' IDENTITY_USER_TYPE = [LABEL_USER_TYPE, ARTIST_USER_TYPE] # Settings MVP control SETTINGS_SUPPORT_MAPPING = { # for admin header validations 'adminProfileTypes': [INSIGHTSPROFILE, SETTINGSPROFILE, ORCHADMINPROFILE], # for input validation 'profileTypes': [ ABACUSPROFILE, INSIGHTSPROFILE, SETTINGSPROFILE, LABELPROFILE, MONEYHUBPROFILE, COLLABORATORSPROFILE, DOCUMENTSPROFILE, SONGWHIPPROFILE, AUDIENCEPROFILE, ], 'resourceTypes': [ LABELPARTICIPANT_RESOURCE_TYPE, VENDOR_RESOURCE_TYPE, SUBACCOUNT_RESOURCE_TYPE, VENDOR_STAR_RESOURCE_TYPE, COLLABORATOR_RESOURCE_TYPE, ], 'deleteProfileTypes': [ ABACUSPROFILE, ACCOUNT360PROFILE, ARTISTPROFILE, AUDIENCEPROFILE, COLLABORATORSPROFILE, CONTENTPROFILE, DISTRIBUTIONPROFILE, DOCUMENTSPROFILE, INSIGHTSPROFILE, LABELPROFILE, MONEYHUBPROFILE, ORCHADMINPROFILE, PODCASTPROFILE, PUBLISHINGPROFILE, SETTINGSPROFILE, SONGWHIPPROFILE, ], 'deleteProfileTypesForVendorStar': [ ABACUSPROFILE, ACCOUNT360_ROLE, CONTENTPROFILE, DISTRIBUTIONPROFILE, INSIGHTSPROFILE, MONEYHUBPROFILE, ORCHADMINPROFILE, PUBLISHINGPROFILE, SETTINGSPROFILE, SONGWHIPPROFILE, ], } PROFILE_TYPE_TO_ROLES_MAPPING = { LABELPROFILE: list(AR_ROLES_MAPPING_TO_ID.keys()), COLLABORATORSPROFILE: [ROYALTIES_ROLE], INSIGHTSPROFILE: [ANALYTICS_ROLE], PUBLISHINGPROFILE: [ADMIN_ROLE], MONEYHUBPROFILE: [ACCOUNTING_ROLE], SONGWHIPPROFILE: [SONGWHIP_ROLE], AUDIENCEPROFILE: [AUDIENCE_ROLE], CONTENTPROFILE: [ ADMIN_ROLE, REVIEW_DIGITAL_AUDIO, MANAGE_NR_REPERTOIRE_ROLE, MANAGE_NR_OWNERSHIP_ROLE, VIEW_ORCHARD_SOUND_RECORDING, ], DISTRIBUTIONPROFILE: [ MANAGE_NR_DELIVERIES_ROLE, DELIVER_PHYSICAL_AUDIO_ROLE, MANAGE_NR_OWNERSHIP_ROLE, ], DOCUMENTSPROFILE: [PAYEE_MANAGEMENT_ROLE], ACCOUNT360PROFILE: [ACCOUNT360_ROLE], } RESOURCE_PROFILES_EXPLICIT_CREATED = { f'{LABELPARTICIPANT_RESOURCE_TYPE}_{ADMINISTRATOR_ROLE}': [INSIGHTSPROFILE], f'{LABELPARTICIPANT_RESOURCE_TYPE}_{ANALYTICS_ROLE}': [INSIGHTSPROFILE], f'{VENDOR_RESOURCE_TYPE}_{ADMINISTRATOR_ROLE}': [INSIGHTSPROFILE, COLLABORATORSPROFILE], f'{VENDOR_RESOURCE_TYPE}_{ANALYTICS_ROLE}': [INSIGHTSPROFILE], f'{VENDOR_RESOURCE_TYPE}_{ACCOUNTING_ROLE}': [COLLABORATORSPROFILE], f'{VENDOR_RESOURCE_TYPE}_{PAYEE_MANAGEMENT_ROLE}': [DOCUMENTSPROFILE], f'{VENDOR_RESOURCE_TYPE}_{SONGWHIP_ROLE}': [SONGWHIPPROFILE], f'{VENDOR_RESOURCE_TYPE}_{AUDIENCE_ROLE}': [AUDIENCEPROFILE], f'{SUBACCOUNT_RESOURCE_TYPE}_{ADMINISTRATOR_ROLE}': [INSIGHTSPROFILE], f'{SUBACCOUNT_RESOURCE_TYPE}_{ANALYTICS_ROLE}': [INSIGHTSPROFILE], f'{SUBACCOUNT_RESOURCE_TYPE}_{PAYEE_MANAGEMENT_ROLE}': [DOCUMENTSPROFILE], f'{SUBACCOUNT_RESOURCE_TYPE}_{SONGWHIP_ROLE}': [SONGWHIPPROFILE], f'{SUBACCOUNT_RESOURCE_TYPE}_{AUDIENCE_ROLE}': [AUDIENCEPROFILE], f'{COLLABORATOR_RESOURCE_TYPE}_{ADMINISTRATOR_ROLE}': [MONEYHUBPROFILE, DOCUMENTSPROFILE], f'{COLLABORATOR_RESOURCE_TYPE}_{ACCOUNTING_ROLE}': [MONEYHUBPROFILE], f'{COLLABORATOR_RESOURCE_TYPE}_{PAYEE_MANAGEMENT_ROLE}': [DOCUMENTSPROFILE], } RESOURCE_PROFILES_IMPLICITLY_CREATED = { # via sync or other places. f'{VENDOR_RESOURCE_TYPE}_{ADMINISTRATOR_ROLE}': [LABELPROFILE], f'{VENDOR_RESOURCE_TYPE}_{ANALYTICS_ROLE}': [LABELPROFILE], f'{VENDOR_RESOURCE_TYPE}_{CATALOG_ROLE}': [LABELPROFILE], f'{VENDOR_RESOURCE_TYPE}_{MARKETING_ROLE}': [LABELPROFILE], f'{VENDOR_RESOURCE_TYPE}_{ACCOUNTING_ROLE}': [LABELPROFILE], f'{VENDOR_RESOURCE_TYPE}_{ADVERTISING_ROLE}': [LABELPROFILE], f'{SUBACCOUNT_RESOURCE_TYPE}_{ADMINISTRATOR_ROLE}': [LABELPROFILE], f'{SUBACCOUNT_RESOURCE_TYPE}_{ANALYTICS_ROLE}': [LABELPROFILE], f'{SUBACCOUNT_RESOURCE_TYPE}_{CATALOG_ROLE}': [LABELPROFILE], f'{SUBACCOUNT_RESOURCE_TYPE}_{MARKETING_ROLE}': [LABELPROFILE], f'{SUBACCOUNT_RESOURCE_TYPE}_{ACCOUNTING_ROLE}': [LABELPROFILE], f'{SUBACCOUNT_RESOURCE_TYPE}_{ADVERTISING_ROLE}': [LABELPROFILE], } AWAL_RESOURCE_PROFILES_EXPLICITLY_CREATED = { f'{VENDOR_RESOURCE_TYPE}_{ADMINISTRATOR_ROLE}': [ MONEYHUBPROFILE, INSIGHTSPROFILE, COLLABORATORSPROFILE, DOCUMENTSPROFILE, ], f'{VENDOR_RESOURCE_TYPE}_{ANALYTICS_ROLE}': [INSIGHTSPROFILE], f'{VENDOR_RESOURCE_TYPE}_{SONGWHIP_ROLE}': [SONGWHIPPROFILE], f'{VENDOR_RESOURCE_TYPE}_{AUDIENCE_ROLE}': [AUDIENCEPROFILE], f'{VENDOR_RESOURCE_TYPE}_{ACCOUNTING_ROLE}': [MONEYHUBPROFILE, COLLABORATORSPROFILE], f'{VENDOR_RESOURCE_TYPE}_{PAYEE_MANAGEMENT_ROLE}': [DOCUMENTSPROFILE], f'{LABELPARTICIPANT_RESOURCE_TYPE}_{ADMINISTRATOR_ROLE}': [INSIGHTSPROFILE], f'{LABELPARTICIPANT_RESOURCE_TYPE}_{ANALYTICS_ROLE}': [INSIGHTSPROFILE], f'{COLLABORATOR_RESOURCE_TYPE}_{ADMINISTRATOR_ROLE}': [MONEYHUBPROFILE], f'{COLLABORATOR_RESOURCE_TYPE}_{ACCOUNTING_ROLE}': [MONEYHUBPROFILE], f'{COLLABORATOR_RESOURCE_TYPE}_{PAYEE_MANAGEMENT_ROLE}': [DOCUMENTSPROFILE], } AWAL_RESOURCE_PROFILES_IMPLICITLY_CREATED = { f'{VENDOR_RESOURCE_TYPE}_{ADMINISTRATOR_ROLE}': [LABELPROFILE], f'{VENDOR_RESOURCE_TYPE}_{CATALOG_ROLE}': [LABELPROFILE], f'{VENDOR_RESOURCE_TYPE}_{ADVERTISING_ROLE}': [LABELPROFILE], } KNR_RESOURCE_PROFILES_EXPLICITLY_CREATED = { f'{VENDOR_RESOURCE_TYPE}_{ADMINISTRATOR_ROLE}': [MONEYHUBPROFILE], f'{VENDOR_RESOURCE_TYPE}_{ACCOUNTING_ROLE}': [MONEYHUBPROFILE], f'{LABELPARTICIPANT_RESOURCE_TYPE}_{ADMINISTRATOR_ROLE}': [MONEYHUBPROFILE], f'{LABELPARTICIPANT_RESOURCE_TYPE}_{ACCOUNTING_ROLE}': [MONEYHUBPROFILE], f'{COLLABORATOR_RESOURCE_TYPE}_{ADMINISTRATOR_ROLE}': [MONEYHUBPROFILE], f'{COLLABORATOR_RESOURCE_TYPE}_{ACCOUNTING_ROLE}': [MONEYHUBPROFILE], f'{COLLABORATOR_RESOURCE_TYPE}_{PAYEE_MANAGEMENT_ROLE}': [DOCUMENTSPROFILE], } KNR_RESOURCE_PROFILES_IMPLICITLY_CREATED = { f'{VENDOR_RESOURCE_TYPE}_{ADMINISTRATOR_ROLE}': [MONEYHUBPROFILE], f'{VENDOR_RESOURCE_TYPE}_{ACCOUNTING_ROLE}': [MONEYHUBPROFILE], } MIGRATED_PROFILES_EXPLICITLY_CREATED = { f'{VENDOR_RESOURCE_TYPE}_{ADMINISTRATOR_ROLE}': [ MONEYHUBPROFILE, INSIGHTSPROFILE, COLLABORATORSPROFILE, DOCUMENTSPROFILE, ], f'{VENDOR_RESOURCE_TYPE}_{ANALYTICS_ROLE}': [INSIGHTSPROFILE], f'{VENDOR_RESOURCE_TYPE}_{SONGWHIP_ROLE}': [SONGWHIPPROFILE], f'{VENDOR_RESOURCE_TYPE}_{AUDIENCE_ROLE}': [AUDIENCEPROFILE], f'{VENDOR_RESOURCE_TYPE}_{ACCOUNTING_ROLE}': [MONEYHUBPROFILE, COLLABORATORSPROFILE], f'{VENDOR_RESOURCE_TYPE}_{PAYEE_MANAGEMENT_ROLE}': [DOCUMENTSPROFILE], f'{SUBACCOUNT_RESOURCE_TYPE}_{ACCOUNTING_ROLE}': [MONEYHUBPROFILE], f'{SUBACCOUNT_RESOURCE_TYPE}_{ANALYTICS_ROLE}': [INSIGHTSPROFILE], f'{SUBACCOUNT_RESOURCE_TYPE}_{ADMINISTRATOR_ROLE}': [MONEYHUBPROFILE, INSIGHTSPROFILE], } MIGRATED_PROFILES_IMPLICITLY_CREATED = { f'{VENDOR_RESOURCE_TYPE}_{ADMINISTRATOR_ROLE}': [LABELPROFILE], f'{VENDOR_RESOURCE_TYPE}_{CATALOG_ROLE}': [LABELPROFILE], f'{VENDOR_RESOURCE_TYPE}_{ADVERTISING_ROLE}': [LABELPROFILE], f'{SUBACCOUNT_RESOURCE_TYPE}_{ADMINISTRATOR_ROLE}': [LABELPROFILE], f'{SUBACCOUNT_RESOURCE_TYPE}_{CATALOG_ROLE}': [LABELPROFILE], f'{SUBACCOUNT_RESOURCE_TYPE}_{MARKETING_ROLE}': [LABELPROFILE], f'{SUBACCOUNT_RESOURCE_TYPE}_{ADVERTISING_ROLE}': [LABELPROFILE], } LOCALES = { 'English': 'en', 'German': 'de', 'Spanish': 'es', 'French': 'fr', 'Italian': 'it', 'Japanese': 'ja', 'Korean': 'ko', 'Portuguese': 'pt', 'Russian': 'ru', 'Turkish': 'tr', 'Chinese': 'zh-CN', 'Chinese (TW)': 'zh-TW', } US_NUMBER_FORMAT = 'us' EU_NUMBER_FORMAT = 'eu' NUMBER_FORMAT = [US_NUMBER_FORMAT, EU_NUMBER_FORMAT] THEORCHARD_BRAND = 'theorchard' AUTH0_ORCHARD_ORG_NAME = 'orchard' SONY_BRAND = 'sme' AWAL_BRAND = 'awal' KNR_BRAND = 'knr' MASS_APPEAL_BRAND = 'ma' DRM_BRAND = 'drm' FOUNDATION_BRAND = 'foundation' PROFILE_BRANDS = [THEORCHARD_BRAND, SONY_BRAND, AWAL_BRAND, KNR_BRAND] SME_BRANDS = [SONY_BRAND, FOUNDATION_BRAND] # Constants for tenant types PARENT_COMPANY_TENANT_TYPE = 'parent_company' COMPANY_BRAND_TENANT_TYPE = 'company_brand' ACCOUNT_TENANT_TYPE = 'account' SUBACCOUNT_TENANT_TYPE = 'subaccount' LABEL_PARTICIPANT_TENANT_TYPE = 'label_participant' COLLABORATOR_TENANT_TYPE = 'collaborator' # A list of tenant types that an admin can assign access to. This is used in the Settings app. ADMIN_ASSIGNABLE_TENANT_TYPES = [ ACCOUNT_TENANT_TYPE, SUBACCOUNT_TENANT_TYPE, LABEL_PARTICIPANT_TENANT_TYPE, COLLABORATOR_TENANT_TYPE, ] ADMIN_ASSIGNABLE_NEO_TYPES = [ VENDOR_RESOURCE_TYPE, SUBACCOUNT_RESOURCE_TYPE, COLLABORATOR_RESOURCE_TYPE, LABELPARTICIPANT_RESOURCE_TYPE, # Only used in the SEAT app PARENT_COMPANY_RESOURCE_TYPE, ] # A list of tenant types that an admin can assign access to. This is used in the Settings app. # combines account and subaccount. ADMIN_ASSIGNABLE_TENANT_TYPES_FOR_UI = [ ACCOUNT_TENANT_TYPE, LABEL_PARTICIPANT_TENANT_TYPE, COLLABORATOR_TENANT_TYPE, ] # List of tenant types supported by SEAT. SEAT_ASSIGNABLE_TENANT_TYPES = [PARENT_COMPANY_TENANT_TYPE, ACCOUNT_TENANT_TYPE] # A mapping of supported tenant types to neo4j labels. TENANT_TYPE_TO_NEO_MAPPING = { ACCOUNT_TENANT_TYPE: VENDOR_RESOURCE_TYPE, SUBACCOUNT_TENANT_TYPE: SUBACCOUNT_RESOURCE_TYPE, LABEL_PARTICIPANT_TENANT_TYPE: LABELPARTICIPANT_RESOURCE_TYPE, COLLABORATOR_TENANT_TYPE: COLLABORATOR_RESOURCE_TYPE, PARENT_COMPANY_TENANT_TYPE: PARENT_COMPANY_RESOURCE_TYPE, } # A mapping of neo4j labels to tenant types. NEO_TO_TENANT_TYPE_MAPPING = { VENDOR_RESOURCE_TYPE: ACCOUNT_TENANT_TYPE, SUBACCOUNT_RESOURCE_TYPE: SUBACCOUNT_TENANT_TYPE, LABELPARTICIPANT_RESOURCE_TYPE: LABEL_PARTICIPANT_TENANT_TYPE, COLLABORATOR_RESOURCE_TYPE: COLLABORATOR_TENANT_TYPE, PARENT_COMPANY_RESOURCE_TYPE: PARENT_COMPANY_TENANT_TYPE, }