@dbos-inc/dbos-cloud 1.0.2 → 1.1.5-preview
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/dist/applications/delete-app.d.ts.map +1 -0
- package/dist/applications/delete-app.js +34 -0
- package/dist/applications/delete-app.js.map +1 -0
- package/dist/applications/deploy-app-code.d.ts.map +1 -0
- package/dist/{packages/dbos-cloud/applications → applications}/deploy-app-code.js +23 -30
- package/dist/applications/deploy-app-code.js.map +1 -0
- package/dist/applications/get-app-info.d.ts.map +1 -0
- package/dist/applications/get-app-info.js +43 -0
- package/dist/applications/get-app-info.js.map +1 -0
- package/dist/applications/get-app-logs.d.ts.map +1 -0
- package/dist/{packages/dbos-cloud/applications → applications}/get-app-logs.js +9 -16
- package/dist/applications/get-app-logs.js.map +1 -0
- package/dist/applications/index.d.ts +7 -0
- package/dist/applications/index.d.ts.map +1 -0
- package/dist/applications/index.js +7 -0
- package/dist/applications/index.js.map +1 -0
- package/dist/applications/list-apps.d.ts.map +1 -0
- package/dist/applications/list-apps.js +41 -0
- package/dist/applications/list-apps.js.map +1 -0
- package/dist/applications/register-app.d.ts.map +1 -0
- package/dist/applications/register-app.js +39 -0
- package/dist/applications/register-app.js.map +1 -0
- package/dist/applications/types.d.ts.map +1 -0
- package/dist/{packages/dbos-cloud/applications → applications}/types.js +1 -5
- package/dist/applications/types.js.map +1 -0
- package/dist/applications/update-app.d.ts.map +1 -0
- package/dist/applications/update-app.js +38 -0
- package/dist/applications/update-app.js.map +1 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/{packages/dbos-cloud/cli.js → cli.js} +58 -35
- package/dist/cli.js.map +1 -0
- package/dist/{packages/dbos-cloud/cloudutils.d.ts → cloudutils.d.ts} +1 -1
- package/dist/cloudutils.d.ts.map +1 -0
- package/dist/cloudutils.js +126 -0
- package/dist/cloudutils.js.map +1 -0
- package/dist/dashboards.d.ts.map +1 -0
- package/{dashboards.ts → dist/dashboards.js} +24 -24
- package/dist/dashboards.js.map +1 -0
- package/dist/login.d.ts.map +1 -0
- package/dist/{packages/dbos-cloud/login.js → login.js} +25 -26
- package/dist/login.js.map +1 -0
- package/dist/register.d.ts.map +1 -0
- package/dist/register.js +86 -0
- package/dist/register.js.map +1 -0
- package/dist/userdb.d.ts.map +1 -0
- package/dist/{packages/dbos-cloud/userdb.js → userdb.js} +34 -47
- package/dist/userdb.js.map +1 -0
- package/package.json +7 -3
- package/Gruntfile.js +0 -9
- package/applications/delete-app.ts +0 -35
- package/applications/deploy-app-code.ts +0 -126
- package/applications/get-app-info.ts +0 -42
- package/applications/get-app-logs.ts +0 -45
- package/applications/index.ts +0 -7
- package/applications/list-apps.ts +0 -42
- package/applications/register-app.ts +0 -43
- package/applications/types.ts +0 -19
- package/applications/update-app.ts +0 -43
- package/cli.ts +0 -225
- package/cloudutils.ts +0 -166
- package/dist/packages/dbos-cloud/applications/delete-app.d.ts.map +0 -1
- package/dist/packages/dbos-cloud/applications/delete-app.js +0 -41
- package/dist/packages/dbos-cloud/applications/delete-app.js.map +0 -1
- package/dist/packages/dbos-cloud/applications/deploy-app-code.d.ts.map +0 -1
- package/dist/packages/dbos-cloud/applications/deploy-app-code.js.map +0 -1
- package/dist/packages/dbos-cloud/applications/get-app-info.d.ts.map +0 -1
- package/dist/packages/dbos-cloud/applications/get-app-info.js +0 -50
- package/dist/packages/dbos-cloud/applications/get-app-info.js.map +0 -1
- package/dist/packages/dbos-cloud/applications/get-app-logs.d.ts.map +0 -1
- package/dist/packages/dbos-cloud/applications/get-app-logs.js.map +0 -1
- package/dist/packages/dbos-cloud/applications/index.d.ts +0 -7
- package/dist/packages/dbos-cloud/applications/index.d.ts.map +0 -1
- package/dist/packages/dbos-cloud/applications/index.js +0 -16
- package/dist/packages/dbos-cloud/applications/index.js.map +0 -1
- package/dist/packages/dbos-cloud/applications/list-apps.d.ts.map +0 -1
- package/dist/packages/dbos-cloud/applications/list-apps.js +0 -48
- package/dist/packages/dbos-cloud/applications/list-apps.js.map +0 -1
- package/dist/packages/dbos-cloud/applications/register-app.d.ts.map +0 -1
- package/dist/packages/dbos-cloud/applications/register-app.js +0 -46
- package/dist/packages/dbos-cloud/applications/register-app.js.map +0 -1
- package/dist/packages/dbos-cloud/applications/types.d.ts.map +0 -1
- package/dist/packages/dbos-cloud/applications/types.js.map +0 -1
- package/dist/packages/dbos-cloud/applications/update-app.d.ts.map +0 -1
- package/dist/packages/dbos-cloud/applications/update-app.js +0 -45
- package/dist/packages/dbos-cloud/applications/update-app.js.map +0 -1
- package/dist/packages/dbos-cloud/cli.d.ts.map +0 -1
- package/dist/packages/dbos-cloud/cli.js.map +0 -1
- package/dist/packages/dbos-cloud/cloudutils.d.ts.map +0 -1
- package/dist/packages/dbos-cloud/cloudutils.js +0 -145
- package/dist/packages/dbos-cloud/cloudutils.js.map +0 -1
- package/dist/packages/dbos-cloud/dashboards.d.ts.map +0 -1
- package/dist/packages/dbos-cloud/dashboards.js +0 -63
- package/dist/packages/dbos-cloud/dashboards.js.map +0 -1
- package/dist/packages/dbos-cloud/login.d.ts.map +0 -1
- package/dist/packages/dbos-cloud/login.js.map +0 -1
- package/dist/packages/dbos-cloud/register.d.ts.map +0 -1
- package/dist/packages/dbos-cloud/register.js +0 -116
- package/dist/packages/dbos-cloud/register.js.map +0 -1
- package/dist/packages/dbos-cloud/userdb.d.ts.map +0 -1
- package/dist/packages/dbos-cloud/userdb.js.map +0 -1
- package/dist/src/utils.d.ts +0 -6
- package/dist/src/utils.d.ts.map +0 -1
- package/dist/src/utils.js +0 -51
- package/dist/src/utils.js.map +0 -1
- package/login.ts +0 -146
- package/register.ts +0 -89
- package/tsconfig.json +0 -22
- package/userdb.ts +0 -191
- /package/dist/{packages/dbos-cloud/applications → applications}/delete-app.d.ts +0 -0
- /package/dist/{packages/dbos-cloud/applications → applications}/deploy-app-code.d.ts +0 -0
- /package/dist/{packages/dbos-cloud/applications → applications}/get-app-info.d.ts +0 -0
- /package/dist/{packages/dbos-cloud/applications → applications}/get-app-logs.d.ts +0 -0
- /package/dist/{packages/dbos-cloud/applications → applications}/list-apps.d.ts +0 -0
- /package/dist/{packages/dbos-cloud/applications → applications}/register-app.d.ts +0 -0
- /package/dist/{packages/dbos-cloud/applications → applications}/types.d.ts +0 -0
- /package/dist/{packages/dbos-cloud/applications → applications}/update-app.d.ts +0 -0
- /package/dist/{packages/dbos-cloud/cli.d.ts → cli.d.ts} +0 -0
- /package/dist/{packages/dbos-cloud/dashboards.d.ts → dashboards.d.ts} +0 -0
- /package/dist/{packages/dbos-cloud/login.d.ts → login.d.ts} +0 -0
- /package/dist/{packages/dbos-cloud/register.d.ts → register.d.ts} +0 -0
- /package/dist/{packages/dbos-cloud/userdb.d.ts → userdb.d.ts} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete-app.d.ts","sourceRoot":"","sources":["../../applications/delete-app.ts"],"names":[],"mappings":"AAGA,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA+B/E"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import axios from "axios";
|
|
2
|
+
import { isCloudAPIErrorResponse, handleAPIErrors, getCloudCredentials, getLogger, retrieveApplicationName } from "../cloudutils.js";
|
|
3
|
+
export async function deleteApp(host, appName) {
|
|
4
|
+
const logger = getLogger();
|
|
5
|
+
const userCredentials = getCloudCredentials();
|
|
6
|
+
const bearerToken = "Bearer " + userCredentials.token;
|
|
7
|
+
appName = appName ?? retrieveApplicationName(logger);
|
|
8
|
+
if (!appName) {
|
|
9
|
+
return 1;
|
|
10
|
+
}
|
|
11
|
+
logger.info(`Deleting application: ${appName}`);
|
|
12
|
+
try {
|
|
13
|
+
await axios.delete(`https://${host}/v1alpha1/${userCredentials.userName}/applications/${appName}`, {
|
|
14
|
+
headers: {
|
|
15
|
+
"Content-Type": "application/json",
|
|
16
|
+
Authorization: bearerToken,
|
|
17
|
+
},
|
|
18
|
+
});
|
|
19
|
+
logger.info(`Successfully deleted application: ${appName}`);
|
|
20
|
+
return 0;
|
|
21
|
+
}
|
|
22
|
+
catch (e) {
|
|
23
|
+
const errorLabel = `Failed to delete application ${appName}`;
|
|
24
|
+
const axiosError = e;
|
|
25
|
+
if (isCloudAPIErrorResponse(axiosError.response?.data)) {
|
|
26
|
+
handleAPIErrors(errorLabel, axiosError);
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
logger.error(`${errorLabel}: ${e.message}`);
|
|
30
|
+
}
|
|
31
|
+
return 1;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=delete-app.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete-app.js","sourceRoot":"","sources":["../../applications/delete-app.ts"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,uBAAuB,EAAE,eAAe,EAAE,mBAAmB,EAAE,SAAS,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAErI,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,IAAY,EAAE,OAAgB;IAC5D,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;IAC1B,MAAM,eAAe,GAAG,mBAAmB,EAAE,CAAC;IAC9C,MAAM,WAAW,GAAG,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC;IAEtD,OAAO,GAAG,OAAO,IAAI,uBAAuB,CAAC,MAAM,CAAC,CAAC;IACrD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,yBAAyB,OAAO,EAAE,CAAC,CAAA;IAE/C,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,MAAM,CAAC,WAAW,IAAI,aAAa,eAAe,CAAC,QAAQ,iBAAiB,OAAO,EAAE,EAAE;YACjG,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,aAAa,EAAE,WAAW;aAC3B;SACF,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,qCAAqC,OAAO,EAAE,CAAC,CAAC;QAC5D,OAAO,CAAC,CAAC;IACX,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,UAAU,GAAG,gCAAgC,OAAO,EAAE,CAAC;QAC7D,MAAM,UAAU,GAAG,CAAe,CAAC;QACnC,IAAI,uBAAuB,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC;YACvD,eAAe,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,KAAK,CAAC,GAAG,UAAU,KAAM,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QACzD,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deploy-app-code.d.ts","sourceRoot":"","sources":["../../applications/deploy-app-code.ts"],"names":[],"mappings":"AAkCA,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAmFjE"}
|
|
@@ -1,40 +1,34 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const axios_1 = __importDefault(require("axios"));
|
|
8
|
-
const fs_1 = require("fs");
|
|
9
|
-
const cloudutils_1 = require("../cloudutils");
|
|
10
|
-
const path_1 = __importDefault(require("path"));
|
|
11
|
-
const jszip_1 = __importDefault(require("jszip"));
|
|
12
|
-
const fast_glob_1 = __importDefault(require("fast-glob"));
|
|
1
|
+
import axios from "axios";
|
|
2
|
+
import { existsSync, readFileSync } from 'fs';
|
|
3
|
+
import { handleAPIErrors, dbosConfigFilePath, getCloudCredentials, getLogger, checkReadFile, sleep, isCloudAPIErrorResponse, retrieveApplicationName, dbosEnvPath } from "../cloudutils.js";
|
|
4
|
+
import path from "path";
|
|
5
|
+
import JSZip from "jszip";
|
|
6
|
+
import fg from 'fast-glob';
|
|
13
7
|
async function createZipData() {
|
|
14
|
-
const zip = new
|
|
15
|
-
const files = await (
|
|
8
|
+
const zip = new JSZip();
|
|
9
|
+
const files = await fg(`${process.cwd()}/**/*`, { dot: true, onlyFiles: true, ignore: [`**/${dbosEnvPath}/**`, '**/node_modules/**', '**/dist/**', `**/${dbosConfigFilePath}`] });
|
|
16
10
|
files.forEach(file => {
|
|
17
11
|
const relativePath = file.replace(`${process.cwd()}/`, '');
|
|
18
|
-
const fileData =
|
|
12
|
+
const fileData = readFileSync(file);
|
|
19
13
|
zip.file(relativePath, fileData, { binary: true });
|
|
20
14
|
});
|
|
21
15
|
// Add the interpolated config file at package root
|
|
22
|
-
const interpolatedConfig = readInterpolatedConfig(
|
|
23
|
-
zip.file(
|
|
16
|
+
const interpolatedConfig = readInterpolatedConfig(dbosConfigFilePath);
|
|
17
|
+
zip.file(dbosConfigFilePath, interpolatedConfig, { binary: true });
|
|
24
18
|
// Generate ZIP file as a Buffer
|
|
25
19
|
const buffer = await zip.generateAsync({ type: 'nodebuffer' });
|
|
26
20
|
return buffer.toString('base64');
|
|
27
21
|
}
|
|
28
|
-
async function deployAppCode(host) {
|
|
29
|
-
const logger =
|
|
30
|
-
const userCredentials =
|
|
22
|
+
export async function deployAppCode(host) {
|
|
23
|
+
const logger = getLogger();
|
|
24
|
+
const userCredentials = getCloudCredentials();
|
|
31
25
|
const bearerToken = "Bearer " + userCredentials.token;
|
|
32
|
-
const appName =
|
|
26
|
+
const appName = retrieveApplicationName(logger);
|
|
33
27
|
if (!appName) {
|
|
34
28
|
return 1;
|
|
35
29
|
}
|
|
36
30
|
// Verify that package-lock.json exists
|
|
37
|
-
if (!
|
|
31
|
+
if (!existsSync(path.join(process.cwd(), 'package-lock.json'))) {
|
|
38
32
|
logger.error("package-lock.json not found. Please run 'npm install' before deploying.");
|
|
39
33
|
return 1;
|
|
40
34
|
}
|
|
@@ -42,7 +36,7 @@ async function deployAppCode(host) {
|
|
|
42
36
|
const zipData = await createZipData();
|
|
43
37
|
// Submit the deploy request
|
|
44
38
|
logger.info(`Submitting deploy request for ${appName}`);
|
|
45
|
-
const response = await
|
|
39
|
+
const response = await axios.post(`https://${host}/v1alpha1/${userCredentials.userName}/applications/${appName}`, {
|
|
46
40
|
application_archive: zipData,
|
|
47
41
|
}, {
|
|
48
42
|
headers: {
|
|
@@ -68,7 +62,7 @@ async function deployAppCode(host) {
|
|
|
68
62
|
return 1;
|
|
69
63
|
}
|
|
70
64
|
// Retrieve the application status, check if it is "AVAILABLE"
|
|
71
|
-
const list = await
|
|
65
|
+
const list = await axios.get(`https://${host}/v1alpha1/${userCredentials.userName}/applications`, {
|
|
72
66
|
headers: {
|
|
73
67
|
Authorization: bearerToken,
|
|
74
68
|
},
|
|
@@ -79,9 +73,9 @@ async function deployAppCode(host) {
|
|
|
79
73
|
applicationAvailable = true;
|
|
80
74
|
}
|
|
81
75
|
}
|
|
82
|
-
await
|
|
76
|
+
await sleep(1000);
|
|
83
77
|
}
|
|
84
|
-
await
|
|
78
|
+
await sleep(5000); // Leave time for route cache updates
|
|
85
79
|
logger.info(`Successfully deployed ${appName}!`);
|
|
86
80
|
logger.info(`Access your application at https://${userCredentials.userName}-${appName}.${host}/`);
|
|
87
81
|
return 0;
|
|
@@ -89,8 +83,8 @@ async function deployAppCode(host) {
|
|
|
89
83
|
catch (e) {
|
|
90
84
|
const errorLabel = `Failed to deploy application ${appName}`;
|
|
91
85
|
const axiosError = e;
|
|
92
|
-
if (
|
|
93
|
-
|
|
86
|
+
if (isCloudAPIErrorResponse(axiosError.response?.data)) {
|
|
87
|
+
handleAPIErrors(errorLabel, axiosError);
|
|
94
88
|
}
|
|
95
89
|
else {
|
|
96
90
|
logger.error(`${errorLabel}: ${e.message}`);
|
|
@@ -98,9 +92,8 @@ async function deployAppCode(host) {
|
|
|
98
92
|
return 1;
|
|
99
93
|
}
|
|
100
94
|
}
|
|
101
|
-
exports.deployAppCode = deployAppCode;
|
|
102
95
|
function readInterpolatedConfig(configFilePath) {
|
|
103
|
-
const configFileContent =
|
|
96
|
+
const configFileContent = checkReadFile(configFilePath);
|
|
104
97
|
const regex = /\${([^}]+)}/g; // Regex to match ${VAR_NAME} style placeholders
|
|
105
98
|
return configFileContent.replace(regex, (_, g1) => {
|
|
106
99
|
return process.env[g1] || ""; // If the env variable is not set, return an empty string.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deploy-app-code.js","sourceRoot":"","sources":["../../applications/deploy-app-code.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-app-info.d.ts","sourceRoot":"","sources":["../../applications/get-app-info.ts"],"names":[],"mappings":"AAIA,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAqC/F"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import axios from "axios";
|
|
2
|
+
import { handleAPIErrors, getCloudCredentials, getLogger, isCloudAPIErrorResponse, retrieveApplicationName } from "../cloudutils.js";
|
|
3
|
+
import { prettyPrintApplication } from "./types.js";
|
|
4
|
+
export async function getAppInfo(host, json, appName) {
|
|
5
|
+
const logger = getLogger();
|
|
6
|
+
const userCredentials = getCloudCredentials();
|
|
7
|
+
const bearerToken = "Bearer " + userCredentials.token;
|
|
8
|
+
appName = appName ?? retrieveApplicationName(logger, json);
|
|
9
|
+
if (!appName) {
|
|
10
|
+
return 1;
|
|
11
|
+
}
|
|
12
|
+
if (!json) {
|
|
13
|
+
logger.info(`Retrieving info for application: ${appName}`);
|
|
14
|
+
}
|
|
15
|
+
try {
|
|
16
|
+
const res = await axios.get(`https://${host}/v1alpha1/${userCredentials.userName}/applications/${appName}`, {
|
|
17
|
+
headers: {
|
|
18
|
+
"Content-Type": "application/json",
|
|
19
|
+
Authorization: bearerToken,
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
const app = res.data;
|
|
23
|
+
if (json) {
|
|
24
|
+
console.log(JSON.stringify(app));
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
prettyPrintApplication(app);
|
|
28
|
+
}
|
|
29
|
+
return 0;
|
|
30
|
+
}
|
|
31
|
+
catch (e) {
|
|
32
|
+
const errorLabel = `Failed to retrieve info for application ${appName}`;
|
|
33
|
+
const axiosError = e;
|
|
34
|
+
if (isCloudAPIErrorResponse(axiosError.response?.data)) {
|
|
35
|
+
handleAPIErrors(errorLabel, axiosError);
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
logger.error(`${errorLabel}: ${e.message}`);
|
|
39
|
+
}
|
|
40
|
+
return 1;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=get-app-info.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-app-info.js","sourceRoot":"","sources":["../../applications/get-app-info.ts"],"names":[],"mappings":"AAAA,OAAO,KAAsB,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,SAAS,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AACrI,OAAO,EAAe,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEjE,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAAY,EAAE,IAAa,EAAE,OAAgB;IAC5E,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,eAAe,GAAG,mBAAmB,EAAE,CAAC;IAC9C,MAAM,WAAW,GAAG,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC;IAEtD,OAAO,GAAG,OAAO,IAAI,uBAAuB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC3D,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,CAAC,IAAI,CAAC,oCAAoC,OAAO,EAAE,CAAC,CAAA;IAC5D,CAAC;IAED,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,WAAW,IAAI,aAAa,eAAe,CAAC,QAAQ,iBAAiB,OAAO,EAAE,EAAE;YAC1G,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,aAAa,EAAE,WAAW;aAC3B;SACF,CAAC,CAAC;QACH,MAAM,GAAG,GAAG,GAAG,CAAC,IAAmB,CAAA;QACnC,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,sBAAsB,CAAC,GAAG,CAAC,CAAC;QAC9B,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,UAAU,GAAG,2CAA2C,OAAO,EAAE,CAAC;QACxE,MAAM,UAAU,GAAG,CAAe,CAAC;QACnC,IAAI,uBAAuB,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC;YACvD,eAAe,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,KAAK,CAAC,GAAG,UAAU,KAAM,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QACzD,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-app-logs.d.ts","sourceRoot":"","sources":["../../applications/get-app-logs.ts"],"names":[],"mappings":"AAGA,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAyC5E"}
|
|
@@ -1,28 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.getAppLogs = void 0;
|
|
7
|
-
const axios_1 = __importDefault(require("axios"));
|
|
8
|
-
const cloudutils_1 = require("../cloudutils");
|
|
9
|
-
async function getAppLogs(host, last) {
|
|
1
|
+
import axios from "axios";
|
|
2
|
+
import { handleAPIErrors, getCloudCredentials, getLogger, isCloudAPIErrorResponse, retrieveApplicationName } from "../cloudutils.js";
|
|
3
|
+
export async function getAppLogs(host, last) {
|
|
10
4
|
if (last != undefined && (isNaN(last) || last <= 0)) {
|
|
11
5
|
throw new Error('The --last parmameter must be an integer greater than 0');
|
|
12
6
|
}
|
|
13
7
|
if (last == undefined) {
|
|
14
8
|
last = 0; //internally, 0 means "get all the logs." This is the default.
|
|
15
9
|
}
|
|
16
|
-
const logger =
|
|
17
|
-
const userCredentials =
|
|
10
|
+
const logger = getLogger();
|
|
11
|
+
const userCredentials = getCloudCredentials();
|
|
18
12
|
const bearerToken = "Bearer " + userCredentials.token;
|
|
19
|
-
const appName =
|
|
13
|
+
const appName = retrieveApplicationName(logger);
|
|
20
14
|
if (!appName) {
|
|
21
15
|
return 1;
|
|
22
16
|
}
|
|
23
17
|
logger.info(`Retrieving logs for application: ${appName}`);
|
|
24
18
|
try {
|
|
25
|
-
const res = await
|
|
19
|
+
const res = await axios.get(`https://${host}/v1alpha1/${userCredentials.userName}/logs/applications/${appName}?last=${last}`, {
|
|
26
20
|
headers: {
|
|
27
21
|
"Content-Type": "application/json",
|
|
28
22
|
Authorization: bearerToken,
|
|
@@ -40,8 +34,8 @@ async function getAppLogs(host, last) {
|
|
|
40
34
|
catch (e) {
|
|
41
35
|
const errorLabel = `Failed to retrieve logs of application ${appName}`;
|
|
42
36
|
const axiosError = e;
|
|
43
|
-
if (
|
|
44
|
-
|
|
37
|
+
if (isCloudAPIErrorResponse(axiosError.response?.data)) {
|
|
38
|
+
handleAPIErrors(errorLabel, axiosError);
|
|
45
39
|
}
|
|
46
40
|
else {
|
|
47
41
|
logger.error(`${errorLabel}: ${e.message}`);
|
|
@@ -49,5 +43,4 @@ async function getAppLogs(host, last) {
|
|
|
49
43
|
return 1;
|
|
50
44
|
}
|
|
51
45
|
}
|
|
52
|
-
exports.getAppLogs = getAppLogs;
|
|
53
46
|
//# sourceMappingURL=get-app-logs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-app-logs.js","sourceRoot":"","sources":["../../applications/get-app-logs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAsB,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,SAAS,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAErI,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAAY,EAAE,IAAY;IACzD,IAAI,IAAI,IAAI,SAAS,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC7E,CAAC;IACD,IAAI,IAAI,IAAI,SAAS,EAAE,CAAC;QACtB,IAAI,GAAG,CAAC,CAAA,CAAM,8DAA8D;IAC9E,CAAC;IACD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,eAAe,GAAG,mBAAmB,EAAE,CAAC;IAC9C,MAAM,WAAW,GAAG,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC;IAEtD,MAAM,OAAO,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAChD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,oCAAoC,OAAO,EAAE,CAAC,CAAA;IAE1D,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,WAAW,IAAI,aAAa,eAAe,CAAC,QAAQ,sBAAsB,OAAO,SAAS,IAAI,EAAE,EAAE;YAC5H,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,aAAa,EAAE,WAAW;aAC3B;SACF,CAAC,CAAC;QACH,IAAI,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;YACnB,MAAM,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;QAC5D,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,+CAA+C,OAAO,EAAE,CAAC,CAAC;YACtE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACvB,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,UAAU,GAAG,0CAA0C,OAAO,EAAE,CAAC;QACvE,MAAM,UAAU,GAAG,CAAe,CAAC;QACnC,IAAI,uBAAuB,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC;YACvD,eAAe,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,KAAK,CAAC,GAAG,UAAU,KAAM,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QACzD,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { registerApp } from './register-app.js';
|
|
2
|
+
export { listApps } from './list-apps.js';
|
|
3
|
+
export { deleteApp } from './delete-app.js';
|
|
4
|
+
export { deployAppCode } from './deploy-app-code.js';
|
|
5
|
+
export { getAppLogs } from './get-app-logs.js';
|
|
6
|
+
export { updateApp } from './update-app.js';
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../applications/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { registerApp } from './register-app.js';
|
|
2
|
+
export { listApps } from './list-apps.js';
|
|
3
|
+
export { deleteApp } from './delete-app.js';
|
|
4
|
+
export { deployAppCode } from './deploy-app-code.js';
|
|
5
|
+
export { getAppLogs } from './get-app-logs.js';
|
|
6
|
+
export { updateApp } from './update-app.js';
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../applications/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-apps.d.ts","sourceRoot":"","sources":["../../applications/list-apps.ts"],"names":[],"mappings":"AAIA,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAqC3E"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import axios from "axios";
|
|
2
|
+
import { handleAPIErrors, getCloudCredentials, getLogger, isCloudAPIErrorResponse } from "../cloudutils.js";
|
|
3
|
+
import { prettyPrintApplication } from "./types.js";
|
|
4
|
+
export async function listApps(host, json) {
|
|
5
|
+
const logger = getLogger();
|
|
6
|
+
const userCredentials = getCloudCredentials();
|
|
7
|
+
const bearerToken = "Bearer " + userCredentials.token;
|
|
8
|
+
try {
|
|
9
|
+
const list = await axios.get(`https://${host}/v1alpha1/${userCredentials.userName}/applications`, {
|
|
10
|
+
headers: {
|
|
11
|
+
Authorization: bearerToken,
|
|
12
|
+
},
|
|
13
|
+
});
|
|
14
|
+
const applications = list.data;
|
|
15
|
+
if (json) {
|
|
16
|
+
console.log(JSON.stringify(applications));
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
if (applications.length === 0) {
|
|
20
|
+
logger.info("No applications found");
|
|
21
|
+
}
|
|
22
|
+
applications.forEach(app => {
|
|
23
|
+
prettyPrintApplication(app);
|
|
24
|
+
console.log('-------------------------');
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
return 0;
|
|
28
|
+
}
|
|
29
|
+
catch (e) {
|
|
30
|
+
const errorLabel = 'Failed to list applications';
|
|
31
|
+
const axiosError = e;
|
|
32
|
+
if (isCloudAPIErrorResponse(axiosError.response?.data)) {
|
|
33
|
+
handleAPIErrors(errorLabel, axiosError);
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
logger.error(`${errorLabel}: ${e.message}`);
|
|
37
|
+
}
|
|
38
|
+
return 1;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=list-apps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-apps.js","sourceRoot":"","sources":["../../applications/list-apps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,SAAS,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC5G,OAAO,EAAe,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEjE,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,IAAY,EAAE,IAAa;IACxD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,eAAe,GAAG,mBAAmB,EAAE,CAAC;IAC9C,MAAM,WAAW,GAAG,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC;IAEtD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,CAC1B,WAAW,IAAI,aAAa,eAAe,CAAC,QAAQ,eAAe,EACnE;YACE,OAAO,EAAE;gBACP,aAAa,EAAE,WAAW;aAC3B;SACF,CACF,CAAC;QACF,MAAM,YAAY,GAAkB,IAAI,CAAC,IAAqB,CAAC;QAC/D,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;QAC5C,CAAC;aAAM,CAAC;YACN,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC9B,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;YACvC,CAAC;YACD,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBACzB,sBAAsB,CAAC,GAAG,CAAC,CAAC;gBAC5B,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;YAC3C,CAAC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,UAAU,GAAG,6BAA6B,CAAC;QACjD,MAAM,UAAU,GAAG,CAAe,CAAC;QACnC,IAAI,uBAAuB,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC;YACvD,eAAe,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,KAAK,CAAC,GAAG,UAAU,KAAM,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QACzD,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"register-app.d.ts","sourceRoot":"","sources":["../../applications/register-app.ts"],"names":[],"mappings":"AAGA,wBAAsB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAuC/E"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import axios from "axios";
|
|
2
|
+
import { handleAPIErrors, getCloudCredentials, getLogger, isCloudAPIErrorResponse, retrieveApplicationName } from "../cloudutils.js";
|
|
3
|
+
export async function registerApp(dbname, host) {
|
|
4
|
+
const logger = getLogger();
|
|
5
|
+
const userCredentials = getCloudCredentials();
|
|
6
|
+
const bearerToken = "Bearer " + userCredentials.token;
|
|
7
|
+
const appName = retrieveApplicationName(logger);
|
|
8
|
+
if (!appName) {
|
|
9
|
+
return 1;
|
|
10
|
+
}
|
|
11
|
+
logger.info(`Registering application: ${appName}`);
|
|
12
|
+
try {
|
|
13
|
+
const register = await axios.put(`https://${host}/v1alpha1/${userCredentials.userName}/applications`, {
|
|
14
|
+
name: appName,
|
|
15
|
+
database: dbname,
|
|
16
|
+
}, {
|
|
17
|
+
headers: {
|
|
18
|
+
"Content-Type": "application/json",
|
|
19
|
+
Authorization: bearerToken,
|
|
20
|
+
},
|
|
21
|
+
});
|
|
22
|
+
const uuid = register.data;
|
|
23
|
+
logger.info(`${appName} ID: ${uuid}`);
|
|
24
|
+
logger.info(`Successfully registered ${appName}!`);
|
|
25
|
+
return 0;
|
|
26
|
+
}
|
|
27
|
+
catch (e) {
|
|
28
|
+
const errorLabel = `Failed to register application ${appName}`;
|
|
29
|
+
const axiosError = e;
|
|
30
|
+
if (isCloudAPIErrorResponse(axiosError.response?.data)) {
|
|
31
|
+
handleAPIErrors(errorLabel, axiosError);
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
logger.error(`${errorLabel}: ${e.message}`);
|
|
35
|
+
}
|
|
36
|
+
return 1;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=register-app.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"register-app.js","sourceRoot":"","sources":["../../applications/register-app.ts"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,SAAS,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAErI,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,MAAc,EAAE,IAAY;IAC5D,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,eAAe,GAAG,mBAAmB,EAAE,CAAC;IAC9C,MAAM,WAAW,GAAG,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC;IAEtD,MAAM,OAAO,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAChD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,4BAA4B,OAAO,EAAE,CAAC,CAAA;IAElD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAC9B,WAAW,IAAI,aAAa,eAAe,CAAC,QAAQ,eAAe,EACnE;YACE,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,MAAM;SACjB,EACD;YACE,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,aAAa,EAAE,WAAW;aAC3B;SACF,CACF,CAAC;QACF,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAc,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,QAAQ,IAAI,EAAE,CAAC,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,2BAA2B,OAAO,GAAG,CAAC,CAAC;QACnD,OAAO,CAAC,CAAC;IACX,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,UAAU,GAAG,kCAAkC,OAAO,EAAE,CAAC;QAC/D,MAAM,UAAU,GAAG,CAAe,CAAC;QACnC,IAAI,uBAAuB,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC;YACvD,eAAe,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,KAAK,CAAC,GAAG,UAAU,KAAM,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QACzD,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../applications/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,oBAAoB,EAAE,MAAM,CAAC;IAC7B,uBAAuB,EAAE,MAAM,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,WAAW,QAQtD"}
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.prettyPrintApplication = void 0;
|
|
4
|
-
function prettyPrintApplication(app) {
|
|
1
|
+
export function prettyPrintApplication(app) {
|
|
5
2
|
console.log(`Application Name: ${app.Name}`);
|
|
6
3
|
console.log(`ID: ${app.ID}`);
|
|
7
4
|
console.log(`Postgres Instance Name: ${app.PostgresInstanceName}`);
|
|
@@ -10,5 +7,4 @@ function prettyPrintApplication(app) {
|
|
|
10
7
|
console.log(`Version: ${app.Version}`);
|
|
11
8
|
console.log(`App URL: ${app.AppURL}`);
|
|
12
9
|
}
|
|
13
|
-
exports.prettyPrintApplication = prettyPrintApplication;
|
|
14
10
|
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../applications/types.ts"],"names":[],"mappings":"AAUA,MAAM,UAAU,sBAAsB,CAAC,GAAgB;IACrD,OAAO,CAAC,GAAG,CAAC,qBAAqB,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7C,OAAO,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;IAC7B,OAAO,CAAC,GAAG,CAAC,2BAA2B,GAAG,CAAC,oBAAoB,EAAE,CAAC,CAAC;IACnE,OAAO,CAAC,GAAG,CAAC,8BAA8B,GAAG,CAAC,uBAAuB,EAAE,CAAC,CAAC;IACzE,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,YAAY,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IACvC,OAAO,CAAC,GAAG,CAAC,YAAY,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;AACxC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-app.d.ts","sourceRoot":"","sources":["../../applications/update-app.ts"],"names":[],"mappings":"AAIA,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAsC7D"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import axios from "axios";
|
|
2
|
+
import { getCloudCredentials, getLogger, handleAPIErrors, isCloudAPIErrorResponse, retrieveApplicationName } from "../cloudutils.js";
|
|
3
|
+
export async function updateApp(host) {
|
|
4
|
+
const logger = getLogger();
|
|
5
|
+
const userCredentials = getCloudCredentials();
|
|
6
|
+
const bearerToken = "Bearer " + userCredentials.token;
|
|
7
|
+
const appName = retrieveApplicationName(logger);
|
|
8
|
+
if (!appName) {
|
|
9
|
+
return 1;
|
|
10
|
+
}
|
|
11
|
+
logger.info(`Updating application: ${appName}`);
|
|
12
|
+
try {
|
|
13
|
+
logger.info(`Updating application ${appName}`);
|
|
14
|
+
const update = await axios.patch(`https://${host}/v1alpha1/${userCredentials.userName}/applications/${appName}`, {
|
|
15
|
+
name: appName,
|
|
16
|
+
}, {
|
|
17
|
+
headers: {
|
|
18
|
+
"Content-Type": "application/json",
|
|
19
|
+
Authorization: bearerToken,
|
|
20
|
+
},
|
|
21
|
+
});
|
|
22
|
+
const application = update.data;
|
|
23
|
+
logger.info(`Successfully updated: ${application.Name}`);
|
|
24
|
+
return 0;
|
|
25
|
+
}
|
|
26
|
+
catch (e) {
|
|
27
|
+
const errorLabel = "Failed to update application";
|
|
28
|
+
const axiosError = e;
|
|
29
|
+
if (isCloudAPIErrorResponse(axiosError.response?.data)) {
|
|
30
|
+
handleAPIErrors(errorLabel, axiosError);
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
logger.error(`${errorLabel}: ${e.message}`);
|
|
34
|
+
}
|
|
35
|
+
return 1;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=update-app.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-app.js","sourceRoot":"","sources":["../../applications/update-app.ts"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,eAAe,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAGrI,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,IAAY;IAC1C,MAAM,MAAM,GAAI,SAAS,EAAE,CAAC;IAC5B,MAAM,eAAe,GAAG,mBAAmB,EAAE,CAAC;IAC9C,MAAM,WAAW,GAAG,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC;IAEtD,MAAM,OAAO,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAChD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,yBAAyB,OAAO,EAAE,CAAC,CAAA;IAE/C,IAAI,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,wBAAwB,OAAO,EAAE,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,KAAK,CAC9B,WAAW,IAAI,aAAa,eAAe,CAAC,QAAQ,iBAAiB,OAAO,EAAE,EAC9E;YACE,IAAI,EAAE,OAAO;SACd,EACD;YACE,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,aAAa,EAAE,WAAW;aAC3B;SACF,CACF,CAAC;QACF,MAAM,WAAW,GAAgB,MAAM,CAAC,IAAmB,CAAC;QAC5D,MAAM,CAAC,IAAI,CAAC,yBAAyB,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;QACzD,OAAO,CAAC,CAAC;IACX,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,UAAU,GAAG,8BAA8B,CAAC;QAClD,MAAM,UAAU,GAAG,CAAe,CAAC;QACnC,IAAI,uBAAuB,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC;YACvD,eAAe,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,KAAK,CAAC,GAAG,UAAU,KAAM,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QACzD,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../cli.ts"],"names":[],"mappings":""}
|