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,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
|
};
|
|
@@ -54,98 +45,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
54
45
|
exports.schema = void 0;
|
|
55
46
|
const logger_1 = __importDefault(require("../../../logger"));
|
|
56
47
|
const default_1 = __importStar(require("./default"));
|
|
57
|
-
class ThemesHandler extends default_1.default {
|
|
58
|
-
constructor(options) {
|
|
59
|
-
super(Object.assign(Object.assign({}, options), { type: 'themes', id: 'themeId' }));
|
|
60
|
-
}
|
|
61
|
-
objString(theme) {
|
|
62
|
-
return theme.displayName || JSON.stringify(theme);
|
|
63
|
-
}
|
|
64
|
-
getType() {
|
|
65
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
66
|
-
if (!this.existing) {
|
|
67
|
-
this.existing = yield this.getThemes();
|
|
68
|
-
}
|
|
69
|
-
return this.existing;
|
|
70
|
-
});
|
|
71
|
-
}
|
|
72
|
-
processChanges(assets) {
|
|
73
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
74
|
-
const { themes } = assets;
|
|
75
|
-
// Non existing section means themes doesn't need to be processed
|
|
76
|
-
if (!themes) {
|
|
77
|
-
return;
|
|
78
|
-
}
|
|
79
|
-
// Empty array means themes should be deleted
|
|
80
|
-
if (themes.length === 0) {
|
|
81
|
-
return this.deleteThemes();
|
|
82
|
-
}
|
|
83
|
-
return this.updateThemes(themes);
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
|
-
deleteThemes() {
|
|
87
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
88
|
-
if (!this.config('AUTH0_ALLOW_DELETE')) {
|
|
89
|
-
return;
|
|
90
|
-
}
|
|
91
|
-
// if theme exists we need to delete it
|
|
92
|
-
const currentThemes = yield this.getThemes();
|
|
93
|
-
if (currentThemes === null || currentThemes.length === 0) {
|
|
94
|
-
return;
|
|
95
|
-
}
|
|
96
|
-
const currentTheme = currentThemes[0];
|
|
97
|
-
yield this.client.branding.deleteTheme({ themeId: currentTheme.themeId });
|
|
98
|
-
this.deleted += 1;
|
|
99
|
-
this.didDelete(currentTheme);
|
|
100
|
-
});
|
|
101
|
-
}
|
|
102
|
-
updateThemes(themes) {
|
|
103
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
104
|
-
if (themes.length > 1) {
|
|
105
|
-
logger_1.default.warn('Only one theme is supported per tenant');
|
|
106
|
-
}
|
|
107
|
-
const currentThemes = yield this.getThemes();
|
|
108
|
-
const themeReqPayload = (() => {
|
|
109
|
-
// Removing themeId from update and create payloads, otherwise API will error
|
|
110
|
-
// Theme ID may be required to handle if `--export_ids=true`
|
|
111
|
-
const payload = themes[0];
|
|
112
|
-
//@ts-ignore to quell non-optional themeId property, but we know that it's ok to delete
|
|
113
|
-
delete payload.themeId;
|
|
114
|
-
return payload;
|
|
115
|
-
})();
|
|
116
|
-
if (currentThemes === null || currentThemes.length === 0) {
|
|
117
|
-
yield this.client.branding.createTheme(themeReqPayload);
|
|
118
|
-
}
|
|
119
|
-
else {
|
|
120
|
-
const currentTheme = currentThemes[0];
|
|
121
|
-
// if theme exists, overwrite it otherwise create it
|
|
122
|
-
yield this.client.branding.updateTheme({ themeId: currentTheme.themeId }, themeReqPayload);
|
|
123
|
-
}
|
|
124
|
-
this.updated += 1;
|
|
125
|
-
this.didUpdate(themes[0]);
|
|
126
|
-
});
|
|
127
|
-
}
|
|
128
|
-
getThemes() {
|
|
129
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
130
|
-
try {
|
|
131
|
-
const { data: theme } = yield this.client.branding.getDefaultTheme();
|
|
132
|
-
return [theme];
|
|
133
|
-
}
|
|
134
|
-
catch (err) {
|
|
135
|
-
if (err.statusCode === 404)
|
|
136
|
-
return [];
|
|
137
|
-
if (err.statusCode === 400)
|
|
138
|
-
return null;
|
|
139
|
-
// Errors other than 404 (theme doesn't exist) or 400 (no-code not enabled) shouldn't be expected
|
|
140
|
-
throw err;
|
|
141
|
-
}
|
|
142
|
-
});
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
exports.default = ThemesHandler;
|
|
146
|
-
__decorate([
|
|
147
|
-
(0, default_1.order)('60') // Run after custom domains.
|
|
148
|
-
], ThemesHandler.prototype, "processChanges", null);
|
|
149
48
|
/**
|
|
150
49
|
* Schema
|
|
151
50
|
*/
|
|
@@ -558,4 +457,89 @@ exports.schema = {
|
|
|
558
457
|
type: 'object',
|
|
559
458
|
},
|
|
560
459
|
};
|
|
561
|
-
|
|
460
|
+
class ThemesHandler extends default_1.default {
|
|
461
|
+
constructor(options) {
|
|
462
|
+
super({
|
|
463
|
+
...options,
|
|
464
|
+
type: 'themes',
|
|
465
|
+
id: 'themeId',
|
|
466
|
+
});
|
|
467
|
+
}
|
|
468
|
+
objString(theme) {
|
|
469
|
+
return theme.displayName || JSON.stringify(theme);
|
|
470
|
+
}
|
|
471
|
+
async getType() {
|
|
472
|
+
if (!this.existing) {
|
|
473
|
+
this.existing = await this.getThemes();
|
|
474
|
+
}
|
|
475
|
+
return this.existing;
|
|
476
|
+
}
|
|
477
|
+
async processChanges(assets) {
|
|
478
|
+
const { themes } = assets;
|
|
479
|
+
// Non existing section means themes doesn't need to be processed
|
|
480
|
+
if (!themes) {
|
|
481
|
+
return;
|
|
482
|
+
}
|
|
483
|
+
// Empty array means themes should be deleted
|
|
484
|
+
if (themes.length === 0) {
|
|
485
|
+
return this.deleteThemes();
|
|
486
|
+
}
|
|
487
|
+
return this.updateThemes(themes);
|
|
488
|
+
}
|
|
489
|
+
async deleteThemes() {
|
|
490
|
+
if (!this.config('AUTH0_ALLOW_DELETE')) {
|
|
491
|
+
return;
|
|
492
|
+
}
|
|
493
|
+
// if theme exists we need to delete it
|
|
494
|
+
const currentThemes = await this.getThemes();
|
|
495
|
+
if (currentThemes === null || currentThemes.length === 0) {
|
|
496
|
+
return;
|
|
497
|
+
}
|
|
498
|
+
const currentTheme = currentThemes[0];
|
|
499
|
+
await this.client.branding.themes.delete(currentTheme.themeId);
|
|
500
|
+
this.deleted += 1;
|
|
501
|
+
this.didDelete(currentTheme);
|
|
502
|
+
}
|
|
503
|
+
async updateThemes(themes) {
|
|
504
|
+
if (themes.length > 1) {
|
|
505
|
+
logger_1.default.warn('Only one theme is supported per tenant');
|
|
506
|
+
}
|
|
507
|
+
const currentThemes = await this.getThemes();
|
|
508
|
+
const themeReqPayload = (() => {
|
|
509
|
+
// Removing themeId from update and create payloads, otherwise API will error
|
|
510
|
+
// Theme ID may be required to handle if `--export_ids=true`
|
|
511
|
+
const payload = themes[0];
|
|
512
|
+
// @ts-ignore to quell non-optional themeId property, but we know that it's ok to delete
|
|
513
|
+
delete payload.themeId;
|
|
514
|
+
return payload;
|
|
515
|
+
})();
|
|
516
|
+
if (currentThemes === null || currentThemes.length === 0) {
|
|
517
|
+
await this.client.branding.themes.create(themeReqPayload);
|
|
518
|
+
}
|
|
519
|
+
else {
|
|
520
|
+
const currentTheme = currentThemes[0];
|
|
521
|
+
// if theme exists, overwrite it otherwise create it
|
|
522
|
+
await this.client.branding.themes.update(currentTheme.themeId, themeReqPayload);
|
|
523
|
+
}
|
|
524
|
+
this.updated += 1;
|
|
525
|
+
this.didUpdate(themes[0]);
|
|
526
|
+
}
|
|
527
|
+
async getThemes() {
|
|
528
|
+
try {
|
|
529
|
+
const theme = await this.client.branding.themes.getDefault();
|
|
530
|
+
return [theme];
|
|
531
|
+
}
|
|
532
|
+
catch (err) {
|
|
533
|
+
if (err.statusCode === 404)
|
|
534
|
+
return [];
|
|
535
|
+
if (err.statusCode === 400)
|
|
536
|
+
return null;
|
|
537
|
+
// Errors other than 404 (theme doesn't exist) or 400 (no-code not enabled) shouldn't be expected
|
|
538
|
+
throw err;
|
|
539
|
+
}
|
|
540
|
+
}
|
|
541
|
+
}
|
|
542
|
+
exports.default = ThemesHandler;
|
|
543
|
+
__decorate([
|
|
544
|
+
(0, default_1.order)('60') // Run after custom domains.
|
|
545
|
+
], ThemesHandler.prototype, "processChanges", null);
|
|
@@ -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
|
};
|
|
@@ -79,81 +70,74 @@ function isActionsDisabled(err) {
|
|
|
79
70
|
}
|
|
80
71
|
class TriggersHandler extends default_1.default {
|
|
81
72
|
constructor(options) {
|
|
82
|
-
super(
|
|
73
|
+
super({
|
|
74
|
+
...options,
|
|
75
|
+
type: 'triggers',
|
|
76
|
+
id: 'name',
|
|
77
|
+
});
|
|
83
78
|
}
|
|
84
|
-
getType() {
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
const triggerId = triggers[i];
|
|
99
|
-
let bindings;
|
|
100
|
-
try {
|
|
101
|
-
const { data } = yield this.client.actions.getTriggerBindings({
|
|
102
|
-
triggerId: triggerId,
|
|
103
|
-
});
|
|
104
|
-
bindings = data === null || data === void 0 ? void 0 : data.bindings;
|
|
105
|
-
}
|
|
106
|
-
catch (err) {
|
|
107
|
-
logger_1.default.warn(`${err.message} (trigger: ${triggerId}). Skipping this trigger and continuing.`);
|
|
108
|
-
continue;
|
|
109
|
-
}
|
|
110
|
-
if (bindings && bindings.length > 0) {
|
|
111
|
-
triggerBindings[triggerId] = bindings.map((binding) => ({
|
|
112
|
-
action_name: binding.action.name,
|
|
113
|
-
display_name: binding.display_name,
|
|
114
|
-
}));
|
|
115
|
-
}
|
|
79
|
+
async getType() {
|
|
80
|
+
if (this.existing) {
|
|
81
|
+
return this.existing;
|
|
82
|
+
}
|
|
83
|
+
const triggerBindings = {};
|
|
84
|
+
try {
|
|
85
|
+
const res = await this.client.actions.triggers.list();
|
|
86
|
+
const triggers = (0, lodash_1.default)(res?.triggers).map('id').uniq().value();
|
|
87
|
+
for (let i = 0; i < triggers.length; i++) {
|
|
88
|
+
const triggerId = triggers[i];
|
|
89
|
+
let bindings;
|
|
90
|
+
try {
|
|
91
|
+
const { data } = await this.client.actions.triggers.bindings.list(triggerId);
|
|
92
|
+
bindings = data;
|
|
116
93
|
}
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
catch (err) {
|
|
121
|
-
if (err.statusCode === 404 || err.statusCode === 501) {
|
|
122
|
-
return [];
|
|
94
|
+
catch (err) {
|
|
95
|
+
logger_1.default.warn(`${err.message} (trigger: ${triggerId}). Skipping this trigger and continuing.`);
|
|
96
|
+
bindings = null;
|
|
123
97
|
}
|
|
124
|
-
if (
|
|
125
|
-
|
|
126
|
-
|
|
98
|
+
if (bindings && bindings.length > 0) {
|
|
99
|
+
triggerBindings[triggerId] = bindings.map((binding) => ({
|
|
100
|
+
action_name: binding.action.name,
|
|
101
|
+
display_name: binding.display_name,
|
|
102
|
+
}));
|
|
127
103
|
}
|
|
128
|
-
throw err;
|
|
129
104
|
}
|
|
130
|
-
|
|
105
|
+
this.existing = triggerBindings;
|
|
106
|
+
return this.existing;
|
|
107
|
+
}
|
|
108
|
+
catch (err) {
|
|
109
|
+
if (err.statusCode === 404 || err.statusCode === 501) {
|
|
110
|
+
return [];
|
|
111
|
+
}
|
|
112
|
+
if (isActionsDisabled(err)) {
|
|
113
|
+
logger_1.default.info('Skipping triggers because Actions is not enabled.');
|
|
114
|
+
return {};
|
|
115
|
+
}
|
|
116
|
+
throw err;
|
|
117
|
+
}
|
|
131
118
|
}
|
|
132
|
-
processChanges(assets) {
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
})));
|
|
152
|
-
});
|
|
119
|
+
async processChanges(assets) {
|
|
120
|
+
// No API to delete or create triggers, we can only update.
|
|
121
|
+
const { triggers } = assets;
|
|
122
|
+
// Do nothing if not set
|
|
123
|
+
if (!triggers)
|
|
124
|
+
return;
|
|
125
|
+
await (0, utils_1.sleep)(2000); // Delay to allow newly-deployed actions to register in backend
|
|
126
|
+
await Promise.all(Object.entries(triggers).map(async ([name, data]) => {
|
|
127
|
+
const bindings = data.map((binding) => ({
|
|
128
|
+
ref: {
|
|
129
|
+
type: 'action_name',
|
|
130
|
+
value: binding.action_name,
|
|
131
|
+
},
|
|
132
|
+
display_name: binding.display_name,
|
|
133
|
+
}));
|
|
134
|
+
await this.client.actions.triggers.bindings.updateMany(name, { bindings });
|
|
135
|
+
this.didUpdate({ trigger_id: name });
|
|
136
|
+
this.updated += 1;
|
|
137
|
+
}));
|
|
153
138
|
}
|
|
154
139
|
}
|
|
155
140
|
exports.default = TriggersHandler;
|
|
156
141
|
__decorate([
|
|
157
142
|
(0, default_1.order)('80')
|
|
158
143
|
], TriggersHandler.prototype, "processChanges", null);
|
|
159
|
-
//# sourceMappingURL=triggers.js.map
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Management } from 'auth0';
|
|
2
2
|
import DefaultAPIHandler from './default';
|
|
3
3
|
import { Assets } from '../../../types';
|
|
4
|
+
export type UserAttributeProfile = Management.UserAttributeProfile;
|
|
4
5
|
export declare const schema: {
|
|
5
6
|
type: string;
|
|
6
7
|
items: {
|
|
@@ -116,6 +117,6 @@ export declare const schema: {
|
|
|
116
117
|
export default class UserAttributeProfilesHandler extends DefaultAPIHandler {
|
|
117
118
|
existing: UserAttributeProfile[];
|
|
118
119
|
constructor(options: DefaultAPIHandler);
|
|
119
|
-
getType(): Promise<UserAttributeProfile[] | null>;
|
|
120
|
+
getType(): Promise<Management.UserAttributeProfile[] | null>;
|
|
120
121
|
processChanges(assets: Assets): Promise<void>;
|
|
121
122
|
}
|
|
@@ -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
|
};
|
|
@@ -60,7 +51,9 @@ const strategies = ['pingfederate', 'ad', 'adfs', 'waad', 'google-apps', 'okta',
|
|
|
60
51
|
const strategyOverrides = {
|
|
61
52
|
type: 'object',
|
|
62
53
|
additionalProperties: false,
|
|
63
|
-
properties: strategies.reduce((acc, curr) => (
|
|
54
|
+
properties: strategies.reduce((acc, curr) => ({
|
|
55
|
+
...acc,
|
|
56
|
+
[curr]: {
|
|
64
57
|
type: 'object',
|
|
65
58
|
additionalProperties: false,
|
|
66
59
|
properties: {
|
|
@@ -96,7 +89,8 @@ const strategyOverrides = {
|
|
|
96
89
|
maxLength: 128,
|
|
97
90
|
},
|
|
98
91
|
},
|
|
99
|
-
}
|
|
92
|
+
},
|
|
93
|
+
}), {}),
|
|
100
94
|
};
|
|
101
95
|
exports.schema = {
|
|
102
96
|
type: 'array',
|
|
@@ -131,7 +125,9 @@ exports.schema = {
|
|
|
131
125
|
},
|
|
132
126
|
strategy_overrides: {
|
|
133
127
|
type: 'object',
|
|
134
|
-
properties: strategies.reduce((acc, curr) => (
|
|
128
|
+
properties: strategies.reduce((acc, curr) => ({
|
|
129
|
+
...acc,
|
|
130
|
+
[curr]: {
|
|
135
131
|
type: 'object',
|
|
136
132
|
additionalProperties: false,
|
|
137
133
|
properties: {
|
|
@@ -154,7 +150,8 @@ exports.schema = {
|
|
|
154
150
|
default: 'externalId',
|
|
155
151
|
},
|
|
156
152
|
},
|
|
157
|
-
}
|
|
153
|
+
},
|
|
154
|
+
}), {}),
|
|
158
155
|
},
|
|
159
156
|
},
|
|
160
157
|
},
|
|
@@ -231,57 +228,58 @@ exports.schema = {
|
|
|
231
228
|
};
|
|
232
229
|
class UserAttributeProfilesHandler extends default_1.default {
|
|
233
230
|
constructor(options) {
|
|
234
|
-
super(
|
|
231
|
+
super({
|
|
232
|
+
...options,
|
|
233
|
+
type: 'userAttributeProfiles',
|
|
234
|
+
id: 'id',
|
|
235
|
+
identifiers: ['id', 'name'],
|
|
236
|
+
stripUpdateFields: ['id'],
|
|
237
|
+
functions: {
|
|
238
|
+
update: async (params, payload) => this.client.userAttributeProfiles.update(params?.id, payload),
|
|
239
|
+
},
|
|
240
|
+
});
|
|
235
241
|
}
|
|
236
|
-
getType() {
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
242
|
+
async getType() {
|
|
243
|
+
if (this.existing)
|
|
244
|
+
return this.existing;
|
|
245
|
+
try {
|
|
246
|
+
this.existing = await (0, client_1.paginate)(this.client.userAttributeProfiles.list, {
|
|
247
|
+
checkpoint: true,
|
|
248
|
+
include_totals: true,
|
|
249
|
+
is_global: false,
|
|
250
|
+
take: 10,
|
|
251
|
+
});
|
|
252
|
+
return this.existing;
|
|
253
|
+
}
|
|
254
|
+
catch (err) {
|
|
255
|
+
if (err.statusCode === 404 || err.statusCode === 501) {
|
|
256
|
+
return null;
|
|
248
257
|
}
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
}
|
|
253
|
-
if (err.statusCode === 403) {
|
|
254
|
-
logger_1.default.debug('User Attribute Profile with Self-Service SSO is not enabled for this tenant. Please verify `scope` or contact Auth0 support to enable this feature.');
|
|
255
|
-
return null;
|
|
256
|
-
}
|
|
257
|
-
throw err;
|
|
258
|
+
if (err.statusCode === 403) {
|
|
259
|
+
logger_1.default.debug('User Attribute Profile with Self-Service SSO is not enabled for this tenant. Please verify `scope` or contact Auth0 support to enable this feature.');
|
|
260
|
+
return null;
|
|
258
261
|
}
|
|
259
|
-
|
|
262
|
+
throw err;
|
|
263
|
+
}
|
|
260
264
|
}
|
|
261
|
-
processChanges(assets) {
|
|
262
|
-
const
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
assets: userAttributeProfiles,
|
|
274
|
-
existing,
|
|
275
|
-
identifiers: this.identifiers,
|
|
276
|
-
allowDelete: !!this.config('AUTH0_ALLOW_DELETE'),
|
|
277
|
-
});
|
|
278
|
-
logger_1.default.debug(`Start processChanges for userAttributeProfile [delete:${changes.del.length}] [update:${changes.update.length}], [create:${changes.create.length}]`);
|
|
279
|
-
yield _super.processChanges.call(this, assets, changes);
|
|
265
|
+
async processChanges(assets) {
|
|
266
|
+
const { userAttributeProfiles } = assets;
|
|
267
|
+
// Do nothing if not set
|
|
268
|
+
if (!userAttributeProfiles)
|
|
269
|
+
return;
|
|
270
|
+
const existing = await this.getType();
|
|
271
|
+
const changes = (0, calculateChanges_1.calculateChanges)({
|
|
272
|
+
handler: this,
|
|
273
|
+
assets: userAttributeProfiles,
|
|
274
|
+
existing,
|
|
275
|
+
identifiers: this.identifiers,
|
|
276
|
+
allowDelete: !!this.config('AUTH0_ALLOW_DELETE'),
|
|
280
277
|
});
|
|
278
|
+
logger_1.default.debug(`Start processChanges for userAttributeProfile [delete:${changes.del.length}] [update:${changes.update.length}], [create:${changes.create.length}]`);
|
|
279
|
+
await super.processChanges(assets, changes);
|
|
281
280
|
}
|
|
282
281
|
}
|
|
283
282
|
exports.default = UserAttributeProfilesHandler;
|
|
284
283
|
__decorate([
|
|
285
284
|
(0, default_1.order)('50')
|
|
286
285
|
], UserAttributeProfilesHandler.prototype, "processChanges", null);
|
|
287
|
-
//# sourceMappingURL=userAttributeProfiles.js.map
|
package/lib/tools/auth0/index.js
CHANGED
|
@@ -1,13 +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
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
4
|
};
|
|
@@ -30,11 +21,10 @@ function sortByOrder(toSort, stage) {
|
|
|
30
21
|
const defaultOrder = 50;
|
|
31
22
|
const sorted = [...toSort];
|
|
32
23
|
sorted.sort((a, b) => {
|
|
33
|
-
var _a, _b;
|
|
34
24
|
// @ts-ignore because stage methods may have order property
|
|
35
|
-
const aOrder =
|
|
25
|
+
const aOrder = a[stage]?.order || defaultOrder;
|
|
36
26
|
// @ts-ignore because stage methods may have order property
|
|
37
|
-
const bOrder =
|
|
27
|
+
const bOrder = b[stage]?.order || defaultOrder;
|
|
38
28
|
return aOrder - bOrder;
|
|
39
29
|
});
|
|
40
30
|
return sorted;
|
|
@@ -62,47 +52,44 @@ class Auth0 {
|
|
|
62
52
|
return onlyIncludedAssetTypes.includes(handler.type);
|
|
63
53
|
});
|
|
64
54
|
}
|
|
65
|
-
runStage(stage) {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
}
|
|
74
|
-
catch (err) {
|
|
75
|
-
err.type = handler.type;
|
|
76
|
-
err.stage = stage;
|
|
77
|
-
throw err;
|
|
55
|
+
async runStage(stage) {
|
|
56
|
+
// Sort by priority
|
|
57
|
+
for (const handler of sortByOrder(this.handlers, stage)) {
|
|
58
|
+
// eslint-disable-line
|
|
59
|
+
try {
|
|
60
|
+
const stageFn = Object.getPrototypeOf(handler)[stage];
|
|
61
|
+
if (typeof stageFn !== 'function') {
|
|
62
|
+
throw new Error(`Handler ${handler.type} does not have a ${stage} method or it is not a function (got ${typeof stageFn})`);
|
|
78
63
|
}
|
|
64
|
+
this.assets = {
|
|
65
|
+
...this.assets,
|
|
66
|
+
...((await stageFn.apply(handler, [this.assets])) || {}),
|
|
67
|
+
};
|
|
79
68
|
}
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
const ajv = new ajv_1.default({ useDefaults: true, nullable: true });
|
|
85
|
-
const nonNullAssets = Object.keys(this.assets)
|
|
86
|
-
.filter((k) => this.assets[k] != null)
|
|
87
|
-
.reduce((a, k) => (Object.assign(Object.assign({}, a), { [k]: this.assets[k] })), {});
|
|
88
|
-
const valid = ajv.validate(schema_1.default, nonNullAssets);
|
|
89
|
-
if (!valid) {
|
|
90
|
-
throw new Error(`Schema validation failed loading ${JSON.stringify(ajv.errors, null, 4)}`);
|
|
69
|
+
catch (err) {
|
|
70
|
+
err.type = handler.type;
|
|
71
|
+
err.stage = stage;
|
|
72
|
+
throw err;
|
|
91
73
|
}
|
|
92
|
-
|
|
93
|
-
});
|
|
74
|
+
}
|
|
94
75
|
}
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
76
|
+
async validate() {
|
|
77
|
+
const ajv = new ajv_1.default({ useDefaults: true, nullable: true });
|
|
78
|
+
const nonNullAssets = Object.keys(this.assets)
|
|
79
|
+
.filter((k) => this.assets[k] != null)
|
|
80
|
+
.reduce((a, k) => ({ ...a, [k]: this.assets[k] }), {});
|
|
81
|
+
const valid = ajv.validate(schema_1.default, nonNullAssets);
|
|
82
|
+
if (!valid) {
|
|
83
|
+
throw new Error(`Schema validation failed loading ${JSON.stringify(ajv.errors, null, 4)}`);
|
|
84
|
+
}
|
|
85
|
+
await this.runStage('validate');
|
|
100
86
|
}
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
87
|
+
async loadAssetsFromAuth0() {
|
|
88
|
+
// Populate assets from auth0 tenant
|
|
89
|
+
await this.runStage('load');
|
|
90
|
+
}
|
|
91
|
+
async processChanges() {
|
|
92
|
+
await this.runStage('processChanges');
|
|
105
93
|
}
|
|
106
94
|
}
|
|
107
95
|
exports.default = Auth0;
|
|
108
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -17,11 +17,13 @@ const excludeSchema = Object.entries(handlers_1.default).reduce((map, [name, obj
|
|
|
17
17
|
exports.default = {
|
|
18
18
|
type: 'object',
|
|
19
19
|
$schema: 'http://json-schema.org/draft-07/schema#',
|
|
20
|
-
properties:
|
|
20
|
+
properties: {
|
|
21
|
+
...typesSchema,
|
|
22
|
+
exclude: {
|
|
21
23
|
type: 'object',
|
|
22
|
-
properties:
|
|
24
|
+
properties: { ...excludeSchema },
|
|
23
25
|
default: {},
|
|
24
|
-
}
|
|
26
|
+
},
|
|
27
|
+
},
|
|
25
28
|
additionalProperties: false,
|
|
26
29
|
};
|
|
27
|
-
//# sourceMappingURL=schema.js.map
|