@optimizely/ocp-cli-v2 2.0.0-beta.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/LICENSE +201 -0
- package/README.md +51 -0
- package/bin/ocp.js +3 -0
- package/bin/run.js +3 -0
- package/dist/commands/accounts/whoami.d.ts +5 -0
- package/dist/commands/accounts/whoami.js +22 -0
- package/dist/commands/accounts/whoami.js.map +1 -0
- package/dist/commands/accounts/whois.d.ts +12 -0
- package/dist/commands/accounts/whois.js +57 -0
- package/dist/commands/accounts/whois.js.map +1 -0
- package/dist/commands/app/BaseBuildCommand.d.ts +37 -0
- package/dist/commands/app/BaseBuildCommand.js +255 -0
- package/dist/commands/app/BaseBuildCommand.js.map +1 -0
- package/dist/commands/app/abandon.d.ts +11 -0
- package/dist/commands/app/abandon.js +146 -0
- package/dist/commands/app/abandon.js.map +1 -0
- package/dist/commands/app/getLogLevel.d.ts +16 -0
- package/dist/commands/app/getLogLevel.js +66 -0
- package/dist/commands/app/getLogLevel.js.map +1 -0
- package/dist/commands/app/init.d.ts +27 -0
- package/dist/commands/app/init.js +326 -0
- package/dist/commands/app/init.js.map +1 -0
- package/dist/commands/app/logs.d.ts +24 -0
- package/dist/commands/app/logs.js +231 -0
- package/dist/commands/app/logs.js.map +1 -0
- package/dist/commands/app/package.d.ts +8 -0
- package/dist/commands/app/package.js +51 -0
- package/dist/commands/app/package.js.map +1 -0
- package/dist/commands/app/prepare.d.ts +16 -0
- package/dist/commands/app/prepare.js +119 -0
- package/dist/commands/app/prepare.js.map +1 -0
- package/dist/commands/app/register.d.ts +10 -0
- package/dist/commands/app/register.js +102 -0
- package/dist/commands/app/register.js.map +1 -0
- package/dist/commands/app/setLogLevel.d.ts +16 -0
- package/dist/commands/app/setLogLevel.js +83 -0
- package/dist/commands/app/setLogLevel.js.map +1 -0
- package/dist/commands/app/validate.d.ts +5 -0
- package/dist/commands/app/validate.js +26 -0
- package/dist/commands/app/validate.js.map +1 -0
- package/dist/commands/availability/list.d.ts +6 -0
- package/dist/commands/availability/list.js +32 -0
- package/dist/commands/availability/list.js.map +1 -0
- package/dist/commands/dev-server/start.d.ts +36 -0
- package/dist/commands/dev-server/start.js +209 -0
- package/dist/commands/dev-server/start.js.map +1 -0
- package/dist/commands/dev.d.ts +8 -0
- package/dist/commands/dev.js +12 -0
- package/dist/commands/dev.js.map +1 -0
- package/dist/commands/directory/info.d.ts +13 -0
- package/dist/commands/directory/info.js +85 -0
- package/dist/commands/directory/info.js.map +1 -0
- package/dist/commands/directory/install.d.ts +12 -0
- package/dist/commands/directory/install.js +46 -0
- package/dist/commands/directory/install.js.map +1 -0
- package/dist/commands/directory/list.d.ts +14 -0
- package/dist/commands/directory/list.js +114 -0
- package/dist/commands/directory/list.js.map +1 -0
- package/dist/commands/directory/listFunctions.d.ts +15 -0
- package/dist/commands/directory/listFunctions.js +86 -0
- package/dist/commands/directory/listFunctions.js.map +1 -0
- package/dist/commands/directory/listGlobalFunctions.d.ts +13 -0
- package/dist/commands/directory/listGlobalFunctions.js +64 -0
- package/dist/commands/directory/listGlobalFunctions.js.map +1 -0
- package/dist/commands/directory/listInstalls.d.ts +15 -0
- package/dist/commands/directory/listInstalls.js +72 -0
- package/dist/commands/directory/listInstalls.js.map +1 -0
- package/dist/commands/directory/listSourceFunctions.d.ts +14 -0
- package/dist/commands/directory/listSourceFunctions.js +71 -0
- package/dist/commands/directory/listSourceFunctions.js.map +1 -0
- package/dist/commands/directory/publish.d.ts +15 -0
- package/dist/commands/directory/publish.js +201 -0
- package/dist/commands/directory/publish.js.map +1 -0
- package/dist/commands/directory/status.d.ts +11 -0
- package/dist/commands/directory/status.js +50 -0
- package/dist/commands/directory/status.js.map +1 -0
- package/dist/commands/directory/uninstall.d.ts +13 -0
- package/dist/commands/directory/uninstall.js +55 -0
- package/dist/commands/directory/uninstall.js.map +1 -0
- package/dist/commands/directory/unpublish.d.ts +17 -0
- package/dist/commands/directory/unpublish.js +187 -0
- package/dist/commands/directory/unpublish.js.map +1 -0
- package/dist/commands/directory/upgrade.d.ts +15 -0
- package/dist/commands/directory/upgrade.js +113 -0
- package/dist/commands/directory/upgrade.js.map +1 -0
- package/dist/commands/env/get.d.ts +5 -0
- package/dist/commands/env/get.js +23 -0
- package/dist/commands/env/get.js.map +1 -0
- package/dist/commands/env/set.d.ts +8 -0
- package/dist/commands/env/set.js +63 -0
- package/dist/commands/env/set.js.map +1 -0
- package/dist/commands/jobs/list.d.ts +27 -0
- package/dist/commands/jobs/list.js +245 -0
- package/dist/commands/jobs/list.js.map +1 -0
- package/dist/commands/jobs/runtimeStatus.d.ts +11 -0
- package/dist/commands/jobs/runtimeStatus.js +55 -0
- package/dist/commands/jobs/runtimeStatus.js.map +1 -0
- package/dist/commands/jobs/status.d.ts +11 -0
- package/dist/commands/jobs/status.js +57 -0
- package/dist/commands/jobs/status.js.map +1 -0
- package/dist/commands/jobs/terminate.d.ts +11 -0
- package/dist/commands/jobs/terminate.js +35 -0
- package/dist/commands/jobs/terminate.js.map +1 -0
- package/dist/commands/jobs/trigger.d.ts +14 -0
- package/dist/commands/jobs/trigger.js +47 -0
- package/dist/commands/jobs/trigger.js.map +1 -0
- package/dist/commands/review/list.d.ts +9 -0
- package/dist/commands/review/list.js +74 -0
- package/dist/commands/review/list.js.map +1 -0
- package/dist/commands/review/open.d.ts +8 -0
- package/dist/commands/review/open.js +32 -0
- package/dist/commands/review/open.js.map +1 -0
- package/dist/hooks/command-not-found.d.ts +3 -0
- package/dist/hooks/command-not-found.js +93 -0
- package/dist/hooks/command-not-found.js.map +1 -0
- package/dist/hooks/preupdate.d.ts +10 -0
- package/dist/hooks/preupdate.js +42 -0
- package/dist/hooks/preupdate.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +59 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/AppContext.d.ts +9 -0
- package/dist/lib/AppContext.js +43 -0
- package/dist/lib/AppContext.js.map +1 -0
- package/dist/lib/AppPackager.d.ts +17 -0
- package/dist/lib/AppPackager.js +57 -0
- package/dist/lib/AppPackager.js.map +1 -0
- package/dist/lib/AppUpdater.d.ts +11 -0
- package/dist/lib/AppUpdater.js +143 -0
- package/dist/lib/AppUpdater.js.map +1 -0
- package/dist/lib/AppUploader.d.ts +9 -0
- package/dist/lib/AppUploader.js +37 -0
- package/dist/lib/AppUploader.js.map +1 -0
- package/dist/lib/BuildPipeline.d.ts +24 -0
- package/dist/lib/BuildPipeline.js +26 -0
- package/dist/lib/BuildPipeline.js.map +1 -0
- package/dist/lib/BuildPipelineFactory.d.ts +10 -0
- package/dist/lib/BuildPipelineFactory.js +23 -0
- package/dist/lib/BuildPipelineFactory.js.map +1 -0
- package/dist/lib/Config.d.ts +15 -0
- package/dist/lib/Config.js +47 -0
- package/dist/lib/Config.js.map +1 -0
- package/dist/lib/CustomHelp.d.ts +19 -0
- package/dist/lib/CustomHelp.js +81 -0
- package/dist/lib/CustomHelp.js.map +1 -0
- package/dist/lib/DependencyStage.d.ts +1 -0
- package/dist/lib/DependencyStage.js +3 -0
- package/dist/lib/DependencyStage.js.map +1 -0
- package/dist/lib/EnvironmentalOutput.d.ts +1 -0
- package/dist/lib/EnvironmentalOutput.js +22 -0
- package/dist/lib/EnvironmentalOutput.js.map +1 -0
- package/dist/lib/Moria.d.ts +51 -0
- package/dist/lib/Moria.js +30 -0
- package/dist/lib/Moria.js.map +1 -0
- package/dist/lib/MoriaApi.d.ts +22 -0
- package/dist/lib/MoriaApi.js +74 -0
- package/dist/lib/MoriaApi.js.map +1 -0
- package/dist/lib/NodeBuildPipeline.d.ts +25 -0
- package/dist/lib/NodeBuildPipeline.js +60 -0
- package/dist/lib/NodeBuildPipeline.js.map +1 -0
- package/dist/lib/PackageManager.d.ts +242 -0
- package/dist/lib/PackageManager.js +511 -0
- package/dist/lib/PackageManager.js.map +1 -0
- package/dist/lib/Rivendell.d.ts +409 -0
- package/dist/lib/Rivendell.js +391 -0
- package/dist/lib/Rivendell.js.map +1 -0
- package/dist/lib/RivendellApi.d.ts +22 -0
- package/dist/lib/RivendellApi.js +159 -0
- package/dist/lib/RivendellApi.js.map +1 -0
- package/dist/lib/Shards.d.ts +3 -0
- package/dist/lib/Shards.js +41 -0
- package/dist/lib/Shards.js.map +1 -0
- package/dist/lib/StringUtils.d.ts +1 -0
- package/dist/lib/StringUtils.js +9 -0
- package/dist/lib/StringUtils.js.map +1 -0
- package/dist/lib/TeminalPassthru.d.ts +7 -0
- package/dist/lib/TeminalPassthru.js +12 -0
- package/dist/lib/TeminalPassthru.js.map +1 -0
- package/dist/lib/TerminalConfirm.d.ts +3 -0
- package/dist/lib/TerminalConfirm.js +31 -0
- package/dist/lib/TerminalConfirm.js.map +1 -0
- package/dist/lib/TerminalInput.d.ts +32 -0
- package/dist/lib/TerminalInput.js +207 -0
- package/dist/lib/TerminalInput.js.map +1 -0
- package/dist/lib/TerminalMenu.d.ts +34 -0
- package/dist/lib/TerminalMenu.js +186 -0
- package/dist/lib/TerminalMenu.js.map +1 -0
- package/dist/lib/TerminalOutput.d.ts +5 -0
- package/dist/lib/TerminalOutput.js +12 -0
- package/dist/lib/TerminalOutput.js.map +1 -0
- package/dist/lib/TerminalSpinner.d.ts +14 -0
- package/dist/lib/TerminalSpinner.js +69 -0
- package/dist/lib/TerminalSpinner.js.map +1 -0
- package/dist/lib/Tracking.d.ts +15 -0
- package/dist/lib/Tracking.js +19 -0
- package/dist/lib/Tracking.js.map +1 -0
- package/dist/lib/build.d.ts +5 -0
- package/dist/lib/build.js +41 -0
- package/dist/lib/build.js.map +1 -0
- package/dist/lib/die.d.ts +5 -0
- package/dist/lib/die.js +14 -0
- package/dist/lib/die.js.map +1 -0
- package/dist/lib/directoryExists.d.ts +1 -0
- package/dist/lib/directoryExists.js +9 -0
- package/dist/lib/directoryExists.js.map +1 -0
- package/dist/lib/formatBuildState.d.ts +2 -0
- package/dist/lib/formatBuildState.js +23 -0
- package/dist/lib/formatBuildState.js.map +1 -0
- package/dist/lib/formatError.d.ts +1 -0
- package/dist/lib/formatError.js +55 -0
- package/dist/lib/formatError.js.map +1 -0
- package/dist/lib/formatJobStatus.d.ts +3 -0
- package/dist/lib/formatJobStatus.js +28 -0
- package/dist/lib/formatJobStatus.js.map +1 -0
- package/dist/lib/formatReviewStatus.d.ts +4 -0
- package/dist/lib/formatReviewStatus.js +28 -0
- package/dist/lib/formatReviewStatus.js.map +1 -0
- package/dist/lib/formatTimstamp.d.ts +1 -0
- package/dist/lib/formatTimstamp.js +25 -0
- package/dist/lib/formatTimstamp.js.map +1 -0
- package/dist/lib/formatVersionState.d.ts +2 -0
- package/dist/lib/formatVersionState.js +37 -0
- package/dist/lib/formatVersionState.js.map +1 -0
- package/dist/lib/gatherAppEnv.d.ts +3 -0
- package/dist/lib/gatherAppEnv.js +71 -0
- package/dist/lib/gatherAppEnv.js.map +1 -0
- package/dist/lib/handleInterrupt.d.ts +1 -0
- package/dist/lib/handleInterrupt.js +17 -0
- package/dist/lib/handleInterrupt.js.map +1 -0
- package/dist/lib/jobRuntime.d.ts +3 -0
- package/dist/lib/jobRuntime.js +16 -0
- package/dist/lib/jobRuntime.js.map +1 -0
- package/dist/lib/migrateOptiCli.d.ts +1 -0
- package/dist/lib/migrateOptiCli.js +30 -0
- package/dist/lib/migrateOptiCli.js.map +1 -0
- package/dist/lib/parseDate.d.ts +2 -0
- package/dist/lib/parseDate.js +26 -0
- package/dist/lib/parseDate.js.map +1 -0
- package/dist/lib/templating/TemplateRenderer.d.ts +13 -0
- package/dist/lib/templating/TemplateRenderer.js +63 -0
- package/dist/lib/templating/TemplateRenderer.js.map +1 -0
- package/dist/lib/templating/fetchTemplatesManifest.d.ts +1 -0
- package/dist/lib/templating/fetchTemplatesManifest.js +9 -0
- package/dist/lib/templating/fetchTemplatesManifest.js.map +1 -0
- package/dist/lib/templating/types.d.ts +27 -0
- package/dist/lib/templating/types.js +3 -0
- package/dist/lib/templating/types.js.map +1 -0
- package/dist/oclif.manifest.json +1616 -0
- package/dist/utils/utils.d.ts +5 -0
- package/dist/utils/utils.js +61 -0
- package/dist/utils/utils.js.map +1 -0
- package/package.json +180 -0
|
@@ -0,0 +1,391 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Rivendell = void 0;
|
|
4
|
+
const RivendellApi_1 = require("./RivendellApi");
|
|
5
|
+
var Rivendell;
|
|
6
|
+
(function (Rivendell) {
|
|
7
|
+
let AppVersionState;
|
|
8
|
+
(function (AppVersionState) {
|
|
9
|
+
AppVersionState["NEW"] = "NEW";
|
|
10
|
+
AppVersionState["PUBLISHED"] = "PUBLISHED";
|
|
11
|
+
AppVersionState["BUILD_FAILED"] = "BUILD_FAILED";
|
|
12
|
+
AppVersionState["STARTING"] = "STARTING";
|
|
13
|
+
AppVersionState["START_FAILED"] = "START_FAILED";
|
|
14
|
+
AppVersionState["RUNNING"] = "RUNNING";
|
|
15
|
+
AppVersionState["UPGRADING_RUNTIME"] = "UPGRADING_RUNTIME";
|
|
16
|
+
AppVersionState["STOPPING"] = "STOPPING";
|
|
17
|
+
AppVersionState["STOP_FAILED"] = "STOP_FAILED";
|
|
18
|
+
AppVersionState["STOPPED"] = "STOPPED";
|
|
19
|
+
AppVersionState["ABANDONED"] = "ABANDONED";
|
|
20
|
+
})(AppVersionState = Rivendell.AppVersionState || (Rivendell.AppVersionState = {}));
|
|
21
|
+
let ReviewStatus;
|
|
22
|
+
(function (ReviewStatus) {
|
|
23
|
+
ReviewStatus["NOT_STARTED"] = "NOT_STARTED";
|
|
24
|
+
ReviewStatus["IN_REVIEW"] = "IN_REVIEW";
|
|
25
|
+
ReviewStatus["APPROVED"] = "APPROVED";
|
|
26
|
+
ReviewStatus["NOT_REQUIRED"] = "NOT_REQUIRED";
|
|
27
|
+
})(ReviewStatus = Rivendell.ReviewStatus || (Rivendell.ReviewStatus = {}));
|
|
28
|
+
let BuildState;
|
|
29
|
+
(function (BuildState) {
|
|
30
|
+
BuildState["NEW"] = "NEW";
|
|
31
|
+
BuildState["QUEUED"] = "QUEUED";
|
|
32
|
+
BuildState["RUNNING"] = "RUNNING";
|
|
33
|
+
BuildState["FINISHED"] = "FINISHED";
|
|
34
|
+
})(BuildState = Rivendell.BuildState || (Rivendell.BuildState = {}));
|
|
35
|
+
let BuildMode;
|
|
36
|
+
(function (BuildMode) {
|
|
37
|
+
BuildMode["VALIDATE"] = "VALIDATE";
|
|
38
|
+
BuildMode["PUBLISH"] = "PUBLISH";
|
|
39
|
+
})(BuildMode = Rivendell.BuildMode || (Rivendell.BuildMode = {}));
|
|
40
|
+
let BuildStatus;
|
|
41
|
+
(function (BuildStatus) {
|
|
42
|
+
BuildStatus["SUCCESS"] = "SUCCESS";
|
|
43
|
+
BuildStatus["FAILURE"] = "FAILURE";
|
|
44
|
+
BuildStatus["ERROR"] = "ERROR";
|
|
45
|
+
})(BuildStatus = Rivendell.BuildStatus || (Rivendell.BuildStatus = {}));
|
|
46
|
+
let DeploymentStage;
|
|
47
|
+
(function (DeploymentStage) {
|
|
48
|
+
DeploymentStage["TEST"] = "TEST";
|
|
49
|
+
DeploymentStage["PRODUCTION"] = "PRODUCTION";
|
|
50
|
+
})(DeploymentStage = Rivendell.DeploymentStage || (Rivendell.DeploymentStage = {}));
|
|
51
|
+
let JobStatus;
|
|
52
|
+
(function (JobStatus) {
|
|
53
|
+
JobStatus["PENDING"] = "PENDING";
|
|
54
|
+
JobStatus["SCHEDULED"] = "SCHEDULED";
|
|
55
|
+
JobStatus["RUNNING"] = "RUNNING";
|
|
56
|
+
JobStatus["COMPLETE"] = "COMPLETE";
|
|
57
|
+
JobStatus["ERROR"] = "ERROR";
|
|
58
|
+
JobStatus["TERMINATED"] = "TERMINATED";
|
|
59
|
+
})(JobStatus = Rivendell.JobStatus || (Rivendell.JobStatus = {}));
|
|
60
|
+
let JobTriggerType;
|
|
61
|
+
(function (JobTriggerType) {
|
|
62
|
+
JobTriggerType["IMMEDIATE"] = "IMMEDIATE";
|
|
63
|
+
JobTriggerType["RECURRING"] = "RECURRING";
|
|
64
|
+
})(JobTriggerType = Rivendell.JobTriggerType || (Rivendell.JobTriggerType = {}));
|
|
65
|
+
let LogLevel;
|
|
66
|
+
(function (LogLevel) {
|
|
67
|
+
LogLevel["DEBUG"] = "DEBUG";
|
|
68
|
+
LogLevel["INFO"] = "INFO";
|
|
69
|
+
LogLevel["WARN"] = "WARN";
|
|
70
|
+
LogLevel["ERROR"] = "ERROR";
|
|
71
|
+
LogLevel["NEVER"] = "NEVER";
|
|
72
|
+
})(LogLevel = Rivendell.LogLevel || (Rivendell.LogLevel = {}));
|
|
73
|
+
let InstallationResolutionType;
|
|
74
|
+
(function (InstallationResolutionType) {
|
|
75
|
+
InstallationResolutionType["GUUID"] = "GUUID";
|
|
76
|
+
InstallationResolutionType["HEADER"] = "HEADER";
|
|
77
|
+
InstallationResolutionType["QUERY_PARAM"] = "QUERY_PARAM";
|
|
78
|
+
InstallationResolutionType["JSON_BODY_FIELD"] = "JSON_BODY_FIELD";
|
|
79
|
+
})(InstallationResolutionType = Rivendell.InstallationResolutionType || (Rivendell.InstallationResolutionType = {}));
|
|
80
|
+
let UpgradeStatus;
|
|
81
|
+
(function (UpgradeStatus) {
|
|
82
|
+
UpgradeStatus["SCHEDULED"] = "SCHEDULED";
|
|
83
|
+
UpgradeStatus["UPGRADING_LIFECYCLE"] = "UPGRADING_LIFECYLES";
|
|
84
|
+
UpgradeStatus["UPGRADING_LIFECYCLE_FAILED"] = "UPGRADING_LIFECYCLE_FAILED";
|
|
85
|
+
UpgradeStatus["UPDATING_WEBHOOKS"] = "UPDATING_WEBHOOKS";
|
|
86
|
+
UpgradeStatus["UPDATING_WEBHOOKS_FAILED"] = "UPGRADING_LIFECYCLE_FAILED";
|
|
87
|
+
UpgradeStatus["FINALIZING_LIFECYCLE"] = "FINALIZING_LIFECYCLE";
|
|
88
|
+
UpgradeStatus["FINALIZING_LIFECYCLE_FAILED"] = "FINALIZING_LIFECYCLE_FAILED";
|
|
89
|
+
UpgradeStatus["COMPLETE"] = "COMPLETE";
|
|
90
|
+
})(UpgradeStatus = Rivendell.UpgradeStatus || (Rivendell.UpgradeStatus = {}));
|
|
91
|
+
let SortDirection;
|
|
92
|
+
(function (SortDirection) {
|
|
93
|
+
SortDirection["ASC"] = "ASC";
|
|
94
|
+
SortDirection["DESC"] = "DESC";
|
|
95
|
+
})(SortDirection = Rivendell.SortDirection || (Rivendell.SortDirection = {}));
|
|
96
|
+
let Audience;
|
|
97
|
+
(function (Audience) {
|
|
98
|
+
Audience["USER"] = "USER";
|
|
99
|
+
Audience["DEVELOPER"] = "DEVELOPER";
|
|
100
|
+
Audience["ZAIUS"] = "ZAIUS";
|
|
101
|
+
})(Audience = Rivendell.Audience || (Rivendell.Audience = {}));
|
|
102
|
+
function path(shard, endpoint) {
|
|
103
|
+
return `${shard}/${endpoint}`.replace(/^\//, '');
|
|
104
|
+
}
|
|
105
|
+
async function searchAccounts(term, shard) {
|
|
106
|
+
const response = await RivendellApi_1.RivendellApi.get(path(shard, `accounts/search?term=${encodeURIComponent(term)}`));
|
|
107
|
+
return response.body;
|
|
108
|
+
}
|
|
109
|
+
Rivendell.searchAccounts = searchAccounts;
|
|
110
|
+
async function whoami() {
|
|
111
|
+
const response = await RivendellApi_1.RivendellApi.get('developers/me');
|
|
112
|
+
return response.body;
|
|
113
|
+
}
|
|
114
|
+
Rivendell.whoami = whoami;
|
|
115
|
+
async function isAdmin() {
|
|
116
|
+
const me = await whoami();
|
|
117
|
+
return me.role === 'administrator' || me.role === 'app_administrator';
|
|
118
|
+
}
|
|
119
|
+
Rivendell.isAdmin = isAdmin;
|
|
120
|
+
/**
|
|
121
|
+
* Register a new App.
|
|
122
|
+
* @param appId
|
|
123
|
+
* @param name
|
|
124
|
+
* @param accountType
|
|
125
|
+
* @param personalApp
|
|
126
|
+
* @param shard
|
|
127
|
+
*/
|
|
128
|
+
async function registerApp(appId, name, accountType, personalApp, shard) {
|
|
129
|
+
const response = await RivendellApi_1.RivendellApi.post(path(shard, 'apps'), { appId, name, accountType, personalApp });
|
|
130
|
+
return response.body;
|
|
131
|
+
}
|
|
132
|
+
Rivendell.registerApp = registerApp;
|
|
133
|
+
/**
|
|
134
|
+
* Fetch an App by identifier.
|
|
135
|
+
* @param appId
|
|
136
|
+
*/
|
|
137
|
+
async function fetchApp(appId, shard = '') {
|
|
138
|
+
const response = await RivendellApi_1.RivendellApi.get(path(shard, `apps/${appId}`));
|
|
139
|
+
return response.body;
|
|
140
|
+
}
|
|
141
|
+
Rivendell.fetchApp = fetchApp;
|
|
142
|
+
/**
|
|
143
|
+
* Get app version review url.
|
|
144
|
+
* @param appId
|
|
145
|
+
*/
|
|
146
|
+
async function getReviewUrl(appVersion) {
|
|
147
|
+
const response = await RivendellApi_1.RivendellApi.get(`reviews/${appVersion}`);
|
|
148
|
+
return response.body;
|
|
149
|
+
}
|
|
150
|
+
Rivendell.getReviewUrl = getReviewUrl;
|
|
151
|
+
/**
|
|
152
|
+
* Search for AppVersions using the supplied criteria.
|
|
153
|
+
* @param criteria
|
|
154
|
+
*/
|
|
155
|
+
async function searchAppVersions(criteria, shard) {
|
|
156
|
+
const response = await RivendellApi_1.RivendellApi.post(path(shard, 'versions/search'), criteria);
|
|
157
|
+
return response.body;
|
|
158
|
+
}
|
|
159
|
+
Rivendell.searchAppVersions = searchAppVersions;
|
|
160
|
+
/**
|
|
161
|
+
* Fetch an AppVersion by identifier.
|
|
162
|
+
* @param appContext
|
|
163
|
+
*/
|
|
164
|
+
async function fetchAppVersion(appContext, shard) {
|
|
165
|
+
const response = await RivendellApi_1.RivendellApi.get(path(shard, `versions/${appContext.appId}@${appContext.version}`));
|
|
166
|
+
return response.body;
|
|
167
|
+
}
|
|
168
|
+
Rivendell.fetchAppVersion = fetchAppVersion;
|
|
169
|
+
/**
|
|
170
|
+
* Register a new app version.
|
|
171
|
+
*/
|
|
172
|
+
async function registerAppVersion(appId, version, packageUrl, appEnvValues, usePreviousAppEnvValues, shard) {
|
|
173
|
+
const response = await RivendellApi_1.RivendellApi.post(path(shard, 'versions'), { appId, version, packageUrl, appEnvValues, usePreviousAppEnvValues });
|
|
174
|
+
return response.body;
|
|
175
|
+
}
|
|
176
|
+
Rivendell.registerAppVersion = registerAppVersion;
|
|
177
|
+
/**
|
|
178
|
+
* Register a new app version.
|
|
179
|
+
*/
|
|
180
|
+
async function updateAppVersion(appId, version, packageUrl, appEnvValues, usePreviousAppEnvValues, shard) {
|
|
181
|
+
const response = await RivendellApi_1.RivendellApi.put(path(shard, `versions/${appId}@${version}`), { packageUrl, appEnvValues, usePreviousAppEnvValues });
|
|
182
|
+
return response.body;
|
|
183
|
+
}
|
|
184
|
+
Rivendell.updateAppVersion = updateAppVersion;
|
|
185
|
+
/**
|
|
186
|
+
* Review an app version.
|
|
187
|
+
*/
|
|
188
|
+
async function reviewAppVersion(appId, version) {
|
|
189
|
+
const appVersionId = `${appId}@${version}`;
|
|
190
|
+
await RivendellApi_1.RivendellApi.post('reviews', appVersionId);
|
|
191
|
+
}
|
|
192
|
+
Rivendell.reviewAppVersion = reviewAppVersion;
|
|
193
|
+
/**
|
|
194
|
+
* Search for AppVersions using the supplied criteria.
|
|
195
|
+
* @param criteria
|
|
196
|
+
*/
|
|
197
|
+
async function searchAppInstallations(criteria, shard) {
|
|
198
|
+
const response = await RivendellApi_1.RivendellApi.post(path(shard, 'installations/search'), criteria);
|
|
199
|
+
return response.body;
|
|
200
|
+
}
|
|
201
|
+
Rivendell.searchAppInstallations = searchAppInstallations;
|
|
202
|
+
/**
|
|
203
|
+
* Search for Webhooks using the supplied criteria.
|
|
204
|
+
* @param criteria
|
|
205
|
+
*/
|
|
206
|
+
async function searchWebhooks(criteria, shard) {
|
|
207
|
+
const response = await RivendellApi_1.RivendellApi.post(path(shard, 'webhooks/search'), criteria);
|
|
208
|
+
return response.body;
|
|
209
|
+
}
|
|
210
|
+
Rivendell.searchWebhooks = searchWebhooks;
|
|
211
|
+
/**
|
|
212
|
+
* Loads a single AppInstallation.
|
|
213
|
+
* @param appId
|
|
214
|
+
* @param trackerId
|
|
215
|
+
*/
|
|
216
|
+
async function fetchAppInstallation(appId, trackerId, shard = '') {
|
|
217
|
+
const response = await searchAppInstallations({ appId, trackerIds: [trackerId] }, shard);
|
|
218
|
+
if (response.length !== 1) {
|
|
219
|
+
throw new Error(`Installation of ${appId} not found for ${trackerId}`);
|
|
220
|
+
}
|
|
221
|
+
return response[0];
|
|
222
|
+
}
|
|
223
|
+
Rivendell.fetchAppInstallation = fetchAppInstallation;
|
|
224
|
+
/**
|
|
225
|
+
* Trigger an installation.
|
|
226
|
+
*/
|
|
227
|
+
async function install(appId, version, trackerId, shard) {
|
|
228
|
+
const response = await RivendellApi_1.RivendellApi.post(path(shard, 'installations'), { appId, version, trackerId });
|
|
229
|
+
return response.body;
|
|
230
|
+
}
|
|
231
|
+
Rivendell.install = install;
|
|
232
|
+
/**
|
|
233
|
+
* Trigger an uninstall.
|
|
234
|
+
*/
|
|
235
|
+
async function uninstall(appInstallationId, shard) {
|
|
236
|
+
await RivendellApi_1.RivendellApi.request('DELETE', path(shard, `installations/${appInstallationId}`));
|
|
237
|
+
}
|
|
238
|
+
Rivendell.uninstall = uninstall;
|
|
239
|
+
/**
|
|
240
|
+
* Request an upgrade.
|
|
241
|
+
*/
|
|
242
|
+
async function upgrade(appInstallationId, appId, version, shard) {
|
|
243
|
+
const response = await RivendellApi_1.RivendellApi.put(path(shard, `installations/${appInstallationId}`), { appId, version });
|
|
244
|
+
return response.body;
|
|
245
|
+
}
|
|
246
|
+
Rivendell.upgrade = upgrade;
|
|
247
|
+
async function fetchUpgrade(upgradeId, shard) {
|
|
248
|
+
const response = await RivendellApi_1.RivendellApi.get(path(shard, `upgrades/${upgradeId}`));
|
|
249
|
+
return response.body;
|
|
250
|
+
}
|
|
251
|
+
Rivendell.fetchUpgrade = fetchUpgrade;
|
|
252
|
+
/**
|
|
253
|
+
* Trigger a publish.
|
|
254
|
+
*/
|
|
255
|
+
async function publish(appId, version, shard) {
|
|
256
|
+
await RivendellApi_1.RivendellApi.request('PATCH', path(shard, `versions/${appId}@${version}`), { state: AppVersionState.RUNNING });
|
|
257
|
+
}
|
|
258
|
+
Rivendell.publish = publish;
|
|
259
|
+
/**
|
|
260
|
+
* Trigger a unpublish.
|
|
261
|
+
*/
|
|
262
|
+
async function unpublish(appId, version, shard) {
|
|
263
|
+
await RivendellApi_1.RivendellApi.request('PATCH', path(shard, `versions/${appId}@${version}`), { state: AppVersionState.STOPPED });
|
|
264
|
+
}
|
|
265
|
+
Rivendell.unpublish = unpublish;
|
|
266
|
+
/**
|
|
267
|
+
* Trigger a abandon.
|
|
268
|
+
*/
|
|
269
|
+
async function abandon(appId, version, shard) {
|
|
270
|
+
await RivendellApi_1.RivendellApi.request('PATCH', path(shard, `versions/${appId}@${version}`), { state: AppVersionState.ABANDONED });
|
|
271
|
+
}
|
|
272
|
+
Rivendell.abandon = abandon;
|
|
273
|
+
/**
|
|
274
|
+
* Set logLevel of an app version or an installation
|
|
275
|
+
*/
|
|
276
|
+
async function setLogLevel(shard, appId, version, logLevel, timeToLive, trackerId) {
|
|
277
|
+
await RivendellApi_1.RivendellApi.put(path(shard, `runtime-config/log-levels`), { appId, version, trackerId, logLevel, timeToLive });
|
|
278
|
+
}
|
|
279
|
+
Rivendell.setLogLevel = setLogLevel;
|
|
280
|
+
/**
|
|
281
|
+
* Get logLevel of an app version or an installation
|
|
282
|
+
*/
|
|
283
|
+
async function getLogLevel(shard, appId, version, trackerId) {
|
|
284
|
+
const response = await RivendellApi_1.RivendellApi.post(path(shard, `runtime-config/log-levels/search`), { appId, version, trackerId });
|
|
285
|
+
return response.body;
|
|
286
|
+
}
|
|
287
|
+
Rivendell.getLogLevel = getLogLevel;
|
|
288
|
+
/**
|
|
289
|
+
* Fetch a build by id.
|
|
290
|
+
*/
|
|
291
|
+
async function fetchBuild(id) {
|
|
292
|
+
const response = await RivendellApi_1.RivendellApi.get(`builds/${id}`);
|
|
293
|
+
return response.body;
|
|
294
|
+
}
|
|
295
|
+
Rivendell.fetchBuild = fetchBuild;
|
|
296
|
+
/**
|
|
297
|
+
* Trigger a build.
|
|
298
|
+
*/
|
|
299
|
+
async function build(appId, version, useRCDependencySet) {
|
|
300
|
+
const response = await RivendellApi_1.RivendellApi.post('builds', { appId, version, useRCDependencySet });
|
|
301
|
+
return response.body;
|
|
302
|
+
}
|
|
303
|
+
Rivendell.build = build;
|
|
304
|
+
/**
|
|
305
|
+
* Trigger a verification.
|
|
306
|
+
*/
|
|
307
|
+
async function verify(appId, version) {
|
|
308
|
+
const response = await RivendellApi_1.RivendellApi.post('verifications', { appId, version });
|
|
309
|
+
return response.body;
|
|
310
|
+
}
|
|
311
|
+
Rivendell.verify = verify;
|
|
312
|
+
/**
|
|
313
|
+
* Fetch temp credentials to upload to s3.
|
|
314
|
+
*/
|
|
315
|
+
async function uploadCredentials(vendor, appId, version, checksum) {
|
|
316
|
+
const response = await RivendellApi_1.RivendellApi.post('tokens', { vendor, appId, version, checksum });
|
|
317
|
+
return response.body;
|
|
318
|
+
}
|
|
319
|
+
Rivendell.uploadCredentials = uploadCredentials;
|
|
320
|
+
/**
|
|
321
|
+
* List shards.
|
|
322
|
+
*/
|
|
323
|
+
async function shards() {
|
|
324
|
+
const response = await RivendellApi_1.RivendellApi.get('shards');
|
|
325
|
+
const me = await Rivendell.whoami();
|
|
326
|
+
return response.body.filter((s) => me.role === 'administrator' || s.live);
|
|
327
|
+
}
|
|
328
|
+
Rivendell.shards = shards;
|
|
329
|
+
/**
|
|
330
|
+
* Search Jobs.
|
|
331
|
+
*/
|
|
332
|
+
async function searchJobs(criteria, shard) {
|
|
333
|
+
const response = await RivendellApi_1.RivendellApi.post(path(shard, 'jobs/search'), criteria);
|
|
334
|
+
return response.body;
|
|
335
|
+
}
|
|
336
|
+
Rivendell.searchJobs = searchJobs;
|
|
337
|
+
/**
|
|
338
|
+
* Terminate Jobs
|
|
339
|
+
*/
|
|
340
|
+
async function terminateJob(jobId, shard) {
|
|
341
|
+
await RivendellApi_1.RivendellApi.delete_(path(shard, `jobs/${jobId}`));
|
|
342
|
+
}
|
|
343
|
+
Rivendell.terminateJob = terminateJob;
|
|
344
|
+
/**
|
|
345
|
+
* Trigger a Job
|
|
346
|
+
*/
|
|
347
|
+
async function triggerJob(appId, jobName, trackerId, parameters, shard) {
|
|
348
|
+
const body = { appId, jobName, trackerId, parameters };
|
|
349
|
+
const response = await RivendellApi_1.RivendellApi.post(path(shard, 'jobs'), body);
|
|
350
|
+
return response.body;
|
|
351
|
+
}
|
|
352
|
+
Rivendell.triggerJob = triggerJob;
|
|
353
|
+
/**
|
|
354
|
+
* Fetch a Job
|
|
355
|
+
*/
|
|
356
|
+
async function fetchJob(jobId, shard) {
|
|
357
|
+
const response = await RivendellApi_1.RivendellApi.get(path(shard, `jobs/${jobId}`));
|
|
358
|
+
return response.body;
|
|
359
|
+
}
|
|
360
|
+
Rivendell.fetchJob = fetchJob;
|
|
361
|
+
/**
|
|
362
|
+
* Fetch a jobs runtimeStatus
|
|
363
|
+
*/
|
|
364
|
+
async function fetchJobRuntimeStatus(jobId, shard) {
|
|
365
|
+
const response = await RivendellApi_1.RivendellApi.get(path(shard, `jobs/${jobId}/runtimeStatus`));
|
|
366
|
+
return response.body;
|
|
367
|
+
}
|
|
368
|
+
Rivendell.fetchJobRuntimeStatus = fetchJobRuntimeStatus;
|
|
369
|
+
/**
|
|
370
|
+
* Get Moria JWT for this developer.
|
|
371
|
+
*/
|
|
372
|
+
let cachedJwt;
|
|
373
|
+
async function jwt(shard) {
|
|
374
|
+
const now = new Date();
|
|
375
|
+
if (!cachedJwt || cachedJwt.payload.exp * 1000 - now.getTime() <= 60) {
|
|
376
|
+
const response = await RivendellApi_1.RivendellApi.get(path(shard, 'tokens/jwt'));
|
|
377
|
+
cachedJwt = parseJwt(response.body.jwt);
|
|
378
|
+
}
|
|
379
|
+
return cachedJwt.token;
|
|
380
|
+
}
|
|
381
|
+
Rivendell.jwt = jwt;
|
|
382
|
+
function parseJwt(token) {
|
|
383
|
+
const parts = token.split('.');
|
|
384
|
+
return {
|
|
385
|
+
token,
|
|
386
|
+
header: JSON.parse(Buffer.from(parts[0], 'base64').toString()),
|
|
387
|
+
payload: JSON.parse(Buffer.from(parts[1], 'base64').toString())
|
|
388
|
+
};
|
|
389
|
+
}
|
|
390
|
+
})(Rivendell = exports.Rivendell || (exports.Rivendell = {}));
|
|
391
|
+
//# sourceMappingURL=Rivendell.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Rivendell.js","sourceRoot":"","sources":["../../src/lib/Rivendell.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
export type Method = 'POST' | 'PUT' | 'PATCH' | 'GET' | 'DELETE';
|
|
3
|
+
/**
|
|
4
|
+
* Low level http handler for interacting with the Rivendell api.
|
|
5
|
+
*/
|
|
6
|
+
export declare namespace RivendellApi {
|
|
7
|
+
interface ApiResponse<T = any> {
|
|
8
|
+
response: Response;
|
|
9
|
+
body: T;
|
|
10
|
+
}
|
|
11
|
+
export class ApiError extends Error {
|
|
12
|
+
responseText: string;
|
|
13
|
+
response?: Response | undefined;
|
|
14
|
+
constructor(message: string, responseText: string, response?: Response | undefined);
|
|
15
|
+
}
|
|
16
|
+
export function get<T>(uri: string): Promise<ApiResponse<T>>;
|
|
17
|
+
export function post<T>(uri: string, body: any): Promise<ApiResponse<T>>;
|
|
18
|
+
export function put<T>(uri: string, body: any): Promise<ApiResponse<T>>;
|
|
19
|
+
export function delete_<T>(uri: string): Promise<ApiResponse<T>>;
|
|
20
|
+
export function request<T>(method: Method, uri: string, body?: any): Promise<ApiResponse<T>>;
|
|
21
|
+
export {};
|
|
22
|
+
}
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RivendellApi = void 0;
|
|
4
|
+
const path = require("path");
|
|
5
|
+
const Config_1 = require("./Config");
|
|
6
|
+
const die_1 = require("./die");
|
|
7
|
+
/**
|
|
8
|
+
* Low level http handler for interacting with the Rivendell api.
|
|
9
|
+
*/
|
|
10
|
+
var RivendellApi;
|
|
11
|
+
(function (RivendellApi) {
|
|
12
|
+
class ApiError extends Error {
|
|
13
|
+
constructor(message, responseText, response) {
|
|
14
|
+
super(message);
|
|
15
|
+
this.responseText = responseText;
|
|
16
|
+
this.response = response;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
RivendellApi.ApiError = ApiError;
|
|
20
|
+
async function get(uri) {
|
|
21
|
+
return request('GET', uri);
|
|
22
|
+
}
|
|
23
|
+
RivendellApi.get = get;
|
|
24
|
+
async function post(uri, body) {
|
|
25
|
+
return request('POST', uri, body);
|
|
26
|
+
}
|
|
27
|
+
RivendellApi.post = post;
|
|
28
|
+
async function put(uri, body) {
|
|
29
|
+
return request('PUT', uri, body);
|
|
30
|
+
}
|
|
31
|
+
RivendellApi.put = put;
|
|
32
|
+
async function delete_(uri) {
|
|
33
|
+
return request('DELETE', uri);
|
|
34
|
+
}
|
|
35
|
+
RivendellApi.delete_ = delete_;
|
|
36
|
+
const MAX_RETRIES = 2;
|
|
37
|
+
function isSocketError(error) {
|
|
38
|
+
if (error instanceof Error && 'cause' in error) {
|
|
39
|
+
const cause = error.cause;
|
|
40
|
+
return (cause === null || cause === void 0 ? void 0 : cause.code) === 'UND_ERR_SOCKET' || (cause === null || cause === void 0 ? void 0 : cause.code) === 'ECONNRESET' || (cause === null || cause === void 0 ? void 0 : cause.code) === 'EPIPE';
|
|
41
|
+
}
|
|
42
|
+
return false;
|
|
43
|
+
}
|
|
44
|
+
function shouldRetryException(method, error) {
|
|
45
|
+
var _a;
|
|
46
|
+
// Check if error is an ApiError with a status code
|
|
47
|
+
if (error instanceof ApiError && ((_a = error.response) === null || _a === void 0 ? void 0 : _a.status)) {
|
|
48
|
+
const status = error.response.status;
|
|
49
|
+
// Only retry 5xx errors for GET requests, never retry 3xx/4xx
|
|
50
|
+
return method === 'GET' && status >= 500;
|
|
51
|
+
}
|
|
52
|
+
// For non-ApiError exceptions (network failures, etc.)
|
|
53
|
+
if (method === 'GET') {
|
|
54
|
+
// For GET: retry on network exceptions
|
|
55
|
+
return true;
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
// For other methods: only retry on socket errors (idempotent concern)
|
|
59
|
+
return isSocketError(error);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
function shouldRetryResponse(method, status) {
|
|
63
|
+
// Only retry 5xx responses for GET requests
|
|
64
|
+
return method === 'GET' && status >= 500;
|
|
65
|
+
}
|
|
66
|
+
async function request(method, uri, body) {
|
|
67
|
+
const url = `${(0, Config_1.runtimeConfig)().rivendell}/${uri}`;
|
|
68
|
+
const requestPayload = { method };
|
|
69
|
+
const manifest = require(path.join(__dirname, '../oclif.manifest.json'));
|
|
70
|
+
requestPayload.headers = {
|
|
71
|
+
'x-api-key': loadApiKey(),
|
|
72
|
+
'x-cli-version': manifest.version,
|
|
73
|
+
};
|
|
74
|
+
if (body && method !== 'GET') {
|
|
75
|
+
// @ts-ignore
|
|
76
|
+
requestPayload.headers['content-type'] = 'application/json';
|
|
77
|
+
requestPayload.body = JSON.stringify(body);
|
|
78
|
+
}
|
|
79
|
+
let lastError;
|
|
80
|
+
let lastResponseText;
|
|
81
|
+
let lastStatus;
|
|
82
|
+
for (let attempt = 0; attempt <= MAX_RETRIES; attempt++) {
|
|
83
|
+
try {
|
|
84
|
+
debug(`[RivendellApi] ${method} ${url}${attempt > 0 ? ` (retry ${attempt})` : ''}`);
|
|
85
|
+
const response = await fetch(url, requestPayload);
|
|
86
|
+
debug(`[RivendellApi] Response ${response.status}`);
|
|
87
|
+
const responseText = await response.text();
|
|
88
|
+
// Check for 5xx and retry if applicable
|
|
89
|
+
if (shouldRetryResponse(method, response.status) && attempt < MAX_RETRIES) {
|
|
90
|
+
debug(`[RivendellApi] Server error ${response.status}, retrying...`);
|
|
91
|
+
lastStatus = response.status;
|
|
92
|
+
lastResponseText = responseText;
|
|
93
|
+
continue;
|
|
94
|
+
}
|
|
95
|
+
if (response.status < 200 || response.status >= 300) {
|
|
96
|
+
const errorMsg = `Received a ${response.status} from OCP: ${getErrorMessage(response.status)}`;
|
|
97
|
+
throw new ApiError(errorMsg, responseText, response);
|
|
98
|
+
}
|
|
99
|
+
return {
|
|
100
|
+
response,
|
|
101
|
+
body: responseText ? JSON.parse(responseText) : ''
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
catch (error) {
|
|
105
|
+
lastError = error;
|
|
106
|
+
if (shouldRetryException(method, error) && attempt < MAX_RETRIES) {
|
|
107
|
+
debug(`[RivendellApi] ${isSocketError(error) ? 'Socket error' : 'Request failed'}, retrying...`);
|
|
108
|
+
continue;
|
|
109
|
+
}
|
|
110
|
+
throw error;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
// Exhausted retries - throw appropriate error
|
|
114
|
+
if (lastError) {
|
|
115
|
+
debug(lastError);
|
|
116
|
+
throw lastError;
|
|
117
|
+
}
|
|
118
|
+
if (lastStatus !== undefined) {
|
|
119
|
+
const errorMsg = `Received a ${lastStatus} from OCP after ${MAX_RETRIES} retries: ${getErrorMessage(lastStatus)}`;
|
|
120
|
+
throw new ApiError(errorMsg, lastResponseText || '', undefined);
|
|
121
|
+
}
|
|
122
|
+
throw new Error('Unexpected: no error or response after retries');
|
|
123
|
+
}
|
|
124
|
+
RivendellApi.request = request;
|
|
125
|
+
function loadApiKey() {
|
|
126
|
+
const apiKey = (0, Config_1.getActiveCredential)().apiKey;
|
|
127
|
+
if (apiKey == null) {
|
|
128
|
+
(0, die_1.die)('Your API key is not configured in ~/.ocp/credentials.json. ' +
|
|
129
|
+
'Please assign your API key to the property apiKey in the config file.');
|
|
130
|
+
}
|
|
131
|
+
return apiKey;
|
|
132
|
+
}
|
|
133
|
+
function getErrorMessage(code) {
|
|
134
|
+
switch (code) {
|
|
135
|
+
case 400:
|
|
136
|
+
return 'Bad request.';
|
|
137
|
+
case 403:
|
|
138
|
+
return 'Access denied.';
|
|
139
|
+
case 404:
|
|
140
|
+
return 'Not found.';
|
|
141
|
+
case 500:
|
|
142
|
+
return 'Internal service error.';
|
|
143
|
+
case 502:
|
|
144
|
+
return 'Bad gateway';
|
|
145
|
+
case 503:
|
|
146
|
+
return 'Service unavailable. Please try again.';
|
|
147
|
+
case 504:
|
|
148
|
+
return 'Request timed out. Please try again.';
|
|
149
|
+
default:
|
|
150
|
+
return 'Unhandled error.';
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
function debug(...args) {
|
|
154
|
+
if (process.env.OCP_DEBUG === '1') {
|
|
155
|
+
console.debug(...args);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
})(RivendellApi = exports.RivendellApi || (exports.RivendellApi = {}));
|
|
159
|
+
//# sourceMappingURL=RivendellApi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RivendellApi.js","sourceRoot":"","sources":["../../src/lib/RivendellApi.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.targetShards = exports.shardsFromManifest = exports.applicableShards = void 0;
|
|
4
|
+
const AppContext_1 = require("./AppContext");
|
|
5
|
+
const Config_1 = require("./Config");
|
|
6
|
+
const Rivendell_1 = require("./Rivendell");
|
|
7
|
+
async function applicableShards(availability = '', fromManifest) {
|
|
8
|
+
if ((0, Config_1.getEnv)() === 'staging') {
|
|
9
|
+
return ['us'];
|
|
10
|
+
}
|
|
11
|
+
if (availability) {
|
|
12
|
+
return [availability];
|
|
13
|
+
}
|
|
14
|
+
const manifest = fromManifest || (0, AppContext_1.readAppYaml)();
|
|
15
|
+
return resolveShards(manifest);
|
|
16
|
+
}
|
|
17
|
+
exports.applicableShards = applicableShards;
|
|
18
|
+
async function shardsFromManifest(fromManifest) {
|
|
19
|
+
return resolveShards(fromManifest);
|
|
20
|
+
}
|
|
21
|
+
exports.shardsFromManifest = shardsFromManifest;
|
|
22
|
+
async function targetShards() {
|
|
23
|
+
return await resolveShards((0, AppContext_1.readAppYaml)());
|
|
24
|
+
}
|
|
25
|
+
exports.targetShards = targetShards;
|
|
26
|
+
async function resolveShards(manifest) {
|
|
27
|
+
let shards = manifest.meta.availability || ['us'];
|
|
28
|
+
if (shards.includes('all')) {
|
|
29
|
+
shards = (await Rivendell_1.Rivendell.shards()).map((s) => s.id);
|
|
30
|
+
}
|
|
31
|
+
return shards.sort((a, b) => {
|
|
32
|
+
if (a === 'us') {
|
|
33
|
+
return -1;
|
|
34
|
+
}
|
|
35
|
+
if (b === 'us') {
|
|
36
|
+
return 1;
|
|
37
|
+
}
|
|
38
|
+
return a.localeCompare(b);
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=Shards.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Shards.js","sourceRoot":"","sources":["../../src/lib/Shards.ts"],"names":[],"mappings":";;;AAAA,6CAA2C;AAC3C,qCAAkC;AAClC,2CAAwC;AAEjC,KAAK,UAAU,gBAAgB,CAAC,YAAY,GAAG,EAAE,EAAE,YAAkB;IAC1E,IAAI,IAAA,eAAM,GAAE,KAAK,SAAS,EAAE;QAC1B,OAAO,CAAC,IAAI,CAAC,CAAC;KACf;IAED,IAAI,YAAY,EAAE;QAChB,OAAO,CAAC,YAAY,CAAC,CAAC;KACvB;IAED,MAAM,QAAQ,GAAG,YAAY,IAAI,IAAA,wBAAW,GAAE,CAAC;IAC/C,OAAO,aAAa,CAAC,QAAQ,CAAC,CAAC;AACjC,CAAC;AAXD,4CAWC;AAEM,KAAK,UAAU,kBAAkB,CAAC,YAAiB;IACxD,OAAO,aAAa,CAAC,YAAY,CAAC,CAAC;AACrC,CAAC;AAFD,gDAEC;AAEM,KAAK,UAAU,YAAY;IAChC,OAAO,MAAM,aAAa,CAAC,IAAA,wBAAW,GAAE,CAAC,CAAC;AAC5C,CAAC;AAFD,oCAEC;AAED,KAAK,UAAU,aAAa,CAAC,QAAa;IACxC,IAAI,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,CAAC;IAClD,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;QAC1B,MAAM,GAAG,CAAC,MAAM,qBAAS,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;KACtD;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE;QAC1C,IAAI,CAAC,KAAK,IAAI,EAAE;YACd,OAAO,CAAC,CAAC,CAAC;SACX;QAED,IAAI,CAAC,KAAK,IAAI,EAAE;YACd,OAAO,CAAC,CAAC;SACV;QAED,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function styledStringLength(str: string): number;
|