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
|
@@ -38,15 +38,6 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
38
38
|
return result;
|
|
39
39
|
};
|
|
40
40
|
})();
|
|
41
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
42
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
43
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
44
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
45
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
46
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
47
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
48
|
-
});
|
|
49
|
-
};
|
|
50
41
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
51
42
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
52
43
|
};
|
|
@@ -71,7 +62,9 @@ exports.schema = {
|
|
|
71
62
|
properties: {
|
|
72
63
|
customScripts: {
|
|
73
64
|
type: 'object',
|
|
74
|
-
properties:
|
|
65
|
+
properties: {
|
|
66
|
+
...constants_1.default.DATABASE_SCRIPTS.reduce((o, script) => ({ ...o, [script]: { type: 'string' } }), {}),
|
|
67
|
+
},
|
|
75
68
|
},
|
|
76
69
|
attributes: {
|
|
77
70
|
type: 'object',
|
|
@@ -154,30 +147,28 @@ exports.schema = {
|
|
|
154
147
|
};
|
|
155
148
|
class DatabaseHandler extends default_1.default {
|
|
156
149
|
constructor(config) {
|
|
157
|
-
super(
|
|
150
|
+
super({
|
|
151
|
+
...config,
|
|
152
|
+
type: 'databases',
|
|
153
|
+
stripUpdateFields: ['strategy', 'name'],
|
|
154
|
+
});
|
|
158
155
|
}
|
|
159
156
|
objString(db) {
|
|
160
157
|
return super.objString({ name: db.name, id: db.id });
|
|
161
158
|
}
|
|
162
|
-
validate(assets) {
|
|
163
|
-
const
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
return;
|
|
171
|
-
// Validate each database
|
|
172
|
-
databases.forEach((database) => {
|
|
173
|
-
this.validateEmailUniqueConstraints(database);
|
|
174
|
-
});
|
|
175
|
-
yield _super.validate.call(this, assets);
|
|
159
|
+
async validate(assets) {
|
|
160
|
+
const { databases } = assets;
|
|
161
|
+
// Do nothing if not set
|
|
162
|
+
if (!databases)
|
|
163
|
+
return;
|
|
164
|
+
// Validate each database
|
|
165
|
+
databases.forEach((database) => {
|
|
166
|
+
this.validateEmailUniqueConstraints(database);
|
|
176
167
|
});
|
|
168
|
+
await super.validate(assets);
|
|
177
169
|
}
|
|
178
170
|
validateEmailUniqueConstraints(payload) {
|
|
179
|
-
|
|
180
|
-
const attributes = (_a = payload === null || payload === void 0 ? void 0 : payload.options) === null || _a === void 0 ? void 0 : _a.attributes;
|
|
171
|
+
const attributes = payload?.options?.attributes;
|
|
181
172
|
// Only validate if attributes are present
|
|
182
173
|
if (!attributes)
|
|
183
174
|
return;
|
|
@@ -185,15 +176,15 @@ class DatabaseHandler extends default_1.default {
|
|
|
185
176
|
const usernameAttributes = attributes.username;
|
|
186
177
|
const phoneAttributes = attributes.phone_number;
|
|
187
178
|
// At least one identifier must always be active
|
|
188
|
-
const hasAnyActiveIdentifier =
|
|
189
|
-
|
|
190
|
-
|
|
179
|
+
const hasAnyActiveIdentifier = emailAttributes?.identifier?.active === true ||
|
|
180
|
+
usernameAttributes?.identifier?.active === true ||
|
|
181
|
+
phoneAttributes?.identifier?.active === true;
|
|
191
182
|
if (!hasAnyActiveIdentifier) {
|
|
192
183
|
throw new Error(`Database "${payload.name}": At least one identifier must be active. Either email.identifier.active, username.identifier.active, or phone_number.identifier.active must be set to true.`);
|
|
193
184
|
}
|
|
194
|
-
if (
|
|
185
|
+
if (emailAttributes?.unique === false) {
|
|
195
186
|
// When email.unique = false, email.identifier.active cannot be true
|
|
196
|
-
if (
|
|
187
|
+
if (emailAttributes?.identifier?.active === true) {
|
|
197
188
|
throw new Error(`Database "${payload.name}": Cannot set email.identifier.active to true when email.unique is false. Non-unique emails cannot be used as active identifiers.`);
|
|
198
189
|
}
|
|
199
190
|
}
|
|
@@ -205,114 +196,103 @@ class DatabaseHandler extends default_1.default {
|
|
|
205
196
|
}
|
|
206
197
|
// If we going to update database, we need to get current options first
|
|
207
198
|
if (fn === 'update') {
|
|
208
|
-
return (params, payload) => this.client.connections.get(params).then((response) => {
|
|
209
|
-
|
|
210
|
-
const
|
|
211
|
-
const
|
|
212
|
-
const
|
|
213
|
-
const validation = (_c = payload === null || payload === void 0 ? void 0 : payload.options) === null || _c === void 0 ? void 0 : _c.validation;
|
|
199
|
+
return (params, payload) => this.client.connections.get(params?.id).then((response) => {
|
|
200
|
+
const connection = response;
|
|
201
|
+
const attributes = payload?.options?.attributes;
|
|
202
|
+
const requiresUsername = payload?.options?.requires_username;
|
|
203
|
+
const validation = payload?.options?.validation;
|
|
214
204
|
if (attributes && (requiresUsername || validation)) {
|
|
215
205
|
logger_1.default.warn('Warning: "attributes" cannot be used with "requires_username" or "validation". Please remove one of the conflicting options.');
|
|
216
206
|
}
|
|
217
207
|
else if (attributes) {
|
|
218
|
-
delete connection.options
|
|
219
|
-
delete connection.options
|
|
208
|
+
delete connection.options?.validation;
|
|
209
|
+
delete connection.options?.requires_username;
|
|
220
210
|
}
|
|
221
211
|
else if (requiresUsername || validation) {
|
|
222
|
-
delete connection.options
|
|
212
|
+
delete connection.options?.attributes;
|
|
223
213
|
}
|
|
224
|
-
payload.options =
|
|
214
|
+
payload.options = { ...connection.options, ...payload.options };
|
|
225
215
|
if (payload.options && Object.keys(payload.options).length === 0) {
|
|
226
216
|
delete payload.options;
|
|
227
217
|
}
|
|
228
|
-
return this.client.connections.update(params, payload);
|
|
218
|
+
return this.client.connections.update(params.id, payload);
|
|
229
219
|
});
|
|
230
220
|
}
|
|
231
221
|
return this.client.connections[fn].bind(this.client.connections);
|
|
232
222
|
}
|
|
233
|
-
getType() {
|
|
234
|
-
|
|
235
|
-
if (this.existing)
|
|
236
|
-
return this.existing;
|
|
237
|
-
const connections = yield (0, client_1.paginate)(this.client.connections.getAll, {
|
|
238
|
-
strategy: [auth0_1.GetConnectionsStrategyEnum.auth0],
|
|
239
|
-
checkpoint: true,
|
|
240
|
-
include_totals: true,
|
|
241
|
-
});
|
|
242
|
-
const dbConnectionsWithEnabledClients = yield Promise.all(connections.map((con) => __awaiter(this, void 0, void 0, function* () {
|
|
243
|
-
const enabledClients = yield (0, connections_1.getConnectionEnabledClients)(this.client, con.id);
|
|
244
|
-
if (enabledClients && (enabledClients === null || enabledClients === void 0 ? void 0 : enabledClients.length)) {
|
|
245
|
-
return Object.assign(Object.assign({}, con), { enabled_clients: enabledClients });
|
|
246
|
-
}
|
|
247
|
-
return con;
|
|
248
|
-
})));
|
|
249
|
-
// If options option is empty for all connection, log the missing options scope.
|
|
250
|
-
const isOptionExists = dbConnectionsWithEnabledClients.every((c) => c.options && Object.keys(c.options).length > 0);
|
|
251
|
-
if (!isOptionExists) {
|
|
252
|
-
logger_1.default.warn(`Insufficient scope the read:connections_options scope is required to get ${this.type} options.`);
|
|
253
|
-
}
|
|
254
|
-
this.existing = dbConnectionsWithEnabledClients;
|
|
223
|
+
async getType() {
|
|
224
|
+
if (this.existing)
|
|
255
225
|
return this.existing;
|
|
226
|
+
const connections = await (0, client_1.paginate)(this.client.connections.list, {
|
|
227
|
+
strategy: [auth0_1.Management.ConnectionStrategyEnum.Auth0],
|
|
228
|
+
checkpoint: true,
|
|
256
229
|
});
|
|
230
|
+
const dbConnectionsWithEnabledClients = await Promise.all(connections.map(async (con) => {
|
|
231
|
+
if (!con?.id)
|
|
232
|
+
return con;
|
|
233
|
+
const enabledClients = await (0, connections_1.getConnectionEnabledClients)(this.client, con.id);
|
|
234
|
+
if (enabledClients && enabledClients?.length) {
|
|
235
|
+
return { ...con, enabled_clients: enabledClients };
|
|
236
|
+
}
|
|
237
|
+
return con;
|
|
238
|
+
}));
|
|
239
|
+
// If options option is empty for all connection, log the missing options scope.
|
|
240
|
+
const isOptionExists = dbConnectionsWithEnabledClients.every((c) => c.options && Object.keys(c.options).length > 0);
|
|
241
|
+
if (!isOptionExists) {
|
|
242
|
+
logger_1.default.warn(`Insufficient scope the read:connections_options scope is required to get ${this.type} options.`);
|
|
243
|
+
}
|
|
244
|
+
this.existing = dbConnectionsWithEnabledClients;
|
|
245
|
+
return this.existing;
|
|
257
246
|
}
|
|
258
|
-
calcChanges(assets) {
|
|
259
|
-
const
|
|
260
|
-
|
|
247
|
+
async calcChanges(assets) {
|
|
248
|
+
const { databases } = assets;
|
|
249
|
+
// Do nothing if not set
|
|
250
|
+
if (!databases)
|
|
251
|
+
return {
|
|
252
|
+
del: [],
|
|
253
|
+
create: [],
|
|
254
|
+
update: [],
|
|
255
|
+
conflicts: [],
|
|
256
|
+
};
|
|
257
|
+
// Convert enabled_clients by name to the id
|
|
258
|
+
const clients = await (0, client_1.paginate)(this.client.clients.list, {
|
|
259
|
+
paginate: true,
|
|
260
|
+
});
|
|
261
|
+
const existingDatabasesConnections = await (0, client_1.paginate)(this.client.connections.list, {
|
|
262
|
+
strategy: [auth0_1.Management.ConnectionStrategyEnum.Auth0],
|
|
263
|
+
checkpoint: true,
|
|
264
|
+
include_totals: true,
|
|
261
265
|
});
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
// Do nothing if not set
|
|
265
|
-
if (!databases)
|
|
266
|
+
const formatted = databases.map((db) => {
|
|
267
|
+
if (db.enabled_clients) {
|
|
266
268
|
return {
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
update: [],
|
|
270
|
-
conflicts: [],
|
|
269
|
+
...db,
|
|
270
|
+
enabled_clients: (0, utils_1.getEnabledClients)(assets, db, existingDatabasesConnections, clients),
|
|
271
271
|
};
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
paginate: true,
|
|
275
|
-
include_totals: true,
|
|
276
|
-
});
|
|
277
|
-
const existingDatabasesConnections = yield (0, client_1.paginate)(this.client.connections.getAll, {
|
|
278
|
-
strategy: [auth0_1.GetConnectionsStrategyEnum.auth0],
|
|
279
|
-
checkpoint: true,
|
|
280
|
-
include_totals: true,
|
|
281
|
-
});
|
|
282
|
-
const formatted = databases.map((db) => {
|
|
283
|
-
if (db.enabled_clients) {
|
|
284
|
-
return Object.assign(Object.assign({}, db), { enabled_clients: (0, utils_1.getEnabledClients)(assets, db, existingDatabasesConnections, clients) });
|
|
285
|
-
}
|
|
286
|
-
return db;
|
|
287
|
-
});
|
|
288
|
-
return _super.calcChanges.call(this, Object.assign(Object.assign({}, assets), { databases: formatted }));
|
|
272
|
+
}
|
|
273
|
+
return db;
|
|
289
274
|
});
|
|
275
|
+
return super.calcChanges({ ...assets, databases: formatted });
|
|
290
276
|
}
|
|
291
277
|
// Run after clients are updated so we can convert all the enabled_clients names to id's
|
|
292
|
-
processChanges(assets) {
|
|
293
|
-
const
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
const changes = yield this.calcChanges(assets);
|
|
308
|
-
yield _super.processChanges.call(this, assets, (0, utils_1.filterExcluded)(changes, excludedConnections));
|
|
309
|
-
// process enabled clients
|
|
310
|
-
yield (0, connections_1.processConnectionEnabledClients)(this.client, this.type, (0, utils_1.filterExcluded)(changes, excludedConnections));
|
|
311
|
-
});
|
|
278
|
+
async processChanges(assets) {
|
|
279
|
+
const { databases } = assets;
|
|
280
|
+
// Do nothing if not set
|
|
281
|
+
if (!databases)
|
|
282
|
+
return;
|
|
283
|
+
// If options option is empty for all connection, log the missing options scope.
|
|
284
|
+
const isOptionExists = databases.every((c) => c.options && Object.keys(c.options).length > 0);
|
|
285
|
+
if (!isOptionExists) {
|
|
286
|
+
logger_1.default.warn(`Insufficient scope the update:connections_options scope is required to update ${this.type} options.`);
|
|
287
|
+
}
|
|
288
|
+
const excludedConnections = (assets.exclude && assets.exclude.databases) || [];
|
|
289
|
+
const changes = await this.calcChanges(assets);
|
|
290
|
+
await super.processChanges(assets, (0, utils_1.filterExcluded)(changes, excludedConnections));
|
|
291
|
+
// process enabled clients
|
|
292
|
+
await (0, connections_1.processConnectionEnabledClients)(this.client, this.type, (0, utils_1.filterExcluded)(changes, excludedConnections));
|
|
312
293
|
}
|
|
313
294
|
}
|
|
314
295
|
exports.default = DatabaseHandler;
|
|
315
296
|
__decorate([
|
|
316
297
|
(0, default_1.order)('60')
|
|
317
298
|
], DatabaseHandler.prototype, "processChanges", null);
|
|
318
|
-
//# sourceMappingURL=databases.js.map
|
|
@@ -18,7 +18,7 @@ export default class APIHandler {
|
|
|
18
18
|
stripCreateFields: string[];
|
|
19
19
|
name?: string;
|
|
20
20
|
functions: {
|
|
21
|
-
|
|
21
|
+
list: ApiMethodOverride;
|
|
22
22
|
update: ApiMethodOverride;
|
|
23
23
|
create: ApiMethodOverride;
|
|
24
24
|
delete: ApiMethodOverride;
|
|
@@ -34,7 +34,7 @@ export default class APIHandler {
|
|
|
34
34
|
sensitiveFieldsToObfuscate?: APIHandler['sensitiveFieldsToObfuscate'];
|
|
35
35
|
stripCreateFields?: APIHandler['stripCreateFields'];
|
|
36
36
|
functions: {
|
|
37
|
-
|
|
37
|
+
list?: ApiMethodOverride;
|
|
38
38
|
update?: ApiMethodOverride;
|
|
39
39
|
create?: ApiMethodOverride;
|
|
40
40
|
delete?: ApiMethodOverride;
|