@dbos-inc/dbos-sdk 1.31.17-preview → 1.31.21-preview

Sign up to get free protection for your applications and to get access to all the features.
Files changed (31) hide show
  1. package/dist/src/dbos-executor.d.ts +1 -1
  2. package/dist/src/dbos-executor.d.ts.map +1 -1
  3. package/dist/src/dbos-runtime/cloudutils/authentication.d.ts +7 -0
  4. package/dist/src/dbos-runtime/cloudutils/authentication.d.ts.map +1 -0
  5. package/dist/src/dbos-runtime/cloudutils/authentication.js +101 -0
  6. package/dist/src/dbos-runtime/cloudutils/authentication.js.map +1 -0
  7. package/dist/src/dbos-runtime/cloudutils/cloudutils.d.ts +49 -0
  8. package/dist/src/dbos-runtime/cloudutils/cloudutils.d.ts.map +1 -0
  9. package/dist/src/dbos-runtime/cloudutils/cloudutils.js +271 -0
  10. package/dist/src/dbos-runtime/cloudutils/cloudutils.js.map +1 -0
  11. package/dist/src/dbos-runtime/cloudutils/databases.d.ts +21 -0
  12. package/dist/src/dbos-runtime/cloudutils/databases.d.ts.map +1 -0
  13. package/dist/src/dbos-runtime/cloudutils/databases.js +186 -0
  14. package/dist/src/dbos-runtime/cloudutils/databases.js.map +1 -0
  15. package/dist/src/dbos-runtime/db_wizard.d.ts +3 -0
  16. package/dist/src/dbos-runtime/db_wizard.d.ts.map +1 -0
  17. package/dist/src/dbos-runtime/db_wizard.js +161 -0
  18. package/dist/src/dbos-runtime/db_wizard.js.map +1 -0
  19. package/dist/src/dbos-runtime/migrate.d.ts +2 -1
  20. package/dist/src/dbos-runtime/migrate.d.ts.map +1 -1
  21. package/dist/src/dbos-runtime/migrate.js +9 -10
  22. package/dist/src/dbos-runtime/migrate.js.map +1 -1
  23. package/dist/src/dbos-runtime/runtime.d.ts.map +1 -1
  24. package/dist/src/dbos-runtime/runtime.js +6 -1
  25. package/dist/src/dbos-runtime/runtime.js.map +1 -1
  26. package/dist/src/dbos.d.ts.map +1 -1
  27. package/dist/src/dbos.js +2 -0
  28. package/dist/src/dbos.js.map +1 -1
  29. package/dist/tsconfig.build.tsbuildinfo +1 -1
  30. package/package.json +4 -1
  31. package/src/dbos-runtime/cloudutils/README.md +1 -0
@@ -18,7 +18,7 @@ export interface DBOSNull {
18
18
  }
19
19
  export declare const dbosNull: DBOSNull;
