Initialize Repository
This commit is contained in:
commit
2622f14385
20 files changed
+455
No files matched your search
@@ -0,0 +1,15 @@
|
|||||||
|
**/lwc/**/*.css
|
||||||
|
**/lwc/**/*.html
|
||||||
|
**/lwc/**/*.json
|
||||||
|
**/lwc/**/*.svg
|
||||||
|
**/lwc/**/*.xml
|
||||||
|
**/aura/**/*.auradoc
|
||||||
|
**/aura/**/*.cmp
|
||||||
|
**/aura/**/*.css
|
||||||
|
**/aura/**/*.design
|
||||||
|
**/aura/**/*.evt
|
||||||
|
**/aura/**/*.json
|
||||||
|
**/aura/**/*.svg
|
||||||
|
**/aura/**/*.tokens
|
||||||
|
**/aura/**/*.xml
|
||||||
|
.sfdx
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
# List files or directories below to ignore them when running force:source:push, force:source:pull, and force:source:status
|
||||||
|
# More information: https://developer.salesforce.com/docs/atlas.en-us.sfdx_dev.meta/sfdx_dev/sfdx_dev_exclude_source.htm
|
||||||
|
#
|
||||||
|
|
||||||
|
package.xml
|
||||||
|
|
||||||
|
# LWC configuration files
|
||||||
|
**/jsconfig.json
|
||||||
|
**/.eslintrc.json
|
||||||
|
|
||||||
|
# LWC Jest
|
||||||
|
**/__tests__/**
|
||||||
|
|
||||||
|
# Exclude applications
|
||||||
|
*.appMenu
|
||||||
|
|
||||||
|
# Exclude FlexiPage
|
||||||
|
*.flexipage
|
||||||
+42
@@ -0,0 +1,42 @@
|
|||||||
|
# This file is used for Git repositories to specify intentionally untracked files that Git should ignore.
|
||||||
|
# If you are not using git, you can delete this file. For more information see: https://git-scm.com/docs/gitignore
|
||||||
|
# For useful gitignore templates see: https://github.com/github/gitignore
|
||||||
|
|
||||||
|
# Salesforce cache
|
||||||
|
.sfdx/
|
||||||
|
.localdevserver/
|
||||||
|
|
||||||
|
# LWC VSCode autocomplete
|
||||||
|
**/lwc/jsconfig.json
|
||||||
|
|
||||||
|
# LWC Jest coverage reports
|
||||||
|
coverage/
|
||||||
|
|
||||||
|
# SOQL Query Results
|
||||||
|
**/scripts/soql/query-results
|
||||||
|
|
||||||
|
# Logs
|
||||||
|
logs
|
||||||
|
*.log
|
||||||
|
npm-debug.log*
|
||||||
|
yarn-debug.log*
|
||||||
|
yarn-error.log*
|
||||||
|
|
||||||
|
# Dependency directories
|
||||||
|
node_modules/
|
||||||
|
|
||||||
|
# build and scripts directories
|
||||||
|
build/
|
||||||
|
scripts/
|
||||||
|
|
||||||
|
# Eslint cache
|
||||||
|
.eslintcache
|
||||||
|
|
||||||
|
# MacOS system files
|
||||||
|
.DS_Store
|
||||||
|
|
||||||
|
# Windows system files
|
||||||
|
Thumbs.db
|
||||||
|
ehthumbs.db
|
||||||
|
[Dd]esktop.ini
|
||||||
|
$RECYCLE.BIN/
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
# List files or directories below to ignore them when running prettier
|
||||||
|
# More information: https://prettier.io/docs/en/ignore.html
|
||||||
|
#
|
||||||
|
|
||||||
|
**/staticresources/**
|
||||||
|
.localdevserver
|
||||||
|
.sfdx
|
||||||
|
.vscode
|
||||||
|
|
||||||
|
coverage/
|
||||||
+13
@@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"trailingComma": "none",
|
||||||
|
"overrides": [
|
||||||
|
{
|
||||||
|
"files": "**/lwc/**/*.html",
|
||||||
|
"options": { "parser": "lwc" }
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"files": "*.{cmp,page,component}",
|
||||||
|
"options": { "parser": "html" }
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
Vendored
+9
@@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"recommendations": [
|
||||||
|
"salesforce.salesforcedx-vscode",
|
||||||
|
"redhat.vscode-xml",
|
||||||
|
"dbaeumer.vscode-eslint",
|
||||||
|
"esbenp.prettier-vscode",
|
||||||
|
"financialforce.lana"
|
||||||
|
]
|
||||||
|
}
|
||||||
Vendored
+16
@@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
// Use IntelliSense to learn about possible attributes.
|
||||||
|
// Hover to view descriptions of existing attributes.
|
||||||
|
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
|
||||||
|
"version": "0.2.0",
|
||||||
|
"configurations": [
|
||||||
|
{
|
||||||
|
"name": "Launch Apex Replay Debugger",
|
||||||
|
"type": "apex-replay",
|
||||||
|
"request": "launch",
|
||||||
|
"logFile": "${command:AskForLogFileName}",
|
||||||
|
"stopOnEntry": true,
|
||||||
|
"trace": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
Vendored
+7
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"search.exclude": {
|
||||||
|
"**/node_modules": true,
|
||||||
|
"**/bower_components": true,
|
||||||
|
"**/.sfdx": true
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
# Salesforce DX Project: Next Steps
|
||||||
|
|
||||||
|
Now that you’ve created a Salesforce DX project, what’s next? Here are some documentation resources to get you started.
|
||||||
|
|
||||||
|
## How Do You Plan to Deploy Your Changes?
|
||||||
|
|
||||||
|
Do you want to deploy a set of changes, or create a self-contained application? Choose a [development model](https://developer.salesforce.com/tools/vscode/en/user-guide/development-models).
|
||||||
|
|
||||||
|
## Configure Your Salesforce DX Project
|
||||||
|
|
||||||
|
The `sfdx-project.json` file contains useful configuration information for your project. See [Salesforce DX Project Configuration](https://developer.salesforce.com/docs/atlas.en-us.sfdx_dev.meta/sfdx_dev/sfdx_dev_ws_config.htm) in the _Salesforce DX Developer Guide_ for details about this file.
|
||||||
|
|
||||||
|
## Read All About It
|
||||||
|
|
||||||
|
- [Salesforce Extensions Documentation](https://developer.salesforce.com/tools/vscode/)
|
||||||
|
- [Salesforce CLI Setup Guide](https://developer.salesforce.com/docs/atlas.en-us.sfdx_setup.meta/sfdx_setup/sfdx_setup_intro.htm)
|
||||||
|
- [Salesforce DX Developer Guide](https://developer.salesforce.com/docs/atlas.en-us.sfdx_dev.meta/sfdx_dev/sfdx_dev_intro.htm)
|
||||||
|
- [Salesforce CLI Command Reference](https://developer.salesforce.com/docs/atlas.en-us.sfdx_cli_reference.meta/sfdx_cli_reference/cli_reference.htm)
|
||||||
@@ -0,0 +1,116 @@
|
|||||||
|
{
|
||||||
|
"orgName":"Opportunity Clone Dev Org",
|
||||||
|
"country":"US",
|
||||||
|
"adminEmail":"cgary@cloudperformer.com",
|
||||||
|
"edition": "Developer",
|
||||||
|
"description": "Developer Edition Scratch Org with all features installed.",
|
||||||
|
"hasSampleData": false,
|
||||||
|
"features":["API","AuthorApex","BigObjectsBulkAPI","CascadeDelete","CaseClassification",
|
||||||
|
"ChangeDataCapture","Communities","ConnectedAppToolingAPI","ContactsToMultipleAccounts",
|
||||||
|
"ContractApprovals","Communities","CustomNotificationType","IoT","DebugApex",
|
||||||
|
"EnablePRM","Entitlements","EventLogFile","FlowSites","ForceComPlatform",
|
||||||
|
"GenericStreaming","IdentityProvisioningFeatures","Interaction","LiveMessage",
|
||||||
|
"Knowledge","LightningSalesConsole","LightningServiceConsole","LiveAgent",
|
||||||
|
"MarketingUser","OutboundMessageHTTPSession","ProcessBuilder","RecordTypes",
|
||||||
|
"SalesforceContentUser","SalesforceIdentityForCommunities","SalesUser",
|
||||||
|
"SAML20SingleLogout","SessionIdInLogEnabled","SingleSignOn","Sites",
|
||||||
|
"StreamingAPI","ServiceCloud","ServiceUser","Workflow","WorkflowFlowActionFeature",
|
||||||
|
"WorkThanksPref"],
|
||||||
|
"settings": {
|
||||||
|
"accountSettings":{
|
||||||
|
"enableAccountHistoryTracking":true,
|
||||||
|
"enableAccountTeams":true,
|
||||||
|
"enableContactHistoryTracking":true,
|
||||||
|
"enableRelateContactToMultipleAccounts":true,
|
||||||
|
"showViewHierarchyLink":true
|
||||||
|
},
|
||||||
|
"activitiesSettings":{
|
||||||
|
"autoRelateEventAttendees":true,
|
||||||
|
"enableActivityReminders":true,
|
||||||
|
"enableClickCreateEvents":true,
|
||||||
|
"enableDragAndDropScheduling":true,
|
||||||
|
"enableEmailTracking":true,
|
||||||
|
"enableGroupTasks":true,
|
||||||
|
"enableListViewScheduling":true,
|
||||||
|
"enableMultidayEvents":true,
|
||||||
|
"enableRecurringEvents":true,
|
||||||
|
"enableRecurringTasks":true,
|
||||||
|
"enableSidebarCalendarShortcut":true,
|
||||||
|
"enableSimpleTaskCreateUI":true,
|
||||||
|
"enableUNSTaskDelegatedToNotifications":true,
|
||||||
|
"showHomePageHoverLinksForEvents":true,
|
||||||
|
"showMyTasksHoverLinks":true
|
||||||
|
},
|
||||||
|
"apexSettings":{
|
||||||
|
"enableApexApprovalLockUnlock":true,
|
||||||
|
"enableApexCtrlImplicitWithSharingPref":true,
|
||||||
|
"enableApexPropertyGetterPref":true,
|
||||||
|
"enableAuraApexCtrlAuthUserAccessCheckPref":true,
|
||||||
|
"enableAuraApexCtrlGuestUserAccessCheckPref":true,
|
||||||
|
"enableMngdCtrlActionAccessPref":true,
|
||||||
|
"enableNonCertifiedApexMdCrud":true
|
||||||
|
},
|
||||||
|
"communitiesSettings":{
|
||||||
|
"enableNetworksEnabled":true
|
||||||
|
},
|
||||||
|
"contractSettings":{
|
||||||
|
"autoCalculateEndDate":true,
|
||||||
|
"notifyOwnersOnContractExpiration":true
|
||||||
|
},
|
||||||
|
"entitlementSettings":{
|
||||||
|
"assetLookupLimitedToActiveEntitlementsOnAccount":true,
|
||||||
|
"assetLookupLimitedToActiveEntitlementsOnContact":true,
|
||||||
|
"assetLookupLimitedToSameAccount":true,
|
||||||
|
"assetLookupLimitedToSameContact":true,
|
||||||
|
"enableEntitlements":true,
|
||||||
|
"enableEntitlementVersioning":true,
|
||||||
|
"entitlementLookupLimitedToActiveStatus":true,
|
||||||
|
"entitlementLookupLimitedToSameAccount":true,
|
||||||
|
"entitlementLookupLimitedToSameAsset":true,
|
||||||
|
"entitlementLookupLimitedToSameContact":true
|
||||||
|
},
|
||||||
|
"ioTSettings":{
|
||||||
|
"enableIoT":true
|
||||||
|
},
|
||||||
|
"knowledgeSettings":{
|
||||||
|
"defaultLanguage":"en_US",
|
||||||
|
"enableChatterQuestionKBDeflection":true,
|
||||||
|
"enableCreateEditOnArticlesTab":true,
|
||||||
|
"enableExternalMediaContent":true,
|
||||||
|
"enableKnowledge":true,
|
||||||
|
"enableLightningKnowledge":true,
|
||||||
|
"showArticleSummariesInternalApp":true,
|
||||||
|
"showValidationStatusField":true
|
||||||
|
},
|
||||||
|
"liveAgentSettings":{
|
||||||
|
"enableLiveAgent":true
|
||||||
|
},
|
||||||
|
"macroSettings":{
|
||||||
|
"enableAdvancedSearch":true,
|
||||||
|
"macrosInFolders":true
|
||||||
|
},
|
||||||
|
"nameSettings":{
|
||||||
|
"enableMiddleName":true,
|
||||||
|
"enableNameSuffix":true
|
||||||
|
},
|
||||||
|
"omniChannelSettings":{
|
||||||
|
"enableOmniChannel":true,
|
||||||
|
"enableOmniSkillsRouting":true
|
||||||
|
},
|
||||||
|
"opportunitySettings":{
|
||||||
|
"enableUpdateReminders":true,
|
||||||
|
"autoActivateNewReminders":true,
|
||||||
|
"enableOpportunityTeam":true,
|
||||||
|
"promptToAddProducts":true
|
||||||
|
},
|
||||||
|
"orderSettings": {
|
||||||
|
"enableOrders":true,
|
||||||
|
"enableNegativeQuantity":true,
|
||||||
|
"enableReductionOrders":true,
|
||||||
|
"enableZeroQuantity":true
|
||||||
|
},
|
||||||
|
"quoteSettings": {
|
||||||
|
"enableQuote":true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"plugins": ["@salesforce/eslint-plugin-aura"],
|
||||||
|
"extends": ["plugin:@salesforce/eslint-plugin-aura/recommended", "prettier"],
|
||||||
|
"rules": {
|
||||||
|
"func-names": "off",
|
||||||
|
"vars-on-top": "off",
|
||||||
|
"no-unused-expressions": "off"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,65 @@
|
|||||||
|
/**
|
||||||
|
* @description This service exposes methods that contain logic to make cloning an opportunity
|
||||||
|
* much easier and more functional.
|
||||||
|
* @author Cloud Performer Inc. <cgary@cloudperformer.com>
|
||||||
|
* @version 1.0
|
||||||
|
* @group Opportunity Cloning
|
||||||
|
* @history 2021-04-02 - CJG - Created
|
||||||
|
*/
|
||||||
|
public with sharing class OpportunityCloneService {
|
||||||
|
/**
|
||||||
|
* @description exception class that is thrown when something happens in the opportunity
|
||||||
|
* clonde process.
|
||||||
|
*/
|
||||||
|
public class CloneException extends System.Exception {}
|
||||||
|
public static Map<String,Schema.DescribeSObjectResult> opportunityChildrenMap;
|
||||||
|
static {
|
||||||
|
List<Schema.ChildRelationship> childRelationshipList =
|
||||||
|
Schema.Opportunity.getSObjectType().getDescribe().getChildRelationships();
|
||||||
|
opportunityChildrenMap = new Map<String, Schema.DescribeSObjectResult>();
|
||||||
|
for(Schema.ChildRelationship childRel:childRelationshipList) {
|
||||||
|
Schema.DescribeSObjectResult childObjRes = childRel.getChildSObject().getDescribe();
|
||||||
|
opportunityChildrenMap.put(childObjRes.getName(),childObjRes);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@AuraEnabled(cacheable=true)
|
||||||
|
public static List<String> ObtainOpporunityChildRelationships(){
|
||||||
|
return new List<String>(opportunityChildrenMap.keySet());
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String ObtainQueryStringForOppAndChildren(Id oppRecordId, List<String> relationships) {
|
||||||
|
String queryString = 'SELECT ';
|
||||||
|
queryString += String.join(ObtainFieldsForObject('Opportunity'),',');
|
||||||
|
List<String> subqueryList = new List<String>();
|
||||||
|
for(String relationship:relationships){
|
||||||
|
Schema.DescribeSObjectResult childObject = opportunityChildrenMap.get(relationship);
|
||||||
|
String childQueryString = '(SELECT ' + String.join(ObtainFieldsForObject(childObject.getName()),',') + ' FROM ';
|
||||||
|
childQueryString += relationship + ')';
|
||||||
|
subqueryList.add(childQueryString);
|
||||||
|
}
|
||||||
|
queryString += ', ' + String.join(subqueryList,',') + 'FROM Opportunity WHERE Id =\'' + oppRecordId + '\'';
|
||||||
|
|
||||||
|
return queryString;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* @description this method is responsible for getting the list of fields for a particular object
|
||||||
|
*/
|
||||||
|
private static List<String> ObtainFieldsForObject(String objectName) {
|
||||||
|
List<String> fieldNameList;
|
||||||
|
List<String> objectListToDescribe = new List<String>{objectName};
|
||||||
|
List<Schema.DescribeSObjectResult> describeItem = System.Schema.describeSObjects(objectListToDescribe);
|
||||||
|
if(describeItem.isEmpty()) {
|
||||||
|
throw new OpportunityCloneService.CloneException('Could not find info for ' + objectName + '.');
|
||||||
|
}
|
||||||
|
Map<String, Schema.SObjectField> fieldSObjectMapping = describeItem[0].fields.getMap();
|
||||||
|
fieldNameList = new List<String>();
|
||||||
|
for(Schema.SObjectField fieldToken:fieldSObjectMapping.values()) {
|
||||||
|
Schema.DescribeFieldResult fieldTokenDescribe = fieldToken.getDescribe();
|
||||||
|
if(fieldTokenDescribe.isCreateable() && fieldTokenDescribe.isUpdateable()) {
|
||||||
|
fieldNameList.add(fieldTokenDescribe.getName());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return fieldNameList;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
|
||||||
|
<apiVersion>51.0</apiVersion>
|
||||||
|
<status>Active</status>
|
||||||
|
</ApexClass>
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"extends": ["@salesforce/eslint-config-lwc/recommended", "prettier"],
|
||||||
|
"overrides": [
|
||||||
|
{
|
||||||
|
"files": ["*.test.js"],
|
||||||
|
"rules": {
|
||||||
|
"@lwc/lwc/no-unexpected-wire-adapter-usages": "off"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
<template>
|
||||||
|
|
||||||
|
</template>
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
import { LightningElement } from 'lwc';
|
||||||
|
|
||||||
|
export default class OpportunityCustomClone extends LightningElement {}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
|
||||||
|
<apiVersion>51.0</apiVersion>
|
||||||
|
<isExposed>false</isExposed>
|
||||||
|
</LightningComponentBundle>
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
|
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
|
||||||
|
<types>
|
||||||
|
<members>*</members>
|
||||||
|
<name>ApexClass</name>
|
||||||
|
</types>
|
||||||
|
<types>
|
||||||
|
<members>*</members>
|
||||||
|
<name>ApexComponent</name>
|
||||||
|
</types>
|
||||||
|
<types>
|
||||||
|
<members>*</members>
|
||||||
|
<name>ApexPage</name>
|
||||||
|
</types>
|
||||||
|
<types>
|
||||||
|
<members>*</members>
|
||||||
|
<name>ApexTestSuite</name>
|
||||||
|
</types>
|
||||||
|
<types>
|
||||||
|
<members>*</members>
|
||||||
|
<name>ApexTrigger</name>
|
||||||
|
</types>
|
||||||
|
<types>
|
||||||
|
<members>*</members>
|
||||||
|
<name>AuraDefinitionBundle</name>
|
||||||
|
</types>
|
||||||
|
<types>
|
||||||
|
<members>*</members>
|
||||||
|
<name>LightningComponentBundle</name>
|
||||||
|
</types>
|
||||||
|
<types>
|
||||||
|
<members>*</members>
|
||||||
|
<name>StaticResource</name>
|
||||||
|
</types>
|
||||||
|
<version>51.0</version>
|
||||||
|
</Package>
|
||||||
@@ -0,0 +1,43 @@
|
|||||||
|
{
|
||||||
|
"name": "salesforce-app",
|
||||||
|
"private": true,
|
||||||
|
"version": "1.0.0",
|
||||||
|
"description": "Salesforce App",
|
||||||
|
"scripts": {
|
||||||
|
"lint": "npm run lint:lwc && npm run lint:aura",
|
||||||
|
"lint:aura": "eslint **/aura/**",
|
||||||
|
"lint:lwc": "eslint **/lwc/**",
|
||||||
|
"test": "npm run test:unit",
|
||||||
|
"test:unit": "sfdx-lwc-jest",
|
||||||
|
"test:unit:watch": "sfdx-lwc-jest --watch",
|
||||||
|
"test:unit:debug": "sfdx-lwc-jest --debug",
|
||||||
|
"test:unit:coverage": "sfdx-lwc-jest --coverage",
|
||||||
|
"prettier": "prettier --write \"**/*.{cls,cmp,component,css,html,js,json,md,page,trigger,xml,yaml,yml}\"",
|
||||||
|
"prettier:verify": "prettier --list-different \"**/*.{cls,cmp,component,css,html,js,json,md,page,trigger,xml,yaml,yml}\""
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@prettier/plugin-xml": "^0.12.0",
|
||||||
|
"@salesforce/eslint-config-lwc": "^0.7.0",
|
||||||
|
"@salesforce/eslint-plugin-aura": "^1.4.0",
|
||||||
|
"@salesforce/sfdx-lwc-jest": "^0.9.2",
|
||||||
|
"eslint": "^7.6.0",
|
||||||
|
"eslint-config-prettier": "^6.11.0",
|
||||||
|
"husky": "^4.2.1",
|
||||||
|
"lint-staged": "^10.0.7",
|
||||||
|
"prettier": "^2.0.5",
|
||||||
|
"prettier-plugin-apex": "^1.6.0"
|
||||||
|
},
|
||||||
|
"husky": {
|
||||||
|
"hooks": {
|
||||||
|
"pre-commit": "lint-staged"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"lint-staged": {
|
||||||
|
"**/*.{cls,cmp,component,css,html,js,json,md,page,trigger,xml,yaml,yml}": [
|
||||||
|
"prettier --write"
|
||||||
|
],
|
||||||
|
"**/{aura|lwc}/**": [
|
||||||
|
"eslint"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"packageDirectories": [
|
||||||
|
{
|
||||||
|
"path": "force-app",
|
||||||
|
"default": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"namespace": "",
|
||||||
|
"sfdcLoginUrl": "https://login.salesforce.com",
|
||||||
|
"sourceApiVersion": "51.0"
|
||||||
|
}
|
||||||
Reference in new issue
Block a user