auth0-deploy-cli 8.20.2 → 8.20.4-beta.0
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 +46 -5
- package/CHANGELOG.md +17 -1
- package/eslint.config.js +130 -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.js +38 -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 +17 -29
- 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 +39 -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 +0 -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/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/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 +41 -55
- 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 +36 -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 +0 -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/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/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 -95
- package/lib/index.js +24 -34
- package/lib/keywordPreservation.d.ts +1 -1
- package/lib/keywordPreservation.js +10 -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 +111 -120
- 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 -8
- package/lib/tools/auth0/handlers/clientGrants.js +65 -70
- package/lib/tools/auth0/handlers/clients.d.ts +3 -9
- package/lib/tools/auth0/handlers/clients.js +59 -63
- 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.js +49 -71
- package/lib/tools/auth0/handlers/flowVaultConnections.d.ts +5 -12
- package/lib/tools/auth0/handlers/flowVaultConnections.js +108 -143
- 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 +0 -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 +360 -429
- 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/prompts.d.ts +5 -5
- package/lib/tools/auth0/handlers/prompts.js +242 -249
- package/lib/tools/auth0/handlers/resourceServers.d.ts +3 -1
- package/lib/tools/auth0/handlers/resourceServers.js +59 -60
- package/lib/tools/auth0/handlers/roles.js +162 -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 +11 -3
- package/lib/tools/auth0/handlers/selfServiceProfiles.js +170 -208
- package/lib/tools/auth0/handlers/tenant.d.ts +5 -3
- package/lib/tools/auth0/handlers/tenant.js +45 -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/triggers.js +59 -75
- package/lib/tools/auth0/handlers/userAttributeProfiles.d.ts +3 -2
- package/lib/tools/auth0/handlers/userAttributeProfiles.js +54 -56
- 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 +2 -2
- package/lib/tools/constants.js +0 -1
- package/lib/tools/deploy.js +17 -29
- package/lib/tools/index.d.ts +3 -88
- 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 +8 -4
- package/lib/types.js +0 -1
- package/lib/utils.d.ts +3 -57
- package/lib/utils.js +8 -5
- package/package.json +12 -11
- 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/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/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/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,26 +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
|
-
var __rest = (this && this.__rest) || function (s, e) {
|
|
51
|
-
var t = {};
|
|
52
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
53
|
-
t[p] = s[p];
|
|
54
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
55
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
56
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
57
|
-
t[p[i]] = s[p[i]];
|
|
58
|
-
}
|
|
59
|
-
return t;
|
|
60
|
-
};
|
|
61
41
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
62
42
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
63
43
|
};
|
|
@@ -79,71 +59,69 @@ exports.schema = {
|
|
|
79
59
|
};
|
|
80
60
|
class EmailTemplateHandler extends default_1.default {
|
|
81
61
|
constructor(options) {
|
|
82
|
-
super(
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
const emailTemplates = yield Promise.all(constants_1.default.EMAIL_TEMPLATES_TYPES.map((templateName) => __awaiter(this, void 0, void 0, function* () {
|
|
87
|
-
try {
|
|
88
|
-
const { data: template } = yield this.client.emailTemplates.get({ templateName });
|
|
89
|
-
return template;
|
|
90
|
-
}
|
|
91
|
-
catch (err) {
|
|
92
|
-
if (err.statusCode === 403 && templateName === constants_1.default.EMAIL_ASYNC_APPROVAL) {
|
|
93
|
-
// Ignore if feature_not_enabled
|
|
94
|
-
return null;
|
|
95
|
-
}
|
|
96
|
-
// Ignore if not found, else throw error
|
|
97
|
-
if (err.statusCode !== 404) {
|
|
98
|
-
throw err;
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
})));
|
|
102
|
-
const nonEmptyTemplates = emailTemplates.filter((template) => !!template);
|
|
103
|
-
return nonEmptyTemplates;
|
|
62
|
+
super({
|
|
63
|
+
...options,
|
|
64
|
+
type: 'emailTemplates',
|
|
65
|
+
identifiers: ['template'],
|
|
104
66
|
});
|
|
105
67
|
}
|
|
106
|
-
|
|
107
|
-
|
|
68
|
+
async getType() {
|
|
69
|
+
const emailTemplates = await Promise.all(constants_1.default.EMAIL_TEMPLATES_TYPES.map(async (templateName) => {
|
|
108
70
|
try {
|
|
109
|
-
const
|
|
110
|
-
|
|
111
|
-
const { data: updated } = yield this.client.emailTemplates.update(params, emailTemplate);
|
|
112
|
-
// Remove body from the response
|
|
113
|
-
const { body } = updated, excludedBody = __rest(updated, ["body"]);
|
|
114
|
-
this.didUpdate(excludedBody);
|
|
115
|
-
this.updated += 1;
|
|
71
|
+
const template = await this.client.emailTemplates.get(templateName);
|
|
72
|
+
return template;
|
|
116
73
|
}
|
|
117
74
|
catch (err) {
|
|
118
|
-
if (err.statusCode ===
|
|
119
|
-
//
|
|
120
|
-
|
|
121
|
-
// Remove body from the response
|
|
122
|
-
const { body } = created, excludedBody = __rest(created, ["body"]);
|
|
123
|
-
this.didCreate(excludedBody);
|
|
124
|
-
this.created += 1;
|
|
75
|
+
if (err.statusCode === 403 && templateName === constants_1.default.EMAIL_ASYNC_APPROVAL) {
|
|
76
|
+
// Ignore if feature_not_enabled
|
|
77
|
+
return null;
|
|
125
78
|
}
|
|
126
|
-
else
|
|
79
|
+
// Ignore if not found, else throw error
|
|
80
|
+
if (err.statusCode !== 404) {
|
|
127
81
|
throw err;
|
|
128
82
|
}
|
|
129
83
|
}
|
|
130
|
-
|
|
84
|
+
return null;
|
|
85
|
+
}));
|
|
86
|
+
const nonEmptyTemplates = emailTemplates.filter((template) => !!template);
|
|
87
|
+
return nonEmptyTemplates;
|
|
88
|
+
}
|
|
89
|
+
async updateOrCreate(emailTemplate) {
|
|
90
|
+
try {
|
|
91
|
+
const identifierField = this.identifiers[0];
|
|
92
|
+
const params = { templateName: emailTemplate[identifierField] };
|
|
93
|
+
const updated = await this.client.emailTemplates.update(params.templateName, emailTemplate);
|
|
94
|
+
// Remove body from the response
|
|
95
|
+
const { body, ...excludedBody } = updated;
|
|
96
|
+
this.didUpdate(excludedBody);
|
|
97
|
+
this.updated += 1;
|
|
98
|
+
}
|
|
99
|
+
catch (err) {
|
|
100
|
+
if (err.statusCode === 404) {
|
|
101
|
+
// Create if it does not exist
|
|
102
|
+
const created = await this.client.emailTemplates.create(emailTemplate);
|
|
103
|
+
// Remove body from the response
|
|
104
|
+
const { body, ...excludedBody } = created;
|
|
105
|
+
this.didCreate(excludedBody);
|
|
106
|
+
this.created += 1;
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
throw err;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
131
112
|
}
|
|
132
113
|
// Run after email provider changes
|
|
133
|
-
processChanges(assets) {
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
})));
|
|
142
|
-
});
|
|
114
|
+
async processChanges(assets) {
|
|
115
|
+
const { emailTemplates } = assets;
|
|
116
|
+
// Do nothing if not set
|
|
117
|
+
if (!emailTemplates || !emailTemplates.length)
|
|
118
|
+
return;
|
|
119
|
+
await Promise.all(emailTemplates.map(async (emailTemplate) => {
|
|
120
|
+
await this.updateOrCreate(emailTemplate);
|
|
121
|
+
}));
|
|
143
122
|
}
|
|
144
123
|
}
|
|
145
124
|
exports.default = EmailTemplateHandler;
|
|
146
125
|
__decorate([
|
|
147
126
|
(0, default_1.order)('70')
|
|
148
127
|
], EmailTemplateHandler.prototype, "processChanges", null);
|
|
149
|
-
//# sourceMappingURL=emailTemplates.js.map
|
|
@@ -1,14 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Management } from 'auth0';
|
|
2
2
|
import DefaultHandler from './default';
|
|
3
|
-
import { Asset, Assets, CalculatedChanges } from '../../../types';
|
|
4
|
-
export type FlowVaultConnection =
|
|
5
|
-
name: string;
|
|
6
|
-
app_id: string;
|
|
7
|
-
environment: string;
|
|
8
|
-
setup: object;
|
|
9
|
-
account_name: string;
|
|
10
|
-
ready: string;
|
|
11
|
-
};
|
|
3
|
+
import { Asset, Assets, Auth0APIClient, CalculatedChanges } from '../../../types';
|
|
4
|
+
export type FlowVaultConnection = Management.GetFlowsVaultConnectionResponseContent;
|
|
12
5
|
export declare const schema: {
|
|
13
6
|
type: string;
|
|
14
7
|
items: {
|
|
@@ -38,16 +31,16 @@ export declare const schema: {
|
|
|
38
31
|
};
|
|
39
32
|
additionalProperties: boolean;
|
|
40
33
|
};
|
|
34
|
+
export declare const getAllFlowConnections: (auth0Client: Auth0APIClient) => Promise<Management.FlowsVaultConnectionSummary[]>;
|
|
41
35
|
export default class FlowVaultHandler extends DefaultHandler {
|
|
42
36
|
existing: Asset;
|
|
43
37
|
constructor(options: DefaultHandler);
|
|
44
38
|
objString(item: any): string;
|
|
45
39
|
getType(): Promise<Asset>;
|
|
46
40
|
processChanges(assets: Assets): Promise<void>;
|
|
47
|
-
getAllFlowConnections(): Promise<GetFlowsVaultConnections200ResponseOneOfInner[]>;
|
|
48
41
|
createVaultConnection(conn: any): Promise<Asset>;
|
|
49
42
|
createVaultConnections(creates: CalculatedChanges['create']): Promise<void>;
|
|
50
|
-
updateVaultConnection(conn: any): Promise<
|
|
43
|
+
updateVaultConnection(conn: any): Promise<Management.UpdateFlowsVaultConnectionResponseContent>;
|
|
51
44
|
updateVaultConnections(updates: CalculatedChanges['update']): Promise<void>;
|
|
52
45
|
deleteVaultConnection(conn: any): Promise<void>;
|
|
53
46
|
deleteVaultConnections(data: Asset[]): Promise<void>;
|
|
@@ -38,20 +38,11 @@ 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
|
};
|
|
53
44
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
54
|
-
exports.schema = void 0;
|
|
45
|
+
exports.getAllFlowConnections = exports.schema = void 0;
|
|
55
46
|
const lodash_1 = require("lodash");
|
|
56
47
|
const default_1 = __importStar(require("./default"));
|
|
57
48
|
const constants_1 = __importDefault(require("../../constants"));
|
|
@@ -72,165 +63,139 @@ exports.schema = {
|
|
|
72
63
|
},
|
|
73
64
|
additionalProperties: false,
|
|
74
65
|
};
|
|
66
|
+
const getAllFlowConnections = async (auth0Client) => {
|
|
67
|
+
const allFlowConnections = [];
|
|
68
|
+
let vaultConnections = await auth0Client.flows.vault.connections.list();
|
|
69
|
+
do {
|
|
70
|
+
allFlowConnections.push(...vaultConnections.data);
|
|
71
|
+
vaultConnections = await vaultConnections.getNextPage();
|
|
72
|
+
} while (vaultConnections.hasNextPage());
|
|
73
|
+
return allFlowConnections;
|
|
74
|
+
};
|
|
75
|
+
exports.getAllFlowConnections = getAllFlowConnections;
|
|
75
76
|
class FlowVaultHandler extends default_1.default {
|
|
76
77
|
constructor(options) {
|
|
77
|
-
super(
|
|
78
|
+
super({
|
|
79
|
+
...options,
|
|
80
|
+
type: 'flowVaultConnections',
|
|
81
|
+
id: 'id',
|
|
82
|
+
stripCreateFields: ['created_at', 'updated_at', 'refreshed_at', 'fingerprint', 'ready'],
|
|
83
|
+
stripUpdateFields: ['created_at', 'updated_at', 'refreshed_at', 'fingerprint', 'ready'],
|
|
84
|
+
});
|
|
78
85
|
}
|
|
79
86
|
objString(item) {
|
|
80
87
|
return super.objString({ id: item.id, name: item.name });
|
|
81
88
|
}
|
|
82
|
-
getType() {
|
|
83
|
-
|
|
84
|
-
if (this.existing) {
|
|
85
|
-
return this.existing;
|
|
86
|
-
}
|
|
87
|
-
this.existing = yield this.getAllFlowConnections();
|
|
89
|
+
async getType() {
|
|
90
|
+
if (this.existing) {
|
|
88
91
|
return this.existing;
|
|
89
|
-
}
|
|
92
|
+
}
|
|
93
|
+
this.existing = await (0, exports.getAllFlowConnections)(this.client);
|
|
94
|
+
return this.existing;
|
|
90
95
|
}
|
|
91
|
-
processChanges(assets) {
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
yield this.updateVaultConnections(change.update);
|
|
111
|
-
break;
|
|
112
|
-
default:
|
|
113
|
-
break;
|
|
114
|
-
}
|
|
115
|
-
})));
|
|
116
|
-
});
|
|
117
|
-
}
|
|
118
|
-
getAllFlowConnections() {
|
|
119
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
120
|
-
const allFlowConnections = [];
|
|
121
|
-
// paginate without paginate<T> helper as this is not getAll but getAllConnections
|
|
122
|
-
// paginate through all flow connections
|
|
123
|
-
let page = 0;
|
|
124
|
-
while (true) {
|
|
125
|
-
const { data: { connections, total }, } = yield this.client.flows.getAllConnections({
|
|
126
|
-
page: page,
|
|
127
|
-
per_page: 100,
|
|
128
|
-
include_totals: true,
|
|
129
|
-
});
|
|
130
|
-
// if we get an unexpected response, break the loop to avoid infinite loop
|
|
131
|
-
if (!(0, lodash_1.isArray)(allFlowConnections) || typeof total !== 'number') {
|
|
96
|
+
async processChanges(assets) {
|
|
97
|
+
const { flowVaultConnections } = assets;
|
|
98
|
+
// Do nothing if not set
|
|
99
|
+
if (!flowVaultConnections)
|
|
100
|
+
return;
|
|
101
|
+
const { del, update, create } = await this.calcChanges(assets);
|
|
102
|
+
logger_1.default.debug(`Start processChanges for flow vault connections [delete:${del.length}] [update:${update.length}], [create:${create.length}]`);
|
|
103
|
+
const changes = [{ del: del }, { create: create }, { update: update }];
|
|
104
|
+
await Promise.all(changes.map(async (change) => {
|
|
105
|
+
switch (true) {
|
|
106
|
+
case change.del && change.del.length > 0:
|
|
107
|
+
await this.deleteVaultConnections(change.del || []);
|
|
108
|
+
break;
|
|
109
|
+
case change.create && change.create.length > 0:
|
|
110
|
+
await this.createVaultConnections(change.create);
|
|
111
|
+
break;
|
|
112
|
+
case change.update && change.update.length > 0:
|
|
113
|
+
if (change.update)
|
|
114
|
+
await this.updateVaultConnections(change.update);
|
|
132
115
|
break;
|
|
133
|
-
|
|
134
|
-
allFlowConnections.push(...connections);
|
|
135
|
-
page += 1;
|
|
136
|
-
if (allFlowConnections.length === total) {
|
|
116
|
+
default:
|
|
137
117
|
break;
|
|
138
|
-
}
|
|
139
118
|
}
|
|
140
|
-
|
|
141
|
-
});
|
|
119
|
+
}));
|
|
142
120
|
}
|
|
143
|
-
createVaultConnection(conn) {
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
return created;
|
|
153
|
-
});
|
|
121
|
+
async createVaultConnection(conn) {
|
|
122
|
+
if ('ready' in conn) {
|
|
123
|
+
delete conn.ready;
|
|
124
|
+
}
|
|
125
|
+
if ('account_name' in conn) {
|
|
126
|
+
delete conn.account_name;
|
|
127
|
+
}
|
|
128
|
+
const created = await this.client.flows.vault.connections.create(conn);
|
|
129
|
+
return created;
|
|
154
130
|
}
|
|
155
|
-
createVaultConnections(creates) {
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
this.created += 1;
|
|
164
|
-
})
|
|
165
|
-
.catch((err) => {
|
|
166
|
-
throw new Error(`Problem creating ${this.type} ${this.objString(item)}\n${err}`);
|
|
167
|
-
}),
|
|
131
|
+
async createVaultConnections(creates) {
|
|
132
|
+
await this.client.pool
|
|
133
|
+
.addEachTask({
|
|
134
|
+
data: creates || [],
|
|
135
|
+
generator: (item) => this.createVaultConnection(item)
|
|
136
|
+
.then((data) => {
|
|
137
|
+
this.didCreate(data);
|
|
138
|
+
this.created += 1;
|
|
168
139
|
})
|
|
169
|
-
.
|
|
170
|
-
|
|
140
|
+
.catch((err) => {
|
|
141
|
+
throw new Error(`Problem creating ${this.type} ${this.objString(item)}\n${err}`);
|
|
142
|
+
}),
|
|
143
|
+
})
|
|
144
|
+
.promise();
|
|
171
145
|
}
|
|
172
|
-
updateVaultConnection(conn) {
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
146
|
+
async updateVaultConnection(conn) {
|
|
147
|
+
const { id, name, setup } = conn;
|
|
148
|
+
const params = {
|
|
149
|
+
name,
|
|
150
|
+
};
|
|
151
|
+
if (!(0, lodash_1.isEmpty)(setup)) {
|
|
152
|
+
params.setup = setup;
|
|
153
|
+
}
|
|
154
|
+
const updated = await this.client.flows.vault.connections.update(id, params);
|
|
155
|
+
return updated;
|
|
156
|
+
}
|
|
157
|
+
async updateVaultConnections(updates) {
|
|
158
|
+
await this.client.pool
|
|
159
|
+
.addEachTask({
|
|
160
|
+
data: updates || [],
|
|
161
|
+
generator: (item) => this.updateVaultConnection(item)
|
|
162
|
+
.then((data) => {
|
|
163
|
+
this.didUpdate(data);
|
|
164
|
+
this.updated += 1;
|
|
165
|
+
})
|
|
166
|
+
.catch((err) => {
|
|
167
|
+
throw new Error(`Problem updating ${this.type} ${this.objString(item)}\n${err}`);
|
|
168
|
+
}),
|
|
169
|
+
})
|
|
170
|
+
.promise();
|
|
171
|
+
}
|
|
172
|
+
async deleteVaultConnection(conn) {
|
|
173
|
+
await this.client.flows.vault.connections.delete(conn.id);
|
|
184
174
|
}
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
175
|
+
async deleteVaultConnections(data) {
|
|
176
|
+
if (this.config('AUTH0_ALLOW_DELETE') === 'true' ||
|
|
177
|
+
this.config('AUTH0_ALLOW_DELETE') === true) {
|
|
178
|
+
await this.client.pool
|
|
188
179
|
.addEachTask({
|
|
189
|
-
data:
|
|
190
|
-
generator: (item) => this.
|
|
191
|
-
.then((
|
|
192
|
-
this.
|
|
193
|
-
this.
|
|
180
|
+
data: data || [],
|
|
181
|
+
generator: (item) => this.deleteVaultConnection(item)
|
|
182
|
+
.then(() => {
|
|
183
|
+
this.didDelete(item);
|
|
184
|
+
this.deleted += 1;
|
|
194
185
|
})
|
|
195
186
|
.catch((err) => {
|
|
196
|
-
throw new Error(`Problem
|
|
187
|
+
throw new Error(`Problem deleting ${this.type} ${this.objString(item)}\n${err}`);
|
|
197
188
|
}),
|
|
198
189
|
})
|
|
199
190
|
.promise();
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
204
|
-
yield this.client.flows.deleteConnection({ id: conn.id });
|
|
205
|
-
});
|
|
206
|
-
}
|
|
207
|
-
deleteVaultConnections(data) {
|
|
208
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
209
|
-
if (this.config('AUTH0_ALLOW_DELETE') === 'true' ||
|
|
210
|
-
this.config('AUTH0_ALLOW_DELETE') === true) {
|
|
211
|
-
yield this.client.pool
|
|
212
|
-
.addEachTask({
|
|
213
|
-
data: data || [],
|
|
214
|
-
generator: (item) => this.deleteVaultConnection(item)
|
|
215
|
-
.then(() => {
|
|
216
|
-
this.didDelete(item);
|
|
217
|
-
this.deleted += 1;
|
|
218
|
-
})
|
|
219
|
-
.catch((err) => {
|
|
220
|
-
throw new Error(`Problem deleting ${this.type} ${this.objString(item)}\n${err}`);
|
|
221
|
-
}),
|
|
222
|
-
})
|
|
223
|
-
.promise();
|
|
224
|
-
}
|
|
225
|
-
else {
|
|
226
|
-
logger_1.default.warn(`Detected the following flow vault connection should be deleted. Doing so may be destructive.\nYou can enable deletes by setting 'AUTH0_ALLOW_DELETE' to true in the config
|
|
191
|
+
}
|
|
192
|
+
else {
|
|
193
|
+
logger_1.default.warn(`Detected the following flow vault connection should be deleted. Doing so may be destructive.\nYou can enable deletes by setting 'AUTH0_ALLOW_DELETE' to true in the config
|
|
227
194
|
\n${data.map((i) => this.objString(i)).join('\n')}`);
|
|
228
|
-
|
|
229
|
-
});
|
|
195
|
+
}
|
|
230
196
|
}
|
|
231
197
|
}
|
|
232
198
|
exports.default = FlowVaultHandler;
|
|
233
199
|
__decorate([
|
|
234
200
|
(0, default_1.order)('70')
|
|
235
201
|
], FlowVaultHandler.prototype, "processChanges", null);
|
|
236
|
-
//# sourceMappingURL=flowVaultConnections.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Management } from 'auth0';
|
|
2
2
|
import DefaultHandler from './default';
|
|
3
3
|
import { Asset, Assets } from '../../../types';
|
|
4
4
|
export type Flow = {
|
|
@@ -25,10 +25,9 @@ export default class FlowHandler extends DefaultHandler {
|
|
|
25
25
|
existing: Asset;
|
|
26
26
|
constructor(options: DefaultHandler);
|
|
27
27
|
objString(item: any): string;
|
|
28
|
-
getFlows(flows: Array<
|
|
28
|
+
getFlows(flows: Array<Management.FlowSummary>): Promise<Management.GetFlowResponseContent[]>;
|
|
29
29
|
getType(): Promise<Asset>;
|
|
30
30
|
processChanges(assets: Assets): Promise<void>;
|
|
31
|
-
getAllFlowConnections(): Promise<GetFlowsVaultConnections200ResponseOneOfInner[]>;
|
|
32
31
|
formateFlowConnectionId(flows: any, connectionIdMap: any): Promise<Asset>;
|
|
33
32
|
pargeFlowConnectionName(flows: any, connectionNameMap: any): Promise<Flow[]>;
|
|
34
33
|
}
|