@dbos-inc/dbos-sdk 0.9.15-preview.g32137f5fa0 → 0.9.17
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/packages/dbos-cloud/applications/get-app-info.d.ts +2 -0
- package/dist/packages/dbos-cloud/applications/get-app-info.d.ts.map +1 -0
- package/dist/packages/dbos-cloud/applications/get-app-info.js +54 -0
- package/dist/packages/dbos-cloud/applications/get-app-info.js.map +1 -0
- package/dist/packages/dbos-cloud/applications/list-apps.d.ts.map +1 -1
- package/dist/packages/dbos-cloud/applications/list-apps.js +2 -1
- package/dist/packages/dbos-cloud/applications/list-apps.js.map +1 -1
- package/dist/packages/dbos-cloud/applications/types.d.ts +2 -1
- package/dist/packages/dbos-cloud/applications/types.d.ts.map +1 -1
- package/dist/packages/dbos-cloud/cli.js +29 -25
- package/dist/packages/dbos-cloud/cli.js.map +1 -1
- package/dist/packages/dbos-cloud/cloudutils.d.ts +6 -1
- package/dist/packages/dbos-cloud/cloudutils.d.ts.map +1 -1
- package/dist/packages/dbos-cloud/cloudutils.js +23 -5
- package/dist/packages/dbos-cloud/cloudutils.js.map +1 -1
- package/dist/packages/dbos-cloud/login.d.ts +0 -7
- package/dist/packages/dbos-cloud/login.d.ts.map +1 -1
- package/dist/packages/dbos-cloud/login.js +14 -12
- package/dist/packages/dbos-cloud/login.js.map +1 -1
- package/dist/packages/dbos-cloud/userdb.d.ts +3 -1
- package/dist/packages/dbos-cloud/userdb.d.ts.map +1 -1
- package/dist/packages/dbos-cloud/userdb.js +42 -4
- package/dist/packages/dbos-cloud/userdb.js.map +1 -1
- package/dist/src/dbos-runtime/init.d.ts.map +1 -1
- package/dist/src/dbos-runtime/init.js +8 -7
- package/dist/src/dbos-runtime/init.js.map +1 -1
- package/dist/src/dbos-runtime/migrate.d.ts +1 -0
- package/dist/src/dbos-runtime/migrate.d.ts.map +1 -1
- package/dist/src/dbos-runtime/migrate.js +55 -28
- package/dist/src/dbos-runtime/migrate.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/examples/hello/dbos-config.yaml +2 -2
- package/examples/hello/package-lock.json +1 -0
- package/examples/hello/start_postgres_docker.sh +4 -1
- package/package.json +1 -1
@@ -40,13 +40,14 @@ async function init(appName) {
|
|
40
40
|
const targets = ["**"];
|
41
41
|
await (0, exports.copy)(templatePath, targets, appName);
|
42
42
|
const packageJsonName = path_1.default.resolve(appName, 'package.json');
|
43
|
-
const
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
(0, child_process_1.execSync)("npm
|
48
|
-
(0, child_process_1.execSync)("npm install --save @dbos-inc/dbos-sdk", { cwd: appName, stdio: 'inherit' });
|
49
|
-
(0, child_process_1.execSync)("npm install --save-dev @dbos-inc/dbos-cloud", { cwd: appName, stdio: 'inherit' });
|
43
|
+
const packageJson = JSON.parse(fs_1.default.readFileSync(packageJsonName, 'utf-8'));
|
44
|
+
packageJson.name = appName;
|
45
|
+
fs_1.default.writeFileSync(packageJsonName, JSON.stringify(packageJson, null, 2), 'utf-8');
|
46
|
+
(0, child_process_1.execSync)("npm i --no-fund", { cwd: appName, stdio: 'inherit' });
|
47
|
+
(0, child_process_1.execSync)("npm uninstall --no-fund @dbos-inc/dbos-sdk", { cwd: appName, stdio: 'inherit' });
|
48
|
+
(0, child_process_1.execSync)("npm install --no-fund --save @dbos-inc/dbos-sdk", { cwd: appName, stdio: 'inherit' });
|
49
|
+
(0, child_process_1.execSync)("npm install --no-fund --save-dev @dbos-inc/dbos-cloud", { cwd: appName, stdio: 'inherit' });
|
50
|
+
console.log("Application initialized successfully!");
|
50
51
|
}
|
51
52
|
exports.init = init;
|
52
53
|
//# sourceMappingURL=init.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/dbos-runtime/init.ts"],"names":[],"mappings":";;;;;;AAAA,yCAAyC;AACzC,gDAAuB;AACvB,4CAAmB;AACnB,iDAAwC;AACxC,oCAAoC;AAMpC,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAA;AAE1B,MAAM,IAAI,GAAG,KAAK,EACvB,GAAW,EACX,OAAiB,EACjB,IAAY,EACZ,EAAE,MAAM,GAAG,QAAQ,KAAiB,EAAE,EACtC,EAAE;IAEF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAClC,MAAM,IAAI,SAAS,CAAC,+BAA+B,CAAC,CAAA;IACtD,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,IAAA,iBAAI,EAAC,OAAO,EAAE;QACtC,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,IAAI;QACT,QAAQ,EAAE,KAAK;QACf,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,CAAC,oBAAoB,EAAE,YAAY,CAAC;KAC7C,CAAC,CAAA;IAEF,OAAO,OAAO,CAAC,GAAG,CAChB,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QAC1B,MAAM,OAAO,GAAG,cAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;QAC/B,MAAM,QAAQ,GAAG,MAAM,CAAC,cAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;QAEzC,MAAM,IAAI,GAAG,cAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAClC,MAAM,EAAE,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QAE9C,0CAA0C;QAC1C,MAAM,YAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAI,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAE9D,OAAO,YAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;IACvC,CAAC,CAAC,CACH,CAAA;AACH,CAAC,CAAA;AAjCY,QAAA,IAAI,QAiChB;AAEM,KAAK,UAAU,IAAI,CAAC,OAAe;IAExC,IAAI,YAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,iBAAS,CAAC,aAAa,OAAO,6BAA6B,CAAC,CAAC;IACzE,CAAC;IAED,MAAM,YAAY,GAAG,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IACpF,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,CAAA;IACtB,MAAM,IAAA,YAAI,EAAC,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAE3C,MAAM,eAAe,GAAG,cAAI,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IAC9D,MAAM,
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/dbos-runtime/init.ts"],"names":[],"mappings":"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"}
|
@@ -1,5 +1,6 @@
|
|
1
1
|
import { GlobalLogger } from "../telemetry/logs";
|
2
2
|
import { ConfigFile } from "./config";
|
3
3
|
export declare function migrate(configFile: ConfigFile, logger: GlobalLogger): Promise<1 | 0>;
|
4
|
+
export declare function checkDatabaseExists(configFile: ConfigFile, logger: GlobalLogger): Promise<boolean>;
|
4
5
|
export declare function rollbackMigration(configFile: ConfigFile, logger: GlobalLogger): Promise<1 | 0>;
|
5
6
|
//# sourceMappingURL=migrate.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../../src/dbos-runtime/migrate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;
|
1
|
+
{"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../../src/dbos-runtime/migrate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAMtC,wBAAsB,OAAO,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,kBA4EzE;AAED,wBAAsB,mBAAmB,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,oBAwBrF;AAGD,wBAAsB,iBAAiB,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,kBAoBnF"}
|
@@ -1,9 +1,8 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.rollbackMigration = exports.migrate = void 0;
|
3
|
+
exports.rollbackMigration = exports.checkDatabaseExists = exports.migrate = void 0;
|
4
4
|
const child_process_1 = require("child_process");
|
5
5
|
const logs_1 = require("../telemetry/logs");
|
6
|
-
const user_database_1 = require("../user_database");
|
7
6
|
const utils_1 = require("../utils");
|
8
7
|
const pg_1 = require("pg");
|
9
8
|
const user_db_schema_1 = require("../../schemas/user_db_schema");
|
@@ -11,40 +10,41 @@ const system_database_1 = require("../system_database");
|
|
11
10
|
async function migrate(configFile, logger) {
|
12
11
|
const userDBName = configFile.database.user_database;
|
13
12
|
logger.info(`Starting migration: creating database ${userDBName} if it does not exist`);
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
13
|
+
if (!(await checkDatabaseExists(configFile, logger))) {
|
14
|
+
const postgresConfig = {
|
15
|
+
host: configFile.database.hostname,
|
16
|
+
port: configFile.database.port,
|
17
|
+
user: configFile.database.username,
|
18
|
+
password: configFile.database.password,
|
19
|
+
connectionTimeoutMillis: configFile.database.connectionTimeoutMillis || 3000,
|
20
|
+
database: "postgres",
|
21
|
+
};
|
22
|
+
if (configFile.database.ssl_ca) {
|
23
|
+
postgresConfig.ssl = { ca: [(0, utils_1.readFileSync)(configFile.database.ssl_ca)], rejectUnauthorized: true };
|
20
24
|
}
|
21
|
-
|
22
|
-
|
25
|
+
const postgresClient = new pg_1.Client(postgresConfig);
|
26
|
+
try {
|
27
|
+
await postgresClient.connect();
|
28
|
+
await postgresClient.query(`CREATE DATABASE ${configFile.database.user_database}`);
|
23
29
|
}
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
if (e.message.includes(`database "${userDBName}" already exists`)) {
|
28
|
-
logger.info(`Database ${userDBName} already exists`);
|
30
|
+
catch (e) {
|
31
|
+
if (e instanceof Error) {
|
32
|
+
logger.error(`Error creating database ${configFile.database.user_database}: ${e.message}`);
|
29
33
|
}
|
30
34
|
else {
|
31
|
-
logger.error(
|
32
|
-
return 1;
|
35
|
+
logger.error(e);
|
33
36
|
}
|
34
|
-
}
|
35
|
-
else {
|
36
|
-
logger.error(e);
|
37
37
|
return 1;
|
38
38
|
}
|
39
|
+
finally {
|
40
|
+
await postgresClient.end();
|
41
|
+
}
|
39
42
|
}
|
40
|
-
const dbType = configFile.database.user_dbclient || user_database_1.UserDatabaseName.KNEX;
|
41
|
-
const migrationScript = `node_modules/.bin/${dbType}`;
|
42
43
|
const migrationCommands = configFile.database.migrate;
|
43
44
|
try {
|
44
45
|
migrationCommands?.forEach((cmd) => {
|
45
|
-
|
46
|
-
|
47
|
-
const migrateCommandOutput = (0, child_process_1.execSync)(command).toString();
|
46
|
+
logger.info(`Executing migration command: ${cmd}`);
|
47
|
+
const migrateCommandOutput = (0, child_process_1.execSync)(cmd).toString();
|
48
48
|
logger.info(migrateCommandOutput);
|
49
49
|
});
|
50
50
|
}
|
@@ -83,9 +83,37 @@ async function migrate(configFile, logger) {
|
|
83
83
|
}
|
84
84
|
return 1;
|
85
85
|
}
|
86
|
+
logger.info("Migration successful!");
|
86
87
|
return 0;
|
87
88
|
}
|
88
89
|
exports.migrate = migrate;
|
90
|
+
async function checkDatabaseExists(configFile, logger) {
|
91
|
+
const pgUserConfig = {
|
92
|
+
host: configFile.database.hostname,
|
93
|
+
port: configFile.database.port,
|
94
|
+
user: configFile.database.username,
|
95
|
+
password: configFile.database.password,
|
96
|
+
connectionTimeoutMillis: configFile.database.connectionTimeoutMillis || 3000,
|
97
|
+
database: configFile.database.user_database,
|
98
|
+
};
|
99
|
+
if (configFile.database.ssl_ca) {
|
100
|
+
pgUserConfig.ssl = { ca: [(0, utils_1.readFileSync)(configFile.database.ssl_ca)], rejectUnauthorized: true };
|
101
|
+
}
|
102
|
+
const pgUserClient = new pg_1.Client(pgUserConfig);
|
103
|
+
try {
|
104
|
+
await pgUserClient.connect(); // Try to establish a connection
|
105
|
+
logger.info(`Database ${configFile.database.user_database} exists!`);
|
106
|
+
return true; // If successful, return true
|
107
|
+
}
|
108
|
+
catch (error) {
|
109
|
+
logger.info(`Database ${configFile.database.user_database} does not exist, creating...`);
|
110
|
+
return false; // If connection fails, return false
|
111
|
+
}
|
112
|
+
finally {
|
113
|
+
await pgUserClient.end(); // Close pool regardless of the outcome
|
114
|
+
}
|
115
|
+
}
|
116
|
+
exports.checkDatabaseExists = checkDatabaseExists;
|
89
117
|
// eslint-disable-next-line @typescript-eslint/require-await
|
90
118
|
async function rollbackMigration(configFile, logger) {
|
91
119
|
logger.info("Starting Migration Rollback");
|
@@ -96,9 +124,8 @@ async function rollbackMigration(configFile, logger) {
|
|
96
124
|
const rollbackcommands = configFile.database.rollback;
|
97
125
|
try {
|
98
126
|
rollbackcommands?.forEach((cmd) => {
|
99
|
-
|
100
|
-
|
101
|
-
(0, child_process_1.execSync)(command);
|
127
|
+
logger.info("Executing " + cmd);
|
128
|
+
(0, child_process_1.execSync)(cmd);
|
102
129
|
});
|
103
130
|
}
|
104
131
|
catch (e) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../../src/dbos-runtime/migrate.ts"],"names":[],"mappings":";;;AAAA,iDAAyC;AACzC,4CAAiD;
|
1
|
+
{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../../src/dbos-runtime/migrate.ts"],"names":[],"mappings":"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"}
|