auth0-deploy-cli 8.22.0 → 8.23.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.circleci/config.yml +57 -5
- package/CHANGELOG.md +41 -2
- package/README.md +1 -1
- package/eslint.config.js +131 -0
- package/lib/args.js +0 -1
- package/lib/commands/export.js +41 -49
- package/lib/commands/import.js +36 -43
- package/lib/commands/index.js +0 -1
- package/lib/configFactory.js +0 -1
- package/lib/context/defaults.d.ts +1 -0
- package/lib/context/defaults.js +57 -10
- package/lib/context/directory/handlers/actions.js +40 -39
- package/lib/context/directory/handlers/attackProtection.js +22 -34
- package/lib/context/directory/handlers/branding.js +12 -21
- package/lib/context/directory/handlers/clientGrants.js +52 -62
- package/lib/context/directory/handlers/clients.js +44 -57
- package/lib/context/directory/handlers/connectionProfiles.d.ts +1 -1
- package/lib/context/directory/handlers/connectionProfiles.js +20 -30
- package/lib/context/directory/handlers/connections.js +32 -41
- package/lib/context/directory/handlers/customDomains.js +9 -21
- package/lib/context/directory/handlers/databases.js +37 -35
- package/lib/context/directory/handlers/emailProvider.js +22 -36
- package/lib/context/directory/handlers/emailTemplates.js +20 -29
- package/lib/context/directory/handlers/flowVaultConnections.js +40 -49
- package/lib/context/directory/handlers/flows.js +38 -48
- package/lib/context/directory/handlers/forms.js +38 -48
- package/lib/context/directory/handlers/guardianFactorProviders.js +9 -21
- package/lib/context/directory/handlers/guardianFactorTemplates.js +9 -21
- package/lib/context/directory/handlers/guardianFactors.js +9 -21
- package/lib/context/directory/handlers/guardianPhoneFactorMessageTypes.js +8 -20
- package/lib/context/directory/handlers/guardianPhoneFactorSelectedProvider.js +8 -20
- package/lib/context/directory/handlers/guardianPolicies.js +8 -20
- package/lib/context/directory/handlers/hooks.js +24 -34
- package/lib/context/directory/handlers/index.js +4 -1
- package/lib/context/directory/handlers/logStreams.js +12 -24
- package/lib/context/directory/handlers/networkACLs.js +22 -34
- package/lib/context/directory/handlers/organizations.js +39 -44
- package/lib/context/directory/handlers/pages.js +31 -37
- package/lib/context/directory/handlers/phoneProvider.js +12 -24
- package/lib/context/directory/handlers/phoneTemplates.d.ts +6 -0
- package/lib/context/directory/handlers/phoneTemplates.js +39 -0
- package/lib/context/directory/handlers/prompts.js +58 -76
- package/lib/context/directory/handlers/resourceServers.d.ts +1 -1
- package/lib/context/directory/handlers/resourceServers.js +18 -30
- package/lib/context/directory/handlers/roles.js +21 -31
- package/lib/context/directory/handlers/rules.js +22 -32
- package/lib/context/directory/handlers/rulesConfigs.js +3 -15
- package/lib/context/directory/handlers/selfServiceProfiles.js +28 -40
- package/lib/context/directory/handlers/tenant.js +14 -34
- package/lib/context/directory/handlers/themes.js +9 -21
- package/lib/context/directory/handlers/tokenExchangeProfiles.d.ts +5 -0
- package/lib/context/directory/handlers/tokenExchangeProfiles.js +41 -0
- package/lib/context/directory/handlers/triggers.d.ts +1 -1
- package/lib/context/directory/handlers/triggers.js +16 -26
- package/lib/context/directory/handlers/userAttributeProfiles.d.ts +1 -1
- package/lib/context/directory/handlers/userAttributeProfiles.js +16 -26
- package/lib/context/directory/index.js +66 -80
- package/lib/context/index.js +7 -18
- package/lib/context/yaml/handlers/actions.js +39 -41
- package/lib/context/yaml/handlers/attackProtection.js +27 -41
- package/lib/context/yaml/handlers/branding.js +47 -69
- package/lib/context/yaml/handlers/clientGrants.js +26 -40
- package/lib/context/yaml/handlers/clients.js +69 -84
- package/lib/context/yaml/handlers/connectionProfiles.d.ts +1 -1
- package/lib/context/yaml/handlers/connectionProfiles.js +20 -34
- package/lib/context/yaml/handlers/connections.js +63 -67
- package/lib/context/yaml/handlers/customDomains.js +7 -19
- package/lib/context/yaml/handlers/databases.js +63 -65
- package/lib/context/yaml/handlers/emailProvider.js +22 -37
- package/lib/context/yaml/handlers/emailTemplates.js +28 -39
- package/lib/context/yaml/handlers/flowVaultConnections.js +37 -50
- package/lib/context/yaml/handlers/flows.js +55 -66
- package/lib/context/yaml/handlers/forms.js +55 -66
- package/lib/context/yaml/handlers/guardianFactorProviders.js +7 -19
- package/lib/context/yaml/handlers/guardianFactorTemplates.js +7 -19
- package/lib/context/yaml/handlers/guardianFactors.js +7 -19
- package/lib/context/yaml/handlers/guardianPhoneFactorMessageTypes.js +7 -19
- package/lib/context/yaml/handlers/guardianPhoneFactorSelectedProvider.js +7 -19
- package/lib/context/yaml/handlers/guardianPolicies.js +7 -19
- package/lib/context/yaml/handlers/hooks.js +34 -48
- package/lib/context/yaml/handlers/index.js +4 -1
- package/lib/context/yaml/handlers/logStreams.js +16 -30
- package/lib/context/yaml/handlers/networkACLs.js +25 -39
- package/lib/context/yaml/handlers/organizations.js +37 -46
- package/lib/context/yaml/handlers/pages.js +31 -39
- package/lib/context/yaml/handlers/phoneProvider.js +17 -31
- package/lib/context/yaml/handlers/phoneTemplates.d.ts +6 -0
- package/lib/context/yaml/handlers/phoneTemplates.js +25 -0
- package/lib/context/yaml/handlers/prompts.js +22 -47
- package/lib/context/yaml/handlers/resourceServers.d.ts +1 -1
- package/lib/context/yaml/handlers/resourceServers.js +21 -33
- package/lib/context/yaml/handlers/roles.js +19 -33
- package/lib/context/yaml/handlers/rules.js +28 -39
- package/lib/context/yaml/handlers/rulesConfigs.js +14 -28
- package/lib/context/yaml/handlers/selfServiceProfiles.js +29 -43
- package/lib/context/yaml/handlers/tenant.js +19 -41
- package/lib/context/yaml/handlers/themes.js +7 -19
- package/lib/context/yaml/handlers/tokenExchangeProfiles.d.ts +5 -0
- package/lib/context/yaml/handlers/tokenExchangeProfiles.js +27 -0
- package/lib/context/yaml/handlers/triggers.d.ts +1 -1
- package/lib/context/yaml/handlers/triggers.js +15 -29
- package/lib/context/yaml/handlers/userAttributeProfiles.d.ts +1 -1
- package/lib/context/yaml/handlers/userAttributeProfiles.js +7 -19
- package/lib/context/yaml/index.js +120 -128
- package/lib/index.d.ts +4 -96
- package/lib/index.js +24 -34
- package/lib/keywordPreservation.d.ts +1 -1
- package/lib/keywordPreservation.js +11 -6
- package/lib/logger.js +0 -1
- package/lib/readonly.js +3 -4
- package/lib/sessionDurationsToMinutes.js +0 -1
- package/lib/tools/auth0/client.js +108 -127
- package/lib/tools/auth0/handlers/actions.d.ts +8 -26
- package/lib/tools/auth0/handlers/actions.js +138 -149
- package/lib/tools/auth0/handlers/attackProtection.js +80 -92
- package/lib/tools/auth0/handlers/branding.js +75 -99
- package/lib/tools/auth0/handlers/clientGrants.d.ts +2 -9
- package/lib/tools/auth0/handlers/clientGrants.js +68 -73
- package/lib/tools/auth0/handlers/clients.d.ts +17 -16
- package/lib/tools/auth0/handlers/clients.js +120 -106
- package/lib/tools/auth0/handlers/connectionProfiles.d.ts +3 -1
- package/lib/tools/auth0/handlers/connectionProfiles.js +36 -32
- package/lib/tools/auth0/handlers/connections.d.ts +3 -1
- package/lib/tools/auth0/handlers/connections.js +130 -135
- package/lib/tools/auth0/handlers/customDomains.d.ts +4 -1
- package/lib/tools/auth0/handlers/customDomains.js +43 -53
- package/lib/tools/auth0/handlers/databases.js +94 -114
- package/lib/tools/auth0/handlers/default.d.ts +2 -2
- package/lib/tools/auth0/handlers/default.js +210 -171
- package/lib/tools/auth0/handlers/emailProvider.js +41 -52
- package/lib/tools/auth0/handlers/emailTemplates.d.ts +1 -0
- package/lib/tools/auth0/handlers/emailTemplates.js +54 -70
- package/lib/tools/auth0/handlers/flowVaultConnections.d.ts +5 -12
- package/lib/tools/auth0/handlers/flowVaultConnections.js +102 -145
- package/lib/tools/auth0/handlers/flows.d.ts +2 -3
- package/lib/tools/auth0/handlers/flows.js +92 -129
- package/lib/tools/auth0/handlers/forms.d.ts +3 -3
- package/lib/tools/auth0/handlers/forms.js +98 -112
- package/lib/tools/auth0/handlers/guardianFactorProviders.js +61 -84
- package/lib/tools/auth0/handlers/guardianFactorTemplates.js +46 -68
- package/lib/tools/auth0/handlers/guardianFactors.js +35 -45
- package/lib/tools/auth0/handlers/guardianPhoneFactorMessageTypes.js +29 -45
- package/lib/tools/auth0/handlers/guardianPhoneFactorSelectedProvider.js +29 -45
- package/lib/tools/auth0/handlers/guardianPolicies.js +20 -35
- package/lib/tools/auth0/handlers/hooks.js +123 -153
- package/lib/tools/auth0/handlers/index.js +4 -1
- package/lib/tools/auth0/handlers/logStreams.js +42 -47
- package/lib/tools/auth0/handlers/networkACLs.d.ts +5 -4
- package/lib/tools/auth0/handlers/networkACLs.js +115 -133
- package/lib/tools/auth0/handlers/organizations.d.ts +10 -9
- package/lib/tools/auth0/handlers/organizations.js +350 -431
- package/lib/tools/auth0/handlers/pages.js +74 -83
- package/lib/tools/auth0/handlers/phoneProvider.d.ts +2 -2
- package/lib/tools/auth0/handlers/phoneProvider.js +69 -82
- package/lib/tools/auth0/handlers/phoneTemplates.d.ts +63 -0
- package/lib/tools/auth0/handlers/phoneTemplates.js +221 -0
- package/lib/tools/auth0/handlers/prompts.d.ts +7 -7
- package/lib/tools/auth0/handlers/prompts.js +246 -240
- package/lib/tools/auth0/handlers/resourceServers.d.ts +6 -2
- package/lib/tools/auth0/handlers/resourceServers.js +94 -105
- package/lib/tools/auth0/handlers/roles.js +149 -178
- package/lib/tools/auth0/handlers/rules.js +144 -162
- package/lib/tools/auth0/handlers/rulesConfigs.js +30 -39
- package/lib/tools/auth0/handlers/scimHandler.d.ts +4 -3
- package/lib/tools/auth0/handlers/scimHandler.js +110 -132
- package/lib/tools/auth0/handlers/selfServiceProfiles.d.ts +12 -3
- package/lib/tools/auth0/handlers/selfServiceProfiles.js +173 -203
- package/lib/tools/auth0/handlers/tenant.d.ts +5 -3
- package/lib/tools/auth0/handlers/tenant.js +46 -52
- package/lib/tools/auth0/handlers/themes.d.ts +12 -12
- package/lib/tools/auth0/handlers/themes.js +86 -102
- package/lib/tools/auth0/handlers/tokenExchangeProfiles.d.ts +60 -0
- package/lib/tools/auth0/handlers/tokenExchangeProfiles.js +263 -0
- package/lib/tools/auth0/handlers/triggers.js +59 -75
- package/lib/tools/auth0/handlers/userAttributeProfiles.d.ts +3 -2
- package/lib/tools/auth0/handlers/userAttributeProfiles.js +41 -43
- package/lib/tools/auth0/index.js +35 -48
- package/lib/tools/auth0/schema.js +6 -4
- package/lib/tools/calculateChanges.js +24 -15
- package/lib/tools/constants.d.ts +4 -2
- package/lib/tools/constants.js +3 -1
- package/lib/tools/deploy.js +17 -29
- package/lib/tools/index.d.ts +3 -89
- package/lib/tools/index.js +3 -2
- package/lib/tools/utils.d.ts +1 -1
- package/lib/tools/utils.js +12 -22
- package/lib/tools/validationError.js +0 -1
- package/lib/types.d.ts +13 -5
- package/lib/types.js +0 -1
- package/lib/utils.d.ts +3 -58
- package/lib/utils.js +8 -5
- package/package.json +11 -10
- package/tsconfig.json +4 -3
- package/.eslintignore +0 -5
- package/.eslintrc +0 -69
- package/lib/args.js.map +0 -1
- package/lib/commands/export.js.map +0 -1
- package/lib/commands/import.js.map +0 -1
- package/lib/commands/index.js.map +0 -1
- package/lib/configFactory.js.map +0 -1
- package/lib/context/defaults.js.map +0 -1
- package/lib/context/directory/handlers/actions.js.map +0 -1
- package/lib/context/directory/handlers/attackProtection.js.map +0 -1
- package/lib/context/directory/handlers/branding.js.map +0 -1
- package/lib/context/directory/handlers/clientGrants.js.map +0 -1
- package/lib/context/directory/handlers/clients.js.map +0 -1
- package/lib/context/directory/handlers/connectionProfiles.js.map +0 -1
- package/lib/context/directory/handlers/connections.js.map +0 -1
- package/lib/context/directory/handlers/customDomains.js.map +0 -1
- package/lib/context/directory/handlers/databases.js.map +0 -1
- package/lib/context/directory/handlers/emailProvider.js.map +0 -1
- package/lib/context/directory/handlers/emailTemplates.js.map +0 -1
- package/lib/context/directory/handlers/flowVaultConnections.js.map +0 -1
- package/lib/context/directory/handlers/flows.js.map +0 -1
- package/lib/context/directory/handlers/forms.js.map +0 -1
- package/lib/context/directory/handlers/guardianFactorProviders.js.map +0 -1
- package/lib/context/directory/handlers/guardianFactorTemplates.js.map +0 -1
- package/lib/context/directory/handlers/guardianFactors.js.map +0 -1
- package/lib/context/directory/handlers/guardianPhoneFactorMessageTypes.js.map +0 -1
- package/lib/context/directory/handlers/guardianPhoneFactorSelectedProvider.js.map +0 -1
- package/lib/context/directory/handlers/guardianPolicies.js.map +0 -1
- package/lib/context/directory/handlers/hooks.js.map +0 -1
- package/lib/context/directory/handlers/index.js.map +0 -1
- package/lib/context/directory/handlers/logStreams.js.map +0 -1
- package/lib/context/directory/handlers/networkACLs.js.map +0 -1
- package/lib/context/directory/handlers/organizations.js.map +0 -1
- package/lib/context/directory/handlers/pages.js.map +0 -1
- package/lib/context/directory/handlers/phoneProvider.js.map +0 -1
- package/lib/context/directory/handlers/prompts.js.map +0 -1
- package/lib/context/directory/handlers/resourceServers.js.map +0 -1
- package/lib/context/directory/handlers/roles.js.map +0 -1
- package/lib/context/directory/handlers/rules.js.map +0 -1
- package/lib/context/directory/handlers/rulesConfigs.js.map +0 -1
- package/lib/context/directory/handlers/selfServiceProfiles.js.map +0 -1
- package/lib/context/directory/handlers/tenant.js.map +0 -1
- package/lib/context/directory/handlers/themes.js.map +0 -1
- package/lib/context/directory/handlers/triggers.js.map +0 -1
- package/lib/context/directory/handlers/userAttributeProfiles.js.map +0 -1
- package/lib/context/directory/index.js.map +0 -1
- package/lib/context/index.js.map +0 -1
- package/lib/context/yaml/handlers/actions.js.map +0 -1
- package/lib/context/yaml/handlers/attackProtection.js.map +0 -1
- package/lib/context/yaml/handlers/branding.js.map +0 -1
- package/lib/context/yaml/handlers/clientGrants.js.map +0 -1
- package/lib/context/yaml/handlers/clients.js.map +0 -1
- package/lib/context/yaml/handlers/connectionProfiles.js.map +0 -1
- package/lib/context/yaml/handlers/connections.js.map +0 -1
- package/lib/context/yaml/handlers/customDomains.js.map +0 -1
- package/lib/context/yaml/handlers/databases.js.map +0 -1
- package/lib/context/yaml/handlers/emailProvider.js.map +0 -1
- package/lib/context/yaml/handlers/emailTemplates.js.map +0 -1
- package/lib/context/yaml/handlers/flowVaultConnections.js.map +0 -1
- package/lib/context/yaml/handlers/flows.js.map +0 -1
- package/lib/context/yaml/handlers/forms.js.map +0 -1
- package/lib/context/yaml/handlers/guardianFactorProviders.js.map +0 -1
- package/lib/context/yaml/handlers/guardianFactorTemplates.js.map +0 -1
- package/lib/context/yaml/handlers/guardianFactors.js.map +0 -1
- package/lib/context/yaml/handlers/guardianPhoneFactorMessageTypes.js.map +0 -1
- package/lib/context/yaml/handlers/guardianPhoneFactorSelectedProvider.js.map +0 -1
- package/lib/context/yaml/handlers/guardianPolicies.js.map +0 -1
- package/lib/context/yaml/handlers/hooks.js.map +0 -1
- package/lib/context/yaml/handlers/index.js.map +0 -1
- package/lib/context/yaml/handlers/logStreams.js.map +0 -1
- package/lib/context/yaml/handlers/networkACLs.js.map +0 -1
- package/lib/context/yaml/handlers/organizations.js.map +0 -1
- package/lib/context/yaml/handlers/pages.js.map +0 -1
- package/lib/context/yaml/handlers/phoneProvider.js.map +0 -1
- package/lib/context/yaml/handlers/prompts.js.map +0 -1
- package/lib/context/yaml/handlers/resourceServers.js.map +0 -1
- package/lib/context/yaml/handlers/roles.js.map +0 -1
- package/lib/context/yaml/handlers/rules.js.map +0 -1
- package/lib/context/yaml/handlers/rulesConfigs.js.map +0 -1
- package/lib/context/yaml/handlers/selfServiceProfiles.js.map +0 -1
- package/lib/context/yaml/handlers/tenant.js.map +0 -1
- package/lib/context/yaml/handlers/themes.js.map +0 -1
- package/lib/context/yaml/handlers/triggers.js.map +0 -1
- package/lib/context/yaml/handlers/userAttributeProfiles.js.map +0 -1
- package/lib/context/yaml/index.js.map +0 -1
- package/lib/index.js.map +0 -1
- package/lib/keywordPreservation.js.map +0 -1
- package/lib/logger.js.map +0 -1
- package/lib/readonly.js.map +0 -1
- package/lib/sessionDurationsToMinutes.js.map +0 -1
- package/lib/tools/auth0/client.js.map +0 -1
- package/lib/tools/auth0/handlers/actions.js.map +0 -1
- package/lib/tools/auth0/handlers/attackProtection.js.map +0 -1
- package/lib/tools/auth0/handlers/branding.js.map +0 -1
- package/lib/tools/auth0/handlers/clientGrants.js.map +0 -1
- package/lib/tools/auth0/handlers/clients.js.map +0 -1
- package/lib/tools/auth0/handlers/connectionProfiles.js.map +0 -1
- package/lib/tools/auth0/handlers/connections.js.map +0 -1
- package/lib/tools/auth0/handlers/customDomains.js.map +0 -1
- package/lib/tools/auth0/handlers/databases.js.map +0 -1
- package/lib/tools/auth0/handlers/default.js.map +0 -1
- package/lib/tools/auth0/handlers/emailProvider.js.map +0 -1
- package/lib/tools/auth0/handlers/emailTemplates.js.map +0 -1
- package/lib/tools/auth0/handlers/flowVaultConnections.js.map +0 -1
- package/lib/tools/auth0/handlers/flows.js.map +0 -1
- package/lib/tools/auth0/handlers/forms.js.map +0 -1
- package/lib/tools/auth0/handlers/guardianFactorProviders.js.map +0 -1
- package/lib/tools/auth0/handlers/guardianFactorTemplates.js.map +0 -1
- package/lib/tools/auth0/handlers/guardianFactors.js.map +0 -1
- package/lib/tools/auth0/handlers/guardianPhoneFactorMessageTypes.js.map +0 -1
- package/lib/tools/auth0/handlers/guardianPhoneFactorSelectedProvider.js.map +0 -1
- package/lib/tools/auth0/handlers/guardianPolicies.js.map +0 -1
- package/lib/tools/auth0/handlers/hooks.js.map +0 -1
- package/lib/tools/auth0/handlers/index.js.map +0 -1
- package/lib/tools/auth0/handlers/logStreams.js.map +0 -1
- package/lib/tools/auth0/handlers/networkACLs.js.map +0 -1
- package/lib/tools/auth0/handlers/organizations.js.map +0 -1
- package/lib/tools/auth0/handlers/pages.js.map +0 -1
- package/lib/tools/auth0/handlers/phoneProvider.js.map +0 -1
- package/lib/tools/auth0/handlers/prompts.js.map +0 -1
- package/lib/tools/auth0/handlers/resourceServers.js.map +0 -1
- package/lib/tools/auth0/handlers/roles.js.map +0 -1
- package/lib/tools/auth0/handlers/rules.js.map +0 -1
- package/lib/tools/auth0/handlers/rulesConfigs.js.map +0 -1
- package/lib/tools/auth0/handlers/scimHandler.js.map +0 -1
- package/lib/tools/auth0/handlers/selfServiceProfiles.js.map +0 -1
- package/lib/tools/auth0/handlers/tenant.js.map +0 -1
- package/lib/tools/auth0/handlers/themes.js.map +0 -1
- package/lib/tools/auth0/handlers/triggers.js.map +0 -1
- package/lib/tools/auth0/handlers/userAttributeProfiles.js.map +0 -1
- package/lib/tools/auth0/index.js.map +0 -1
- package/lib/tools/auth0/schema.js.map +0 -1
- package/lib/tools/calculateChanges.js.map +0 -1
- package/lib/tools/constants.js.map +0 -1
- package/lib/tools/deploy.js.map +0 -1
- package/lib/tools/index.js.map +0 -1
- package/lib/tools/utils.js.map +0 -1
- package/lib/tools/validationError.js.map +0 -1
- package/lib/types.js.map +0 -1
- package/lib/utils.js.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AssetTypes, KeywordMappings } from './types';
|
|
2
2
|
import APIHandler from './tools/auth0/handlers/default';
|
|
3
|
-
export declare const doesHaveKeywordMarker: (string: string, keywordMappings: KeywordMappings) => boolean;
|
|
3
|
+
export declare const doesHaveKeywordMarker: (string: string | undefined, keywordMappings: KeywordMappings) => boolean;
|
|
4
4
|
export declare const getPreservableFieldsFromAssets: (asset: object, keywordMappings: KeywordMappings, resourceSpecificIdentifiers: Partial<Record<AssetTypes, string | string[]>>, address?: string) => string[];
|
|
5
5
|
export declare const getAssetsValueByAddress: (address: string, assets: any) => any;
|
|
6
6
|
export declare const convertAddressToDotNotation: (assets: any, address: string, finalAddressTrail?: string) => string | null;
|
|
@@ -13,11 +13,16 @@ const logger_1 = __importDefault(require("./logger"));
|
|
|
13
13
|
RFC for Keyword Preservation: https://github.com/auth0/auth0-deploy-cli/issues/688
|
|
14
14
|
Original Github Issue: https://github.com/auth0/auth0-deploy-cli/issues/328
|
|
15
15
|
*/
|
|
16
|
-
const doesHaveKeywordMarker = (string, keywordMappings) =>
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
16
|
+
const doesHaveKeywordMarker = (string, keywordMappings) => {
|
|
17
|
+
if (string === undefined) {
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
return !Object.keys(keywordMappings).every((keyword) => {
|
|
21
|
+
const hasArrayMarker = (0, utils_1.keywordReplaceArrayRegExp)(keyword).test(string);
|
|
22
|
+
const hasStringMarker = (0, utils_1.keywordReplaceStringRegExp)(keyword).test(string);
|
|
23
|
+
return !hasArrayMarker && !hasStringMarker;
|
|
24
|
+
});
|
|
25
|
+
};
|
|
21
26
|
exports.doesHaveKeywordMarker = doesHaveKeywordMarker;
|
|
22
27
|
const getPreservableFieldsFromAssets = (asset, keywordMappings, resourceSpecificIdentifiers, address = '') => {
|
|
23
28
|
if (typeof asset === 'string') {
|
|
@@ -191,6 +196,7 @@ const preserveKeywords = ({ localAssets, remoteAssets, keywordMappings, auth0Han
|
|
|
191
196
|
return false; // Default to false
|
|
192
197
|
})();
|
|
193
198
|
if (!localAndRemoteValuesAreEqual) {
|
|
199
|
+
// eslint-disable-next-line no-console
|
|
194
200
|
console.warn(`WARNING! The remote value with address of ${address} has value of "${remoteValue}" but will be preserved with "${localValueWithReplacement}" due to keyword preservation.`);
|
|
195
201
|
}
|
|
196
202
|
// Update the clientGrants audience field if it exists
|
|
@@ -217,4 +223,3 @@ const preserveKeywords = ({ localAssets, remoteAssets, keywordMappings, auth0Han
|
|
|
217
223
|
return updatedRemoteAssets;
|
|
218
224
|
};
|
|
219
225
|
exports.preserveKeywords = preserveKeywords;
|
|
220
|
-
//# sourceMappingURL=keywordPreservation.js.map
|
package/lib/logger.js
CHANGED
package/lib/readonly.js
CHANGED
|
@@ -30,7 +30,7 @@ const readOnlyFields = {
|
|
|
30
30
|
],
|
|
31
31
|
};
|
|
32
32
|
function getExcludedFields(config) {
|
|
33
|
-
const strippedFields =
|
|
33
|
+
const strippedFields = { ...readOnlyFields };
|
|
34
34
|
let { EXCLUDED_PROPS: excluded, INCLUDED_PROPS: included } = config;
|
|
35
35
|
if (typeof excluded !== 'object')
|
|
36
36
|
excluded = {};
|
|
@@ -52,12 +52,12 @@ function getExcludedFields(config) {
|
|
|
52
52
|
return strippedFields;
|
|
53
53
|
}
|
|
54
54
|
function deleteKeys(obj, keys) {
|
|
55
|
-
const newObj =
|
|
55
|
+
const newObj = { ...obj };
|
|
56
56
|
keys.forEach((k) => dot_prop_1.default.delete(newObj, k));
|
|
57
57
|
return newObj;
|
|
58
58
|
}
|
|
59
59
|
function cleanAssets(assets, config) {
|
|
60
|
-
const cleaned =
|
|
60
|
+
const cleaned = { ...assets };
|
|
61
61
|
const excludedFields = getExcludedFields(config);
|
|
62
62
|
Object.entries(excludedFields).forEach(([name, fields]) => {
|
|
63
63
|
const obj = cleaned[name];
|
|
@@ -74,4 +74,3 @@ function cleanAssets(assets, config) {
|
|
|
74
74
|
});
|
|
75
75
|
return lodash_1.default.pickBy(cleaned, lodash_1.default.identity);
|
|
76
76
|
}
|
|
77
|
-
//# sourceMappingURL=readonly.js.map
|
|
@@ -1,24 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __rest = (this && this.__rest) || function (s, e) {
|
|
12
|
-
var t = {};
|
|
13
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
14
|
-
t[p] = s[p];
|
|
15
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
16
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
17
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
18
|
-
t[p[i]] = s[p[i]];
|
|
19
|
-
}
|
|
20
|
-
return t;
|
|
21
|
-
};
|
|
22
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
23
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
24
4
|
};
|
|
@@ -34,122 +14,121 @@ const API_CONCURRENCY = 3;
|
|
|
34
14
|
const API_FREQUENCY_PER_SECOND = 8;
|
|
35
15
|
const MAX_PAGE_SIZE = 100;
|
|
36
16
|
function getEntity(rsp) {
|
|
37
|
-
//
|
|
38
|
-
const found = Object.values(rsp).filter((a) => Array.isArray(a));
|
|
39
|
-
// If response contains exactly one array property, return it as the entity list
|
|
40
|
-
if (Array.isArray(found) && found.length === 1) {
|
|
41
|
-
return found[0];
|
|
42
|
-
}
|
|
43
|
-
// If the response itself is an array, return it directly
|
|
17
|
+
// If the response is already an array, return it directly (v5 SDK behavior)
|
|
44
18
|
if (Array.isArray(rsp)) {
|
|
45
19
|
return rsp;
|
|
46
20
|
}
|
|
47
|
-
// If
|
|
48
|
-
if (
|
|
49
|
-
|
|
21
|
+
// If the response is an object, look for array properties (legacy behavior)
|
|
22
|
+
if (typeof rsp === 'object' && rsp !== null) {
|
|
23
|
+
const found = Object.values(rsp).filter((a) => Array.isArray(a));
|
|
24
|
+
if (found.length === 1) {
|
|
25
|
+
return found[0];
|
|
26
|
+
}
|
|
27
|
+
// If we can't find exactly one array, but there's a property that looks like it contains the data
|
|
28
|
+
// Try some common property names from Auth0 SDK v5
|
|
29
|
+
if ('data' in rsp && Array.isArray(rsp.data)) {
|
|
30
|
+
return rsp.data;
|
|
31
|
+
}
|
|
32
|
+
// Handle empty response case - return empty array instead of throwing error
|
|
33
|
+
if (Array.isArray(found) && found.length === 0) {
|
|
34
|
+
return [];
|
|
35
|
+
}
|
|
50
36
|
}
|
|
51
37
|
throw new Error('There was an error trying to find the entity within paginate');
|
|
52
38
|
}
|
|
53
39
|
function checkpointPaginator(client, target, name) {
|
|
54
|
-
return function (...args) {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
40
|
+
return async function (...args) {
|
|
41
|
+
const data = [];
|
|
42
|
+
// remove the _checkpoint_ flag
|
|
43
|
+
const { checkpoint, ...newArgs } = lodash_1.default.cloneDeep(args[0]);
|
|
44
|
+
// Set appropriate page size for checkpoint pagination
|
|
45
|
+
newArgs.take = newArgs.take || 50; // Default to 50
|
|
46
|
+
let currentPage = await client.pool
|
|
47
|
+
.addSingleTask({
|
|
48
|
+
data: newArgs,
|
|
49
|
+
generator: (requestArgs) => target[name](requestArgs),
|
|
50
|
+
})
|
|
51
|
+
.promise();
|
|
52
|
+
// Add first page data
|
|
53
|
+
data.push(...(currentPage.data || []));
|
|
54
|
+
// Continue fetching while there are more pages
|
|
55
|
+
while (currentPage.hasNextPage && currentPage.hasNextPage()) {
|
|
56
|
+
const pageToFetch = currentPage; // Capture the current page reference
|
|
57
|
+
currentPage = await client.pool
|
|
62
58
|
.addSingleTask({
|
|
63
|
-
data:
|
|
64
|
-
generator: (
|
|
59
|
+
data: null,
|
|
60
|
+
generator: () => pageToFetch.getNextPage(),
|
|
65
61
|
})
|
|
66
|
-
.promise()
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
while (!done) {
|
|
71
|
-
const rsp = yield client.pool
|
|
72
|
-
.addSingleTask({
|
|
73
|
-
data: newArgs,
|
|
74
|
-
generator: (requestArgs) => target[name](requestArgs),
|
|
75
|
-
})
|
|
76
|
-
.promise();
|
|
77
|
-
data.push(...getEntity(rsp.data));
|
|
78
|
-
if (!rsp.data.next) {
|
|
79
|
-
done = true;
|
|
80
|
-
}
|
|
81
|
-
else {
|
|
82
|
-
newArgs.from = rsp.data.next;
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
// Not all entities return total, so only validate when we have a total
|
|
86
|
-
if (total > 0 && data.length !== total) {
|
|
87
|
-
throw new Error('Fail to load data from tenant');
|
|
88
|
-
}
|
|
89
|
-
return data;
|
|
90
|
-
});
|
|
62
|
+
.promise();
|
|
63
|
+
data.push(...(currentPage.data || []));
|
|
64
|
+
}
|
|
65
|
+
return data;
|
|
91
66
|
};
|
|
92
67
|
}
|
|
93
68
|
function pagePaginator(client, target, name) {
|
|
94
|
-
return function (...args) {
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
69
|
+
return async function (...args) {
|
|
70
|
+
// Where the entity data will be collected
|
|
71
|
+
const data = [];
|
|
72
|
+
// Create new args and inject the properties we require for pagination automation
|
|
73
|
+
const newArgs = [...args];
|
|
74
|
+
newArgs[0] = { ...newArgs[0], page: 0 };
|
|
75
|
+
// Grab data we need from the request then delete the keys as they are only needed for this automation function to work
|
|
76
|
+
const perPage = newArgs[0].per_page || MAX_PAGE_SIZE;
|
|
77
|
+
newArgs[0].per_page = perPage;
|
|
78
|
+
delete newArgs[0].paginate;
|
|
79
|
+
// Run the first request to get the total number of entity items
|
|
80
|
+
const rsp = await client.pool
|
|
81
|
+
.addSingleTask({
|
|
82
|
+
data: lodash_1.default.cloneDeep(newArgs),
|
|
83
|
+
generator: (pageArgs) => target[name](...pageArgs),
|
|
84
|
+
})
|
|
85
|
+
.promise();
|
|
86
|
+
data.push(...getEntity(rsp.data));
|
|
87
|
+
// In Auth0 SDK v5, the total is not provided
|
|
88
|
+
const total = rsp.response?.total || 0;
|
|
89
|
+
// If total is 0 but we have data, it likely means the response doesn't include pagination info
|
|
90
|
+
// In this case, we should assume this is all the data and skip pagination
|
|
91
|
+
const initialDataLength = getEntity(rsp.data).length;
|
|
92
|
+
if (total === 0 && initialDataLength > 0) {
|
|
93
|
+
return data; // Return what we have without pagination
|
|
94
|
+
}
|
|
95
|
+
const pagesLeft = Math.ceil(total / perPage) - 1;
|
|
96
|
+
// Setup pool to get the rest of the pages
|
|
97
|
+
if (pagesLeft > 0) {
|
|
98
|
+
const pages = await client.pool
|
|
99
|
+
.addEachTask({
|
|
100
|
+
data: Array.from(Array(pagesLeft).keys()),
|
|
101
|
+
generator: (page) => {
|
|
102
|
+
const pageArgs = lodash_1.default.cloneDeep(newArgs);
|
|
103
|
+
pageArgs[0].page = page + 1;
|
|
104
|
+
return target[name](...pageArgs).then((r) => getEntity(r.data));
|
|
105
|
+
},
|
|
111
106
|
})
|
|
112
107
|
.promise();
|
|
113
|
-
data.push(...
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
const pages = yield client.pool
|
|
119
|
-
.addEachTask({
|
|
120
|
-
data: Array.from(Array(pagesLeft).keys()),
|
|
121
|
-
generator: (page) => {
|
|
122
|
-
const pageArgs = lodash_1.default.cloneDeep(newArgs);
|
|
123
|
-
pageArgs[0].page = page + 1;
|
|
124
|
-
return target[name](...pageArgs).then((r) => getEntity(r.data));
|
|
125
|
-
},
|
|
126
|
-
})
|
|
127
|
-
.promise();
|
|
128
|
-
data.push(...(0, utils_1.flatten)(pages));
|
|
129
|
-
if (data.length !== total) {
|
|
130
|
-
throw new Error('Fail to load data from tenant');
|
|
131
|
-
}
|
|
108
|
+
data.push(...(0, utils_1.flatten)(pages));
|
|
109
|
+
// Only validate total if it was provided (non-zero)
|
|
110
|
+
// In Auth0 SDK v5,endpoints don't provide total count
|
|
111
|
+
if (total > 0 && data.length !== total) {
|
|
112
|
+
throw new Error('Fail to load data from tenant');
|
|
132
113
|
}
|
|
133
|
-
|
|
134
|
-
|
|
114
|
+
}
|
|
115
|
+
return data;
|
|
135
116
|
};
|
|
136
117
|
}
|
|
137
118
|
// Warp around a <resource>Manager and detect when requesting specific pages to return all
|
|
138
119
|
function pagedManager(client, manager) {
|
|
139
120
|
return new Proxy(manager, {
|
|
140
121
|
get: function (target, name, receiver) {
|
|
141
|
-
if (name === '
|
|
142
|
-
return function (...args) {
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
}
|
|
152
|
-
});
|
|
122
|
+
if (name === 'list') {
|
|
123
|
+
return async function (...args) {
|
|
124
|
+
switch (true) {
|
|
125
|
+
case args[0] && typeof args[0] === 'object' && args[0].checkpoint:
|
|
126
|
+
return checkpointPaginator(client, target, name)(...args);
|
|
127
|
+
case args[0] && typeof args[0] === 'object' && args[0].paginate:
|
|
128
|
+
return pagePaginator(client, target, name)(...args);
|
|
129
|
+
default:
|
|
130
|
+
return target[name](...args);
|
|
131
|
+
}
|
|
153
132
|
};
|
|
154
133
|
}
|
|
155
134
|
const nestedManager = Reflect.get(target, name, receiver);
|
|
@@ -162,19 +141,21 @@ function pagedManager(client, manager) {
|
|
|
162
141
|
}
|
|
163
142
|
// Warp around the ManagementClient and detect when requesting specific pages to return all
|
|
164
143
|
function pagedClient(client) {
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
144
|
+
// Create a new object that inherits from the original client
|
|
145
|
+
const clientWithPooling = Object.create(Object.getPrototypeOf(client));
|
|
146
|
+
// Copy all enumerable properties from the original client
|
|
147
|
+
Object.assign(clientWithPooling, client);
|
|
148
|
+
// Add the pool property
|
|
149
|
+
clientWithPooling.pool = new promise_pool_executor_1.PromisePoolExecutor({
|
|
150
|
+
concurrencyLimit: API_CONCURRENCY,
|
|
151
|
+
frequencyLimit: API_FREQUENCY_PER_SECOND,
|
|
152
|
+
frequencyWindow: 1000, // 1 sec
|
|
153
|
+
});
|
|
170
154
|
return pagedManager(clientWithPooling, clientWithPooling);
|
|
171
155
|
}
|
|
172
156
|
// eslint-disable-next-line no-unused-vars
|
|
173
|
-
function paginate(fetchFunc, args) {
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
return allItems;
|
|
178
|
-
});
|
|
157
|
+
async function paginate(fetchFunc, args) {
|
|
158
|
+
// override default <T>.list() behaviour using pagedClient
|
|
159
|
+
const allItems = (await fetchFunc(args));
|
|
160
|
+
return allItems;
|
|
179
161
|
}
|
|
180
|
-
//# sourceMappingURL=client.js.map
|
|
@@ -1,30 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Management } from 'auth0';
|
|
2
2
|
import DefaultAPIHandler from './default';
|
|
3
3
|
import { Asset, Assets } from '../../../types';
|
|
4
|
-
export type Action = {
|
|
5
|
-
id: string;
|
|
6
|
-
name: string;
|
|
7
|
-
created_at: string;
|
|
8
|
-
updated_at: string;
|
|
4
|
+
export type Action = Management.Action & {
|
|
9
5
|
deployed?: boolean;
|
|
10
|
-
supported_triggers: {
|
|
11
|
-
id: string;
|
|
12
|
-
version: string;
|
|
13
|
-
status?: string;
|
|
14
|
-
}[];
|
|
15
|
-
code?: string;
|
|
16
|
-
dependencies?: [];
|
|
17
|
-
runtime?: string;
|
|
18
|
-
status?: string;
|
|
19
|
-
secrets?: {
|
|
20
|
-
name: string;
|
|
21
|
-
value: string;
|
|
22
|
-
}[];
|
|
23
|
-
all_changes_deployed?: boolean;
|
|
24
|
-
installed_integration_id?: string;
|
|
25
|
-
integration?: Object;
|
|
26
6
|
};
|
|
27
|
-
type
|
|
7
|
+
type ActionCreate = Management.CreateActionRequestContent;
|
|
8
|
+
type CreateActionRequestWithId = ActionCreate & {
|
|
28
9
|
id: string;
|
|
29
10
|
};
|
|
30
11
|
export declare const schema: {
|
|
@@ -110,10 +91,11 @@ export declare const schema: {
|
|
|
110
91
|
};
|
|
111
92
|
export declare function isMarketplaceAction(action: Action): boolean;
|
|
112
93
|
export default class ActionHandler extends DefaultAPIHandler {
|
|
113
|
-
existing:
|
|
94
|
+
existing: Action[] | null;
|
|
114
95
|
constructor(options: DefaultAPIHandler);
|
|
115
|
-
createAction(action:
|
|
116
|
-
|
|
96
|
+
createAction(action: CreateActionRequestWithId): Promise<Management.CreateActionResponseContent>;
|
|
97
|
+
updateAction(actionId: string, action: Management.UpdateActionRequestContent): Promise<Management.UpdateActionResponseContent>;
|
|
98
|
+
deleteAction(actionId: string): Promise<void | never[]>;
|
|
117
99
|
objString(action: any): string;
|
|
118
100
|
deployActions(actions: any): Promise<void>;
|
|
119
101
|
deployAction(action: any): Promise<void>;
|