salesforce-alm
Version:
This package contains tools, and APIs, for an improved salesforce.com developer experience.
607 lines (605 loc) • 32.8 kB
JavaScript
"use strict";
/*
* Copyright (c) 2020, salesforce.com, inc.
* All rights reserved.
* Licensed under the BSD 3-Clause license.
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
*/
const configApi_1 = require("../../lib/core/configApi");
/**
* Org Preferences are exposed through different APIs
* Singleton object encapsulating registry of supported Org Preference types
*/
// P R I V A T E
let currentApiVersion;
// pref APIs
const AccountSettingsApi = 'accountSettings';
const ActivitiesSettingsApi = 'activitiesSettings';
const ApexSettingsApi = 'apexSettings';
const ChatterSettingsApi = 'chatterSettings';
const ContractSettingsApi = 'contractSettings';
const CommunitiesSettingsApi = 'communitiesSettings';
const DevHubSettingsApi = 'devhubSettings';
const EmailAdministrationSettingsApi = 'emailAdministrationSettings';
const EnhancedNotesSettingsApi = 'enhancedNotesSettings';
const EntitlementSettingsApi = 'entitlementSettings';
const EventSettingsApi = 'eventSettings';
const ForecastingSettingsApi = 'forecastingSettings';
const IdeasSettingsApi = 'ideasSettings';
const KnowledgeSettingsApi = 'knowledgeSettings';
const LanguageSettingsApi = 'languageSettings';
const LightningExperienceSettingsApi = 'lightningExperienceSettings';
const LiveAgentSettingsApi = 'liveAgentSettings';
const MobileSettingsApi = 'mobileSettings';
const NameSettingsApi = 'nameSettings';
const OpportunitySettingsApi = 'opportunitySettings';
const OrderSettingsApi = 'orderSettings';
const PardotSettingsApi = 'pardotSettings';
const PartyDataModelSettingsApi = 'partyDataModelSettings';
const ProductSettingsApi = 'productSettings';
const OrgPreferenceSettingsApi = 'orgPreferenceSettings';
const QuoteSettingsApi = 'quoteSettings';
const SecuritySessionSettingsApi = 'securitySettings.sessionSettings';
const SearchSettingsApi = 'searchSettings';
const SharingSettingsApi = 'sharingSettings';
const SocialProfileSettingsApi = 'socialProfileSettings';
const OrganizationSettingsDetailApi = 'orgPreferenceSettings';
const Territory2SettingsApi = 'territory2Settings';
const PathAssistantSettingsApi = 'pathAssistantSettings';
const VoiceSettingsApi = 'voiceSettings';
const SecuritySettingsPasswordPoliciesApi = 'securitySettings.passwordPolicies';
const DeprecatedSettingsApi = 'DEPRECATED';
// This map is used in the migration from orgPreferences -> settings types before 47.0
// pre apiVersion 47.0 supported org preferences and the API through which they are set
const orgPreferenceApiMapPre47 = new Map([
['IsAccountTeamsEnabled', AccountSettingsApi],
['ShowViewHierarchyLink', AccountSettingsApi],
['IsActivityRemindersEnabled', ActivitiesSettingsApi],
['IsDragAndDropSchedulingEnabled', ActivitiesSettingsApi],
['IsEmailTrackingEnabled', ActivitiesSettingsApi],
['IsGroupTasksEnabled', ActivitiesSettingsApi],
['IsMultidayEventsEnabled', ActivitiesSettingsApi],
['IsRecurringEventsEnabled', ActivitiesSettingsApi],
['IsRecurringTasksEnabled', ActivitiesSettingsApi],
['IsSidebarCalendarShortcutEnabled', ActivitiesSettingsApi],
['IsSimpleTaskCreateUIEnabled', ActivitiesSettingsApi],
['ShowEventDetailsMultiUserCalendar', ActivitiesSettingsApi],
['ShowHomePageHoverLinksForEvents', ActivitiesSettingsApi],
['ShowMyTasksHoverLinks', ActivitiesSettingsApi],
['ShowRequestedMeetingsOnHomePage', ActivitiesSettingsApi],
['AutoCalculateEndDate', ContractSettingsApi],
['IsContractHistoryTrackingEnabled', ContractSettingsApi],
['NotifyOwnersOnContractExpiration', ContractSettingsApi],
['AssetLookupLimitedToActiveEntitlementsOnAccount', EntitlementSettingsApi],
['AssetLookupLimitedToActiveEntitlementsOnContact', EntitlementSettingsApi],
['AssetLookupLimitedToSameAccount', EntitlementSettingsApi],
['AssetLookupLimitedToSameContact', EntitlementSettingsApi],
['IsEntitlementsEnabled', EntitlementSettingsApi],
['EntitlementLookupLimitedToActiveStatus', EntitlementSettingsApi],
['EntitlementLookupLimitedToSameAccount', EntitlementSettingsApi],
['EntitlementLookupLimitedToSameAsset', EntitlementSettingsApi],
['EntitlementLookupLimitedToSameContact', EntitlementSettingsApi],
['IsForecastsEnabled', ForecastingSettingsApi],
['IsChatterProfileEnabled', IdeasSettingsApi],
['IsIdeaThemesEnabled', IdeasSettingsApi],
['IsIdeasEnabled', IdeasSettingsApi],
['IsIdeasReputationEnabled', IdeasSettingsApi],
['IsCreateEditOnArticlesTabEnabled', KnowledgeSettingsApi],
['IsExternalMediaContentEnabled', KnowledgeSettingsApi],
['IsKnowledgeEnabled', KnowledgeSettingsApi],
['ShowArticleSummariesCustomerPortal', KnowledgeSettingsApi],
['ShowArticleSummariesInternalApp', KnowledgeSettingsApi],
['ShowArticleSummariesPartnerPortal', KnowledgeSettingsApi],
['ShowValidationStatusField', KnowledgeSettingsApi],
['IsLiveAgentEnabled', LiveAgentSettingsApi],
['IsMiddleNameEnabled', NameSettingsApi],
['IsNameSuffixEnabled', NameSettingsApi],
['IsOpportunityTeamEnabled', OpportunitySettingsApi],
['IsOrdersEnabled', OrderSettingsApi],
['IsNegativeQuantityEnabled', OrderSettingsApi],
['IsReductionOrdersEnabled', OrderSettingsApi],
['IsCascadeActivateToRelatedPricesEnabled', ProductSettingsApi],
['IsQuantityScheduleEnabled', ProductSettingsApi],
['IsRevenueScheduleEnabled', ProductSettingsApi],
['IsQuoteEnabled', QuoteSettingsApi],
['DocumentContentSearchEnabled', SearchSettingsApi],
['OptimizeSearchForCjkEnabled', SearchSettingsApi],
['RecentlyViewedUsersForBlankLookupEnabled', SearchSettingsApi],
['SidebarAutoCompleteEnabled', SearchSettingsApi],
['SidebarDropDownListEnabled', SearchSettingsApi],
['SidebarLimitToItemsIownCheckboxEnabled', SearchSettingsApi],
['SingleSearchResultShortcutEnabled', SearchSettingsApi],
['SpellCorrectKnowledgeSearchEnabled', SearchSettingsApi],
['AnalyticsSharingEnable', OrganizationSettingsDetailApi],
['DisableParallelApexTesting', OrganizationSettingsDetailApi],
['EnhancedEmailEnabled', OrganizationSettingsDetailApi],
['EventLogWaveIntegEnabled', OrganizationSettingsDetailApi],
['SendThroughGmailPref', OrganizationSettingsDetailApi],
['Translation', OrganizationSettingsDetailApi],
['S1OfflinePref', OrganizationSettingsDetailApi],
['S1EncryptedStoragePref2', OrganizationSettingsDetailApi],
['OfflineDraftsEnabled', OrganizationSettingsDetailApi],
['AsyncSaveEnabled', OrganizationSettingsDetailApi],
['ChatterEnabled', OrganizationSettingsDetailApi],
['SelfSetPasswordInApi', OrganizationSettingsDetailApi],
['SocialProfilesEnable', OrganizationSettingsDetailApi],
['PathAssistantsEnabled', OrganizationSettingsDetailApi],
['LoginForensicsEnabled', OrganizationSettingsDetailApi],
['S1DesktopEnabled', OrganizationSettingsDetailApi],
['NetworksEnabled', OrganizationSettingsDetailApi],
['NotesReservedPref01', OrganizationSettingsDetailApi],
['CompileOnDeploy', OrganizationSettingsDetailApi],
['VoiceEnabled', OrganizationSettingsDetailApi],
['TerritoryManagement2Enable', OrganizationSettingsDetailApi],
['ApexApprovalLockUnlock', OrganizationSettingsDetailApi],
]);
// This map is used in the migration from orgPreferences -> settings types before 47.0
const orgPreferenceMdMapPre47 = new Map([
['IsAccountTeamsEnabled', 'enableAccountTeams'],
['ShowViewHierarchyLink', 'showViewHierarchyLink'],
['IsActivityRemindersEnabled', 'enableActivityReminders'],
['IsDragAndDropSchedulingEnabled', 'enableDragAndDropScheduling'],
['IsEmailTrackingEnabled', 'enableEmailTracking'],
['IsGroupTasksEnabled', 'enableGroupTasks'],
['IsMultidayEventsEnabled', 'enableMultidayEvents'],
['IsRecurringEventsEnabled', 'enableRecurringEvents'],
['IsRecurringTasksEnabled', 'enableRecurringTasks'],
['IsSidebarCalendarShortcutEnabled', 'enableSidebarCalendarShortcut'],
['IsSimpleTaskCreateUIEnabled', 'enableSimpleTaskCreateUI'],
['ShowEventDetailsMultiUserCalendar', 'showEventDetailsMultiUserCalendar'],
['ShowHomePageHoverLinksForEvents', 'showHomePageHoverLinksForEvents'],
['ShowMyTasksHoverLinks', 'showMyTasksHoverLinks'],
['ShowRequestedMeetingsOnHomePage', 'showRequestedMeetingsOnHomePage'],
['AutoCalculateEndDate', 'autoCalculateEndDate'],
['IsContractHistoryTrackingEnabled', 'enableContractHistoryTracking'],
['NotifyOwnersOnContractExpiration', 'notifyOwnersOnContractExpiration'],
['AssetLookupLimitedToActiveEntitlementsOnAccount', 'assetLookupLimitedToActiveEntitlementsOnAccount'],
['AssetLookupLimitedToActiveEntitlementsOnContact', 'assetLookupLimitedToActiveEntitlementsOnContact'],
['AssetLookupLimitedToSameAccount', 'assetLookupLimitedToSameAccount'],
['AssetLookupLimitedToSameContact', 'assetLookupLimitedToSameContact'],
['IsEntitlementsEnabled', 'enableEntitlements'],
['EntitlementLookupLimitedToActiveStatus', 'entitlementLookupLimitedToActiveStatus'],
['EntitlementLookupLimitedToSameAccount', 'entitlementLookupLimitedToSameAccount'],
['EntitlementLookupLimitedToSameAsset', 'entitlementLookupLimitedToSameAsset'],
['EntitlementLookupLimitedToSameContact', 'entitlementLookupLimitedToSameContact'],
['IsForecastsEnabled', 'enableForecasts'],
['IsChatterProfileEnabled', 'enableChatterProfile'],
['IsIdeaThemesEnabled', 'enableIdeaThemes'],
['IsIdeasEnabled', 'enableIdeas'],
['IsIdeasReputationEnabled', 'enableIdeasReputation'],
['IsCreateEditOnArticlesTabEnabled', 'enableCreateEditOnArticlesTab'],
['IsExternalMediaContentEnabled', 'enableExternalMediaContent'],
['IsKnowledgeEnabled', 'enableKnowledge'],
['ShowArticleSummariesCustomerPortal', 'showArticleSummariesCustomerPortal'],
['ShowArticleSummariesInternalApp', 'showArticleSummariesInternalApp'],
['ShowArticleSummariesPartnerPortal', 'showArticleSummariesPartnerPortal'],
['ShowValidationStatusField', 'showValidationStatusField'],
['IsLiveAgentEnabled', 'enableLiveAgent'],
['IsMiddleNameEnabled', 'enableMiddleName'],
['IsNameSuffixEnabled', 'enableNameSuffix'],
['IsOpportunityTeamEnabled', 'enableOpportunityTeam'],
['IsOrdersEnabled', 'enableOrders'],
['IsNegativeQuantityEnabled', 'enableNegativeQuantity'],
['IsReductionOrdersEnabled', 'enableReductionOrders'],
['IsCascadeActivateToRelatedPricesEnabled', 'enableCascadeActivateToRelatedPrices'],
['IsQuantityScheduleEnabled', 'enableQuantitySchedule'],
['IsRevenueScheduleEnabled', 'enableRevenueSchedule'],
['IsQuoteEnabled', 'enableQuote'],
['DocumentContentSearchEnabled', 'documentContentSearchEnabled'],
['OptimizeSearchForCjkEnabled', 'optimizeSearchForCJKEnabled'],
['RecentlyViewedUsersForBlankLookupEnabled', 'recentlyViewedUsersForBlankLookupEnabled'],
['SidebarAutoCompleteEnabled', 'sidebarAutoCompleteEnabled'],
['SidebarDropDownListEnabled', 'sidebarDropDownListEnabled'],
['SidebarLimitToItemsIownCheckboxEnabled', 'sidebarLimitToItemsIOwnCheckboxEnabled'],
['SingleSearchResultShortcutEnabled', 'singleSearchResultShortcutEnabled'],
['SpellCorrectKnowledgeSearchEnabled', 'spellCorrectKnowledgeSearchEnabled'],
['AnalyticsSharingEnable', 'analyticsSharingEnable'],
['DisableParallelApexTesting', 'disableParallelApexTesting'],
['EnhancedEmailEnabled', 'enhancedEmailEnabled'],
['EventLogWaveIntegEnabled', 'eventLogWaveIntegEnabled'],
['SendThroughGmailPref', 'sendThroughGmailPref'],
['Translation', 'translation'],
['S1OfflinePref', 's1OfflinePref'],
['S1EncryptedStoragePref2', 's1EncryptedStoragePref2'],
['OfflineDraftsEnabled', 'offlineDraftsEnabled'],
['AsyncSaveEnabled', 'asyncSaveEnabled'],
['ChatterEnabled', 'chatterEnabled'],
['SelfSetPasswordInApi', 'selfSetPasswordInApi'],
['SocialProfilesEnable', 'socialProfilesEnable'],
['PathAssistantsEnabled', 'pathAssistantsEnabled'],
['LoginForensicsEnabled', 'loginForensicsEnabled'],
['S1DesktopEnabled', 's1DesktopEnabled'],
['NetworksEnabled', 'networksEnabled'],
['NotesReservedPref01', 'notesReservedPref01'],
['CompileOnDeploy', 'compileOnDeploy'],
['VoiceEnabled', 'voiceEnabled'],
['TerritoryManagement2Enable', 'territoryManagement2Enable'],
['ApexApprovalLockUnlock', 'apexApprovalLockUnlock'],
]);
// This map is used in the migration from orgPreferences -> settings types
// supported org preferences and the API through which they are set
const orgPreferenceApiMap = new Map([
['IsAccountTeamsEnabled', AccountSettingsApi],
['ShowViewHierarchyLink', AccountSettingsApi],
['IsActivityRemindersEnabled', ActivitiesSettingsApi],
['IsDragAndDropSchedulingEnabled', ActivitiesSettingsApi],
['IsEmailTrackingEnabled', ActivitiesSettingsApi],
['IsGroupTasksEnabled', ActivitiesSettingsApi],
['IsMultidayEventsEnabled', ActivitiesSettingsApi],
['IsRecurringEventsEnabled', ActivitiesSettingsApi],
['IsRecurringTasksEnabled', ActivitiesSettingsApi],
['IsSidebarCalendarShortcutEnabled', ActivitiesSettingsApi],
['IsSimpleTaskCreateUIEnabled', ActivitiesSettingsApi],
['ShowEventDetailsMultiUserCalendar', ActivitiesSettingsApi],
['ShowHomePageHoverLinksForEvents', ActivitiesSettingsApi],
['ShowMyTasksHoverLinks', ActivitiesSettingsApi],
['ShowRequestedMeetingsOnHomePage', ActivitiesSettingsApi],
['AutoCalculateEndDate', ContractSettingsApi],
['IsContractHistoryTrackingEnabled', ContractSettingsApi],
['NotifyOwnersOnContractExpiration', ContractSettingsApi],
['AssetLookupLimitedToActiveEntitlementsOnAccount', EntitlementSettingsApi],
['AssetLookupLimitedToActiveEntitlementsOnContact', EntitlementSettingsApi],
['AssetLookupLimitedToSameAccount', EntitlementSettingsApi],
['AssetLookupLimitedToSameContact', EntitlementSettingsApi],
['IsEntitlementsEnabled', EntitlementSettingsApi],
['EntitlementLookupLimitedToActiveStatus', EntitlementSettingsApi],
['EntitlementLookupLimitedToSameAccount', EntitlementSettingsApi],
['EntitlementLookupLimitedToSameAsset', EntitlementSettingsApi],
['EntitlementLookupLimitedToSameContact', EntitlementSettingsApi],
['IsForecastsEnabled', ForecastingSettingsApi],
['IsChatterProfileEnabled', IdeasSettingsApi],
['IsIdeaThemesEnabled', IdeasSettingsApi],
['IsIdeasEnabled', IdeasSettingsApi],
['IsIdeasReputationEnabled', IdeasSettingsApi],
['IsCreateEditOnArticlesTabEnabled', KnowledgeSettingsApi],
['IsExternalMediaContentEnabled', KnowledgeSettingsApi],
['IsKnowledgeEnabled', KnowledgeSettingsApi],
['ShowArticleSummariesCustomerPortal', KnowledgeSettingsApi],
['ShowArticleSummariesInternalApp', KnowledgeSettingsApi],
['ShowArticleSummariesPartnerPortal', KnowledgeSettingsApi],
['ShowValidationStatusField', KnowledgeSettingsApi],
['IsLiveAgentEnabled', LiveAgentSettingsApi],
['IsMiddleNameEnabled', NameSettingsApi],
['IsNameSuffixEnabled', NameSettingsApi],
['IsOpportunityTeamEnabled', OpportunitySettingsApi],
['IsOrdersEnabled', OrderSettingsApi],
['IsNegativeQuantityEnabled', OrderSettingsApi],
['IsReductionOrdersEnabled', OrderSettingsApi],
['IsCascadeActivateToRelatedPricesEnabled', ProductSettingsApi],
['IsQuantityScheduleEnabled', ProductSettingsApi],
['IsRevenueScheduleEnabled', ProductSettingsApi],
['IsQuoteEnabled', QuoteSettingsApi],
['DocumentContentSearchEnabled', SearchSettingsApi],
['OptimizeSearchForCjkEnabled', SearchSettingsApi],
['RecentlyViewedUsersForBlankLookupEnabled', SearchSettingsApi],
['SidebarAutoCompleteEnabled', SearchSettingsApi],
['SidebarDropDownListEnabled', SearchSettingsApi],
['SidebarLimitToItemsIownCheckboxEnabled', SearchSettingsApi],
['SingleSearchResultShortcutEnabled', SearchSettingsApi],
['SpellCorrectKnowledgeSearchEnabled', SearchSettingsApi],
['DisableParallelApexTesting', ApexSettingsApi],
['EnhancedEmailEnabled', EmailAdministrationSettingsApi],
['EventLogWaveIntegEnabled', EventSettingsApi],
['SendThroughGmailPref', EmailAdministrationSettingsApi],
['Translation', LanguageSettingsApi],
['S1OfflinePref', MobileSettingsApi],
['S1EncryptedStoragePref2', MobileSettingsApi],
['OfflineDraftsEnabled', MobileSettingsApi],
['ChatterEnabled', ChatterSettingsApi],
['SelfSetPasswordInApi', SecuritySettingsPasswordPoliciesApi],
['SocialProfilesEnable', SocialProfileSettingsApi],
['PathAssistantsEnabled', PathAssistantSettingsApi],
['LoginForensicsEnabled', EventSettingsApi],
['S1DesktopEnabled', LightningExperienceSettingsApi],
['NetworksEnabled', CommunitiesSettingsApi],
['NotesReservedPref01', EnhancedNotesSettingsApi],
['CompileOnDeploy', ApexSettingsApi],
['TerritoryManagement2Enable', Territory2SettingsApi],
['ApexApprovalLockUnlock', ApexSettingsApi],
]);
// This map is used in the migration from orgPreferences -> settings types
const orgPreferenceMdMap = new Map([
['IsAccountTeamsEnabled', 'enableAccountTeams'],
['ShowViewHierarchyLink', 'showViewHierarchyLink'],
['IsActivityRemindersEnabled', 'enableActivityReminders'],
['IsDragAndDropSchedulingEnabled', 'enableDragAndDropScheduling'],
['IsEmailTrackingEnabled', 'enableEmailTracking'],
['IsGroupTasksEnabled', 'enableGroupTasks'],
['IsMultidayEventsEnabled', 'enableMultidayEvents'],
['IsRecurringEventsEnabled', 'enableRecurringEvents'],
['IsRecurringTasksEnabled', 'enableRecurringTasks'],
['IsSidebarCalendarShortcutEnabled', 'enableSidebarCalendarShortcut'],
['IsSimpleTaskCreateUIEnabled', 'enableSimpleTaskCreateUI'],
['ShowEventDetailsMultiUserCalendar', 'showEventDetailsMultiUserCalendar'],
['ShowHomePageHoverLinksForEvents', 'showHomePageHoverLinksForEvents'],
['ShowMyTasksHoverLinks', 'showMyTasksHoverLinks'],
['ShowRequestedMeetingsOnHomePage', 'showRequestedMeetingsOnHomePage'],
['AutoCalculateEndDate', 'autoCalculateEndDate'],
['IsContractHistoryTrackingEnabled', 'enableContractHistoryTracking'],
['NotifyOwnersOnContractExpiration', 'notifyOwnersOnContractExpiration'],
['AssetLookupLimitedToActiveEntitlementsOnAccount', 'assetLookupLimitedToActiveEntitlementsOnAccount'],
['AssetLookupLimitedToActiveEntitlementsOnContact', 'assetLookupLimitedToActiveEntitlementsOnContact'],
['AssetLookupLimitedToSameAccount', 'assetLookupLimitedToSameAccount'],
['AssetLookupLimitedToSameContact', 'assetLookupLimitedToSameContact'],
['IsEntitlementsEnabled', 'enableEntitlements'],
['EntitlementLookupLimitedToActiveStatus', 'entitlementLookupLimitedToActiveStatus'],
['EntitlementLookupLimitedToSameAccount', 'entitlementLookupLimitedToSameAccount'],
['EntitlementLookupLimitedToSameAsset', 'entitlementLookupLimitedToSameAsset'],
['EntitlementLookupLimitedToSameContact', 'entitlementLookupLimitedToSameContact'],
['IsForecastsEnabled', 'enableForecasts'],
['IsChatterProfileEnabled', 'enableChatterProfile'],
['IsIdeaThemesEnabled', 'enableIdeaThemes'],
['IsIdeasEnabled', 'enableIdeas'],
['IsIdeasReputationEnabled', 'enableIdeasReputation'],
['IsCreateEditOnArticlesTabEnabled', 'enableCreateEditOnArticlesTab'],
['IsExternalMediaContentEnabled', 'enableExternalMediaContent'],
['IsKnowledgeEnabled', 'enableKnowledge'],
['ShowArticleSummariesCustomerPortal', 'showArticleSummariesCustomerPortal'],
['ShowArticleSummariesInternalApp', 'showArticleSummariesInternalApp'],
['ShowArticleSummariesPartnerPortal', 'showArticleSummariesPartnerPortal'],
['ShowValidationStatusField', 'showValidationStatusField'],
['IsLiveAgentEnabled', 'enableLiveAgent'],
['IsMiddleNameEnabled', 'enableMiddleName'],
['IsNameSuffixEnabled', 'enableNameSuffix'],
['IsOpportunityTeamEnabled', 'enableOpportunityTeam'],
['IsOrdersEnabled', 'enableOrders'],
['IsNegativeQuantityEnabled', 'enableNegativeQuantity'],
['IsReductionOrdersEnabled', 'enableReductionOrders'],
['IsCascadeActivateToRelatedPricesEnabled', 'enableCascadeActivateToRelatedPrices'],
['IsQuantityScheduleEnabled', 'enableQuantitySchedule'],
['IsRevenueScheduleEnabled', 'enableRevenueSchedule'],
['IsQuoteEnabled', 'enableQuote'],
['DocumentContentSearchEnabled', 'documentContentSearchEnabled'],
['OptimizeSearchForCjkEnabled', 'optimizeSearchForCJKEnabled'],
['RecentlyViewedUsersForBlankLookupEnabled', 'recentlyViewedUsersForBlankLookupEnabled'],
['SidebarAutoCompleteEnabled', 'sidebarAutoCompleteEnabled'],
['SidebarDropDownListEnabled', 'sidebarDropDownListEnabled'],
['SidebarLimitToItemsIownCheckboxEnabled', 'sidebarLimitToItemsIOwnCheckboxEnabled'],
['SingleSearchResultShortcutEnabled', 'singleSearchResultShortcutEnabled'],
['SpellCorrectKnowledgeSearchEnabled', 'spellCorrectKnowledgeSearchEnabled'],
['AnalyticsSharingEnable', 'analyticsSharingEnable'],
['DisableParallelApexTesting', 'enableDisableParallelApexTesting'],
['EnhancedEmailEnabled', 'enableEnhancedEmailEnabled'],
['EventLogWaveIntegEnabled', 'enableEventLogWaveIntegration'],
['SendThroughGmailPref', 'enableSendThroughGmailPref'],
['Translation', 'EnableTranslationWorkbench'],
['S1OfflinePref', 'enableS1OfflinePref'],
['S1EncryptedStoragePref2', 'enableS1EncryptedStoragePref2'],
['OfflineDraftsEnabled', 'enableOfflineDraftsEnabled'],
['AsyncSaveEnabled', 'asyncSaveEnabled'],
['ChatterEnabled', 'enableChatter'],
['SelfSetPasswordInApi', 'selfSetPasswordInApi'],
['SocialProfilesEnable', 'enableSocialProfiles'],
['PathAssistantsEnabled', 'pathAssistantsEnabled'],
['LoginForensicsEnabled', 'enableLoginForensics'],
['S1DesktopEnabled', 'enableS1DesktopEnabled'],
['NetworksEnabled', 'enableNetworksEnabled'],
['NotesReservedPref01', 'enableEnhancedNotes'],
['CompileOnDeploy', 'enableCompileOnDeploy'],
['VoiceEnabled', 'voiceEnabled'],
['TerritoryManagement2Enable', 'territoryManagement2Enable'],
['ApexApprovalLockUnlock', 'enableApexApprovalLockUnlock'],
]);
// this maps the old orgPreferenceSettings preference names to the
// new preference names
const orgPreferenceSettingsPrefNameMigrateMap = new Map([
['apexApprovalLockUnlock', 'enableApexApprovalLockUnlock'],
['b2bmaAppEnabled', 'enableB2bmaAppEnabled'],
['callDispositionEnabled', 'enableCallDisposition'],
['chatterEnabled', 'enableChatter'],
['compileOnDeploy', 'enableCompileOnDeploy'],
['consentManagementEnabled', 'enableConsentManagement'],
['contentSniffingProtection', 'enableContentSniffingProtection'],
['deleteMonitoringDataEnabled', 'enableDeleteMonitoringData'],
['disableParallelApexTesting', 'enableDisableParallelApexTesting'],
['enhancedEmailEnabled', 'enableEnhancedEmailEnabled'],
['eventLogWaveIntegEnabled', 'enableEventLogWaveIntegration'],
['hstsSitesCommunities', 'hstsOnForecomSites'],
['localNames', 'enableLocalNamesForStdObjects'],
['loginForensicsEnabled', 'enableLoginForensics'],
['networksEnabled', 'enableNetworksEnabled'],
['notesReservedPref01', 'enableEnhancedNotes'],
['offlineDraftsEnabled', 'enableOfflineDraftsEnabled'],
['packaging2', 'enablePackaging2'],
['pathAssistantsEnabled', 'pathAssistantEnabled'],
['pRMAccRelPref', 'enablePRMAccRelPref'],
['pardotAppV1Enabled', 'enablePardotAppV1Enabled'],
['pardotEmbeddedAnalyticsPref', 'enableEngagementHistoryDashboards'],
['pardotEnabled', 'enablePardotEnabled'],
['portalUserShareOnCase', 'enablePortalUserCaseSharing'],
['removeThemeBrandBanner', 'enableRemoveThemeBrandBanner'],
['s1OfflinePref', 'enableS1OfflinePref'],
['s1DesktopEnabled', 'enableS1DesktopEnabled'],
['s1EncryptedStoragePref2', 'enableS1EncryptedStoragePref2'],
['scratchOrgManagementPref', 'enableScratchOrgManagementPref'],
['shapeExportPref', 'enableShapeExportPref'],
['selfSetPasswordInApi', 'enableSetPasswordInApi'],
['sendThroughGmailPref', 'enableSendThroughGmailPref'],
['socialProfilesEnable', 'enableSocialProfiles'],
['territoryManagement2Enable', 'enableTerritoryManagement2'],
['translation', 'enableTranslationWorkbench'],
['upgradeInsecureRequestsPref', 'enableUpgradeInsecureRequestsPref'],
['useLanguageFallback', 'useLanguageFallback'],
['usePathCollapsedUserPref', 'canOverrideAutoPathCollapseWithUserPref'],
['usersAreLightningOnly', 'enableUsersAreLightningOnly'],
['verifyOn2faRegistration', 'identityConfirmationOnTwoFactorRegistrationEnabled'],
['verifyOnEmailChange', 'identityConfirmationOnEmailChange'],
['voiceCallListEnabled', 'enableVoiceCallList'],
['voiceCallRecordingEnabled', 'enableVoiceCallRecording'],
['voiceCoachingEnabled', 'enableVoiceCoaching'],
['voiceConferencingEnabled', 'enableVoiceConferencing'],
['voiceEnabled', 'voiceEnabled'],
['voiceLocalPresenceEnabled', 'enableVoiceLocalPresence'],
['voiceMailDropEnabled', 'enableVoiceMailDrop'],
['voiceMailEnabled', 'enableVoiceMail'],
['xssProtection', 'enableXssProtection'],
]);
// this maps the old orgPreferenceSettings preferences
// (using their new names) to their proper settings types
const orgPreferenceSettingsTypeMigrateMap = new Map([
['activityAnalyticsEnabled', DeprecatedSettingsApi],
['analyticsSharingEnable', DeprecatedSettingsApi],
['canOverrideAutoPathCollapseWithUserPref', PathAssistantSettingsApi],
['channelAccountHierarchyPref', DeprecatedSettingsApi],
['dialerBasicEnabled', DeprecatedSettingsApi],
['enableApexApprovalLockUnlock', ApexSettingsApi],
['enableB2bmaAppEnabled', PardotSettingsApi],
['enableCallDisposition', VoiceSettingsApi],
['enableChatter', ChatterSettingsApi],
['enableCompileOnDeploy', ApexSettingsApi],
['enableConsentManagement', PartyDataModelSettingsApi],
['enableContentSniffingProtection', SecuritySessionSettingsApi],
['enableDeleteMonitoringData', EventSettingsApi],
['enableDisableParallelApexTesting', ApexSettingsApi],
['enableEngagementHistoryDashboards', PardotSettingsApi],
['enableEnhancedEmailEnabled', EmailAdministrationSettingsApi],
['enableEnhancedNotes', EnhancedNotesSettingsApi],
['enableEventLogWaveIntegration', EventSettingsApi],
['enableLocalNamesForStdObjects', LanguageSettingsApi],
['enableLoginForensics', EventSettingsApi],
['enableNetworksEnabled', CommunitiesSettingsApi],
['enablePackaging2', DevHubSettingsApi],
['enablePardotAppV1Enabled', PardotSettingsApi],
['enablePardotEnabled', PardotSettingsApi],
['enablePortalUserCaseSharing', SharingSettingsApi],
['enablePRMAccRelPref', CommunitiesSettingsApi],
['enableRemoveThemeBrandBanner', LightningExperienceSettingsApi],
['enableOfflineDraftsEnabled', MobileSettingsApi],
['enableS1OfflinePref', MobileSettingsApi],
['enableS1DesktopEnabled', LightningExperienceSettingsApi],
['enableS1EncryptedStoragePref2', MobileSettingsApi],
['enableScratchOrgManagementPref', DevHubSettingsApi],
['enableShapeExportPref', DevHubSettingsApi],
['enableSendThroughGmailPref', EmailAdministrationSettingsApi],
['enableSetPasswordInApi', SecuritySettingsPasswordPoliciesApi],
['enableSocialProfiles', SocialProfileSettingsApi],
['expandedSourceTrackingPref', DeprecatedSettingsApi],
['enableTerritoryManagement2', Territory2SettingsApi],
['enableTranslationWorkbench', LanguageSettingsApi],
['enableUpgradeInsecureRequestsPref', SecuritySessionSettingsApi],
['enableUsersAreLightningOnly', LightningExperienceSettingsApi],
['enableVoiceCallList', VoiceSettingsApi],
['enableVoiceCallRecording', VoiceSettingsApi],
['enableVoiceCoaching', VoiceSettingsApi],
['enableVoiceConferencing', VoiceSettingsApi],
['enableVoiceLocalPresence', VoiceSettingsApi],
['enableVoiceMailDrop', VoiceSettingsApi],
['enableVoiceMail', VoiceSettingsApi],
['enableXssProtection', SecuritySessionSettingsApi],
['hstsOnForecomSites', SecuritySessionSettingsApi],
['identityConfirmationOnEmailChange', SecuritySessionSettingsApi],
['identityConfirmationOnTwoFactorRegistrationEnabled', SecuritySessionSettingsApi],
['pathAssistantEnabled', PathAssistantSettingsApi],
['redirectionWarning', SecuritySessionSettingsApi],
['referrerPolicy', SecuritySessionSettingsApi],
['useLanguageFallback', LanguageSettingsApi],
['voiceEnabled', DeprecatedSettingsApi],
]);
function getCurrentApiVersion() {
if (!currentApiVersion) {
currentApiVersion = new configApi_1.Config().getApiVersion();
}
return currentApiVersion;
}
module.exports = {
ACCOUNT_SETTINGS_API: AccountSettingsApi,
ACTIVITIES_SETTINGS_API: ActivitiesSettingsApi,
APEX_SETTINGS_API: ApexSettingsApi,
CHATTER_SETTINGS_API: ChatterSettingsApi,
CONTRACT_SETTINGS_API: ContractSettingsApi,
COMMUNITIES_SETTINGS_API: CommunitiesSettingsApi,
DEV_HUB_SETTINGS_API: DevHubSettingsApi,
EMAIL_ADMINISTRATION_SETTINGS_API: EmailAdministrationSettingsApi,
ENHANCED_NOTE_SETTINGS_API: EnhancedNotesSettingsApi,
ENTITLEMENT_SETTINGS_API: EntitlementSettingsApi,
EVENT_SETTINGS_API: EventSettingsApi,
FORECASTING_SETTINGS_API: ForecastingSettingsApi,
IDEAS_SETTINGS_API: IdeasSettingsApi,
KNOWLEDGE_SETTINGS_API: KnowledgeSettingsApi,
LANGUAGE_SETTINGS_API: LanguageSettingsApi,
LIGHTNING_EXPERIENCE_SETTINGS_API: LightningExperienceSettingsApi,
LIVE_AGENT_SETTINGS_API: LiveAgentSettingsApi,
MOBILE_SETTINGS_API: MobileSettingsApi,
NAME_SETTINGS_API: NameSettingsApi,
OPPORTUNITY_SETTINGS_API: OpportunitySettingsApi,
ORDER_SETTINGS_API: OrderSettingsApi,
ORG_PREFERENCE_SETTINGS: OrgPreferenceSettingsApi,
PRODUCT_SETTINGS_API: ProductSettingsApi,
QUOTE_SETTINGS_API: QuoteSettingsApi,
SECURITY_SETTINGS_API: SecuritySessionSettingsApi,
SEARCH_SETTINGS_API: SearchSettingsApi,
SOCIAL_PROFILE_SETTINGS_API: SocialProfileSettingsApi,
ORGANIZATION_SETTINGS_DETAIL_API: OrganizationSettingsDetailApi,
TERRITORY2_SETTINGS_API: Territory2SettingsApi,
PATH_ASSISTANT_SETTINGS_API: PathAssistantSettingsApi,
SECURITY_SETTINGS_PASSWORD_POLICY_API: SecuritySettingsPasswordPoliciesApi,
/**
* This method returns the correct name of the preference
* only if it is being migrated from the org preference settings
* to a new object.
*/
newPrefNameForOrgSettingsMigration(prefName) {
return orgPreferenceSettingsPrefNameMigrateMap.get(prefName);
},
/**
* Does a lookup for the proper apiName for
* the given final pref name.
*/
whichApiFromFinalPrefName(prefName) {
return orgPreferenceSettingsTypeMigrateMap.get(prefName);
},
/**
*
* Return true if this preference was deprected in the migration from org preference settings to concreate settings types.
*
* @param apiVersion
*/
isMigrationDeprecated(prefType) {
return DeprecatedSettingsApi == prefType;
},
/**
* Takes in an org preference name and returns the MD-API name
*
* @param prefName The org preference name
* @returns the MDAPI name for the org preference
*/
forMdApi(prefName, apiVersion = getCurrentApiVersion()) {
const _apiVersion = parseInt(apiVersion, 10);
if (_apiVersion >= 47.0) {
return orgPreferenceMdMap.get(prefName);
}
else {
return orgPreferenceMdMapPre47.get(prefName);
}
},
/**
* Takes in an org preference name and returns the API through which it is set
*
* @param prefName The org preference name
* @returns the API name for the org preference
*/
whichApi(prefName, apiVersion = getCurrentApiVersion()) {
const _apiVersion = parseInt(apiVersion, 10);
if (_apiVersion >= 47.0) {
return orgPreferenceApiMap.get(prefName);
}
else {
return orgPreferenceApiMapPre47.get(prefName);
}
},
/**
* Convenience method for testing to get Org Preference Map
*
* @returns the Org Preference Map
*/
allPrefsMap(apiVersion = getCurrentApiVersion()) {
const _apiVersion = parseInt(apiVersion, 10);
if (_apiVersion >= 47.0) {
return orgPreferenceApiMap;
}
else {
return orgPreferenceApiMapPre47;
}
},
};
//# sourceMappingURL=orgPrefRegistry.js.map