20
20
  export interface DBOSConfig {
21
- readonly poolConfig: PoolConfig;
21
+ poolConfig: PoolConfig;
22
22
  readonly userDbclient?: UserDatabaseName;
23
23
  readonly telemetry?: TelemetryConfig;
24
24
  readonly system_database: string;
@@ -1 +1 @@
1
- {"version":3,"file":"dbos-executor.d.ts","sourceRoot":"","sources":["../../src/dbos-executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dbos-executor.d.ts","sourceRoot":"","sources":["../../src/dbos-executor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
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
+ //# sourceMappingURL=authentication.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authentication.d.ts","sourceRoot":"","sources":["../../../../src/dbos-runtime/cloudutils/authentication.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAyBjC,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAgCD,wBAAsB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,GAAE,OAAe,GAAG,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC,CA4D3H"}
@@ -0,0 +1,101 @@
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.authenticate = 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 DBOSCloudHost = process.env.DBOS_DOMAIN || "cloud.dbos.dev";
11
+ const productionEnvironment = DBOSCloudHost === "cloud.dbos.dev";
12
+ const Auth0Domain = productionEnvironment ? "login.dbos.dev" : "dbos-inc.us.auth0.com";
13
+ const DBOSClientID = productionEnvironment ? "6p7Sjxf13cyLMkdwn14MxlH7JdhILled" : "G38fLmVErczEo9ioCFjVIHea6yd0qMZu";
14
+ const DBOSCloudIdentifier = "dbos-cloud-api";
15
+ const sleepms = (ms) => new Promise((r) => setTimeout(r, ms));
16
+ const client = (0, jwks_rsa_1.default)({
17
+ jwksUri: `https://${Auth0Domain}/.well-known/jwks.json`,
18
+ });
19
+ async function getSigningKey(kid) {
20
+ const key = await client.getSigningKey(kid);
21
+ return key.getPublicKey();
22
+ }
23
+ async function verifyToken(token) {
24
+ const decoded = jsonwebtoken_1.default.decode(token, { complete: true });
25
+ if (!decoded || typeof decoded === "string" || !decoded.header.kid) {
26
+ throw new Error("Invalid token");
27
+ }
28
+ const signingKey = await getSigningKey(decoded.header.kid);
29
+ return new Promise((resolve, reject) => {
30
+ jsonwebtoken_1.default.verify(token, signingKey, { algorithms: ["RS256"] }, (err, verifiedToken) => {
31
+ if (err) {
32
+ reject(err);
33
+ }
34
+ else {
35
+ resolve(verifiedToken);
36
+ }
37
+ });
38
+ });
39
+ }
40
+ // Redirect a user to auth0 to authenticate, retrieving a JWT bearer token
41
+ async function authenticate(logger, getRefreshToken = false) {
42
+ logger.info(`Please authenticate with DBOS Cloud!`);
43
+ const deviceCodeRequest = {
44
+ method: "POST",
45
+ url: `https://${Auth0Domain}/oauth/device/code`,
46
+ headers: { "content-type": "application/x-www-form-urlencoded" },
47
+ data: {
48
+ client_id: DBOSClientID,
49
+ scope: getRefreshToken ? "offline_access" : "sub",
50
+ audience: DBOSCloudIdentifier,
51
+ },
52
+ };
53
+ let deviceCodeResponse;
54
+ try {
55
+ const response = await axios_1.default.request(deviceCodeRequest);
56
+ deviceCodeResponse = response.data;
57
+ }
58
+ catch (e) {
59
+ e.message = `failed to log in: ${e.message}`;
60
+ logger.error(e);
61
+ }
62
+ if (!deviceCodeResponse) {
63
+ return null;
64
+ }
65
+ const loginURL = deviceCodeResponse.verification_uri_complete;
66
+ console.log(`Login URL: ${loginURL}`);
67
+ const tokenRequest = {
68
+ method: "POST",
69
+ url: `https://${Auth0Domain}/oauth/token`,
70
+ headers: { "content-type": "application/x-www-form-urlencoded" },
71
+ data: {
72
+ grant_type: "urn:ietf:params:oauth:grant-type:device_code",
73
+ device_code: deviceCodeResponse.device_code,
74
+ client_id: DBOSClientID,
75
+ },
76
+ };
77
+ let tokenResponse;
78
+ let elapsedTimeSec = 0;
79
+ while (elapsedTimeSec < deviceCodeResponse.expires_in) {
80
+ try {
81
+ await sleepms(deviceCodeResponse.interval * 1000);
82
+ elapsedTimeSec += deviceCodeResponse.interval;
83
+ const response = await axios_1.default.request(tokenRequest);
84
+ tokenResponse = response.data;
85
+ break;
86
+ }
87
+ catch (e) {
88
+ logger.info(`Waiting for login...`);
89
+ }
90
+ }
91
+ if (!tokenResponse) {
92
+ return null;
93
+ }
94
+ await verifyToken(tokenResponse.access_token);
95
+ return {
96
+ token: tokenResponse.access_token,
97
+ refreshToken: tokenResponse.refresh_token,
98
+ };
99
+ }
100
+ exports.authenticate = authenticate;
101
+ //# sourceMappingURL=authentication.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authentication.js","sourceRoot":"","sources":["../../../../src/dbos-runtime/cloudutils/authentication.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ /// <reference types="node" />
2
+ import { AxiosError } from "axios";
3
+ import { createLogger, Logger } from "winston";
4
+ export interface DBOSCloudCredentials {
5
+ token: string;
6
+ refreshToken?: string;
7
+ userName: string;
8
+ organization: string;
9
+ }
10
+ export interface UserProfile {
11
+ Name: string;
12
+ Email: string;
13
+ Organization: string;
14
+ SubscriptionPlan: string;
15
+ }
16
+ export declare enum AppLanguages {
17
+ Node = "node",
18
+ Python = "python"
19
+ }
20
+ export declare const DBOSCloudHost: string;
21
+ export declare const dbosEnvPath = ".dbos";
22
+ export type CLILogger = ReturnType<typeof createLogger>;
23
+ export declare function getLogger(verbose?: boolean): CLILogger;
24
+ export declare function isTokenExpired(token: string): boolean;
25
+ export declare function credentialsExist(): boolean;
26
+ export declare function deleteCredentials(): void;
27
+ export declare function writeCredentials(credentials: DBOSCloudCredentials): void;
28
+ export declare function checkReadFile(path: string, encoding?: BufferEncoding): string | Buffer;
29
+ export declare const sleepms: (ms: number) => Promise<unknown>;
30
+ export declare function createDirectory(path: string): string | undefined;
31
+ export interface CloudAPIErrorResponse {
32
+ message: string;
33
+ statusCode: number;
34
+ requestID: string;
35
+ DetailedError?: string;
36
+ }
37
+ export declare function isCloudAPIErrorResponse(obj: unknown): obj is CloudAPIErrorResponse;
38
+ export declare function handleAPIErrors(label: string, e: AxiosError): void;
39
+ /**
40
+ * Login and obtain user credentials.
41
+ * First checks if the credentials exist and not expired.
42
+ * If so, returns the credentials.
43
+ * If not, try to login the user.
44
+ * If the user is not registered, prompts to register the user.
45
+ * @param {string} host - The DBOS Cloud host to authenticate against.
46
+ * @returns {DBOSCloudCredentials} - The user's DBOS Cloud credentials.
47
+ */
48
+ export declare function getCloudCredentials(host: string, logger: Logger, userName?: string, secret?: string): Promise<DBOSCloudCredentials>;
49
+ //# sourceMappingURL=cloudutils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloudutils.d.ts","sourceRoot":"","sources":["../../../../src/dbos-runtime/cloudutils/cloudutils.ts"],"names":[],"mappings":";AACA,OAAc,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAM1C,OAAO,EAAc,YAAY,EAAU,MAAM,EAAE,MAAM,SAAS,CAAC;AAEnE,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,oBAAY,YAAY;IACtB,IAAI,SAAS;IACb,MAAM,WAAW;CAClB;AAED,eAAO,MAAM,aAAa,QAA8C,CAAC;AACzE,eAAO,MAAM,WAAW,UAAU,CAAC;AAEnC,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;AAExD,wBAAgB,SAAS,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAUtD;AAoBD,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAQrD;AAGD,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,OAAO,OAAQ,MAAM,qBAA0C,CAAC;AAE7E,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;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,qBAAqB,CAWlF;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,QAI3D;AAGD;;;;;;;;GAQG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CA+BzI"}
@@ -0,0 +1,271 @@
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.getCloudCredentials = exports.handleAPIErrors = exports.isCloudAPIErrorResponse = exports.createDirectory = exports.sleepms = exports.checkReadFile = exports.writeCredentials = exports.deleteCredentials = exports.credentialsExist = exports.isTokenExpired = exports.getLogger = exports.dbosEnvPath = exports.DBOSCloudHost = exports.AppLanguages = void 0;
7
+ const fs_1 = __importDefault(require("fs"));
8
+ const axios_1 = __importDefault(require("axios"));
9
+ const jsonwebtoken_1 = __importDefault(require("jsonwebtoken"));
10
+ const node_path_1 = __importDefault(require("node:path"));
11
+ const prompts_1 = require("@inquirer/prompts");
12
+ const validator_1 = __importDefault(require("validator"));
13
+ const authentication_1 = require("./authentication");
14
+ const winston_1 = require("winston");
15
+ var AppLanguages;
16
+ (function (AppLanguages) {
17
+ AppLanguages["Node"] = "node";
18
+ AppLanguages["Python"] = "python";
19
+ })(AppLanguages || (exports.AppLanguages = AppLanguages = {}));
20
+ exports.DBOSCloudHost = process.env.DBOS_DOMAIN || "cloud.dbos.dev";
21
+ exports.dbosEnvPath = ".dbos";
22
+ let curLogger = undefined;
23
+ function getLogger(verbose) {
24
+ if (curLogger)
25
+ return curLogger;
26
+ const winstonTransports = [];
27
+ winstonTransports.push(new winston_1.transports.Console({
28
+ format: consoleFormat,
29
+ level: verbose ? "debug" : "info",
30
+ }));
31
+ return (curLogger = (0, winston_1.createLogger)({ transports: winstonTransports }));
32
+ }
33
+ exports.getLogger = getLogger;
34
+ const consoleFormat = winston_1.format.combine(winston_1.format.errors({ stack: true }), winston_1.format.timestamp(), winston_1.format.colorize(), winston_1.format.printf((info) => {
35
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
36
+ const { timestamp, level, message, stack } = info;
37
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-assignment
38
+ const ts = timestamp.slice(0, 19).replace("T", " ");
39
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-assignment
40
+ const formattedStack = stack?.split("\n").slice(1).join("\n");
41
+ const messageString = typeof message === "string" ? message : JSON.stringify(message);
42
+ return `${ts} [${level}]: ${messageString} ${stack ? "\n" + formattedStack : ""}`;
43
+ }));
44
+ function isTokenExpired(token) {
45
+ try {
46
+ const { exp } = jsonwebtoken_1.default.decode(token);
47
+ if (!exp)
48
+ return false;
49
+ return Date.now() >= exp * 1000;
50
+ }
51
+ catch (error) {
52
+ return true;
53
+ }
54
+ }
55
+ exports.isTokenExpired = isTokenExpired;
56
+ function credentialsExist() {
57
+ return fs_1.default.existsSync(`./${exports.dbosEnvPath}/credentials`);
58
+ }
59
+ exports.credentialsExist = credentialsExist;
60
+ function deleteCredentials() {
61
+ fs_1.default.unlinkSync(`./${exports.dbosEnvPath}/credentials`);
62
+ }
63
+ exports.deleteCredentials = deleteCredentials;
64
+ function writeCredentials(credentials) {
65
+ fs_1.default.mkdirSync(exports.dbosEnvPath, { recursive: true });
66
+ fs_1.default.writeFileSync(node_path_1.default.join(exports.dbosEnvPath, "credentials"), JSON.stringify(credentials), "utf-8");
67
+ }
68
+ exports.writeCredentials = writeCredentials;
69
+ function checkReadFile(path, encoding = "utf8") {
70
+ // First, check the file
71
+ fs_1.default.stat(path, (error, stats) => {
72
+ if (error) {
73
+ throw new Error(`checking on ${path}. ${error.code}: ${error.errno}`);
74
+ }
75
+ else if (!stats.isFile()) {
76
+ throw new Error(`config file ${path} is not a file`);
77
+ }
78
+ });
79
+ // Then, read its content
80
+ const fileContent = fs_1.default.readFileSync(path, { encoding });
81
+ return fileContent;
82
+ }
83
+ exports.checkReadFile = checkReadFile;
84
+ const sleepms = (ms) => new Promise((r) => setTimeout(r, ms));
85
+ exports.sleepms = sleepms;
86
+ function createDirectory(path) {
87
+ return fs_1.default.mkdirSync(path, { recursive: true });
88
+ }
89
+ exports.createDirectory = createDirectory;
90
+ function isCloudAPIErrorResponse(obj) {
91
+ return (typeof obj === "object" &&
92
+ obj !== null &&
93
+ "message" in obj &&
94
+ typeof obj["message"] === "string" &&
95
+ "statusCode" in obj &&
96
+ typeof obj["statusCode"] === "number" &&
97
+ "requestID" in obj &&
98
+ typeof obj["requestID"] === "string");
99
+ }
100
+ exports.isCloudAPIErrorResponse = isCloudAPIErrorResponse;
101
+ function handleAPIErrors(label, e) {
102
+ const logger = getLogger();
103
+ const resp = e.response?.data;
104
+ logger.error(`[${resp.requestID}] ${label}: ${resp.message}.`);
105
+ }
106
+ exports.handleAPIErrors = handleAPIErrors;
107
+ /**
108
+ * Login and obtain user credentials.
109
+ * First checks if the credentials exist and not expired.
110
+ * If so, returns the credentials.
111
+ * If not, try to login the user.
112
+ * If the user is not registered, prompts to register the user.
113
+ * @param {string} host - The DBOS Cloud host to authenticate against.
114
+ * @returns {DBOSCloudCredentials} - The user's DBOS Cloud credentials.
115
+ */
116
+ async function getCloudCredentials(host, logger, userName, secret) {
117
+ // Check if credentials exist and are not expired
118
+ const credentials = await checkCredentials(logger);
119
+ // Log in the user.
120
+ if (credentials.token === "") {
121
+ const authResponse = await (0, authentication_1.authenticate)(logger, false);
122
+ if (authResponse === null) {
123
+ logger.error("Failed to login. Exiting...");
124
+ process.exit(1);
125
+ }
126
+ credentials.token = authResponse.token;
127
+ credentials.refreshToken = authResponse.refreshToken;
128
+ // Cache the user credentials, but it doesn't have the user name and organization yet.
129
+ // This is designed to avoid extra logins when registering the user next time.
130
+ writeCredentials(credentials);
131
+ }
132
+ // Check if the user exists in DBOS Cloud
133
+ const userExists = await checkUserProfile(host, credentials, logger);
134
+ if (userExists) {
135
+ writeCredentials(credentials);
136
+ logger.debug(`Successfully logged in as ${credentials.userName}!`);
137
+ return credentials;
138
+ }
139
+ // User doesn't exist, register the user in DBOS Cloud
140
+ await registerUser(host, credentials, logger, userName, secret);
141
+ writeCredentials(credentials);
142
+ return credentials;
143
+ }
144
+ exports.getCloudCredentials = getCloudCredentials;
145
+ /**
146
+ * Check if the credentials exist and are not expired.
147
+ * If so, return the credentials.
148
+ * If not, delete the existing credentials and return empty credentials.
149
+ * @param logger - The logger instance.
150
+ * @returns {DBOSCloudCredentials} - The user's DBOS Cloud credentials if exists, or an empty one.
151
+ */
152
+ async function checkCredentials(logger) {
153
+ const emptyCredentials = { token: "", userName: "", organization: "" };
154
+ if (!credentialsExist()) {
155
+ return Promise.resolve(emptyCredentials);
156
+ }
157
+ const credentials = JSON.parse(fs_1.default.readFileSync(`./${exports.dbosEnvPath}/credentials`).toString("utf-8"));
158
+ credentials.token = credentials.token.replace(/\r|\n/g, ""); // Trim the trailing /r /n.
159
+ logger.debug(`Loaded credentials from ${exports.dbosEnvPath}/credentials`);
160
+ if (isTokenExpired(credentials.token)) {
161
+ logger.warn("Credentials expired. Logging in again...");
162
+ deleteCredentials();
163
+ return Promise.resolve(emptyCredentials);
164
+ }
165
+ return Promise.resolve(credentials);
166
+ }
167
+ /**
168
+ * Check user profile in DBOS Cloud.
169
+ * @param host - The DBOS Cloud host to authenticate against.
170
+ * @param credentials - The user's DBOS Cloud credentials (to be updated with userName and organization).
171
+ * @param logger - The logger instance.
172
+ * @returns {boolean} - True if the user profile exists, false otherwise.
173
+ */
174
+ async function checkUserProfile(host, credentials, logger) {
175
+ const bearerToken = "Bearer " + credentials.token;
176
+ try {
177
+ const response = await axios_1.default.get(`https://${host}/v1alpha1/user/profile`, {
178
+ headers: {
179
+ "Content-Type": "application/json",
180
+ Authorization: bearerToken,
181
+ },
182
+ });
183
+ const profile = response.data;
184
+ credentials.userName = profile.Name;
185
+ credentials.organization = profile.Organization;
186
+ return true;
187
+ }
188
+ catch (e) {
189
+ const axiosError = e;
190
+ const errorLabel = `Failed to login`;
191
+ if (isCloudAPIErrorResponse(axiosError.response?.data)) {
192
+ const resp = axiosError.response?.data;
193
+ if (!resp.message.includes("user not found in DBOS Cloud")) {
194
+ handleAPIErrors(errorLabel, axiosError);
195
+ process.exit(1);
196
+ }
197
+ }
198
+ else {
199
+ logger.error(`${errorLabel}: ${e.message}`);
200
+ process.exit(1);
201
+ }
202
+ }
203
+ return false;
204
+ }
205
+ function isValidUsername(value) {
206
+ if (value.length < 3 || value.length > 30) {
207
+ return "Username must be 3~30 characters long";
208
+ }
209
+ if (!validator_1.default.matches(value, "^[a-z0-9_]+$")) {
210
+ return "Username must contain only lowercase letters, numbers, and underscores.";
211
+ }
212
+ // TODO: Check if the username is already taken. Need a cloud endpoint for this.
213
+ return true;
214
+ }
215
+ /**
216
+ * Register the user in DBOS Cloud and modify the credentials.
217
+ * Exit the process on errors.
218
+ * @param {string} host - The DBOS Cloud host to authenticate against.
219
+ * @param {DBOSCloudCredentials} credentials - The user's DBOS Cloud credentials (to be updated with userName and organization).
220
+ * @param {Logger} logger - The logger instance.
221
+ * @returns
222
+ */
223
+ async function registerUser(host, credentials, logger, userName, secret) {
224
+ logger.info(`Please register for DBOS Cloud`);
225
+ if (!userName) {
226
+ userName = await (0, prompts_1.input)({
227
+ message: "Choose your username:",
228
+ required: true,
229
+ validate: isValidUsername,
230
+ });
231
+ }
232
+ if (isValidUsername(userName) !== true) {
233
+ logger.error(`Invalid username: ${userName}. Usernames must be between 3 and 30 characters long and contain only lowercase letters, underscores, and numbers.`);
234
+ process.exit(1);
235
+ }
236
+ const bearerToken = "Bearer " + credentials.token;
237
+ try {
238
+ await axios_1.default.put(`https://${host}/v1alpha1/user`, {
239
+ name: userName,
240
+ secret: secret,
241
+ }, {
242
+ headers: {
243
+ "Content-Type": "application/json",
244
+ Authorization: bearerToken,
245
+ },
246
+ });
247
+ const response = await axios_1.default.get(`https://${host}/v1alpha1/user/profile`, {
248
+ headers: {
249
+ "Content-Type": "application/json",
250
+ Authorization: bearerToken,
251
+ },
252
+ });
253
+ const profile = response.data;
254
+ credentials.userName = profile.Name;
255
+ credentials.organization = profile.Organization;
256
+ logger.info(` ... Successfully registered and logged in as ${credentials.userName}!`);
257
+ }
258
+ catch (e) {
259
+ const errorLabel = `Failed to register user ${userName}`;
260
+ const axiosError = e;
261
+ if (isCloudAPIErrorResponse(axiosError.response?.data)) {
262
+ handleAPIErrors(errorLabel, axiosError);
263
+ }
264
+ else {
265
+ logger.error(`${errorLabel}: ${e.message}`);
266
+ }
267
+ process.exit(1);
268
+ }
269
+ return;
270
+ }
271
+ //# sourceMappingURL=cloudutils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloudutils.js","sourceRoot":"","sources":["../../../../src/dbos-runtime/cloudutils/cloudutils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import { DBOSCloudCredentials } from "./cloudutils";
2
+ import { Logger } from "winston";
3
+ export interface UserDBInstance {
4
+ readonly PostgresInstanceName: string;
5
+ readonly Status: string;
6
+ readonly HostName: string;
7
+ readonly Port: number;
8
+ readonly DatabaseUsername: string;
9
+ readonly IsLinked: boolean;
10
+ readonly SupabaseReference: string | null;
11
+ }
12
+ export interface UserDBCredentials {
13
+ readonly RoleName: string;
14
+ readonly Password: string;
15
+ }
16
+ export declare function createUserDb(host: string, dbName: string, appDBUsername: string, appDBPassword: string, sync: boolean, userCredentials?: DBOSCloudCredentials): Promise<0 | 1>;
17
+ export declare function getUserDBInfo(host: string, dbName: string, userCredentials?: DBOSCloudCredentials): Promise<UserDBInstance>;
18
+ export declare function chooseAppDBServer(logger: Logger, host: string, userCredentials: DBOSCloudCredentials): Promise<string>;
19
+ export declare function createUserRole(logger: Logger, host: string, userCredentials: DBOSCloudCredentials, dbName: string): Promise<void>;
20
+ export declare function getUserDBCredentials(logger: Logger, host: string, userCredentials: DBOSCloudCredentials, dbName: string): Promise<UserDBCredentials>;
21
+ //# sourceMappingURL=databases.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"databases.d.ts","sourceRoot":"","sources":["../../../../src/dbos-runtime/cloudutils/databases.ts"],"names":[],"mappings":"AACA,OAAO,EAAqF,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACvI,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAGjC,MAAM,WAAW,cAAc;IAC3B,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;IAClC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7C;AAED,MAAM,WAAW,iBAAiB;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC7B;AAeD,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,eAAe,CAAC,EAAE,oBAAoB,kBAkDnK;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,cAAc,CAAC,CAejI;AAED,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC,CAmD5H;AAGD,wBAAsB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,iBAmBvH;AAED,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAqB1J"}