@dbos-inc/dbos-sdk 0.10.6-preview → 0.10.12-preview.gd659422f8d
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/src/dbos-executor.d.ts +1 -1
- package/dist/src/dbos-executor.d.ts.map +1 -1
- package/dist/src/testing/testing_runtime.d.ts +2 -0
- package/dist/src/testing/testing_runtime.d.ts.map +1 -1
- package/dist/src/testing/testing_runtime.js +4 -1
- package/dist/src/testing/testing_runtime.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/examples/hello/migrations/20240212161006_create_dbos_hello_tables.js +2 -0
- package/package.json +1 -1
- package/dist/packages/communicator-bcrypt/index.d.ts +0 -8
- package/dist/packages/communicator-bcrypt/index.d.ts.map +0 -1
- package/dist/packages/communicator-bcrypt/index.js +0 -43
- package/dist/packages/communicator-bcrypt/index.js.map +0 -1
- package/dist/packages/communicator-datetime/index.d.ts +0 -7
- package/dist/packages/communicator-datetime/index.d.ts.map +0 -1
- package/dist/packages/communicator-datetime/index.js +0 -35
- package/dist/packages/communicator-datetime/index.js.map +0 -1
- package/dist/packages/communicator-random/index.d.ts +0 -6
- package/dist/packages/communicator-random/index.d.ts.map +0 -1
- package/dist/packages/communicator-random/index.js +0 -26
- package/dist/packages/communicator-random/index.js.map +0 -1
- package/dist/packages/dbos-cloud/applications/delete-app.d.ts +0 -2
- 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 +0 -2
- package/dist/packages/dbos-cloud/applications/deploy-app-code.d.ts.map +0 -1
- package/dist/packages/dbos-cloud/applications/deploy-app-code.js +0 -161
- package/dist/packages/dbos-cloud/applications/deploy-app-code.js.map +0 -1
- package/dist/packages/dbos-cloud/applications/get-app-info.d.ts +0 -2
- 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 -54
- package/dist/packages/dbos-cloud/applications/get-app-info.js.map +0 -1
- package/dist/packages/dbos-cloud/applications/get-app-logs.d.ts +0 -2
- package/dist/packages/dbos-cloud/applications/get-app-logs.d.ts.map +0 -1
- package/dist/packages/dbos-cloud/applications/get-app-logs.js +0 -53
- 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 +0 -2
- package/dist/packages/dbos-cloud/applications/list-apps.d.ts.map +0 -1
- package/dist/packages/dbos-cloud/applications/list-apps.js +0 -54
- package/dist/packages/dbos-cloud/applications/list-apps.js.map +0 -1
- package/dist/packages/dbos-cloud/applications/register-app.d.ts +0 -2
- 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 +0 -9
- package/dist/packages/dbos-cloud/applications/types.d.ts.map +0 -1
- package/dist/packages/dbos-cloud/applications/types.js +0 -3
- package/dist/packages/dbos-cloud/applications/types.js.map +0 -1
- package/dist/packages/dbos-cloud/applications/update-app.d.ts +0 -2
- 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 +0 -3
- package/dist/packages/dbos-cloud/cli.d.ts.map +0 -1
- package/dist/packages/dbos-cloud/cli.js +0 -155
- package/dist/packages/dbos-cloud/cli.js.map +0 -1
- package/dist/packages/dbos-cloud/cloudutils.d.ts +0 -29
- package/dist/packages/dbos-cloud/cloudutils.d.ts.map +0 -1
- package/dist/packages/dbos-cloud/cloudutils.js +0 -138
- package/dist/packages/dbos-cloud/cloudutils.js.map +0 -1
- package/dist/packages/dbos-cloud/login.d.ts +0 -2
- package/dist/packages/dbos-cloud/login.d.ts.map +0 -1
- package/dist/packages/dbos-cloud/login.js +0 -103
- package/dist/packages/dbos-cloud/login.js.map +0 -1
- package/dist/packages/dbos-cloud/register.d.ts +0 -2
- package/dist/packages/dbos-cloud/register.d.ts.map +0 -1
- package/dist/packages/dbos-cloud/register.js +0 -75
- package/dist/packages/dbos-cloud/register.js.map +0 -1
- package/dist/packages/dbos-cloud/userdb.d.ts +0 -13
- package/dist/packages/dbos-cloud/userdb.d.ts.map +0 -1
- package/dist/packages/dbos-cloud/userdb.js +0 -153
- package/dist/packages/dbos-cloud/userdb.js.map +0 -1
- package/dist/packages/dbos-openapi/TypeParser.d.ts +0 -36
- package/dist/packages/dbos-openapi/TypeParser.d.ts.map +0 -1
- package/dist/packages/dbos-openapi/TypeParser.js +0 -162
- package/dist/packages/dbos-openapi/TypeParser.js.map +0 -1
- package/dist/packages/dbos-openapi/cli.d.ts +0 -3
- package/dist/packages/dbos-openapi/cli.d.ts.map +0 -1
- package/dist/packages/dbos-openapi/cli.js +0 -32
- package/dist/packages/dbos-openapi/cli.js.map +0 -1
- package/dist/packages/dbos-openapi/openApi.d.ts +0 -36
- package/dist/packages/dbos-openapi/openApi.d.ts.map +0 -1
- package/dist/packages/dbos-openapi/openApi.js +0 -566
- package/dist/packages/dbos-openapi/openApi.js.map +0 -1
- package/dist/packages/dbos-openapi/tests/makeProgram.d.ts +0 -3
- package/dist/packages/dbos-openapi/tests/makeProgram.d.ts.map +0 -1
- package/dist/packages/dbos-openapi/tests/makeProgram.js +0 -71
- package/dist/packages/dbos-openapi/tests/makeProgram.js.map +0 -1
- package/dist/packages/dbos-openapi/tests/openapi.test.d.ts +0 -2
- package/dist/packages/dbos-openapi/tests/openapi.test.d.ts.map +0 -1
- package/dist/packages/dbos-openapi/tests/openapi.test.js +0 -373
- package/dist/packages/dbos-openapi/tests/openapi.test.js.map +0 -1
- package/dist/packages/dbos-openapi/tsDiagUtil.d.ts +0 -16
- package/dist/packages/dbos-openapi/tsDiagUtil.d.ts.map +0 -1
- package/dist/packages/dbos-openapi/tsDiagUtil.js +0 -72
- package/dist/packages/dbos-openapi/tsDiagUtil.js.map +0 -1
@@ -1,103 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
-
};
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
-
exports.login = void 0;
|
7
|
-
const axios_1 = __importDefault(require("axios"));
|
8
|
-
const jsonwebtoken_1 = __importDefault(require("jsonwebtoken"));
|
9
|
-
const jwks_rsa_1 = __importDefault(require("jwks-rsa"));
|
10
|
-
const child_process_1 = require("child_process");
|
11
|
-
const fs_1 = __importDefault(require("fs"));
|
12
|
-
const cloudutils_1 = require("./cloudutils");
|
13
|
-
const DBOSCloudHost = process.env.DBOS_DOMAIN || "cloud.dbos.dev";
|
14
|
-
const productionEnvironment = DBOSCloudHost === "cloud.dbos.dev";
|
15
|
-
const Auth0Domain = productionEnvironment ? 'login.dbos.dev' : 'dbos-inc.us.auth0.com';
|
16
|
-
const DBOSClientID = productionEnvironment ? '6p7Sjxf13cyLMkdwn14MxlH7JdhILled' : 'G38fLmVErczEo9ioCFjVIHea6yd0qMZu';
|
17
|
-
const DBOSCloudIdentifier = 'dbos-cloud-api';
|
18
|
-
const client = (0, jwks_rsa_1.default)({
|
19
|
-
jwksUri: `https://${Auth0Domain}/.well-known/jwks.json`
|
20
|
-
});
|
21
|
-
async function getSigningKey(kid) {
|
22
|
-
const key = await client.getSigningKey(kid);
|
23
|
-
return key.getPublicKey();
|
24
|
-
}
|
25
|
-
async function verifyToken(token) {
|
26
|
-
const decoded = jsonwebtoken_1.default.decode(token, { complete: true });
|
27
|
-
if (!decoded || typeof decoded === 'string' || !decoded.header.kid) {
|
28
|
-
throw new Error('Invalid token');
|
29
|
-
}
|
30
|
-
const signingKey = await getSigningKey(decoded.header.kid);
|
31
|
-
return new Promise((resolve, reject) => {
|
32
|
-
jsonwebtoken_1.default.verify(token, signingKey, { algorithms: ['RS256'] }, (err, verifiedToken) => {
|
33
|
-
if (err) {
|
34
|
-
reject(err);
|
35
|
-
}
|
36
|
-
else {
|
37
|
-
resolve(verifiedToken);
|
38
|
-
}
|
39
|
-
});
|
40
|
-
});
|
41
|
-
}
|
42
|
-
async function login(username) {
|
43
|
-
const logger = (0, cloudutils_1.getLogger)();
|
44
|
-
logger.info(`Please authenticate with DBOS Cloud!`);
|
45
|
-
const deviceCodeRequest = {
|
46
|
-
method: 'POST',
|
47
|
-
url: `https://${Auth0Domain}/oauth/device/code`,
|
48
|
-
headers: { 'content-type': 'application/x-www-form-urlencoded' },
|
49
|
-
data: { client_id: DBOSClientID, scope: 'sub', audience: DBOSCloudIdentifier }
|
50
|
-
};
|
51
|
-
let deviceCodeResponse;
|
52
|
-
try {
|
53
|
-
const response = await axios_1.default.request(deviceCodeRequest);
|
54
|
-
deviceCodeResponse = response.data;
|
55
|
-
}
|
56
|
-
catch (e) {
|
57
|
-
e.message = `failed to log in: ${e.message}`;
|
58
|
-
logger.error(e);
|
59
|
-
}
|
60
|
-
if (!deviceCodeResponse) {
|
61
|
-
return 1;
|
62
|
-
}
|
63
|
-
console.log(`Login URL: ${deviceCodeResponse.verification_uri_complete}`);
|
64
|
-
const tokenRequest = {
|
65
|
-
method: 'POST',
|
66
|
-
url: `https://${Auth0Domain}/oauth/token`,
|
67
|
-
headers: { 'content-type': 'application/x-www-form-urlencoded' },
|
68
|
-
data: new URLSearchParams({
|
69
|
-
grant_type: 'urn:ietf:params:oauth:grant-type:device_code',
|
70
|
-
device_code: deviceCodeResponse.device_code,
|
71
|
-
client_id: DBOSClientID
|
72
|
-
})
|
73
|
-
};
|
74
|
-
let tokenResponse;
|
75
|
-
let elapsedTimeSec = 0;
|
76
|
-
while (elapsedTimeSec < deviceCodeResponse.expires_in) {
|
77
|
-
try {
|
78
|
-
await (0, cloudutils_1.sleep)(deviceCodeResponse.interval * 1000);
|
79
|
-
elapsedTimeSec += deviceCodeResponse.interval;
|
80
|
-
const response = await axios_1.default.request(tokenRequest);
|
81
|
-
tokenResponse = response.data;
|
82
|
-
break;
|
83
|
-
}
|
84
|
-
catch (e) {
|
85
|
-
logger.info(`Waiting for login...`);
|
86
|
-
}
|
87
|
-
}
|
88
|
-
if (!tokenResponse) {
|
89
|
-
return 1;
|
90
|
-
}
|
91
|
-
await verifyToken(tokenResponse.access_token);
|
92
|
-
const credentials = {
|
93
|
-
token: tokenResponse.access_token,
|
94
|
-
userName: username,
|
95
|
-
};
|
96
|
-
(0, child_process_1.execSync)(`mkdir -p ${cloudutils_1.dbosEnvPath}`);
|
97
|
-
fs_1.default.writeFileSync(`${cloudutils_1.dbosEnvPath}/credentials`, JSON.stringify(credentials), "utf-8");
|
98
|
-
logger.info(`Successfully logged in as user: ${credentials.userName}`);
|
99
|
-
logger.info(`You can view your credentials in: ./${cloudutils_1.dbosEnvPath}/credentials`);
|
100
|
-
return 0;
|
101
|
-
}
|
102
|
-
exports.login = login;
|
103
|
-
//# sourceMappingURL=login.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../../packages/dbos-cloud/login.ts"],"names":[],"mappings":"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"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../../packages/dbos-cloud/register.ts"],"names":[],"mappings":"AAUA,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA2DlF"}
|
@@ -1,75 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
-
};
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
-
exports.registerUser = void 0;
|
7
|
-
const axios_1 = __importDefault(require("axios"));
|
8
|
-
const cloudutils_1 = require("./cloudutils");
|
9
|
-
const readline_1 = __importDefault(require("readline"));
|
10
|
-
const login_1 = require("./login");
|
11
|
-
const rl = readline_1.default.createInterface({
|
12
|
-
input: process.stdin,
|
13
|
-
output: process.stdout
|
14
|
-
});
|
15
|
-
async function registerUser(username, host) {
|
16
|
-
const logger = (0, cloudutils_1.getLogger)();
|
17
|
-
let givenName = "";
|
18
|
-
let familyName = "";
|
19
|
-
let company = "";
|
20
|
-
if (!(0, cloudutils_1.credentialsExist)()) {
|
21
|
-
logger.info("Welcome to DBOS Cloud!");
|
22
|
-
logger.info("Before creating an account, please tell us a bit about yourself!");
|
23
|
-
const prompt = (query) => new Promise((resolve) => rl.question(query, resolve));
|
24
|
-
givenName = await prompt("Enter First/Given Name: ");
|
25
|
-
familyName = await prompt("Enter Last/Family Name: ");
|
26
|
-
company = await prompt("Enter Company: ");
|
27
|
-
const exitCode = await (0, login_1.login)(username);
|
28
|
-
if (exitCode !== 0) {
|
29
|
-
return exitCode;
|
30
|
-
}
|
31
|
-
}
|
32
|
-
else {
|
33
|
-
const userCredentials = (0, cloudutils_1.getCloudCredentials)();
|
34
|
-
if (userCredentials.userName !== username) {
|
35
|
-
logger.error(`You are trying to register ${username}, but are currently logged in as ${userCredentials.userName}. Please run "npx dbos-cloud logout".`);
|
36
|
-
return 1;
|
37
|
-
}
|
38
|
-
else {
|
39
|
-
logger.info(`You are currently logged in as ${userCredentials.userName}. Registering ${userCredentials.userName} with DBOS Cloud...`);
|
40
|
-
}
|
41
|
-
}
|
42
|
-
const userCredentials = (0, cloudutils_1.getCloudCredentials)();
|
43
|
-
const bearerToken = "Bearer " + userCredentials.token;
|
44
|
-
const loginName = userCredentials.userName;
|
45
|
-
try {
|
46
|
-
// First, register the user.
|
47
|
-
const register = await axios_1.default.put(`https://${host}/v1alpha1/user`, {
|
48
|
-
name: loginName,
|
49
|
-
given_name: givenName,
|
50
|
-
family_name: familyName,
|
51
|
-
company: company,
|
52
|
-
}, {
|
53
|
-
headers: {
|
54
|
-
"Content-Type": "application/json",
|
55
|
-
Authorization: bearerToken,
|
56
|
-
},
|
57
|
-
});
|
58
|
-
const userUUID = register.data;
|
59
|
-
logger.info(`Registered user ${loginName}, UUID: ${userUUID}`);
|
60
|
-
}
|
61
|
-
catch (e) {
|
62
|
-
const errorLabel = `Failed to register user ${loginName}`;
|
63
|
-
const axiosError = e;
|
64
|
-
if ((0, cloudutils_1.isCloudAPIErrorResponse)(axiosError.response?.data)) {
|
65
|
-
(0, cloudutils_1.handleAPIErrors)(errorLabel, axiosError);
|
66
|
-
}
|
67
|
-
else {
|
68
|
-
logger.error(`${errorLabel}: ${e.message}`);
|
69
|
-
}
|
70
|
-
return 1;
|
71
|
-
}
|
72
|
-
return 0;
|
73
|
-
}
|
74
|
-
exports.registerUser = registerUser;
|
75
|
-
//# sourceMappingURL=register.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"register.js","sourceRoot":"","sources":["../../../packages/dbos-cloud/register.ts"],"names":[],"mappings":"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"}
|
@@ -1,13 +0,0 @@
|
|
1
|
-
export interface UserDBInstance {
|
2
|
-
readonly PostgresInstanceName: string;
|
3
|
-
readonly Status: string;
|
4
|
-
readonly HostName: string;
|
5
|
-
readonly Port: number;
|
6
|
-
readonly AdminUsername: string;
|
7
|
-
}
|
8
|
-
export declare function createUserDb(host: string, dbName: string, adminName: string, adminPassword: string, sync: boolean): Promise<1 | 0>;
|
9
|
-
export declare function deleteUserDb(host: string, dbName: string): Promise<1 | 0>;
|
10
|
-
export declare function getUserDb(host: string, dbName: string, json: boolean): Promise<1 | 0>;
|
11
|
-
export declare function listUserDB(host: string, json: boolean): Promise<1 | 0>;
|
12
|
-
export declare function getUserDBInfo(host: string, dbName: string): Promise<UserDBInstance>;
|
13
|
-
//# sourceMappingURL=userdb.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"userdb.d.ts","sourceRoot":"","sources":["../../../packages/dbos-cloud/userdb.ts"],"names":[],"mappings":"AAIA,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,aAAa,EAAE,MAAM,CAAC;CAChC;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,kBAuCvH;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,kBAqC3D;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAYzF"}
|
@@ -1,153 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
-
};
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
-
exports.getUserDBInfo = exports.listUserDB = exports.getUserDb = exports.deleteUserDb = exports.createUserDb = void 0;
|
7
|
-
const axios_1 = __importDefault(require("axios"));
|
8
|
-
const cloudutils_1 = require("./cloudutils");
|
9
|
-
const utils_1 = require("../../src/utils");
|
10
|
-
async function createUserDb(host, dbName, adminName, adminPassword, sync) {
|
11
|
-
const logger = (0, cloudutils_1.getLogger)();
|
12
|
-
const userCredentials = (0, cloudutils_1.getCloudCredentials)();
|
13
|
-
const bearerToken = "Bearer " + userCredentials.token;
|
14
|
-
try {
|
15
|
-
await axios_1.default.post(`https://${host}/v1alpha1/${userCredentials.userName}/databases/userdb`, { Name: dbName, AdminName: adminName, AdminPassword: adminPassword }, {
|
16
|
-
headers: {
|
17
|
-
"Content-Type": "application/json",
|
18
|
-
Authorization: bearerToken,
|
19
|
-
},
|
20
|
-
});
|
21
|
-
logger.info(`Successfully started creating database: ${dbName}`);
|
22
|
-
if (sync) {
|
23
|
-
let status = "";
|
24
|
-
while (status != "available" && status != "backing-up") {
|
25
|
-
await (0, utils_1.sleep)(30000);
|
26
|
-
const userDBInfo = await getUserDBInfo(host, dbName);
|
27
|
-
logger.info(userDBInfo);
|
28
|
-
status = userDBInfo.Status;
|
29
|
-
}
|
30
|
-
}
|
31
|
-
return 0;
|
32
|
-
}
|
33
|
-
catch (e) {
|
34
|
-
const errorLabel = `Failed to create database ${dbName}`;
|
35
|
-
const axiosError = e;
|
36
|
-
if ((0, cloudutils_1.isCloudAPIErrorResponse)(axiosError.response?.data)) {
|
37
|
-
(0, cloudutils_1.handleAPIErrors)(errorLabel, axiosError);
|
38
|
-
}
|
39
|
-
else {
|
40
|
-
logger.error(`${errorLabel}: ${e.message}`);
|
41
|
-
}
|
42
|
-
return 1;
|
43
|
-
}
|
44
|
-
}
|
45
|
-
exports.createUserDb = createUserDb;
|
46
|
-
async function deleteUserDb(host, dbName) {
|
47
|
-
const logger = (0, cloudutils_1.getLogger)();
|
48
|
-
const userCredentials = (0, cloudutils_1.getCloudCredentials)();
|
49
|
-
const bearerToken = "Bearer " + userCredentials.token;
|
50
|
-
try {
|
51
|
-
await axios_1.default.delete(`https://${host}/v1alpha1/${userCredentials.userName}/databases/userdb/${dbName}`, {
|
52
|
-
headers: {
|
53
|
-
"Content-Type": "application/json",
|
54
|
-
Authorization: bearerToken,
|
55
|
-
},
|
56
|
-
});
|
57
|
-
logger.info(`Database deleted: ${dbName}`);
|
58
|
-
return 0;
|
59
|
-
}
|
60
|
-
catch (e) {
|
61
|
-
const errorLabel = `Failed to delete database ${dbName}`;
|
62
|
-
const axiosError = e;
|
63
|
-
if ((0, cloudutils_1.isCloudAPIErrorResponse)(axiosError.response?.data)) {
|
64
|
-
(0, cloudutils_1.handleAPIErrors)(errorLabel, axiosError);
|
65
|
-
}
|
66
|
-
else {
|
67
|
-
logger.error(`${errorLabel}: ${e.message}`);
|
68
|
-
}
|
69
|
-
return 1;
|
70
|
-
}
|
71
|
-
}
|
72
|
-
exports.deleteUserDb = deleteUserDb;
|
73
|
-
async function getUserDb(host, dbName, json) {
|
74
|
-
const logger = (0, cloudutils_1.getLogger)();
|
75
|
-
try {
|
76
|
-
const userDBInfo = await getUserDBInfo(host, dbName);
|
77
|
-
if (json) {
|
78
|
-
console.log(JSON.stringify(userDBInfo));
|
79
|
-
}
|
80
|
-
else {
|
81
|
-
console.log(`Postgres Instance Name: ${userDBInfo.PostgresInstanceName}`);
|
82
|
-
console.log(`Status: ${userDBInfo.Status}`);
|
83
|
-
console.log(`Host Name: ${userDBInfo.HostName}`);
|
84
|
-
console.log(`Port: ${userDBInfo.Port}`);
|
85
|
-
console.log(`Admin Username: ${userDBInfo.AdminUsername}`);
|
86
|
-
}
|
87
|
-
return 0;
|
88
|
-
}
|
89
|
-
catch (e) {
|
90
|
-
const errorLabel = `Failed to retrieve database record ${dbName}`;
|
91
|
-
const axiosError = e;
|
92
|
-
if ((0, cloudutils_1.isCloudAPIErrorResponse)(axiosError.response?.data)) {
|
93
|
-
(0, cloudutils_1.handleAPIErrors)(errorLabel, axiosError);
|
94
|
-
}
|
95
|
-
else {
|
96
|
-
logger.error(`${errorLabel}: ${e.message}`);
|
97
|
-
}
|
98
|
-
return 1;
|
99
|
-
}
|
100
|
-
}
|
101
|
-
exports.getUserDb = getUserDb;
|
102
|
-
async function listUserDB(host, json) {
|
103
|
-
const logger = (0, cloudutils_1.getLogger)();
|
104
|
-
try {
|
105
|
-
const userCredentials = (0, cloudutils_1.getCloudCredentials)();
|
106
|
-
const bearerToken = "Bearer " + userCredentials.token;
|
107
|
-
const res = await axios_1.default.get(`https://${host}/v1alpha1/${userCredentials.userName}/databases`, {
|
108
|
-
headers: {
|
109
|
-
"Content-Type": "application/json",
|
110
|
-
Authorization: bearerToken,
|
111
|
-
},
|
112
|
-
});
|
113
|
-
const userDBs = res.data;
|
114
|
-
if (json) {
|
115
|
-
console.log(JSON.stringify(userDBs));
|
116
|
-
}
|
117
|
-
else {
|
118
|
-
userDBs.forEach(userDBInfo => {
|
119
|
-
console.log(`Postgres Instance Name: ${userDBInfo.PostgresInstanceName}`);
|
120
|
-
console.log(`Status: ${userDBInfo.Status}`);
|
121
|
-
console.log(`Host Name: ${userDBInfo.HostName}`);
|
122
|
-
console.log(`Port: ${userDBInfo.Port}`);
|
123
|
-
console.log(`Admin Username: ${userDBInfo.AdminUsername}`);
|
124
|
-
});
|
125
|
-
}
|
126
|
-
return 0;
|
127
|
-
}
|
128
|
-
catch (e) {
|
129
|
-
const errorLabel = `Failed to retrieve info`;
|
130
|
-
const axiosError = e;
|
131
|
-
if ((0, cloudutils_1.isCloudAPIErrorResponse)(axiosError.response?.data)) {
|
132
|
-
(0, cloudutils_1.handleAPIErrors)(errorLabel, axiosError);
|
133
|
-
}
|
134
|
-
else {
|
135
|
-
logger.error(`${errorLabel}: ${e.message}`);
|
136
|
-
}
|
137
|
-
return 1;
|
138
|
-
}
|
139
|
-
}
|
140
|
-
exports.listUserDB = listUserDB;
|
141
|
-
async function getUserDBInfo(host, dbName) {
|
142
|
-
const userCredentials = (0, cloudutils_1.getCloudCredentials)();
|
143
|
-
const bearerToken = "Bearer " + userCredentials.token;
|
144
|
-
const res = await axios_1.default.get(`https://${host}/v1alpha1/${userCredentials.userName}/databases/userdb/info/${dbName}`, {
|
145
|
-
headers: {
|
146
|
-
"Content-Type": "application/json",
|
147
|
-
Authorization: bearerToken,
|
148
|
-
},
|
149
|
-
});
|
150
|
-
return res.data;
|
151
|
-
}
|
152
|
-
exports.getUserDBInfo = getUserDBInfo;
|
153
|
-
//# sourceMappingURL=userdb.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"userdb.js","sourceRoot":"","sources":["../../../packages/dbos-cloud/userdb.ts"],"names":[],"mappings":"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"}
|
@@ -1,36 +0,0 @@
|
|
1
|
-
import ts from 'typescript';
|
2
|
-
export interface ClassInfo {
|
3
|
-
readonly node: ts.ClassDeclaration;
|
4
|
-
readonly name?: string;
|
5
|
-
readonly decorators: readonly DecoratorInfo[];
|
6
|
-
readonly methods: readonly MethodInfo[];
|
7
|
-
}
|
8
|
-
export interface MethodInfo {
|
9
|
-
readonly node: ts.MethodDeclaration;
|
10
|
-
readonly name: string;
|
11
|
-
readonly decorators: readonly DecoratorInfo[];
|
12
|
-
readonly parameters: readonly ParameterInfo[];
|
13
|
-
}
|
14
|
-
export interface ParameterInfo {
|
15
|
-
readonly node: ts.ParameterDeclaration;
|
16
|
-
readonly name: string;
|
17
|
-
readonly decorators: readonly DecoratorInfo[];
|
18
|
-
readonly required: boolean;
|
19
|
-
}
|
20
|
-
export interface DecoratorInfo {
|
21
|
-
node: ts.Decorator;
|
22
|
-
args: readonly ts.Expression[];
|
23
|
-
name?: string;
|
24
|
-
module?: string;
|
25
|
-
}
|
26
|
-
export declare class TypeParser {
|
27
|
-
#private;
|
28
|
-
get diags(): readonly ts.Diagnostic[];
|
29
|
-
constructor(program: ts.Program);
|
30
|
-
parse(): readonly ClassInfo[] | undefined;
|
31
|
-
}
|
32
|
-
export declare function findPackageInfo(entrypoints: string[]): Promise<{
|
33
|
-
name: string;
|
34
|
-
version: string;
|
35
|
-
}>;
|
36
|
-
//# sourceMappingURL=TypeParser.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"TypeParser.d.ts","sourceRoot":"","sources":["../../../packages/dbos-openapi/TypeParser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAK5B,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC;IACnC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,SAAS,aAAa,EAAE,CAAC;IAC9C,QAAQ,CAAC,OAAO,EAAE,SAAS,UAAU,EAAE,CAAC;CACzC;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,SAAS,aAAa,EAAE,CAAC;IAC9C,QAAQ,CAAC,UAAU,EAAE,SAAS,aAAa,EAAE,CAAC;CAC/C;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,oBAAoB,CAAC;IACvC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,SAAS,aAAa,EAAE,CAAC;IAC9C,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC;IACnB,IAAI,EAAE,SAAS,EAAE,CAAC,UAAU,EAAE,CAAC;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAOD,qBAAa,UAAU;;IAIrB,IAAI,KAAK,6BAAgC;gBAE7B,OAAO,EAAE,EAAE,CAAC,OAAO;IAK/B,KAAK,IAAI,SAAS,SAAS,EAAE,GAAG,SAAS;CAsH1C;AAED,wBAAsB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CA4BvG"}
|
@@ -1,162 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
-
};
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
-
exports.findPackageInfo = exports.TypeParser = void 0;
|
7
|
-
const typescript_1 = __importDefault(require("typescript"));
|
8
|
-
const tsDiagUtil_1 = require("./tsDiagUtil");
|
9
|
-
const node_path_1 = __importDefault(require("node:path"));
|
10
|
-
const promises_1 = __importDefault(require("node:fs/promises"));
|
11
|
-
function isStaticMethod(node) {
|
12
|
-
const mods = node.modifiers ?? [];
|
13
|
-
return mods.some(m => m.kind === typescript_1.default.SyntaxKind.StaticKeyword);
|
14
|
-
}
|
15
|
-
class TypeParser {
|
16
|
-
#program;
|
17
|
-
#checker;
|
18
|
-
#diags = new tsDiagUtil_1.DiagnosticsCollector();
|
19
|
-
get diags() { return this.#diags.diags; }
|
20
|
-
constructor(program) {
|
21
|
-
this.#program = program;
|
22
|
-
this.#checker = program.getTypeChecker();
|
23
|
-
}
|
24
|
-
parse() {
|
25
|
-
const classes = new Array();
|
26
|
-
for (const file of this.#program.getSourceFiles()) {
|
27
|
-
if (file.isDeclarationFile)
|
28
|
-
continue;
|
29
|
-
for (const stmt of file.statements) {
|
30
|
-
if (typescript_1.default.isClassDeclaration(stmt)) {
|
31
|
-
const staticMethods = stmt.members
|
32
|
-
.filter(typescript_1.default.isMethodDeclaration)
|
33
|
-
// Only static methods are supported now, so filter out instance methods by default
|
34
|
-
.filter(isStaticMethod)
|
35
|
-
.map(m => this.#getMethod(m));
|
36
|
-
classes.push({
|
37
|
-
node: stmt,
|
38
|
-
// a class may not have a name if it's the default export
|
39
|
-
name: stmt.name?.getText(),
|
40
|
-
decorators: this.#getDecorators(stmt),
|
41
|
-
methods: staticMethods,
|
42
|
-
});
|
43
|
-
}
|
44
|
-
}
|
45
|
-
}
|
46
|
-
if (classes.length === 0) {
|
47
|
-
this.#diags.warn(`no classes found in ${JSON.stringify(this.#program.getRootFileNames())}`);
|
48
|
-
}
|
49
|
-
return (0, tsDiagUtil_1.diagResult)(classes, this.diags);
|
50
|
-
}
|
51
|
-
#getMethod(node) {
|
52
|
-
const name = node.name.getText();
|
53
|
-
const decorators = this.#getDecorators(node);
|
54
|
-
const parameters = node.parameters.map(p => this.#getParameter(p));
|
55
|
-
return { node, name, decorators, parameters };
|
56
|
-
}
|
57
|
-
#getParameter(node) {
|
58
|
-
const decorators = this.#getDecorators(node);
|
59
|
-
const name = node.name.getText();
|
60
|
-
const required = !node.questionToken && !node.initializer;
|
61
|
-
return { node, name, decorators, required };
|
62
|
-
}
|
63
|
-
#getImportSpecifierFromPAE(pae, checker) {
|
64
|
-
const node = pae.expression;
|
65
|
-
const symbol = checker.getSymbolAtLocation(node);
|
66
|
-
const decls = symbol?.getDeclarations() ?? [];
|
67
|
-
for (const decl of decls) {
|
68
|
-
if (typescript_1.default.isNamespaceImport(decl)) {
|
69
|
-
const name = pae.name;
|
70
|
-
const module = decl.parent.parent.moduleSpecifier;
|
71
|
-
return { name: name.getText(), module: module.text };
|
72
|
-
}
|
73
|
-
if (typescript_1.default.isImportClause(decl)) {
|
74
|
-
const name = pae.name;
|
75
|
-
const module = decl.parent.moduleSpecifier;
|
76
|
-
return { name: name.getText(), module: module.text };
|
77
|
-
}
|
78
|
-
}
|
79
|
-
return undefined;
|
80
|
-
}
|
81
|
-
#getDecoratorIdentifier(node) {
|
82
|
-
if (typescript_1.default.isCallExpression(node.expression)) {
|
83
|
-
if (typescript_1.default.isPropertyAccessExpression(node.expression.expression)) {
|
84
|
-
const pae = node.expression.expression;
|
85
|
-
// Let's imagine a module is the expression
|
86
|
-
const { name, module } = this.#getImportSpecifierFromPAE(pae, this.#checker) ?? {};
|
87
|
-
return { name, module, args: node.expression.arguments };
|
88
|
-
}
|
89
|
-
if (typescript_1.default.isIdentifier(node.expression.expression)) {
|
90
|
-
const { name, module } = this.#getImportSpecifier(node.expression.expression, this.#checker) ?? {};
|
91
|
-
return { name, module, args: node.expression.arguments };
|
92
|
-
}
|
93
|
-
this.#diags.raise(`Unexpected decorator CallExpression.expression type: ${typescript_1.default.SyntaxKind[node.expression.expression.kind]}`, node);
|
94
|
-
}
|
95
|
-
if (typescript_1.default.isIdentifier(node.expression)) {
|
96
|
-
const { name, module } = this.#getImportSpecifier(node.expression, this.#checker) ?? {};
|
97
|
-
return { name, module, args: [] };
|
98
|
-
}
|
99
|
-
this.#diags.raise(`Unexpected decorator expression type: ${typescript_1.default.SyntaxKind[node.expression.kind]}`, node);
|
100
|
-
}
|
101
|
-
#getImportSpecifier(node, checker) {
|
102
|
-
const symbol = checker.getSymbolAtLocation(node);
|
103
|
-
const decls = symbol?.getDeclarations() ?? [];
|
104
|
-
for (const decl of decls) {
|
105
|
-
if (typescript_1.default.isImportSpecifier(decl)) {
|
106
|
-
// decl.name is the name for this type used in the local module.
|
107
|
-
// If the type name was overridden in the local module, the original type name is stored in decl.propertyName.
|
108
|
-
// Otherwise, decl.propertyName is undefined.
|
109
|
-
const name = (decl.propertyName ?? decl.name).getText();
|
110
|
-
// comment in TS AST declaration indicates moduleSpecifier *must* be a string literal
|
111
|
-
// "If [ImportDeclaration.moduleSpecifier] is not a StringLiteral it will be a grammar error."
|
112
|
-
const module = decl.parent.parent.parent.moduleSpecifier;
|
113
|
-
return { name, module: module.text };
|
114
|
-
}
|
115
|
-
}
|
116
|
-
return undefined;
|
117
|
-
}
|
118
|
-
#getDecorators(node) {
|
119
|
-
return (typescript_1.default.getDecorators(node) ?? [])
|
120
|
-
.map(node => {
|
121
|
-
const decoratorIdentifier = this.#getDecoratorIdentifier(node);
|
122
|
-
if (!decoratorIdentifier)
|
123
|
-
return undefined;
|
124
|
-
const { name, module, args } = decoratorIdentifier;
|
125
|
-
return { node, name, module, args };
|
126
|
-
})
|
127
|
-
.filter((d) => !!d);
|
128
|
-
}
|
129
|
-
}
|
130
|
-
exports.TypeParser = TypeParser;
|
131
|
-
async function findPackageInfo(entrypoints) {
|
132
|
-
for (const entrypoint of entrypoints) {
|
133
|
-
let dirname = node_path_1.default.dirname(entrypoint);
|
134
|
-
while (dirname !== '/') {
|
135
|
-
try {
|
136
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
137
|
-
const packageJson = JSON.parse(await promises_1.default.readFile(node_path_1.default.join(dirname, 'package.json'), { encoding: 'utf-8' }));
|
138
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
139
|
-
const name = packageJson.name ?? "unknown";
|
140
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
141
|
-
const version = packageJson.version;
|
142
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
143
|
-
const isPrivate = packageJson.private ?? false;
|
144
|
-
return {
|
145
|
-
name,
|
146
|
-
version: version
|
147
|
-
? version
|
148
|
-
: isPrivate ? "private" : "unknown"
|
149
|
-
};
|
150
|
-
}
|
151
|
-
catch (error) {
|
152
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-explicit-any
|
153
|
-
if (error.code !== 'ENOENT')
|
154
|
-
throw error;
|
155
|
-
}
|
156
|
-
dirname = node_path_1.default.dirname(dirname);
|
157
|
-
}
|
158
|
-
}
|
159
|
-
return { name: "unknown", version: "unknown" };
|
160
|
-
}
|
161
|
-
exports.findPackageInfo = findPackageInfo;
|
162
|
-
//# sourceMappingURL=TypeParser.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"TypeParser.js","sourceRoot":"","sources":["../../../packages/dbos-openapi/TypeParser.ts"],"names":[],"mappings":"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"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../../packages/dbos-openapi/cli.ts"],"names":[],"mappings":""}
|
@@ -1,32 +0,0 @@
|
|
1
|
-
#!/usr/bin/env node
|
2
|
-
"use strict";
|
3
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
4
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
5
|
-
};
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
7
|
-
const commander_1 = require("commander");
|
8
|
-
const openApi_1 = require("./openApi");
|
9
|
-
const yaml_1 = __importDefault(require("yaml"));
|
10
|
-
const promises_1 = __importDefault(require("node:fs/promises"));
|
11
|
-
const node_path_1 = __importDefault(require("node:path"));
|
12
|
-
const program = new commander_1.Command();
|
13
|
-
////////////////////////
|
14
|
-
/* OpenAPI */
|
15
|
-
////////////////////////
|
16
|
-
program
|
17
|
-
.command("generate")
|
18
|
-
.argument('<entrypoint>', 'Specify the entrypoint file path')
|
19
|
-
.action(async (entrypoint) => {
|
20
|
-
const openapi = await (0, openApi_1.generateOpenApi)(entrypoint);
|
21
|
-
if (openapi) {
|
22
|
-
const filename = node_path_1.default.join(node_path_1.default.dirname(entrypoint), "openapi.yaml");
|
23
|
-
const yaml = `# OpenApi specification generated for application\n\n` + yaml_1.default.stringify(openapi, { aliasDuplicateObjects: false });
|
24
|
-
await promises_1.default.writeFile(filename, yaml, { encoding: 'utf-8' });
|
25
|
-
}
|
26
|
-
});
|
27
|
-
program.parse(process.argv);
|
28
|
-
// If no arguments provided, display help by default
|
29
|
-
if (!process.argv.slice(2).length) {
|
30
|
-
program.outputHelp();
|
31
|
-
}
|
32
|
-
//# sourceMappingURL=cli.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../packages/dbos-openapi/cli.ts"],"names":[],"mappings":";;;;;;AAEA,yCAAoC;AACpC,uCAA4C;AAC5C,gDAAwB;AACxB,gEAAkC;AAClC,0DAA6B;AAE7B,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,wBAAwB;AACxB,cAAc;AACd,wBAAwB;AAExB,OAAO;KACJ,OAAO,CAAC,UAAU,CAAC;KACnB,QAAQ,CAAC,cAAc,EAAE,kCAAkC,CAAC;KAC5D,MAAM,CAAC,KAAK,EAAE,UAAkB,EAAE,EAAE;IACnC,MAAM,OAAO,GAAG,MAAM,IAAA,yBAAe,EAAC,UAAU,CAAC,CAAC;IAClD,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,QAAQ,GAAG,mBAAI,CAAC,IAAI,CAAC,mBAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,cAAc,CAAC,CAAC;QACrE,MAAM,IAAI,GAAG,uDAAuD,GAAG,cAAI,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,qBAAqB,EAAE,KAAK,EAAE,CAAC,CAAC;QACjI,MAAM,kBAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAE5B,oDAAoD;AACpD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAClC,OAAO,CAAC,UAAU,EAAE,CAAC;AACvB,CAAC"}
|