"""Constants for the application.""" import os MULTIPLE_ACCOUNTS_SAME_EMAIL_ERROR_CODE = 'error_multiples_account_same_email' MULTIPLE_ACCOUNTS_SAME_EMAIL_ERROR = ( 'More than one account is using this email address. Please use your login ' 'instead.' ) LOGIN_ERROR_CODE = 'invalid_login' LOGIN_ERROR = 'Incorrect login, please try again.' TOKEN_EXPIRED_ERROR_CODE = 'expired_token' TOKEN_EXPIRED_ERROR = 'The token has expired.' TOKEN_REVOKED_ERROR_CODE = 'revoked_token' TOKEN_REVOKED_ERROR = 'The token had been revoked.' BAD_PARAMS_ERROR_CODE = 'bad_params' BAD_PARAMS_ERROR_message = 'bad params' ERROR_CODE_NOT_FOUND = 'not_found' ERROR_CODE_VALIDATION_ERROR = 'validation_error' ERROR_CODE_ALREADY_EXISTS = 'already_exists' ERROR_CODE_AUTHORIZATION_ERROR = 'authorization_error' ERROR_CODE_CREATE_ERROR = 'create_error' ERROR_CODE_ACCESS_CHECK_ERROR = 'access_check_error' ERROR_CODE_IDENTITY_NOT_FOUND = ERROR_CODE_NOT_FOUND ERROR_MESSAGE_IDENTITY_NOT_FOUND = 'Identity not found' ERROR_CODE_IDENTITY_ALREADY_EXISTS = ERROR_CODE_ALREADY_EXISTS ERROR_MESSAGE_IDENTITY_ALREADY_EXISTS = 'Identity already exists.' ERROR_MESSAGE_IDENTITY_ALREADY_EXISTS_EMAIL = 'Identity already exists with this email.' ERROR_MESSAGE_PROFILE_NOT_FOUND = 'Profile not found' ERROR_MESSAGE_PROFILE_EXISTS = 'Profile already exists' ERROR_CODE_RELATIONSHIP_ALREADY_EXISTS = ERROR_CODE_ALREADY_EXISTS ERROR_MESSAGE_RELATIONSHIP_ALREADY_EXISTS = 'Relationship already exists.' ERROR_CODE_IDENTITY_VALIDATION_ERROR = ERROR_CODE_VALIDATION_ERROR ERROR_CODE_PROFILE_VALIDATION_ERROR = ERROR_CODE_VALIDATION_ERROR ERROR_MESSAGE_PROFILE_VALIDATION_ERROR = 'The profile is invalid.' ERROR_CODE_VENDOR_AGREEMENT_NOT_FOUND = ERROR_CODE_NOT_FOUND ERROR_MESSAGE_VENDOR_AGREEMENT_NOT_FOUND = 'Vendor agreement not found' ERROR_INVALID_APP = 'INVALID_APP' ERROR_NOT_IMPLEMENTED = 'NOT_IMPLEMENTED' EXPIRED_LOGIN_TOKEN_ERROR_CODE = 'expired_login_token' EXPIRED_LOGIN_TOKEN_ERROR = 'Your session has expired, please refresh the page and try again.' MESSAGE_SES_AUTH_FAILED = 'SES Auth Failed: No Amazon Credentials Found' MESSAGE_SES_DELIVERY_FAILED = 'Email Failed for %s: %s' MESSAGE_SES_UNKNON_EXCEPTION = 'Unknown Email Exception %s for: %s' EMAIL_TITLE_FORGOTTEN_PASSWORD = 'Forgotten password reset' MESSAGE_UNSUCCESFUL_KEY_GENERATION = 'Generating the keys was not successful.' ERROR_MISSING_REQUIRED_ID = 'Either user_id or auth0_id is required.' ERROR_MESSAGE_DELETE_RELATIONSHIP_FAILED = ( 'Failed to delete relationship. Please check if relationship between ' 'both nodes exist.' ) ERROR_MESSAGE_CREATE_RELATIONSHIP_FAILED = ( 'Failed to create relationship. Please check if both the nodes exist.' ) WARNING_MESSAGE_EMPTY_RESPONSE = 'Endpoint {} returned an empty response.' AUTH0_USER_NOT_FOUND_MESSAGE = 'The user does not exist.' # User information constants. # User types that user information endpoints work with. USER_INFO_USER_TYPE_OA = 'oa' USER_INFO_USER_TYPE_ALW = 'alw' # API errors. UNSUPPORTED_USER_TYPE_CODE = 'unsupported_user_type' UNSUPPORTED_USER_TYPE = 'This user type is not supported.' # Query parameters. QUERY_PARAM_USER_TYPE = 'type' GRASS_ACCOUNT_TYPE = 'Grass-Account-Type' GRASS_ACCOUNT_ID = 'Grass-Account-Id' GRASS_ACCOUNT_TYPE_VENDOR = 'vendor' GRASS_ACCOUNT_TYPE_SUBACCOUNT = 'subaccount' # User Context types PROFILE_CONTEXT_TYPE = 'profile' GRASS_ACCOUNT_TYPES = [GRASS_ACCOUNT_TYPE_VENDOR, GRASS_ACCOUNT_TYPE_SUBACCOUNT] ORCHARD_USER_ID = 'Orchard-User-Id' URL_PATHS = {'feature-fm': '/orchardlogin'} # Pagination PAGINATION_TYPE_STANDARD = 'standard' SSO_NOTIFICATION_FEED_NAME = 'single_signon' SSO_NOTIFICATION_TEMPLATE = 'auth0_sso' # feature flag names FEATURE_DEACTIVATE_WORKSTATION_USER = 'deactivate_workstation_user' FEATURE_WS_NEO4J_NUMBER_FORMAT = 'workstation_neo4j_number_format' FEATURE_SHOW_SONGWHIP_APP = 'orchard_suite_show_songwhip_app' EDIT_SUPER_ADMINS = 'settings_app_edit_super_admins' FEATURE_HELP_CENTER_APP = 'orchard_suite_help_center_app' FEATURE_ACCOUNT360_APP_SWITCHER = 'account360_app_switcher' FEATURE_ZENDESK_WIDGET_NO_EXTERNAL_ID = 'zendesk_widget_no_external_id' FEATURE_STRICT_APP_ACCESS = 'ows_users_strict_app_access' # Ows Account CONTENT_TYPE = 'application/json' OWS_ACCOUNT = 'ows-account' ERROR_CODE_OWS_ACCOUNT_REQUEST = 'ows_account_error' # Feature FM permissions CAMPAIGNS_FEATURE_NAME = 'Orchard Advertising' WHITELIST_FEATURE_NAME = 'Orchard Advertising Tier 1' FACEBOOK_BOOST_NAME = 'Facebook Campaign Boost' MARKETING_ROLE_ID = 2 ADVERTISING_ROLE_ID = 7 ADMIN_ROLE_ID = 4 # Preference constants DEFAULT_CURRENCY_CODE = 'USD' 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', } NUMBER_FORMAT = ['us', 'eu'] DATE_FORMAT = ['YYYY/MM/DD', 'MM/DD/YYYY', 'DD/MM/YYYY'] # Map Neo4j number_format to vend_contact number_format values. NUMBER_FORMAT_MAPPING_TO_LEGACY = { 'us': 'us', 'eu': 'europe', } MISSING_STATUS_MESSAGE = 'Data should contain active field with value Y or N.' """Default pagination values in case user does not specify.""" PAGE_OFFSET_DEFAULT = 0 # start with first record PAGE_LIMIT_DEFAULT = 50 # max number of records # Constants for Mocking response for Demo purpose only. MOCK_RESPONSE_FOLDER = os.path.dirname(os.path.realpath(__file__)) + '/mock_responses/' ABACUS_PROFILE = 'AbacusProfile' ARTIST_PROFILE = 'ArtistProfile' AUDIENCE_PROFILE = 'AudienceProfile' COLLABORATORS_PROFILE = 'CollaboratorsProfile' CONTENT_PROFILE = 'ContentProfile' DISTRIBUTION_PROFILE = 'DistributionProfile' INSIGHTS_PROFILE = 'InsightsProfile' LABEL_PROFILE = 'LabelProfile' ORCHADMIN_PROFILE = 'OrchAdminProfile' SETTINGS_PROFILE = 'SettingsProfile' PODCAST_PROFILE = 'PodcastProfile' PUBLISHING_PROFILE = 'PublishingProfile' MONEYHUB_PROFILE = 'MoneyhubProfile' SWITCHBOARD_PROFILE = 'SwitchboardProfile' DISTRO_DEV_PROFILE = 'DistroDevProfile' SONGWHIP_PROFILE = 'SongwhipProfile' DOCUMENTS_PROFILE = 'DocumentsProfile' ACCOUNT360_PROFILE = 'Account360Profile' PROFILE_TYPES = ( ARTIST_PROFILE, LABEL_PROFILE, SWITCHBOARD_PROFILE, PODCAST_PROFILE, PUBLISHING_PROFILE, INSIGHTS_PROFILE, ORCHADMIN_PROFILE, DISTRO_DEV_PROFILE, ABACUS_PROFILE, MONEYHUB_PROFILE, CONTENT_PROFILE, SONGWHIP_PROFILE, DOCUMENTS_PROFILE, AUDIENCE_PROFILE, DISTRIBUTION_PROFILE, ACCOUNT360_PROFILE, ) APPLICATION_WORKSTATION = 'workstation' APPLICATION_ORCHARDGO = 'orchard-go' APPLICATION_SWITCHBOARD = 'switchboard' APPLICATION_PODCAST = 'frontend-podcast' APPLICATION_PUBLISHING = 'frontend-publishing' APPLICATION_INSIGHTS = 'frontend-insights' APPLICATION_ORCHADMIN = 'oa' APPLICATION_DISTRO_SANDBOX = 'frontend-distro-sandbox' APPLICATION_SETTINGS = 'frontend-settings' APPLICATION_ABACUS = 'frontend-royalties' APPLICATION_MONEYHUB = 'frontend-moneyhub' APPLICATION_CONTENT = 'frontend-content' APPLICATION_DISTRIBUTION_SUITE = 'frontend-distribution-suite' APPLICATION_COLLABORATOR = 'frontend-collaborator-suite' APPLICATION_SONGWHIP = 'songwhip' APPLICATION_NR = 'frontend-neighbouring-rights' APPLICATION_DOCUMENTS = 'frontend-documents' APPLICATION_AUDIENCE = 'frontend-audience-development' APPLICATION_SOLFEGE = 'frontend-solfege' APPLICATION_ACCOUNT360 = 'frontend-account360' APPLICATION_SEAT = 'frontend-seat' APPLICATION_CODA = 'ows-coda' APPLICATION_APOLLO_MCP = 'apollo-mcp' APPLICATION_PROFILE_TYPE_MAPPING = { 'notifications': (INSIGHTS_PROFILE,), APPLICATION_ORCHARDGO: (INSIGHTS_PROFILE,), APPLICATION_WORKSTATION: (LABEL_PROFILE,), APPLICATION_SWITCHBOARD: (SWITCHBOARD_PROFILE,), APPLICATION_PODCAST: (PODCAST_PROFILE,), APPLICATION_PUBLISHING: (PUBLISHING_PROFILE,), APPLICATION_MONEYHUB: (MONEYHUB_PROFILE,), APPLICATION_INSIGHTS: (INSIGHTS_PROFILE,), APPLICATION_ORCHADMIN: (ORCHADMIN_PROFILE,), APPLICATION_DISTRO_SANDBOX: (DISTRO_DEV_PROFILE,), APPLICATION_SETTINGS: (SETTINGS_PROFILE,), APPLICATION_ABACUS: (ABACUS_PROFILE, ACCOUNT360_PROFILE), APPLICATION_CONTENT: (CONTENT_PROFILE,), APPLICATION_DISTRIBUTION_SUITE: (DISTRIBUTION_PROFILE,), APPLICATION_COLLABORATOR: (COLLABORATORS_PROFILE,), APPLICATION_SONGWHIP: (SONGWHIP_PROFILE,), APPLICATION_DOCUMENTS: (DOCUMENTS_PROFILE,), APPLICATION_AUDIENCE: (AUDIENCE_PROFILE,), APPLICATION_SOLFEGE: (INSIGHTS_PROFILE,), APPLICATION_ACCOUNT360: (ACCOUNT360_PROFILE,), APPLICATION_SEAT: (SETTINGS_PROFILE,), APPLICATION_CODA: ( ABACUS_PROFILE, INSIGHTS_PROFILE, MONEYHUB_PROFILE, COLLABORATORS_PROFILE, ), APPLICATION_APOLLO_MCP: ( ABACUS_PROFILE, INSIGHTS_PROFILE, MONEYHUB_PROFILE, COLLABORATORS_PROFILE, SETTINGS_PROFILE, AUDIENCE_PROFILE, SONGWHIP_PROFILE, LABEL_PROFILE, CONTENT_PROFILE, DISTRIBUTION_PROFILE, ACCOUNT360_PROFILE, ), } PROFILE_TO_RESOURCE_RELATIONSHIP = 'HAS_ACCESS_TO' RESOURCE_VENDOR = 'Vendor' RESOURCE_SUBACCOUNT = 'SubAccount' RESOURCE_LABEL_PARTICIPANT = 'LabelParticipant' RESOURCE_COLLABORATOR = 'Collaborator' IDENTITY_USER_TYPE = ['label', 'artist', 'employee'] MOCK_USER_IDENTITIES = { '5efcd6d0a199c000143dd3fc', # DEV mwalker@theorchard.com distro app '5c3fc338604bd70ff5f976fb', # DEV jpenner@theorchard.com distro app } # Ows Notifications OWS_NOTIFICATIONS = 'ows-notifications' SOCIAL_SPIKE_SETTING = {'notification_type': 'push_notifications', 'feed_type': 'social_spike'} TRENDING_TRACKS_SETTING = { 'notification_type': 'push_notifications', 'feed_type': 'trending_tracks', } PLAYLIST_PLACEMENT_SETTING = { 'notification_type': 'push_notifications', 'feed_type': 'playlist_placements', } DEFAULT_NOTIFICATION_SETTINGS = [ SOCIAL_SPIKE_SETTING, PLAYLIST_PLACEMENT_SETTING, TRENDING_TRACKS_SETTING, ] DEFAULT_NOTIFICATION_PROFILE_TYPES = [ARTIST_PROFILE, INSIGHTS_PROFILE, LABEL_PROFILE] ERROR_CODE_OWS_NOTIFICATIONS_REQUEST = 'ows_notifications_error' # DB constants NEO4J_DATABASE_NAME = 'graph.db' NEO4j_READ_ACCESS = 'READ' NEO4j_WRITE_ACCESS = 'WRITE' # The profiles supported when returning the applications list APPLICATIONS_SUPPORTED_PROFILES = [ INSIGHTS_PROFILE, LABEL_PROFILE, MONEYHUB_PROFILE, SETTINGS_PROFILE, COLLABORATORS_PROFILE, CONTENT_PROFILE, DISTRIBUTION_PROFILE, SONGWHIP_PROFILE, DOCUMENTS_PROFILE, PUBLISHING_PROFILE, AUDIENCE_PROFILE, ACCOUNT360_PROFILE, ABACUS_PROFILE, ] # neo4j Profile role types # All Roles # if you are adding a role here, it's probably needed in # graphql-product/src/schema/schema.graphql also ACCOUNTING_ROLE = 'accounting' ADMIN_ROLE = 'admin' ADMINISTRATOR_ROLE = 'administrator' ADVERTISING_ROLE = 'advertising' ANALYTICS_ROLE = 'analytics' AUDIENCE_ROLE = 'audience' BULK_CREATE_DIGITAL_AUDIO_ROLE = 'bulk_create_digital_audio' CATALOG_ROLE = 'catalog' CREATE_ADMIN_TOOLS_ROLE = 'create_admin_tools' TOOLS_ARTIST_NAME_CHANGE_ROLE = 'tools_artist_name_change' TOOLS_CATALOG_METADATA_SPREADSHEETS_ROLE = 'tools_catalog_metadata_spreadsheets' DELIVER_PHYSICAL_AUDIO_ROLE = 'deliver_physical_audio' DOCUMENTS_ROLE = 'payee_management' 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' MANAGE_RIGHTS_ROLE = 'manage_rights' MARKETING_ROLE = 'marketing' NETWORK_ADMIN_ROLE = 'network-admin' OWS_DELIVERY_METADATA_ROLE = 'ows_delivery_metadata' PAYMENTS_ROLE = 'payments' PRODUCER_ROLE = 'producer' READ_ONLY_PRODUCER_ROLE = 'read-only-producer' REVIEW_DIGITAL_AUDIO = 'review_digital_audio' ROYALTIES_ROLE = 'royalties' VIEW_ORCHARD_SOUND_RECORDING = 'view_orchard_sound_recording' MANAGE_DIGITAL_AUDIO = 'manage_digital_audio' VIEW_DIGITAL_AUDIO = 'view_digital_audio' CREATE_BUNDLE = 'create_bundle' SONGWHIP_ROLE = 'songwhip' PUBLISHING_COMPOSITIONS_CHANGELOG = 'publishing_compositions_changelog' ACCOUNT360_ROLE = 'account360' PROFILE_ROLE_TYPES = [ ACCOUNTING_ROLE, ADMIN_ROLE, ADMINISTRATOR_ROLE, ADVERTISING_ROLE, ANALYTICS_ROLE, AUDIENCE_ROLE, CATALOG_ROLE, REVIEW_DIGITAL_AUDIO, 'insight', MANAGE_RIGHTS_ROLE, MARKETING_ROLE, PRODUCER_ROLE, NETWORK_ADMIN_ROLE, READ_ONLY_PRODUCER_ROLE, ROYALTIES_ROLE, PAYMENTS_ROLE, MANAGE_NR_REPERTOIRE_ROLE, DELIVER_PHYSICAL_AUDIO_ROLE, DOCUMENTS_ROLE, VIEW_ORCHARD_SOUND_RECORDING, MANAGE_NR_DELIVERIES_ROLE, MANAGE_NR_OWNERSHIP_ROLE, MANAGE_DIGITAL_AUDIO, VIEW_DIGITAL_AUDIO, CREATE_BUNDLE, DOLBY_ATMOS_PACKAGER_ALPHA_ROLE, BULK_CREATE_DIGITAL_AUDIO_ROLE, CREATE_ADMIN_TOOLS_ROLE, OWS_DELIVERY_METADATA_ROLE, SONGWHIP_ROLE, ACCOUNT360_ROLE, TOOLS_ARTIST_NAME_CHANGE_ROLE, TOOLS_CATALOG_METADATA_SPREADSHEETS_ROLE, PUBLISHING_COMPOSITIONS_CHANGELOG, ] # PDP roles SEAT_ROLE = 'seat_can_administer_users' # This is needed until Auth0 org name is changed from 'orchard' to 'theorchard' AUTH0_ORCHARD_ORG_NAME = 'orchard' # All Brands ORCHARD_BRAND = 'theorchard' SONY_BRAND = 'sme' OVERDRIVE_BRAND = 'overdrive' AWAL_BRAND = 'awal' KNR_BRAND = 'knr' HELPCENTER_BRAND = 'helpcenter' ABOVE_BOARD_BRAND = 'ab' MAGIC_STAR_KIDS_BRAND = 'msk' ALTAFONTE_BRAND = 'altafonte' BRAND_TYPES = [ ORCHARD_BRAND, SONY_BRAND, OVERDRIVE_BRAND, AWAL_BRAND, KNR_BRAND, AUTH0_ORCHARD_ORG_NAME, HELPCENTER_BRAND, ABOVE_BOARD_BRAND, MAGIC_STAR_KIDS_BRAND, ALTAFONTE_BRAND, ] ORG_TYPES = [ AUTH0_ORCHARD_ORG_NAME, SONY_BRAND, OVERDRIVE_BRAND, AWAL_BRAND, KNR_BRAND, HELPCENTER_BRAND, ] # Parent companies ORCHARD_PARENT_COMPANY_UUID = '955a1bbd-b623-4ea1-ab5f-8d6620c442fb' SME_PARENT_COMPANY_UUID = 'f1594122-7f99-4916-b103-08b0444c7b46' PARENT_COMPANY_UUIDS = [ORCHARD_PARENT_COMPANY_UUID, SME_PARENT_COMPANY_UUID] # This associative list should be kept in sync with the logic with the auth0 login template # noqa: E501 # so any changes there/here should be applied into the other. # https://github.com/theorchard/auth0-hosted-pages/blob/master/src/connections/(orchadmin_sme|theorchard-gsuite).json # noqa: E501 # These lists should not have overlaps to prevent wrong connection assignments and related issues. # noqa: E501 AUTH0_DOMAINS_CONNECTIONS = { 'theorchard-gsuite': [ 'aboveboarddist.co.uk', 'akandopromo.com', 'altafonte.com', 'awal.co.uk', 'awal.com', 'blastbeatnetwork.com', 'drm.co.nz', 'email.kollectivenr.com', 'email.theorchard.com', 'frenchkissrecords.com', 'human-re-sources.com', 'in2unemusic.com', 'indiemerch.com', 'indiemerchstore.com', 'kollectivenr.com', 'magicstarkids.com', 'metalinjection.net', 'metalsucks.net', 'oklisten.com', 'sonymusic-pde.com', 'theorchard.com', 'theorchard.jp', 'theorchardemail.com', 'tripletigers.com', ], 'sme-prod-orchadmin': [ '100099467.cic.coltcloudsbc.net', '248musicgroup.com', '56791001.teams.hkt-uc.com', 'a-lso.com', 'adele-shop.com', 'alamo-records.com', 'anothercentury.com', 'arachnee.com', 'arcadecg.com', 'arcadecreativegroup.com', 'archive1887.com', 'aristarecordings.com', 'artistandmanagementservices.com', 'artistservices.com', 'astroworldgiftshop.com', 'batterystudios.com', 'behindthescenes.es', 'blackinkpresents.com', 'bucardo.de', 'centurylabelgroup.com', 'centurymedia.com', 'centurymedia.de', 'centurymedia.net', 'centurymedia.store', 'ceremonyofroses.com', 'clutchmerch.com', 'cmdistro.de', 'cobaltmusic.gr', 'columbiarecords.com', 'columbiasfinest.co.uk', 'countryconnectapp.com', 'cuartopiso.tv', 'cultivar.studio', 'day1e.com.br', 'dc4-uscn99396-snyc.teamsna.pure-ip.com', 'deathpodcast.co.uk', 'digops.sonymusic.com', 'discowax.com', 'disharmonyrecordings.com', 'email.balconytv.com', 'epicrecords.com', 'essentialartistservices.com', 'essentialmusicpublishing.com', 'essentialworship.com', 'fansifter.com', 'fdmail.sonymusic.com', 'foundation-media.com', 'fourmusic.com', 'freeflightrecords.com', 'frontiers-us.shop', 'gdbanalytics.com', 'gospocentric.com', 'groundworksmarketing.com', 'hitzcommittee.com', 'i3mhosstqype.ausea02.msteams.net2phone.com', 'i3mhosstqype.auswa03.msteams.net2phone.com', 'in2unenashville.com', 'indiemerchandising.com', 'insideout.de', 'insideoutmusic.com', 'insideoutshop.de', 'jive-germany.com', 'jiverecords.com', 'kingsroadmerch.com', 'legacyofmusic.com', 'legacyrecordings.com', 'liquidstate.co', 'londonconcertorchestra.co.uk', 'macglobal.com', 'made-in-the.co.uk', 'makethelink.fm', 'mermaidrecords.dk', 'milanmusic.fr', 'ministryofsoundrecords.com', 'mitaquilla.com', 'mosrecords.com', 'mtl.fm', 'musiconcept.cz', 'neonhum.com', 'newconspiracist.com', 'no3music.com', 'nowmusic.com', 'nowmusicplus.co.uk', 'octubremusic.com', 'offmute.com', 'onesevenmusic.com', 'orange2cf.gmessaging.net', 'ottp.tv', 'parallel.events', 'phonogenic.co.uk', 'plainsupply.com', 'pmdreports.com', 'pmdz.com', 'pmgsonymusic.com', 'proactiv.es', 'proactiventertainment.com', 'probityeurope.com', 'prodejhudbu.cz', 'providentfilms.org', 'providentlabelgroup.com', 'raymondgubbay.co.uk', 'rcarecords.co.uk', 'rcarecords.com', 'recordsco.com', 'redmusic.com', 'relapse.com', 'relentlessrecs.com', 'rg.live', 'roadcoentertainment.com', 'roast.productions', 'royaltyshare.com', 'rumbleyard.com', 'santaannarecords.com', 'sbc1-sonymusic-169921.callmyway.net', 'sbc2-sonymusic-169921.callmyway.net', 'sbc21070.teams.macquarieview.com', 'sbc3-sonymusic-169921.callmyway.net', 'sbc4-sonymusic-169921.callmyway.net', 'sbc5-sonymusic-169921.callmyway.net', 'se-creatives.com', 'select.co.za', 'some-agency.com', 'somethinelse.com', 'somethingrhymes.com', 'somlivre.com.br', 'somlivrebr.sbcaas.com.br', 'somlivrebr.sbcaas.net.br', 'songwhip.com', 'songwhip.dev', 'sony.com', 'sony-immersive.com', 'sonyclassical.com', 'sonyclassical.de', 'sonyenttalventures.co.in', 'sonyfoundation.org.au', 'sonyims.com', 'sonymusic.at', 'sonymusic.ca', 'sonymusic.ch', # 'sonymusic.co.jp', # sonymusic.co.jp employees are an exception + use passwords to login 'sonymusic.com', 'sonymusic.de', 'sonymusic.email', 'sonymusic.es', 'sonymusic.it', 'sonymusic.onmcm.net', 'sonymusic.telco.convergia.io', 'sonymusicartists.com', 'sonymusicbr.sbcaas.com.br', 'sonymusicbr.sbcaas.net.br', 'sonymusicentertainment.mail.onmicrosoft.com', 'sonymusicentertainment.onmicrosoft.com', 'sonymusicexternal.com', 'sonymusicmasterworks.com', 'sonymusicny.teamsna.pure-ip.com', 'sonymusicsv2.teamsna.pure-ip.com', 'sound-ink.com', 'soundsofthe80slive.co.uk', 'southernrose.com', 'stachemedia.com', 'staging.daleplayrecords.com', 'startimeintl.com', 'startimerecords.com', 'supraphon.com', 'supraphon.cz', 'sv2-uscn99396-snyc.teamsna.pure-ip.com', 'terrapinent.com', 'themerchcollective.com', 'thep.com', 'threetenmerch.com', 'threeuncannyfour.com', 'tmccustomersupport.com', 'ukmusicsynergy.com', 'ultramusic.com', 'ultrarecords.com', 'verityrecords.com', 'workof-art.com', 'workof-artmgmt.com', 'zeligwest.com', 'zomba.com', ], } # The following email domains were provided by Infosec. # When updating the list, please be sure to: # * lowercase and trim # * dedupe # * alphabetize ALLOWED_VENDOR_STAR_EMAIL_DOMAINS = [ '100099467.cic.coltcloudsbc.net', '248musicgroup.com', '56791001.teams.hkt-uc.com', 'a-lso.com', 'aboveboarddist.co.uk', 'adele-shop.com', 'akandopromo.com', 'alamo-records.com', 'altafonte.com', 'anothercentury.com', 'arachnee.com', 'arcadecg.com', 'arcadecreativegroup.com', 'archive1887.com', 'aristarecordings.com', 'artistandmanagementservices.com', 'artistservices.com', 'astronautswanted.com', 'astroworldgiftshop.com', 'awal.co.uk', 'awal.com', 'batterystudios.com', 'behindthescenes.es', 'bigmals.com.au', 'blackinkpresents.com', 'blastbeatnetwork.com', 'bucardo.de', 'centurylabelgroup.com', 'centurymedia.com', 'centurymedia.de', 'centurymedia.net', 'centurymedia.store', 'ceremonyofroses.com', 'clutchmerch.com', 'cmdistro.de', 'cobaltmusic.gr', 'columbiarecords.com', 'columbiasfinest.co.uk', 'countryconnectapp.com', 'cuartopiso.tv', 'cultivar.studio', 'day1e.com.br', 'dc4-uscn99396-snyc.teamsna.pure-ip.com', 'deathpodcast.co.uk', 'digops.sonymusic.com', 'discowax.com', 'disharmonyrecordings.com', 'drm.co.nz', 'email.balconytv.com', 'email.kollectivenr.com', 'email.theorchard.com', 'epicrecords.com', 'essentialartistservices.com', 'essentialmusicpublishing.com', 'essentialworship.com', 'fansifter.com', 'fanstagestore.com.br', 'fdmail.sonymusic.com', 'foundation-media.com', 'fourmusic.com', 'freeflightrecords.com', 'frenchkissrecords.com', 'frontiers-us.shop', 'gdbanalytics.com', 'gospocentric.com', 'groundworksmarketing.com', 'hitzcommittee.com', 'human-re-sources.com', 'i3mhosstqype.ausea02.msteams.net2phone.com', 'i3mhosstqype.auswa03.msteams.net2phone.com', 'in2unemusic.com', 'in2unenashville.com', 'indiemerch.com', 'indiemerchandising.com', 'indiemerchstore.com', 'insideout.de', 'insideoutmusic.com', 'insideoutshop.de', 'jive-germany.com', 'jiverecords.com', 'kick.dk', 'kingsroadmerch.com', 'kollectivenr.com', 'legacyofmusic.com', 'legacyrecordings.com', 'liquidstate.co', 'londonconcertorchestra.co.uk', 'macglobal.com', 'made-in-the.co.uk', 'magicstarkids.com', 'makethelink.fm', 'mermaidrecords.dk', 'metalinjection.net', 'metalsucks.net', 'milanmusic.fr', 'ministryofsoundrecords.com', 'mitaquilla.com', 'mosrecords.com', 'mtl.fm', 'musiconcept.cz', 'neonhum.com', 'newconspiracist.com', 'no3music.com', 'nowmusic.com', 'nowmusicplus.co.uk', 'octubremusic.com', 'offmute.com', 'oklisten.com', 'onesevenmusic.com', 'orange2cf.gmessaging.net', 'ottp.tv', 'parallel.events', 'peoplelikeyou.de', 'peoplelikeyourecords.com', 'peoplelikeyoushop.com', 'phonogenic.co.uk', 'plainsupply.com', 'pmdreports.com', 'pmdz.com', 'pmgsonymusic.com', 'proactiv.es', 'proactiventertainment.com', 'probityeurope.com', 'prodejhudbu.cz', 'providentfilms.org', 'providentlabelgroup.com', 'raymondgubbay.co.uk', 'rcarecords.co.uk', 'rcarecords.com', 'recordsco.com', 'redmusic.com', 'relapse.com', 'relentlessrecs.com', 'rg.live', 'roadcoentertainment.com', 'roast.productions', 'royaltyshare.com', 'rumbleyard.com', 'santaannarecords.com', 'sbc1-sonymusic-169921.callmyway.net', 'sbc2-sonymusic-169921.callmyway.net', 'sbc21070.teams.macquarieview.com', 'sbc3-sonymusic-169921.callmyway.net', 'sbc4-sonymusic-169921.callmyway.net', 'sbc5-sonymusic-169921.callmyway.net', 'se-creatives.com', 'select.co.za', 'some-agency.com', 'somethinelse.com', 'somethingrhymes.com', 'somlivre.com.br', 'somlivrebr.sbcaas.com.br', 'somlivrebr.sbcaas.net.br', 'songwhip.com', 'songwhip.dev', 'sony.com', 'sony-immersive.com', 'sonyclassical.com', 'sonyclassical.de', 'sonyenttalventures.co.in', 'sonyfoundation.org.au', 'sonyims.com', 'sonymusic-pde.com', 'sonymusic.at', 'sonymusic.ca', 'sonymusic.ch', 'sonymusic.co.jp', 'sonymusic.com', 'sonymusic.de', 'sonymusic.email', 'sonymusic.es', 'sonymusic.it', 'sonymusic.onmcm.net', 'sonymusic.telco.convergia.io', 'sonymusicartists.com', 'sonymusicbr.sbcaas.com.br', 'sonymusicbr.sbcaas.net.br', 'sonymusicentertainment.mail.onmicrosoft.com', 'sonymusicentertainment.onmicrosoft.com', 'sonymusicexternal.com', 'sonymusicmasterworks.com', 'sonymusicny.teamsna.pure-ip.com', 'sonymusicsv2.teamsna.pure-ip.com', 'sound-ink.com', 'soundsofthe80slive.co.uk', 'southernrose.com', 'stachemedia.com', 'staging.daleplayrecords.com', 'startimeintl.com', 'startimerecords.com', 'superballmusic.com', 'supraphon.com', 'supraphon.cz', 'sv2-uscn99396-snyc.teamsna.pure-ip.com', 'terrapinent.com', 'themerchcollective.com', 'theorchard.com', 'theorchard.com.test-google-a.com', 'theorchard.jp', 'theorchardemail.com', 'thep.com', 'threetenmerch.com', 'threeuncannyfour.com', 'tmccustomersupport.com', 'tripletigers.com', 'ukmusicsynergy.com', 'ultramusic.com', 'ultrarecords.com', 'verityrecords.com', 'workof-art.com', 'workof-artmgmt.com', 'zeligwest.com', 'zomba.com', ] # Extra apps HELP_CENTER_APP = 'help-center' EXTRA_APPS_FEATURE_FLAG_APP_MAPPING = { FEATURE_HELP_CENTER_APP: HELP_CENTER_APP, } # Zendesk JWT versions ZENDESK_CLASSIC_WEB_WIDGET_TOKEN_VERSION = 'v1' ZENDESK_MESSAGING_WIDGET_TOKEN_VERSION = 'v2' # Application Name PODCAST_APPLICATION_NAME = 'podcast-login'