@dbos-inc/dbos-cloud 1.6.5-preview → 1.6.8-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.js +1 -1
- package/dist/applications/delete-app.js.map +1 -1
- package/dist/applications/deploy-app-code.js +1 -1
- package/dist/applications/deploy-app-code.js.map +1 -1
- package/dist/applications/get-app-info.js +1 -1
- package/dist/applications/get-app-info.js.map +1 -1
- package/dist/applications/get-app-logs.d.ts +1 -1
- package/dist/applications/get-app-logs.d.ts.map +1 -1
- package/dist/applications/get-app-logs.js +36 -12
- package/dist/applications/get-app-logs.js.map +1 -1
- package/dist/applications/list-apps.js +1 -1
- package/dist/applications/list-apps.js.map +1 -1
- package/dist/applications/register-app.js +1 -1
- package/dist/applications/register-app.js.map +1 -1
- package/dist/applications/update-app.js +1 -1
- package/dist/applications/update-app.js.map +1 -1
- package/dist/authentication.d.ts +9 -0
- package/dist/authentication.d.ts.map +1 -0
- package/dist/authentication.js +144 -0
- package/dist/authentication.js.map +1 -0
- package/dist/cli.js +21 -8
- package/dist/cli.js.map +1 -1
- package/dist/cloudutils.d.ts +2 -1
- package/dist/cloudutils.d.ts.map +1 -1
- package/dist/cloudutils.js +19 -3
- package/dist/cloudutils.js.map +1 -1
- package/dist/dashboards.js +2 -2
- package/dist/dashboards.js.map +1 -1
- package/dist/login.d.ts +1 -3
- package/dist/login.d.ts.map +1 -1
- package/dist/login.js +16 -94
- package/dist/login.js.map +1 -1
- package/dist/register.js +6 -6
- package/dist/register.js.map +1 -1
- package/dist/userdb.d.ts +1 -1
- package/dist/userdb.d.ts.map +1 -1
- package/dist/userdb.js +10 -9
- package/dist/userdb.js.map +1 -1
- package/package.json +1 -1
|
@@ -2,7 +2,7 @@ import axios from "axios";
|
|
|
2
2
|
import { isCloudAPIErrorResponse, handleAPIErrors, getCloudCredentials, getLogger, retrieveApplicationName } from "../cloudutils.js";
|
|
3
3
|
export async function deleteApp(host, dropdb, appName) {
|
|
4
4
|
const logger = getLogger();
|
|
5
|
-
const userCredentials = getCloudCredentials();
|
|
5
|
+
const userCredentials = await getCloudCredentials();
|
|
6
6
|
const bearerToken = "Bearer " + userCredentials.token;
|
|
7
7
|
appName = appName ?? retrieveApplicationName(logger);
|
|
8
8
|
if (!appName) {
|
|
@@ -1 +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,MAAe,EAAE,OAAgB;IAC7E,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;IAC1B,MAAM,eAAe,GAAG,mBAAmB,EAAE,CAAC;
|
|
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,MAAe,EAAE,OAAgB;IAC7E,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;IAC1B,MAAM,eAAe,GAAG,MAAM,mBAAmB,EAAE,CAAC;IACpD,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;YACD,IAAI,EAAE;gBACJ,QAAQ,EAAE,MAAM;aACjB;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"}
|
|
@@ -44,7 +44,7 @@ async function createZipData(logger) {
|
|
|
44
44
|
export async function deployAppCode(host, rollback, verbose) {
|
|
45
45
|
const logger = getLogger(verbose);
|
|
46
46
|
logger.debug("Getting cloud credentials...");
|
|
47
|
-
const userCredentials = getCloudCredentials();
|
|
47
|
+
const userCredentials = await getCloudCredentials();
|
|
48
48
|
const bearerToken = "Bearer " + userCredentials.token;
|
|
49
49
|
logger.debug(" ... got cloud credentials");
|
|
50
50
|
logger.debug("Retrieving app name...");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy-app-code.js","sourceRoot":"","sources":["../../applications/deploy-app-code.ts"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,WAAW,EAAoC,MAAM,kBAAkB,CAAC;AAC9N,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,WAAW,CAAC;AAC3B,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,SAAS,kBAAkB,CAAC,CAAS;IACnC,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AACD,KAAK,UAAU,aAAa,CAAC,MAAiB;IAC1C,MAAM,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;IAExB,MAAM,WAAW,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;IAE5E,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,WAAW,EAAE;QAClC,GAAG,EAAE,IAAI;QACT,SAAS,EAAE,IAAI;QACf,MAAM,EAAE;YACN,MAAM,WAAW,KAAK;YACtB,oBAAoB;YACpB,YAAY;YACZ,YAAY;YACZ,MAAM,kBAAkB,EAAE;SAC3B;KACF,CAAC,CAAC;IAEH,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACjB,MAAM,CAAC,KAAK,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAC;QACzC,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC5E,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QACpC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,mDAAmD;IAEnD,MAAM,CAAC,KAAK,CAAC,uCAAuC,kBAAkB,EAAE,CAAC,CAAC;IAC1E,MAAM,kBAAkB,GAAG,sBAAsB,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;IAC9E,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,kBAAkB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAEnE,gCAAgC;IAChC,MAAM,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;IAC/D,MAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;IAC9C,OAAO,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAAY,EAAE,QAAiB,EAAE,OAAgB;IACnF,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IAClC,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAC7C,MAAM,eAAe,GAAG,mBAAmB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"deploy-app-code.js","sourceRoot":"","sources":["../../applications/deploy-app-code.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import { handleAPIErrors, getCloudCredentials, getLogger, isCloudAPIErrorRespons
|
|
|
3
3
|
import { prettyPrintApplication } from "./types.js";
|
|
4
4
|
export async function getAppInfo(host, json, appName) {
|
|
5
5
|
const logger = getLogger();
|
|
6
|
-
const userCredentials = getCloudCredentials();
|
|
6
|
+
const userCredentials = await getCloudCredentials();
|
|
7
7
|
const bearerToken = "Bearer " + userCredentials.token;
|
|
8
8
|
appName = appName ?? retrieveApplicationName(logger, json);
|
|
9
9
|
if (!appName) {
|
|
@@ -1 +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;
|
|
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,MAAM,mBAAmB,EAAE,CAAC;IACpD,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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare function getAppLogs(host: string, last: number): Promise<number>;
|
|
1
|
+
export declare function getAppLogs(host: string, last: number, pagesize: number): Promise<number>;
|
|
2
2
|
//# sourceMappingURL=get-app-logs.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-app-logs.d.ts","sourceRoot":"","sources":["../../applications/get-app-logs.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"get-app-logs.d.ts","sourceRoot":"","sources":["../../applications/get-app-logs.ts"],"names":[],"mappings":"AAUA,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAiE7F"}
|
|
@@ -1,33 +1,57 @@
|
|
|
1
1
|
import axios from "axios";
|
|
2
2
|
import { handleAPIErrors, getCloudCredentials, getLogger, isCloudAPIErrorResponse, retrieveApplicationName } from "../cloudutils.js";
|
|
3
|
-
export async function getAppLogs(host, last) {
|
|
3
|
+
export async function getAppLogs(host, last, pagesize) {
|
|
4
4
|
if (last != undefined && (isNaN(last) || last <= 0)) {
|
|
5
5
|
throw new Error('The --last parmameter must be an integer greater than 0');
|
|
6
6
|
}
|
|
7
7
|
if (last == undefined) {
|
|
8
8
|
last = 0; //internally, 0 means "get all the logs." This is the default.
|
|
9
9
|
}
|
|
10
|
+
if (pagesize != undefined && (isNaN(pagesize) || pagesize <= 0)) {
|
|
11
|
+
throw new Error('The --pagesize parmameter must be an integer greater than 0');
|
|
12
|
+
}
|
|
13
|
+
if (pagesize == undefined) {
|
|
14
|
+
pagesize = 1000;
|
|
15
|
+
}
|
|
10
16
|
const logger = getLogger();
|
|
11
|
-
const userCredentials = getCloudCredentials();
|
|
17
|
+
const userCredentials = await getCloudCredentials();
|
|
12
18
|
const bearerToken = "Bearer " + userCredentials.token;
|
|
13
19
|
const appName = retrieveApplicationName(logger);
|
|
20
|
+
const url = `https://${host}/v1alpha1/${userCredentials.userName}/logs/applications/${appName}`;
|
|
21
|
+
const headers = {
|
|
22
|
+
"Content-Type": "application/json",
|
|
23
|
+
Authorization: bearerToken,
|
|
24
|
+
};
|
|
25
|
+
const params = {
|
|
26
|
+
last: last,
|
|
27
|
+
limit: pagesize,
|
|
28
|
+
format: 'json'
|
|
29
|
+
};
|
|
14
30
|
if (!appName) {
|
|
15
31
|
return 1;
|
|
16
32
|
}
|
|
17
|
-
logger.info(`Retrieving logs for application: ${appName}`);
|
|
18
33
|
try {
|
|
19
|
-
const res = await axios.get(
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
Authorization: bearerToken,
|
|
23
|
-
}
|
|
24
|
-
});
|
|
25
|
-
if (res.data == "") {
|
|
34
|
+
const res = await axios.get(url, { headers: headers, params: params });
|
|
35
|
+
const logResponse = res.data;
|
|
36
|
+
if (logResponse.end && logResponse.body == "") {
|
|
26
37
|
logger.info(`No logs found for the specified parameters`);
|
|
27
38
|
}
|
|
28
39
|
else {
|
|
29
|
-
|
|
30
|
-
|
|
40
|
+
console.log(logResponse.body.trimEnd());
|
|
41
|
+
let more = !logResponse.end;
|
|
42
|
+
let nextTs = logResponse.next_timestamp;
|
|
43
|
+
while (more) {
|
|
44
|
+
const pageParams = {
|
|
45
|
+
limit: pagesize,
|
|
46
|
+
format: 'json',
|
|
47
|
+
since: nextTs
|
|
48
|
+
};
|
|
49
|
+
const nextPage = await axios.get(url, { headers: headers, params: pageParams });
|
|
50
|
+
const logResponse = nextPage.data;
|
|
51
|
+
console.log(logResponse.body.trimEnd());
|
|
52
|
+
more = !logResponse.end;
|
|
53
|
+
nextTs = logResponse.next_timestamp;
|
|
54
|
+
}
|
|
31
55
|
}
|
|
32
56
|
return 0;
|
|
33
57
|
}
|
|
@@ -1 +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;
|
|
1
|
+
{"version":3,"file":"get-app-logs.js","sourceRoot":"","sources":["../../applications/get-app-logs.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import { handleAPIErrors, getCloudCredentials, getLogger, isCloudAPIErrorRespons
|
|
|
3
3
|
import { prettyPrintApplication } from "./types.js";
|
|
4
4
|
export async function listApps(host, json) {
|
|
5
5
|
const logger = getLogger();
|
|
6
|
-
const userCredentials = getCloudCredentials();
|
|
6
|
+
const userCredentials = await getCloudCredentials();
|
|
7
7
|
const bearerToken = "Bearer " + userCredentials.token;
|
|
8
8
|
try {
|
|
9
9
|
const list = await axios.get(`https://${host}/v1alpha1/${userCredentials.userName}/applications`, {
|
|
@@ -1 +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;
|
|
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,MAAM,mBAAmB,EAAE,CAAC;IACpD,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"}
|
|
@@ -3,7 +3,7 @@ import { handleAPIErrors, getCloudCredentials, getLogger, isCloudAPIErrorRespons
|
|
|
3
3
|
import chalk from 'chalk';
|
|
4
4
|
export async function registerApp(dbname, host) {
|
|
5
5
|
const logger = getLogger();
|
|
6
|
-
const userCredentials = getCloudCredentials();
|
|
6
|
+
const userCredentials = await getCloudCredentials();
|
|
7
7
|
const bearerToken = "Bearer " + userCredentials.token;
|
|
8
8
|
const appName = retrieveApplicationName(logger);
|
|
9
9
|
if (!appName) {
|
|
@@ -1 +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,EAAyB,MAAM,kBAAkB,CAAC;AAC5J,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,MAAc,EAAE,IAAY;IAC5D,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,eAAe,GAAG,mBAAmB,EAAE,CAAC;
|
|
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,EAAyB,MAAM,kBAAkB,CAAC;AAC5J,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,MAAc,EAAE,IAAY;IAC5D,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,eAAe,GAAG,MAAM,mBAAmB,EAAE,CAAC;IACpD,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;YACxC,MAAM,IAAI,GAA0B,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC;YAC9D,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,MAAM,YAAY,CAAC,EAAE,CAAC;gBAC1D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,4EAA4E,MAAM,mEAAmE,CAAC,CAAC,CAAC;YAChL,CAAC;QACH,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"}
|
|
@@ -2,7 +2,7 @@ import axios from "axios";
|
|
|
2
2
|
import { getCloudCredentials, getLogger, handleAPIErrors, isCloudAPIErrorResponse, retrieveApplicationName } from "../cloudutils.js";
|
|
3
3
|
export async function updateApp(host) {
|
|
4
4
|
const logger = getLogger();
|
|
5
|
-
const userCredentials = getCloudCredentials();
|
|
5
|
+
const userCredentials = await getCloudCredentials();
|
|
6
6
|
const bearerToken = "Bearer " + userCredentials.token;
|
|
7
7
|
const appName = retrieveApplicationName(logger);
|
|
8
8
|
if (!appName) {
|
|
@@ -1 +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;
|
|
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,MAAM,mBAAmB,EAAE,CAAC;IACpD,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,9 @@
|
|
|
1
|
+
import { Logger } from "winston";
|
|
2
|
+
export interface AuthenticationResponse {
|
|
3
|
+
token: string;
|
|
4
|
+
refreshToken?: string;
|
|
5
|
+
}
|
|
6
|
+
export declare function authenticate(logger: Logger, getRefreshToken?: boolean): Promise<AuthenticationResponse | null>;
|
|
7
|
+
export declare function authenticateWithRefreshToken(logger: Logger, refreshToken: string): Promise<AuthenticationResponse | null>;
|
|
8
|
+
export declare function revokeRefreshToken(logger: Logger, refreshToken: string): Promise<number>;
|
|
9
|
+
//# sourceMappingURL=authentication.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authentication.d.ts","sourceRoot":"","sources":["../authentication.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAiCjC,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAgCD,wBAAsB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,GAAE,OAAe,GAAG,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC,CA+D3H;AAED,wBAAsB,4BAA4B,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC,CAuB/H;AAED,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAkB9F"}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import axios from "axios";
|
|
2
|
+
import jwt from 'jsonwebtoken';
|
|
3
|
+
import jwksClient from 'jwks-rsa';
|
|
4
|
+
import open from 'open';
|
|
5
|
+
const DBOSCloudHost = process.env.DBOS_DOMAIN || "cloud.dbos.dev";
|
|
6
|
+
const productionEnvironment = DBOSCloudHost === "cloud.dbos.dev";
|
|
7
|
+
const Auth0Domain = productionEnvironment ? 'login.dbos.dev' : 'dbos-inc.us.auth0.com';
|
|
8
|
+
const DBOSClientID = productionEnvironment ? '6p7Sjxf13cyLMkdwn14MxlH7JdhILled' : 'G38fLmVErczEo9ioCFjVIHea6yd0qMZu';
|
|
9
|
+
const DBOSCloudIdentifier = 'dbos-cloud-api';
|
|
10
|
+
const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
|
|
11
|
+
const client = jwksClient({
|
|
12
|
+
jwksUri: `https://${Auth0Domain}/.well-known/jwks.json`
|
|
13
|
+
});
|
|
14
|
+
async function getSigningKey(kid) {
|
|
15
|
+
const key = await client.getSigningKey(kid);
|
|
16
|
+
return key.getPublicKey();
|
|
17
|
+
}
|
|
18
|
+
async function verifyToken(token) {
|
|
19
|
+
const decoded = jwt.decode(token, { complete: true });
|
|
20
|
+
if (!decoded || typeof decoded === 'string' || !decoded.header.kid) {
|
|
21
|
+
throw new Error('Invalid token');
|
|
22
|
+
}
|
|
23
|
+
const signingKey = await getSigningKey(decoded.header.kid);
|
|
24
|
+
return new Promise((resolve, reject) => {
|
|
25
|
+
jwt.verify(token, signingKey, { algorithms: ['RS256'] }, (err, verifiedToken) => {
|
|
26
|
+
if (err) {
|
|
27
|
+
reject(err);
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
resolve(verifiedToken);
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
// Redirect a user to auth0 to authenticate, retrieving a JWT bearer token
|
|
36
|
+
export async function authenticate(logger, getRefreshToken = false) {
|
|
37
|
+
logger.info(`Please authenticate with DBOS Cloud!`);
|
|
38
|
+
const deviceCodeRequest = {
|
|
39
|
+
method: 'POST',
|
|
40
|
+
url: `https://${Auth0Domain}/oauth/device/code`,
|
|
41
|
+
headers: { 'content-type': 'application/x-www-form-urlencoded' },
|
|
42
|
+
data: {
|
|
43
|
+
client_id: DBOSClientID,
|
|
44
|
+
scope: getRefreshToken ? 'offline_access' : 'sub',
|
|
45
|
+
audience: DBOSCloudIdentifier
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
let deviceCodeResponse;
|
|
49
|
+
try {
|
|
50
|
+
const response = await axios.request(deviceCodeRequest);
|
|
51
|
+
deviceCodeResponse = response.data;
|
|
52
|
+
}
|
|
53
|
+
catch (e) {
|
|
54
|
+
e.message = `failed to log in: ${e.message}`;
|
|
55
|
+
logger.error(e);
|
|
56
|
+
}
|
|
57
|
+
if (!deviceCodeResponse) {
|
|
58
|
+
return null;
|
|
59
|
+
}
|
|
60
|
+
const loginURL = deviceCodeResponse.verification_uri_complete;
|
|
61
|
+
console.log(`Login URL: ${loginURL}`);
|
|
62
|
+
try {
|
|
63
|
+
await open(loginURL);
|
|
64
|
+
}
|
|
65
|
+
catch (error) { /* Ignore errors from open */ }
|
|
66
|
+
const tokenRequest = {
|
|
67
|
+
method: 'POST',
|
|
68
|
+
url: `https://${Auth0Domain}/oauth/token`,
|
|
69
|
+
headers: { 'content-type': 'application/x-www-form-urlencoded' },
|
|
70
|
+
data: {
|
|
71
|
+
grant_type: 'urn:ietf:params:oauth:grant-type:device_code',
|
|
72
|
+
device_code: deviceCodeResponse.device_code,
|
|
73
|
+
client_id: DBOSClientID
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
let tokenResponse;
|
|
77
|
+
let elapsedTimeSec = 0;
|
|
78
|
+
while (elapsedTimeSec < deviceCodeResponse.expires_in) {
|
|
79
|
+
try {
|
|
80
|
+
await sleep(deviceCodeResponse.interval * 1000);
|
|
81
|
+
elapsedTimeSec += deviceCodeResponse.interval;
|
|
82
|
+
const response = await axios.request(tokenRequest);
|
|
83
|
+
tokenResponse = response.data;
|
|
84
|
+
break;
|
|
85
|
+
}
|
|
86
|
+
catch (e) {
|
|
87
|
+
logger.info(`Waiting for login...`);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
if (!tokenResponse) {
|
|
91
|
+
return null;
|
|
92
|
+
}
|
|
93
|
+
await verifyToken(tokenResponse.access_token);
|
|
94
|
+
return {
|
|
95
|
+
token: tokenResponse.access_token,
|
|
96
|
+
refreshToken: tokenResponse.refresh_token,
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
export async function authenticateWithRefreshToken(logger, refreshToken) {
|
|
100
|
+
const authenticationRequest = {
|
|
101
|
+
method: 'POST',
|
|
102
|
+
url: `https://${Auth0Domain}/oauth/token`,
|
|
103
|
+
headers: { 'content-type': 'application/x-www-form-urlencoded' },
|
|
104
|
+
data: {
|
|
105
|
+
grant_type: "refresh_token",
|
|
106
|
+
client_id: DBOSClientID,
|
|
107
|
+
refresh_token: refreshToken
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
try {
|
|
111
|
+
const response = await axios.request(authenticationRequest);
|
|
112
|
+
const responseData = response.data;
|
|
113
|
+
return {
|
|
114
|
+
token: responseData.access_token,
|
|
115
|
+
refreshToken: refreshToken,
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
catch (e) {
|
|
119
|
+
e.message = `Failed to authenticate with refresh token: ${e.message}`;
|
|
120
|
+
logger.error(e);
|
|
121
|
+
return null;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
export async function revokeRefreshToken(logger, refreshToken) {
|
|
125
|
+
const request = {
|
|
126
|
+
method: 'POST',
|
|
127
|
+
url: `https://${Auth0Domain}/oauth/revoke`,
|
|
128
|
+
headers: { 'content-type': 'application/json' },
|
|
129
|
+
data: {
|
|
130
|
+
client_id: DBOSClientID,
|
|
131
|
+
token: refreshToken
|
|
132
|
+
}
|
|
133
|
+
};
|
|
134
|
+
try {
|
|
135
|
+
await axios.request(request);
|
|
136
|
+
return 0;
|
|
137
|
+
}
|
|
138
|
+
catch (e) {
|
|
139
|
+
e.message = `Failed to revoke refresh token: ${e.message}`;
|
|
140
|
+
logger.error(e);
|
|
141
|
+
return 1;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
//# sourceMappingURL=authentication.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authentication.js","sourceRoot":"","sources":["../authentication.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.js
CHANGED
|
@@ -5,7 +5,7 @@ import { login } from "./login.js";
|
|
|
5
5
|
import { registerUser } from "./register.js";
|
|
6
6
|
import { createUserDb, getUserDb, deleteUserDb, listUserDB, resetDBCredentials, linkUserDB, unlinkUserDB } from "./userdb.js";
|
|
7
7
|
import { launchDashboard, getDashboardURL } from "./dashboards.js";
|
|
8
|
-
import { DBOSCloudHost, credentialsExist, deleteCredentials } from "./cloudutils.js";
|
|
8
|
+
import { DBOSCloudHost, credentialsExist, deleteCredentials, getLogger } from "./cloudutils.js";
|
|
9
9
|
import { getAppInfo } from "./applications/get-app-info.js";
|
|
10
10
|
import promptSync from 'prompt-sync';
|
|
11
11
|
import chalk from 'chalk';
|
|
@@ -13,6 +13,7 @@ import fs from "fs";
|
|
|
13
13
|
import { fileURLToPath } from 'url';
|
|
14
14
|
import path from "path";
|
|
15
15
|
import updateNotifier from "update-notifier";
|
|
16
|
+
import { revokeRefreshToken } from "./authentication.js";
|
|
16
17
|
// Read local package.json
|
|
17
18
|
const __dirname = fileURLToPath(new URL('.', import.meta.url));
|
|
18
19
|
const packageJson = JSON.parse(fs.readFileSync(path.join(__dirname, "..", "package.json")).toString());
|
|
@@ -46,8 +47,10 @@ program.version(packageJson.version);
|
|
|
46
47
|
program
|
|
47
48
|
.command('login')
|
|
48
49
|
.description('Log in to DBOS cloud')
|
|
49
|
-
.
|
|
50
|
-
|
|
50
|
+
.option('--get-refresh-token', 'Get a refresh token you can use to programatically log in')
|
|
51
|
+
.option('--with-refresh-token <token>', 'Use a refresh token to programatically log in')
|
|
52
|
+
.action(async (options) => {
|
|
53
|
+
const exitCode = await login(DBOSCloudHost, options.getRefreshToken || false, options.withRefreshToken);
|
|
51
54
|
process.exit(exitCode);
|
|
52
55
|
});
|
|
53
56
|
program
|
|
@@ -67,6 +70,14 @@ program
|
|
|
67
70
|
}
|
|
68
71
|
process.exit(0);
|
|
69
72
|
});
|
|
73
|
+
program
|
|
74
|
+
.command('revoke')
|
|
75
|
+
.description('Revoke a refresh token')
|
|
76
|
+
.argument('<token>', 'Token to revoke')
|
|
77
|
+
.action(async (token) => {
|
|
78
|
+
const exitCode = await revokeRefreshToken(getLogger(), token);
|
|
79
|
+
process.exit(exitCode);
|
|
80
|
+
});
|
|
70
81
|
/////////////////////////////
|
|
71
82
|
/* APPLICATIONS MANAGEMENT */
|
|
72
83
|
/////////////////////////////
|
|
@@ -136,8 +147,9 @@ applicationCommands
|
|
|
136
147
|
.command('logs')
|
|
137
148
|
.description("Print this application's logs")
|
|
138
149
|
.option('-l, --last <integer>', 'How far back to query, in seconds from current time. By default, we retrieve all data', parseInt)
|
|
150
|
+
.option('-p, --pagesize <integer>', 'How many lines to fetch at once when paginating. Default is 1000', parseInt)
|
|
139
151
|
.action(async (options) => {
|
|
140
|
-
const exitCode = await getAppLogs(DBOSCloudHost, options.last);
|
|
152
|
+
const exitCode = await getAppLogs(DBOSCloudHost, options.last, options.pagesize);
|
|
141
153
|
process.exit(exitCode);
|
|
142
154
|
});
|
|
143
155
|
//////////////////////////////////
|
|
@@ -203,14 +215,15 @@ databaseCommands
|
|
|
203
215
|
.command('link')
|
|
204
216
|
.description("Link your own Postgres database instance to DBOS Cloud")
|
|
205
217
|
.argument('<name>', 'database instance name')
|
|
206
|
-
.
|
|
207
|
-
.option('-p, --port <number>', 'Specify your database port')
|
|
218
|
+
.requiredOption('-H, --hostname <string>', 'Specify your database hostname')
|
|
219
|
+
.option('-p, --port <number>', 'Specify your database port', '5432')
|
|
208
220
|
.option('-W, --password <string>', 'Specify password for the dbosadmin user')
|
|
221
|
+
.option('--enable-timetravel', 'Enable time travel on the linked database', false)
|
|
209
222
|
.action((async (dbname, options) => {
|
|
210
223
|
if (!options.password) {
|
|
211
|
-
options.password = prompt('
|
|
224
|
+
options.password = prompt('Password for the dbosadmin user: ', { echo: '*' });
|
|
212
225
|
}
|
|
213
|
-
const exitCode = await linkUserDB(DBOSCloudHost, dbname, options.hostname, Number(options.port), options.password);
|
|
226
|
+
const exitCode = await linkUserDB(DBOSCloudHost, dbname, options.hostname, Number(options.port), options.password, options.enableTimetravel);
|
|
214
227
|
process.exit(exitCode);
|
|
215
228
|
}));
|
|
216
229
|
databaseCommands
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../cli.ts"],"names":[],"mappings":";AAEA,OAAO,EACL,WAAW,EACX,SAAS,EACT,QAAQ,EACR,SAAS,EACT,aAAa,EACb,UAAU,GACX,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,kBAAkB,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC9H,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../cli.ts"],"names":[],"mappings":"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"}
|
package/dist/cloudutils.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ import { createLogger, Logger } from "winston";
|
|
|
3
3
|
import { AxiosError } from "axios";
|
|
4
4
|
export interface DBOSCloudCredentials {
|
|
5
5
|
token: string;
|
|
6
|
+
refreshToken?: string;
|
|
6
7
|
userName: string;
|
|
7
8
|
}
|
|
8
9
|
export declare const dbosConfigFilePath = "dbos-config.yaml";
|
|
@@ -11,7 +12,7 @@ export declare const dbosEnvPath = ".dbos";
|
|
|
11
12
|
export declare function retrieveApplicationName(logger: Logger, silent?: boolean): string | undefined;
|
|
12
13
|
export type CLILogger = ReturnType<typeof createLogger>;
|
|
13
14
|
export declare function getLogger(verbose?: boolean): CLILogger;
|
|
14
|
-
export declare function getCloudCredentials(): DBOSCloudCredentials
|
|
15
|
+
export declare function getCloudCredentials(): Promise<DBOSCloudCredentials>;
|
|
15
16
|
export declare function credentialsExist(): boolean;
|
|
16
17
|
export declare function deleteCredentials(): void;
|
|
17
18
|
export declare function writeCredentials(credentials: DBOSCloudCredentials): void;
|
package/dist/cloudutils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloudutils.d.ts","sourceRoot":"","sources":["../cloudutils.ts"],"names":[],"mappings":";AAAA,OAAO,EAAc,YAAY,EAAU,MAAM,EAAE,MAAM,SAAS,CAAC;AAEnE,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"cloudutils.d.ts","sourceRoot":"","sources":["../cloudutils.ts"],"names":[],"mappings":";AAAA,OAAO,EAAc,YAAY,EAAU,MAAM,EAAE,MAAM,SAAS,CAAC;AAEnE,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAKnC,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,kBAAkB,qBAAqB,CAAC;AACrD,eAAO,MAAM,aAAa,QAA8C,CAAC;AACzE,eAAO,MAAM,WAAW,UAAU,CAAC;AAEnC,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,GAAE,OAAe,GAAG,MAAM,GAAG,SAAS,CAWnG;AAED,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;AAExD,wBAAgB,SAAS,CAAC,OAAO,CAAC,EAAC,OAAO,GAAG,SAAS,CAUrD;AA+BD,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,oBAAoB,CAAC,CA8BzE;AAED,wBAAgB,gBAAgB,IAAI,OAAO,CAE1C;AAED,wBAAgB,iBAAiB,SAEhC;AAED,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,oBAAoB,QAGjE;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,cAAuB,GAAG,MAAM,GAAG,MAAM,CAa9F;AAED,eAAO,MAAM,KAAK,OAAQ,MAAM,qBAA0C,CAAC;AAE3E,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAGrC,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEhE;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,qBAAqB,CAKlF;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,QAI3D"}
|
package/dist/cloudutils.js
CHANGED
|
@@ -2,6 +2,7 @@ import { transports, createLogger, format } from "winston";
|
|
|
2
2
|
import fs from "fs";
|
|
3
3
|
import jwt from 'jsonwebtoken';
|
|
4
4
|
import path from "node:path";
|
|
5
|
+
import { authenticateWithRefreshToken } from "./authentication.js";
|
|
5
6
|
export const dbosConfigFilePath = "dbos-config.yaml";
|
|
6
7
|
export const DBOSCloudHost = process.env.DBOS_DOMAIN || "cloud.dbos.dev";
|
|
7
8
|
export const dbosEnvPath = ".dbos";
|
|
@@ -50,7 +51,7 @@ function isTokenExpired(token) {
|
|
|
50
51
|
return true;
|
|
51
52
|
}
|
|
52
53
|
}
|
|
53
|
-
export function getCloudCredentials() {
|
|
54
|
+
export async function getCloudCredentials() {
|
|
54
55
|
const logger = getLogger();
|
|
55
56
|
if (!credentialsExist()) {
|
|
56
57
|
logger.error("Error: not logged in");
|
|
@@ -59,11 +60,26 @@ export function getCloudCredentials() {
|
|
|
59
60
|
const userCredentials = JSON.parse(fs.readFileSync(`./${dbosEnvPath}/credentials`).toString("utf-8"));
|
|
60
61
|
const credentials = {
|
|
61
62
|
userName: userCredentials.userName,
|
|
63
|
+
refreshToken: userCredentials.refreshToken,
|
|
62
64
|
token: userCredentials.token.replace(/\r|\n/g, ""), // Trim the trailing /r /n.
|
|
63
65
|
};
|
|
64
66
|
if (isTokenExpired(credentials.token)) {
|
|
65
|
-
|
|
66
|
-
|
|
67
|
+
if (credentials.refreshToken) {
|
|
68
|
+
logger.info("Refreshing access token with refresh token");
|
|
69
|
+
const authResponse = await authenticateWithRefreshToken(logger, credentials.refreshToken);
|
|
70
|
+
if (authResponse === null) {
|
|
71
|
+
logger.error("Error: Refreshing access token with refresh token failed. Logging out...");
|
|
72
|
+
deleteCredentials();
|
|
73
|
+
process.exit(1);
|
|
74
|
+
}
|
|
75
|
+
credentials.token = authResponse.token;
|
|
76
|
+
writeCredentials(credentials);
|
|
77
|
+
return await getCloudCredentials();
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
logger.error("Error: Login expired. Please log in again with 'npx dbos-cloud login'");
|
|
81
|
+
process.exit(1);
|
|
82
|
+
}
|
|
67
83
|
}
|
|
68
84
|
return credentials;
|
|
69
85
|
}
|
package/dist/cloudutils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloudutils.js","sourceRoot":"","sources":["../cloudutils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAU,MAAM,SAAS,CAAC;AACnE,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,OAAO,GAAG,MAAM,cAAc,CAAC;AAC/B,OAAO,IAAI,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"cloudutils.js","sourceRoot":"","sources":["../cloudutils.ts"],"names":[],"mappings":"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"}
|
package/dist/dashboards.js
CHANGED
|
@@ -3,7 +3,7 @@ import { getLogger, getCloudCredentials, isCloudAPIErrorResponse, handleAPIError
|
|
|
3
3
|
import open from 'open';
|
|
4
4
|
export async function launchDashboard(host) {
|
|
5
5
|
const logger = getLogger();
|
|
6
|
-
const userCredentials = getCloudCredentials();
|
|
6
|
+
const userCredentials = await getCloudCredentials();
|
|
7
7
|
const bearerToken = "Bearer " + userCredentials.token;
|
|
8
8
|
try {
|
|
9
9
|
const res = await axios.put(`https://${host}/v1alpha1/${userCredentials.userName}/dashboard`, {}, {
|
|
@@ -35,7 +35,7 @@ export async function launchDashboard(host) {
|
|
|
35
35
|
}
|
|
36
36
|
export async function getDashboardURL(host) {
|
|
37
37
|
const logger = getLogger();
|
|
38
|
-
const userCredentials = getCloudCredentials();
|
|
38
|
+
const userCredentials = await getCloudCredentials();
|
|
39
39
|
const bearerToken = "Bearer " + userCredentials.token;
|
|
40
40
|
try {
|
|
41
41
|
const res = await axios.get(`https://${host}/v1alpha1/${userCredentials.userName}/dashboard`, {
|
package/dist/dashboards.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dashboards.js","sourceRoot":"","sources":["../dashboards.ts"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAC3G,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,IAAY;IAC9C,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,eAAe,GAAG,mBAAmB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"dashboards.js","sourceRoot":"","sources":["../dashboards.ts"],"names":[],"mappings":"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"}
|
package/dist/login.d.ts
CHANGED
|
@@ -1,4 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
export declare function authenticate(logger: Logger): Promise<string | null>;
|
|
3
|
-
export declare function login(host: string): Promise<number>;
|
|
1
|
+
export declare function login(host: string, getRefreshToken: boolean, useRefreshToken?: string): Promise<number>;
|
|
4
2
|
//# sourceMappingURL=login.d.ts.map
|
package/dist/login.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../login.ts"],"names":[],"mappings":"AAIA,
|
|
1
|
+
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../login.ts"],"names":[],"mappings":"AAIA,wBAAsB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA4C7G"}
|
package/dist/login.js
CHANGED
|
@@ -1,101 +1,19 @@
|
|
|
1
1
|
import axios from "axios";
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
const DBOSClientID = productionEnvironment ? '6p7Sjxf13cyLMkdwn14MxlH7JdhILled' : 'G38fLmVErczEo9ioCFjVIHea6yd0qMZu';
|
|
10
|
-
const DBOSCloudIdentifier = 'dbos-cloud-api';
|
|
11
|
-
const client = jwksClient({
|
|
12
|
-
jwksUri: `https://${Auth0Domain}/.well-known/jwks.json`
|
|
13
|
-
});
|
|
14
|
-
async function getSigningKey(kid) {
|
|
15
|
-
const key = await client.getSigningKey(kid);
|
|
16
|
-
return key.getPublicKey();
|
|
17
|
-
}
|
|
18
|
-
async function verifyToken(token) {
|
|
19
|
-
const decoded = jwt.decode(token, { complete: true });
|
|
20
|
-
if (!decoded || typeof decoded === 'string' || !decoded.header.kid) {
|
|
21
|
-
throw new Error('Invalid token');
|
|
22
|
-
}
|
|
23
|
-
const signingKey = await getSigningKey(decoded.header.kid);
|
|
24
|
-
return new Promise((resolve, reject) => {
|
|
25
|
-
jwt.verify(token, signingKey, { algorithms: ['RS256'] }, (err, verifiedToken) => {
|
|
26
|
-
if (err) {
|
|
27
|
-
reject(err);
|
|
28
|
-
}
|
|
29
|
-
else {
|
|
30
|
-
resolve(verifiedToken);
|
|
31
|
-
}
|
|
32
|
-
});
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
// Redirect a user to auth0 to authenticate, retrieving a JWT bearer token
|
|
36
|
-
export async function authenticate(logger) {
|
|
37
|
-
logger.info(`Please authenticate with DBOS Cloud!`);
|
|
38
|
-
const deviceCodeRequest = {
|
|
39
|
-
method: 'POST',
|
|
40
|
-
url: `https://${Auth0Domain}/oauth/device/code`,
|
|
41
|
-
headers: { 'content-type': 'application/x-www-form-urlencoded' },
|
|
42
|
-
data: { client_id: DBOSClientID, scope: 'sub', audience: DBOSCloudIdentifier }
|
|
43
|
-
};
|
|
44
|
-
let deviceCodeResponse;
|
|
45
|
-
try {
|
|
46
|
-
const response = await axios.request(deviceCodeRequest);
|
|
47
|
-
deviceCodeResponse = response.data;
|
|
48
|
-
}
|
|
49
|
-
catch (e) {
|
|
50
|
-
e.message = `failed to log in: ${e.message}`;
|
|
51
|
-
logger.error(e);
|
|
52
|
-
}
|
|
53
|
-
if (!deviceCodeResponse) {
|
|
54
|
-
return null;
|
|
55
|
-
}
|
|
56
|
-
const loginURL = deviceCodeResponse.verification_uri_complete;
|
|
57
|
-
console.log(`Login URL: ${loginURL}`);
|
|
58
|
-
try {
|
|
59
|
-
await open(loginURL);
|
|
60
|
-
}
|
|
61
|
-
catch (error) { /* Ignore errors from open */ }
|
|
62
|
-
const tokenRequest = {
|
|
63
|
-
method: 'POST',
|
|
64
|
-
url: `https://${Auth0Domain}/oauth/token`,
|
|
65
|
-
headers: { 'content-type': 'application/x-www-form-urlencoded' },
|
|
66
|
-
data: new URLSearchParams({
|
|
67
|
-
grant_type: 'urn:ietf:params:oauth:grant-type:device_code',
|
|
68
|
-
device_code: deviceCodeResponse.device_code,
|
|
69
|
-
client_id: DBOSClientID
|
|
70
|
-
})
|
|
71
|
-
};
|
|
72
|
-
let tokenResponse;
|
|
73
|
-
let elapsedTimeSec = 0;
|
|
74
|
-
while (elapsedTimeSec < deviceCodeResponse.expires_in) {
|
|
75
|
-
try {
|
|
76
|
-
await sleep(deviceCodeResponse.interval * 1000);
|
|
77
|
-
elapsedTimeSec += deviceCodeResponse.interval;
|
|
78
|
-
const response = await axios.request(tokenRequest);
|
|
79
|
-
tokenResponse = response.data;
|
|
80
|
-
break;
|
|
81
|
-
}
|
|
82
|
-
catch (e) {
|
|
83
|
-
logger.info(`Waiting for login...`);
|
|
84
|
-
}
|
|
2
|
+
import { getLogger, handleAPIErrors, isCloudAPIErrorResponse, writeCredentials } from "./cloudutils.js";
|
|
3
|
+
import { authenticate, authenticateWithRefreshToken } from "./authentication.js";
|
|
4
|
+
export async function login(host, getRefreshToken, useRefreshToken) {
|
|
5
|
+
const logger = getLogger();
|
|
6
|
+
let authResponse;
|
|
7
|
+
if (useRefreshToken) {
|
|
8
|
+
authResponse = await authenticateWithRefreshToken(logger, useRefreshToken);
|
|
85
9
|
}
|
|
86
|
-
|
|
87
|
-
|
|
10
|
+
else {
|
|
11
|
+
authResponse = await authenticate(logger, getRefreshToken);
|
|
88
12
|
}
|
|
89
|
-
|
|
90
|
-
return tokenResponse.access_token;
|
|
91
|
-
}
|
|
92
|
-
export async function login(host) {
|
|
93
|
-
const logger = getLogger();
|
|
94
|
-
const token = await authenticate(logger);
|
|
95
|
-
if (token === null) {
|
|
13
|
+
if (authResponse === null) {
|
|
96
14
|
return 1;
|
|
97
15
|
}
|
|
98
|
-
const bearerToken = "Bearer " + token;
|
|
16
|
+
const bearerToken = "Bearer " + authResponse.token;
|
|
99
17
|
try {
|
|
100
18
|
const response = await axios.get(`https://${host}/v1alpha1/user`, {
|
|
101
19
|
headers: {
|
|
@@ -105,11 +23,15 @@ export async function login(host) {
|
|
|
105
23
|
});
|
|
106
24
|
const username = response.data;
|
|
107
25
|
const credentials = {
|
|
108
|
-
token: token,
|
|
26
|
+
token: authResponse.token,
|
|
27
|
+
refreshToken: authResponse.refreshToken,
|
|
109
28
|
userName: username,
|
|
110
29
|
};
|
|
111
30
|
writeCredentials(credentials);
|
|
112
31
|
logger.info(`Successfully logged in as ${credentials.userName}!`);
|
|
32
|
+
if (getRefreshToken) {
|
|
33
|
+
logger.info(`Refresh token saved to .dbos/credentials`);
|
|
34
|
+
}
|
|
113
35
|
}
|
|
114
36
|
catch (e) {
|
|
115
37
|
const errorLabel = `Failed to login`;
|
package/dist/login.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.js","sourceRoot":"","sources":["../login.ts"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAC1C,OAAO,
|
|
1
|
+
{"version":3,"file":"login.js","sourceRoot":"","sources":["../login.ts"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAwB,SAAS,EAAE,eAAe,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAC9H,OAAO,EAA0B,YAAY,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AAEzG,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,IAAY,EAAE,eAAwB,EAAE,eAAwB;IAC1F,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAI,YAA2C,CAAC;IAChD,IAAI,eAAe,EAAE,CAAC;QACpB,YAAY,GAAG,MAAM,4BAA4B,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC7E,CAAC;SAAM,CAAC;QACN,YAAY,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;IAC5D,CAAC;IACD,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;QAC1B,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,WAAW,GAAG,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;IACnD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAC9B,WAAW,IAAI,gBAAgB,EAC/B;YACE,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,aAAa,EAAE,WAAW;aAC3B;SACF,CACF,CAAC;QACF,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAc,CAAC;QACzC,MAAM,WAAW,GAAyB;YACxC,KAAK,EAAE,YAAY,CAAC,KAAK;YACzB,YAAY,EAAE,YAAY,CAAC,YAAY;YACvC,QAAQ,EAAE,QAAQ;SACnB,CAAC;QACF,gBAAgB,CAAC,WAAW,CAAC,CAAA;QAC7B,MAAM,CAAC,IAAI,CAAC,6BAA6B,WAAW,CAAC,QAAQ,GAAG,CAAC,CAAC;QAClE,IAAI,eAAe,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAA;QACzD,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,UAAU,GAAG,iBAAiB,CAAC;QACrC,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;IACD,OAAO,CAAC,CAAC;AACX,CAAC"}
|
package/dist/register.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import axios from "axios";
|
|
2
2
|
import { handleAPIErrors, getCloudCredentials, getLogger, isCloudAPIErrorResponse, credentialsExist, writeCredentials, deleteCredentials } from "./cloudutils.js";
|
|
3
3
|
import readline from 'readline';
|
|
4
|
-
import { authenticate } from "./login.js";
|
|
5
4
|
import validator from 'validator';
|
|
5
|
+
import { authenticate } from "./authentication.js";
|
|
6
6
|
const rl = readline.createInterface({
|
|
7
7
|
input: process.stdin,
|
|
8
8
|
output: process.stdout
|
|
@@ -29,18 +29,18 @@ export async function registerUser(username, host) {
|
|
|
29
29
|
givenName = await prompt("Enter First/Given Name: ");
|
|
30
30
|
familyName = await prompt("Enter Last/Family Name: ");
|
|
31
31
|
company = await prompt("Enter Company: ");
|
|
32
|
-
const
|
|
33
|
-
if (
|
|
32
|
+
const authResponse = await authenticate(logger);
|
|
33
|
+
if (authResponse === null) {
|
|
34
34
|
return 1;
|
|
35
35
|
}
|
|
36
36
|
const credentials = {
|
|
37
|
-
token:
|
|
37
|
+
token: authResponse.token,
|
|
38
38
|
userName: username,
|
|
39
39
|
};
|
|
40
40
|
writeCredentials(credentials);
|
|
41
41
|
}
|
|
42
42
|
else {
|
|
43
|
-
const userCredentials = getCloudCredentials();
|
|
43
|
+
const userCredentials = await getCloudCredentials();
|
|
44
44
|
if (userCredentials.userName !== username) {
|
|
45
45
|
logger.error(`You are trying to register ${username}, but are currently authenticated as ${userCredentials.userName}. Please run "npx dbos-cloud logout".`);
|
|
46
46
|
return 1;
|
|
@@ -49,7 +49,7 @@ export async function registerUser(username, host) {
|
|
|
49
49
|
logger.info(`You are currently authenticated as ${userCredentials.userName}. Registering ${userCredentials.userName} with DBOS Cloud...`);
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
|
-
const userCredentials = getCloudCredentials();
|
|
52
|
+
const userCredentials = await getCloudCredentials();
|
|
53
53
|
const bearerToken = "Bearer " + userCredentials.token;
|
|
54
54
|
const loginName = userCredentials.userName;
|
|
55
55
|
try {
|
package/dist/register.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register.js","sourceRoot":"","sources":["../register.ts"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,SAAS,EAAE,uBAAuB,EAAE,gBAAgB,EAAwB,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACxL,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,
|
|
1
|
+
{"version":3,"file":"register.js","sourceRoot":"","sources":["../register.ts"],"names":[],"mappings":"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"}
|
package/dist/userdb.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ export interface UserDBInstance {
|
|
|
6
6
|
readonly DatabaseUsername: string;
|
|
7
7
|
}
|
|
8
8
|
export declare function createUserDb(host: string, dbName: string, appDBUsername: string, appDBPassword: string, sync: boolean): Promise<0 | 1>;
|
|
9
|
-
export declare function linkUserDB(host: string, dbName: string, hostName: string, port: number, dbPassword: string): Promise<0 | 1>;
|
|
9
|
+
export declare function linkUserDB(host: string, dbName: string, hostName: string, port: number, dbPassword: string, enableTimetravel: boolean): Promise<0 | 1>;
|
|
10
10
|
export declare function deleteUserDb(host: string, dbName: string): Promise<0 | 1>;
|
|
11
11
|
export declare function unlinkUserDB(host: string, dbName: string): Promise<0 | 1>;
|
|
12
12
|
export declare function getUserDb(host: string, dbName: string, json: boolean): Promise<0 | 1>;
|
package/dist/userdb.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"userdb.d.ts","sourceRoot":"","sources":["../userdb.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;CACnC;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,kBA4C3H;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"userdb.d.ts","sourceRoot":"","sources":["../userdb.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;CACnC;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,kBA4C3H;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,kBA6B3I;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,kBAwB9D;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,kBAwB9D;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,kBAyB1E;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,kBAwC3D;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAYzF;AAED,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,kBA0B3F"}
|
package/dist/userdb.js
CHANGED
|
@@ -2,7 +2,7 @@ import axios from "axios";
|
|
|
2
2
|
import { isCloudAPIErrorResponse, handleAPIErrors, getCloudCredentials, getLogger, sleep } from "./cloudutils.js";
|
|
3
3
|
export async function createUserDb(host, dbName, appDBUsername, appDBPassword, sync) {
|
|
4
4
|
const logger = getLogger();
|
|
5
|
-
const userCredentials = getCloudCredentials();
|
|
5
|
+
const userCredentials = await getCloudCredentials();
|
|
6
6
|
const bearerToken = "Bearer " + userCredentials.token;
|
|
7
7
|
try {
|
|
8
8
|
await axios.post(`https://${host}/v1alpha1/${userCredentials.userName}/databases/userdb`, { Name: dbName, AdminName: appDBUsername, AdminPassword: appDBPassword }, {
|
|
@@ -41,12 +41,13 @@ export async function createUserDb(host, dbName, appDBUsername, appDBPassword, s
|
|
|
41
41
|
return 1;
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
|
-
export async function linkUserDB(host, dbName, hostName, port, dbPassword) {
|
|
44
|
+
export async function linkUserDB(host, dbName, hostName, port, dbPassword, enableTimetravel) {
|
|
45
45
|
const logger = getLogger();
|
|
46
|
-
const userCredentials = getCloudCredentials();
|
|
46
|
+
const userCredentials = await getCloudCredentials();
|
|
47
47
|
const bearerToken = "Bearer " + userCredentials.token;
|
|
48
|
+
logger.info(`Linking Postgres instance ${dbName} to DBOS Cloud. Hostname: ${hostName} Port: ${port} Time travel: ${enableTimetravel}`);
|
|
48
49
|
try {
|
|
49
|
-
await axios.post(`https://${host}/v1alpha1/${userCredentials.userName}/databases/byod`, { Name: dbName, HostName: hostName, Port: port, Password: dbPassword }, {
|
|
50
|
+
await axios.post(`https://${host}/v1alpha1/${userCredentials.userName}/databases/byod`, { Name: dbName, HostName: hostName, Port: port, Password: dbPassword, captureProvenance: enableTimetravel }, {
|
|
50
51
|
headers: {
|
|
51
52
|
"Content-Type": "application/json",
|
|
52
53
|
Authorization: bearerToken,
|
|
@@ -69,7 +70,7 @@ export async function linkUserDB(host, dbName, hostName, port, dbPassword) {
|
|
|
69
70
|
}
|
|
70
71
|
export async function deleteUserDb(host, dbName) {
|
|
71
72
|
const logger = getLogger();
|
|
72
|
-
const userCredentials = getCloudCredentials();
|
|
73
|
+
const userCredentials = await getCloudCredentials();
|
|
73
74
|
const bearerToken = "Bearer " + userCredentials.token;
|
|
74
75
|
try {
|
|
75
76
|
await axios.delete(`https://${host}/v1alpha1/${userCredentials.userName}/databases/userdb/${dbName}`, {
|
|
@@ -95,7 +96,7 @@ export async function deleteUserDb(host, dbName) {
|
|
|
95
96
|
}
|
|
96
97
|
export async function unlinkUserDB(host, dbName) {
|
|
97
98
|
const logger = getLogger();
|
|
98
|
-
const userCredentials = getCloudCredentials();
|
|
99
|
+
const userCredentials = await getCloudCredentials();
|
|
99
100
|
const bearerToken = "Bearer " + userCredentials.token;
|
|
100
101
|
try {
|
|
101
102
|
await axios.delete(`https://${host}/v1alpha1/${userCredentials.userName}/databases/byod/${dbName}`, {
|
|
@@ -150,7 +151,7 @@ export async function getUserDb(host, dbName, json) {
|
|
|
150
151
|
export async function listUserDB(host, json) {
|
|
151
152
|
const logger = getLogger();
|
|
152
153
|
try {
|
|
153
|
-
const userCredentials = getCloudCredentials();
|
|
154
|
+
const userCredentials = await getCloudCredentials();
|
|
154
155
|
const bearerToken = "Bearer " + userCredentials.token;
|
|
155
156
|
const res = await axios.get(`https://${host}/v1alpha1/${userCredentials.userName}/databases`, {
|
|
156
157
|
headers: {
|
|
@@ -189,7 +190,7 @@ export async function listUserDB(host, json) {
|
|
|
189
190
|
}
|
|
190
191
|
}
|
|
191
192
|
export async function getUserDBInfo(host, dbName) {
|
|
192
|
-
const userCredentials = getCloudCredentials();
|
|
193
|
+
const userCredentials = await getCloudCredentials();
|
|
193
194
|
const bearerToken = "Bearer " + userCredentials.token;
|
|
194
195
|
const res = await axios.get(`https://${host}/v1alpha1/${userCredentials.userName}/databases/userdb/info/${dbName}`, {
|
|
195
196
|
headers: {
|
|
@@ -201,7 +202,7 @@ export async function getUserDBInfo(host, dbName) {
|
|
|
201
202
|
}
|
|
202
203
|
export async function resetDBCredentials(host, dbName, appDBPassword) {
|
|
203
204
|
const logger = getLogger();
|
|
204
|
-
const userCredentials = getCloudCredentials();
|
|
205
|
+
const userCredentials = await getCloudCredentials();
|
|
205
206
|
const bearerToken = "Bearer " + userCredentials.token;
|
|
206
207
|
try {
|
|
207
208
|
await axios.post(`https://${host}/v1alpha1/${userCredentials.userName}/databases/userdb/${dbName}/credentials`, { Name: dbName, Password: appDBPassword }, {
|
package/dist/userdb.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"userdb.js","sourceRoot":"","sources":["../userdb.ts"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,uBAAuB,EAAE,eAAe,EAAE,mBAAmB,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAUlH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAY,EAAE,MAAc,EAAE,aAAqB,EAAE,aAAqB,EAAE,IAAa;IAC1H,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,eAAe,GAAG,mBAAmB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"userdb.js","sourceRoot":"","sources":["../userdb.ts"],"names":[],"mappings":"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"}
|