@dbos-inc/dbos-cloud 0.8.41-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/cli.ts +177 -0
- package/dist/packages/dbos-cloud/applications/delete-app.d.ts +2 -0
- package/dist/packages/dbos-cloud/applications/delete-app.d.ts.map +1 -0
- package/dist/packages/dbos-cloud/applications/delete-app.js +42 -0
- package/dist/packages/dbos-cloud/applications/delete-app.js.map +1 -0
- package/dist/packages/dbos-cloud/applications/deploy-app-code.d.ts +2 -0
- package/dist/packages/dbos-cloud/applications/deploy-app-code.d.ts.map +1 -0
- package/dist/packages/dbos-cloud/applications/deploy-app-code.js +145 -0
- package/dist/packages/dbos-cloud/applications/deploy-app-code.js.map +1 -0
- package/dist/packages/dbos-cloud/applications/get-app-logs.d.ts +2 -0
- package/dist/packages/dbos-cloud/applications/get-app-logs.d.ts.map +1 -0
- package/dist/packages/dbos-cloud/applications/get-app-logs.js +42 -0
- package/dist/packages/dbos-cloud/applications/get-app-logs.js.map +1 -0
- package/dist/packages/dbos-cloud/applications/index.d.ts +7 -0
- package/dist/packages/dbos-cloud/applications/index.d.ts.map +1 -0
- package/dist/packages/dbos-cloud/applications/index.js +16 -0
- package/dist/packages/dbos-cloud/applications/index.js.map +1 -0
- package/dist/packages/dbos-cloud/applications/list-apps.d.ts +2 -0
- package/dist/packages/dbos-cloud/applications/list-apps.d.ts.map +1 -0
- package/dist/packages/dbos-cloud/applications/list-apps.js +45 -0
- package/dist/packages/dbos-cloud/applications/list-apps.js.map +1 -0
- package/dist/packages/dbos-cloud/applications/register-app.d.ts +2 -0
- package/dist/packages/dbos-cloud/applications/register-app.d.ts.map +1 -0
- package/dist/packages/dbos-cloud/applications/register-app.js +48 -0
- package/dist/packages/dbos-cloud/applications/register-app.js.map +1 -0
- package/dist/packages/dbos-cloud/applications/types.d.ts +9 -0
- package/dist/packages/dbos-cloud/applications/types.d.ts.map +1 -0
- package/dist/packages/dbos-cloud/applications/types.js +3 -0
- package/dist/packages/dbos-cloud/applications/types.js.map +1 -0
- package/dist/packages/dbos-cloud/applications/update-app.d.ts +2 -0
- package/dist/packages/dbos-cloud/applications/update-app.d.ts.map +1 -0
- package/dist/packages/dbos-cloud/applications/update-app.js +49 -0
- package/dist/packages/dbos-cloud/applications/update-app.js.map +1 -0
- package/dist/packages/dbos-cloud/cli.d.ts +3 -0
- package/dist/packages/dbos-cloud/cli.d.ts.map +1 -0
- package/dist/packages/dbos-cloud/cli.js +149 -0
- package/dist/packages/dbos-cloud/cli.js.map +1 -0
- package/dist/packages/dbos-cloud/cloudutils.d.ts +5 -0
- package/dist/packages/dbos-cloud/cloudutils.d.ts.map +1 -0
- package/dist/packages/dbos-cloud/cloudutils.js +47 -0
- package/dist/packages/dbos-cloud/cloudutils.js.map +1 -0
- package/dist/packages/dbos-cloud/login.d.ts +9 -0
- package/dist/packages/dbos-cloud/login.d.ts.map +1 -0
- package/dist/packages/dbos-cloud/login.js +102 -0
- package/dist/packages/dbos-cloud/login.js.map +1 -0
- package/dist/packages/dbos-cloud/register.d.ts +2 -0
- package/dist/packages/dbos-cloud/register.d.ts.map +1 -0
- package/dist/packages/dbos-cloud/register.js +40 -0
- package/dist/packages/dbos-cloud/register.js.map +1 -0
- package/dist/packages/dbos-cloud/userdb.d.ts +13 -0
- package/dist/packages/dbos-cloud/userdb.d.ts.map +1 -0
- package/dist/packages/dbos-cloud/userdb.js +266 -0
- package/dist/packages/dbos-cloud/userdb.js.map +1 -0
- package/dist/schemas/system_db_schema.d.ts +34 -0
- package/dist/schemas/system_db_schema.d.ts.map +1 -0
- package/dist/schemas/system_db_schema.js +77 -0
- package/dist/schemas/system_db_schema.js.map +1 -0
- package/dist/schemas/user_db_schema.d.ts +11 -0
- package/dist/schemas/user_db_schema.d.ts.map +1 -0
- package/dist/schemas/user_db_schema.js +16 -0
- package/dist/schemas/user_db_schema.js.map +1 -0
- package/dist/src/communicator.d.ts +25 -0
- package/dist/src/communicator.d.ts.map +1 -0
- package/dist/src/communicator.js +26 -0
- package/dist/src/communicator.js.map +1 -0
- package/dist/src/context.d.ts +64 -0
- package/dist/src/context.d.ts.map +1 -0
- package/dist/src/context.js +96 -0
- package/dist/src/context.js.map +1 -0
- package/dist/src/data_validation.d.ts +3 -0
- package/dist/src/data_validation.d.ts.map +1 -0
- package/dist/src/data_validation.js +168 -0
- package/dist/src/data_validation.js.map +1 -0
- package/dist/src/dbos-executor.d.ts +102 -0
- package/dist/src/dbos-executor.d.ts.map +1 -0
- package/dist/src/dbos-executor.js +631 -0
- package/dist/src/dbos-executor.js.map +1 -0
- package/dist/src/dbos-runtime/applicationVersion.d.ts +3 -0
- package/dist/src/dbos-runtime/applicationVersion.d.ts.map +1 -0
- package/dist/src/dbos-runtime/applicationVersion.js +13 -0
- package/dist/src/dbos-runtime/applicationVersion.js.map +1 -0
- package/dist/src/dbos-runtime/cli.d.ts +8 -0
- package/dist/src/dbos-runtime/cli.d.ts.map +1 -0
- package/dist/src/dbos-runtime/cli.js +47 -0
- package/dist/src/dbos-runtime/cli.js.map +1 -0
- package/dist/src/dbos-runtime/config.d.ts +29 -0
- package/dist/src/dbos-runtime/config.d.ts.map +1 -0
- package/dist/src/dbos-runtime/config.js +111 -0
- package/dist/src/dbos-runtime/config.js.map +1 -0
- package/dist/src/dbos-runtime/debug.d.ts +4 -0
- package/dist/src/dbos-runtime/debug.d.ts.map +1 -0
- package/dist/src/dbos-runtime/debug.js +21 -0
- package/dist/src/dbos-runtime/debug.js.map +1 -0
- package/dist/src/dbos-runtime/init.d.ts +7 -0
- package/dist/src/dbos-runtime/init.d.ts.map +1 -0
- package/dist/src/dbos-runtime/init.js +51 -0
- package/dist/src/dbos-runtime/init.js.map +1 -0
- package/dist/src/dbos-runtime/runtime.d.ts +28 -0
- package/dist/src/dbos-runtime/runtime.d.ts.map +1 -0
- package/dist/src/dbos-runtime/runtime.js +95 -0
- package/dist/src/dbos-runtime/runtime.js.map +1 -0
- package/dist/src/debugger/debug_workflow.d.ts +38 -0
- package/dist/src/debugger/debug_workflow.d.ts.map +1 -0
- package/dist/src/debugger/debug_workflow.js +211 -0
- package/dist/src/debugger/debug_workflow.js.map +1 -0
- package/dist/src/decorators.d.ts +118 -0
- package/dist/src/decorators.d.ts.map +1 -0
- package/dist/src/decorators.js +467 -0
- package/dist/src/decorators.js.map +1 -0
- package/dist/src/error.d.ts +47 -0
- package/dist/src/error.d.ts.map +1 -0
- package/dist/src/error.js +171 -0
- package/dist/src/error.js.map +1 -0
- package/dist/src/httpServer/handler.d.ts +54 -0
- package/dist/src/httpServer/handler.d.ts.map +1 -0
- package/dist/src/httpServer/handler.js +175 -0
- package/dist/src/httpServer/handler.js.map +1 -0
- package/dist/src/httpServer/handlerTypes.d.ts +11 -0
- package/dist/src/httpServer/handlerTypes.d.ts.map +1 -0
- package/dist/src/httpServer/handlerTypes.js +19 -0
- package/dist/src/httpServer/handlerTypes.js.map +1 -0
- package/dist/src/httpServer/middleware.d.ts +56 -0
- package/dist/src/httpServer/middleware.d.ts.map +1 -0
- package/dist/src/httpServer/middleware.js +57 -0
- package/dist/src/httpServer/middleware.js.map +1 -0
- package/dist/src/httpServer/server.d.ts +45 -0
- package/dist/src/httpServer/server.d.ts.map +1 -0
- package/dist/src/httpServer/server.js +253 -0
- package/dist/src/httpServer/server.js.map +1 -0
- package/dist/src/system_database.d.ts +89 -0
- package/dist/src/system_database.d.ts.map +1 -0
- package/dist/src/system_database.js +447 -0
- package/dist/src/system_database.js.map +1 -0
- package/dist/src/telemetry/collector.d.ts +16 -0
- package/dist/src/telemetry/collector.d.ts.map +1 -0
- package/dist/src/telemetry/collector.js +65 -0
- package/dist/src/telemetry/collector.js.map +1 -0
- package/dist/src/telemetry/exporters.d.ts +15 -0
- package/dist/src/telemetry/exporters.d.ts.map +1 -0
- package/dist/src/telemetry/exporters.js +59 -0
- package/dist/src/telemetry/exporters.js.map +1 -0
- package/dist/src/telemetry/index.d.ts +11 -0
- package/dist/src/telemetry/index.d.ts.map +1 -0
- package/dist/src/telemetry/index.js +19 -0
- package/dist/src/telemetry/index.js.map +1 -0
- package/dist/src/telemetry/logs.d.ts +47 -0
- package/dist/src/telemetry/logs.d.ts.map +1 -0
- package/dist/src/telemetry/logs.js +195 -0
- package/dist/src/telemetry/logs.js.map +1 -0
- package/dist/src/telemetry/traces.d.ts +14 -0
- package/dist/src/telemetry/traces.d.ts.map +1 -0
- package/dist/src/telemetry/traces.js +52 -0
- package/dist/src/telemetry/traces.js.map +1 -0
- package/dist/src/transaction.d.ts +29 -0
- package/dist/src/transaction.d.ts.map +1 -0
- package/dist/src/transaction.js +27 -0
- package/dist/src/transaction.js.map +1 -0
- package/dist/src/user_database.d.ts +132 -0
- package/dist/src/user_database.d.ts.map +1 -0
- package/dist/src/user_database.js +332 -0
- package/dist/src/user_database.js.map +1 -0
- package/dist/src/utils.d.ts +6 -0
- package/dist/src/utils.d.ts.map +1 -0
- package/dist/src/utils.js +35 -0
- package/dist/src/utils.js.map +1 -0
- package/dist/src/workflow.d.ts +195 -0
- package/dist/src/workflow.d.ts.map +1 -0
- package/dist/src/workflow.js +498 -0
- package/dist/src/workflow.js.map +1 -0
- package/package.json +50 -0
|
@@ -0,0 +1,266 @@
|
|
|
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.rollbackMigration = exports.migrate = exports.getUserDb = exports.deleteUserDb = exports.createUserDb = void 0;
|
|
7
|
+
const axios_1 = __importDefault(require("axios"));
|
|
8
|
+
const logs_1 = require("../../src/telemetry/logs");
|
|
9
|
+
const cloudutils_1 = require("./cloudutils");
|
|
10
|
+
const utils_1 = require("../../src/utils");
|
|
11
|
+
const config_1 = require("../../src/dbos-runtime/config");
|
|
12
|
+
const child_process_1 = require("child_process");
|
|
13
|
+
const user_database_1 = require("../../src/user_database");
|
|
14
|
+
const pg_1 = require("pg");
|
|
15
|
+
const system_db_schema_1 = require("../../schemas/system_db_schema");
|
|
16
|
+
const user_db_schema_1 = require("../../schemas/user_db_schema");
|
|
17
|
+
async function createUserDb(host, dbName, adminName, adminPassword, sync) {
|
|
18
|
+
const logger = new logs_1.GlobalLogger();
|
|
19
|
+
const userCredentials = (0, cloudutils_1.getCloudCredentials)();
|
|
20
|
+
const bearerToken = "Bearer " + userCredentials.token;
|
|
21
|
+
try {
|
|
22
|
+
await axios_1.default.post(`https://${host}/${userCredentials.userName}/databases/userdb`, { Name: dbName, AdminName: adminName, AdminPassword: adminPassword }, {
|
|
23
|
+
headers: {
|
|
24
|
+
"Content-Type": "application/json",
|
|
25
|
+
Authorization: bearerToken,
|
|
26
|
+
},
|
|
27
|
+
});
|
|
28
|
+
logger.info(`Successfully started creating database: ${dbName}`);
|
|
29
|
+
if (sync) {
|
|
30
|
+
let status = "";
|
|
31
|
+
while (status != "available") {
|
|
32
|
+
await (0, utils_1.sleep)(30000);
|
|
33
|
+
const userDBInfo = await getUserDBInfo(host, dbName);
|
|
34
|
+
logger.info(userDBInfo);
|
|
35
|
+
status = userDBInfo.Status;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
catch (e) {
|
|
40
|
+
if (axios_1.default.isAxiosError(e) && e.response) {
|
|
41
|
+
logger.error(`Error creating database ${dbName}: ${e.response?.data}`);
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
logger.error(`Error creating database ${dbName}: ${e.message}`);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
exports.createUserDb = createUserDb;
|
|
49
|
+
async function deleteUserDb(host, dbName) {
|
|
50
|
+
const logger = new logs_1.GlobalLogger();
|
|
51
|
+
const userCredentials = (0, cloudutils_1.getCloudCredentials)();
|
|
52
|
+
const bearerToken = "Bearer " + userCredentials.token;
|
|
53
|
+
try {
|
|
54
|
+
await axios_1.default.delete(`https://${host}/${userCredentials.userName}/databases/userdb/${dbName}`, {
|
|
55
|
+
headers: {
|
|
56
|
+
"Content-Type": "application/json",
|
|
57
|
+
Authorization: bearerToken,
|
|
58
|
+
},
|
|
59
|
+
});
|
|
60
|
+
logger.info(`Database deleted: ${dbName}`);
|
|
61
|
+
}
|
|
62
|
+
catch (e) {
|
|
63
|
+
if (axios_1.default.isAxiosError(e) && e.response) {
|
|
64
|
+
logger.error(`Error deleting database ${dbName}: ${e.response?.data}`);
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
logger.error(`Error deleting database ${dbName}: ${e.message}`);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
exports.deleteUserDb = deleteUserDb;
|
|
72
|
+
async function getUserDb(host, dbName) {
|
|
73
|
+
const logger = new logs_1.GlobalLogger();
|
|
74
|
+
try {
|
|
75
|
+
const userDBInfo = await getUserDBInfo(host, dbName);
|
|
76
|
+
logger.info(userDBInfo);
|
|
77
|
+
}
|
|
78
|
+
catch (e) {
|
|
79
|
+
if (axios_1.default.isAxiosError(e) && e.response) {
|
|
80
|
+
logger.error(`Error getting database ${dbName}: ${e.response?.data}`);
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
logger.error(`Error getting database ${dbName}: ${e.message}`);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
exports.getUserDb = getUserDb;
|
|
88
|
+
async function migrate() {
|
|
89
|
+
const logger = new logs_1.GlobalLogger();
|
|
90
|
+
// Read the configuration YAML file
|
|
91
|
+
const configFile = (0, config_1.loadConfigFile)(config_1.dbosConfigFilePath);
|
|
92
|
+
if (!configFile) {
|
|
93
|
+
logger.error(`Failed to parse ${config_1.dbosConfigFilePath}`);
|
|
94
|
+
return 1;
|
|
95
|
+
}
|
|
96
|
+
const userDBName = configFile.database.user_database;
|
|
97
|
+
logger.info(`Creating database ${userDBName} if it does not already exist`);
|
|
98
|
+
const createDB = `createdb -h ${configFile.database.hostname} -p ${configFile.database.port} ${userDBName} -U ${configFile.database.username} -ew ${userDBName}`;
|
|
99
|
+
try {
|
|
100
|
+
process.env.PGPASSWORD = configFile.database.password;
|
|
101
|
+
const createDBOutput = (0, child_process_1.execSync)(createDB, { env: process.env }).toString();
|
|
102
|
+
if (createDBOutput.includes(`database "${userDBName}" already exists`)) {
|
|
103
|
+
logger.info(`Database ${userDBName} already exists`);
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
logger.info(createDBOutput);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
catch (e) {
|
|
110
|
+
if (e instanceof Error) {
|
|
111
|
+
if (e.message.includes(`database "${userDBName}" already exists`)) {
|
|
112
|
+
logger.info(`Database ${userDBName} already exists`);
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
logger.error(`Error creating database: ${e.message}`);
|
|
116
|
+
return 1;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
logger.error(e);
|
|
121
|
+
return 1;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
const dbType = configFile.database.user_dbclient || user_database_1.UserDatabaseName.KNEX;
|
|
125
|
+
const migrationScript = `node_modules/.bin/${dbType}`;
|
|
126
|
+
const migrationCommands = configFile.database.migrate;
|
|
127
|
+
try {
|
|
128
|
+
migrationCommands?.forEach((cmd) => {
|
|
129
|
+
const command = `node ${migrationScript} ${cmd}`;
|
|
130
|
+
logger.info(`Executing migration command: ${command}`);
|
|
131
|
+
const migrateCommandOutput = (0, child_process_1.execSync)(command).toString();
|
|
132
|
+
logger.info(migrateCommandOutput);
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
catch (e) {
|
|
136
|
+
logger.error("Error running migration");
|
|
137
|
+
if (e instanceof Error) {
|
|
138
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-explicit-any
|
|
139
|
+
const stderr = e.stderr;
|
|
140
|
+
if (stderr && Buffer.isBuffer(stderr) && stderr.length > 0) {
|
|
141
|
+
logger.error(`Standard Error: ${stderr.toString().trim()}`);
|
|
142
|
+
}
|
|
143
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-explicit-any
|
|
144
|
+
const stdout = e.stdout;
|
|
145
|
+
if (stdout && Buffer.isBuffer(stdout) && stdout.length > 0) {
|
|
146
|
+
logger.error(`Standard Output: ${stdout.toString().trim()}`);
|
|
147
|
+
}
|
|
148
|
+
if (e.message) {
|
|
149
|
+
logger.error(e.message);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
else {
|
|
153
|
+
logger.error(e);
|
|
154
|
+
}
|
|
155
|
+
return 1;
|
|
156
|
+
}
|
|
157
|
+
logger.info("Creating DBOS tables and system database.");
|
|
158
|
+
try {
|
|
159
|
+
await createDBOSTables(configFile);
|
|
160
|
+
}
|
|
161
|
+
catch (e) {
|
|
162
|
+
if (e instanceof Error) {
|
|
163
|
+
logger.error(`Error creating DBOS system database: ${e.message}`);
|
|
164
|
+
}
|
|
165
|
+
else {
|
|
166
|
+
logger.error(e);
|
|
167
|
+
}
|
|
168
|
+
return 1;
|
|
169
|
+
}
|
|
170
|
+
return 0;
|
|
171
|
+
}
|
|
172
|
+
exports.migrate = migrate;
|
|
173
|
+
function rollbackMigration() {
|
|
174
|
+
const logger = new logs_1.GlobalLogger();
|
|
175
|
+
// read the yaml file
|
|
176
|
+
const configFile = (0, config_1.loadConfigFile)(config_1.dbosConfigFilePath);
|
|
177
|
+
if (!configFile) {
|
|
178
|
+
logger.error(`failed to parse ${config_1.dbosConfigFilePath}`);
|
|
179
|
+
return 1;
|
|
180
|
+
}
|
|
181
|
+
let dbType = configFile.database.user_dbclient;
|
|
182
|
+
if (dbType == undefined) {
|
|
183
|
+
dbType = "knex";
|
|
184
|
+
}
|
|
185
|
+
const rollbackcommands = configFile.database.rollback;
|
|
186
|
+
try {
|
|
187
|
+
rollbackcommands?.forEach((cmd) => {
|
|
188
|
+
const command = "npx " + dbType + " " + cmd;
|
|
189
|
+
logger.info("Executing " + command);
|
|
190
|
+
(0, child_process_1.execSync)(command);
|
|
191
|
+
});
|
|
192
|
+
}
|
|
193
|
+
catch (e) {
|
|
194
|
+
logger.error("Error rolling back migration. ");
|
|
195
|
+
return 1;
|
|
196
|
+
}
|
|
197
|
+
return 0;
|
|
198
|
+
}
|
|
199
|
+
exports.rollbackMigration = rollbackMigration;
|
|
200
|
+
async function getUserDBInfo(host, dbName) {
|
|
201
|
+
const userCredentials = (0, cloudutils_1.getCloudCredentials)();
|
|
202
|
+
const bearerToken = "Bearer " + userCredentials.token;
|
|
203
|
+
const res = await axios_1.default.get(`https://${host}/${userCredentials.userName}/databases/userdb/info/${dbName}`, {
|
|
204
|
+
headers: {
|
|
205
|
+
"Content-Type": "application/json",
|
|
206
|
+
Authorization: bearerToken,
|
|
207
|
+
},
|
|
208
|
+
});
|
|
209
|
+
return res.data;
|
|
210
|
+
}
|
|
211
|
+
exports.getUserDBInfo = getUserDBInfo;
|
|
212
|
+
// Create DBOS system DB and tables.
|
|
213
|
+
// TODO: replace this with knex to manage schema.
|
|
214
|
+
async function createDBOSTables(configFile) {
|
|
215
|
+
const logger = new logs_1.GlobalLogger();
|
|
216
|
+
const userPoolConfig = {
|
|
217
|
+
host: configFile.database.hostname,
|
|
218
|
+
port: configFile.database.port,
|
|
219
|
+
user: configFile.database.username,
|
|
220
|
+
password: configFile.database.password,
|
|
221
|
+
connectionTimeoutMillis: configFile.database.connectionTimeoutMillis || 3000,
|
|
222
|
+
database: configFile.database.user_database,
|
|
223
|
+
};
|
|
224
|
+
if (configFile.database.ssl_ca) {
|
|
225
|
+
userPoolConfig.ssl = { ca: [(0, utils_1.readFileSync)(configFile.database.ssl_ca)], rejectUnauthorized: true };
|
|
226
|
+
}
|
|
227
|
+
const systemPoolConfig = { ...userPoolConfig };
|
|
228
|
+
systemPoolConfig.database = `${userPoolConfig.database}_dbos_sys`;
|
|
229
|
+
const pgUserClient = new pg_1.Client(userPoolConfig);
|
|
230
|
+
await pgUserClient.connect();
|
|
231
|
+
// Create DBOS table/schema in user DB.
|
|
232
|
+
const schemaExists = await pgUserClient.query(`SELECT EXISTS (SELECT FROM information_schema.schemata WHERE schema_name = 'dbos')`);
|
|
233
|
+
if (!schemaExists.rows[0].exists) {
|
|
234
|
+
await pgUserClient.query(user_db_schema_1.createUserDBSchema);
|
|
235
|
+
await pgUserClient.query(user_db_schema_1.userDBSchema);
|
|
236
|
+
}
|
|
237
|
+
// Create the DBOS system database.
|
|
238
|
+
const dbExists = await pgUserClient.query(`SELECT EXISTS (SELECT FROM pg_database WHERE datname = '${systemPoolConfig.database}')`);
|
|
239
|
+
if (!dbExists.rows[0].exists) {
|
|
240
|
+
await pgUserClient.query(`CREATE DATABASE ${systemPoolConfig.database}`);
|
|
241
|
+
}
|
|
242
|
+
// Load the DBOS system schema.
|
|
243
|
+
const pgSystemClient = new pg_1.Client(systemPoolConfig);
|
|
244
|
+
await pgSystemClient.connect();
|
|
245
|
+
try {
|
|
246
|
+
const tableExists = await pgSystemClient.query(`SELECT EXISTS (SELECT FROM information_schema.schemata WHERE schema_name = 'dbos')`);
|
|
247
|
+
if (!tableExists.rows[0].exists) {
|
|
248
|
+
await pgSystemClient.query(system_db_schema_1.systemDBSchema);
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
catch (e) {
|
|
252
|
+
const tableExists = await pgSystemClient.query(`SELECT EXISTS (SELECT FROM information_schema.tables WHERE table_schema = 'dbos' AND table_name = 'operation_outputs')`);
|
|
253
|
+
if (tableExists.rows[0].exists) {
|
|
254
|
+
// If the table has been created by someone else. Ignore the error.
|
|
255
|
+
logger.warn(`System tables creation failed, may conflict with concurrent tasks: ${e.message}`);
|
|
256
|
+
}
|
|
257
|
+
else {
|
|
258
|
+
throw e;
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
finally {
|
|
262
|
+
await pgSystemClient.end();
|
|
263
|
+
await pgUserClient.end();
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
//# sourceMappingURL=userdb.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"userdb.js","sourceRoot":"","sources":["../../../userdb.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
export interface workflow_status {
|
|
2
|
+
workflow_uuid: string;
|
|
3
|
+
status: string;
|
|
4
|
+
name: string;
|
|
5
|
+
authenticated_user: string;
|
|
6
|
+
output: string;
|
|
7
|
+
error: string;
|
|
8
|
+
assumed_role: string;
|
|
9
|
+
authenticated_roles: string;
|
|
10
|
+
request: string;
|
|
11
|
+
executor_id: string;
|
|
12
|
+
}
|
|
13
|
+
export interface notifications {
|
|
14
|
+
destination_uuid: string;
|
|
15
|
+
topic: string;
|
|
16
|
+
message: string;
|
|
17
|
+
}
|
|
18
|
+
export interface workflow_events {
|
|
19
|
+
workflow_uuid: string;
|
|
20
|
+
key: string;
|
|
21
|
+
value: string;
|
|
22
|
+
}
|
|
23
|
+
export interface operation_outputs {
|
|
24
|
+
workflow_uuid: string;
|
|
25
|
+
function_id: number;
|
|
26
|
+
output: string;
|
|
27
|
+
error: string;
|
|
28
|
+
}
|
|
29
|
+
export interface workflow_inputs {
|
|
30
|
+
workflow_uuid: string;
|
|
31
|
+
inputs: string;
|
|
32
|
+
}
|
|
33
|
+
export declare const systemDBSchema = "\n CREATE SCHEMA IF NOT EXISTS dbos;\n\n CREATE TABLE IF NOT EXISTS dbos.operation_outputs (\n workflow_uuid TEXT NOT NULL,\n function_id INT NOT NULL,\n output TEXT,\n error TEXT,\n PRIMARY KEY (workflow_uuid, function_id)\n );\n\n CREATE TABLE IF NOT EXISTS dbos.workflow_inputs (\n workflow_uuid TEXT PRIMARY KEY NOT NULL,\n inputs TEXT NOT NULL\n );\n\n CREATE TABLE IF NOT EXISTS dbos.workflow_status (\n workflow_uuid TEXT PRIMARY KEY,\n status TEXT,\n name TEXT,\n authenticated_user TEXT,\n assumed_role TEXT,\n authenticated_roles TEXT,\n request TEXT,\n output TEXT,\n error TEXT,\n executor_id TEXT\n );\n\n CREATE TABLE IF NOT EXISTS dbos.notifications (\n destination_uuid TEXT NOT NULL,\n topic TEXT,\n message TEXT NOT NULL,\n created_at_epoch_ms BIGINT NOT NULL DEFAULT (EXTRACT(EPOCH FROM now())*1000)::bigint\n );\n\n CREATE TABLE IF NOT EXISTS dbos.workflow_events (\n workflow_uuid TEXT NOT NULL,\n key TEXT NOT NULL,\n value TEXT NOT NULL,\n PRIMARY KEY (workflow_uuid, key)\n );\n\n CREATE INDEX IF NOT EXISTS idx_workflow_topic ON dbos.notifications (destination_uuid, topic);\n\n CREATE OR REPLACE FUNCTION dbos.notifications_function() RETURNS TRIGGER AS $$\n DECLARE\n payload text := NEW.destination_uuid || '::' || NEW.topic;\n BEGIN\n -- Publish a notification for all keys\n PERFORM pg_notify('dbos_notifications_channel', payload);\n RETURN NEW;\n END;\n $$ LANGUAGE plpgsql;\n\n CREATE OR REPLACE TRIGGER dbos_notifications_trigger\n AFTER INSERT ON dbos.notifications\n FOR EACH ROW EXECUTE FUNCTION dbos.notifications_function();\n\n CREATE OR REPLACE FUNCTION dbos.workflow_events_function() RETURNS TRIGGER AS $$\n DECLARE\n payload text := NEW.workflow_uuid || '::' || NEW.key;\n BEGIN\n -- Publish a notification for all keys\n PERFORM pg_notify('dbos_workflow_events_channel', payload);\n RETURN NEW;\n END;\n $$ LANGUAGE plpgsql;\n\n CREATE OR REPLACE TRIGGER dbos_workflow_events_trigger\n AFTER INSERT ON dbos.workflow_events\n FOR EACH ROW EXECUTE FUNCTION dbos.workflow_events_function();\n";
|
|
34
|
+
//# sourceMappingURL=system_db_schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"system_db_schema.d.ts","sourceRoot":"","sources":["../../../../schemas/system_db_schema.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,kBAAkB,EAAE,MAAM,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,cAAc,orEAwE1B,CAAC"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.systemDBSchema = void 0;
|
|
4
|
+
exports.systemDBSchema = `
|
|
5
|
+
CREATE SCHEMA IF NOT EXISTS dbos;
|
|
6
|
+
|
|
7
|
+
CREATE TABLE IF NOT EXISTS dbos.operation_outputs (
|
|
8
|
+
workflow_uuid TEXT NOT NULL,
|
|
9
|
+
function_id INT NOT NULL,
|
|
10
|
+
output TEXT,
|
|
11
|
+
error TEXT,
|
|
12
|
+
PRIMARY KEY (workflow_uuid, function_id)
|
|
13
|
+
);
|
|
14
|
+
|
|
15
|
+
CREATE TABLE IF NOT EXISTS dbos.workflow_inputs (
|
|
16
|
+
workflow_uuid TEXT PRIMARY KEY NOT NULL,
|
|
17
|
+
inputs TEXT NOT NULL
|
|
18
|
+
);
|
|
19
|
+
|
|
20
|
+
CREATE TABLE IF NOT EXISTS dbos.workflow_status (
|
|
21
|
+
workflow_uuid TEXT PRIMARY KEY,
|
|
22
|
+
status TEXT,
|
|
23
|
+
name TEXT,
|
|
24
|
+
authenticated_user TEXT,
|
|
25
|
+
assumed_role TEXT,
|
|
26
|
+
authenticated_roles TEXT,
|
|
27
|
+
request TEXT,
|
|
28
|
+
output TEXT,
|
|
29
|
+
error TEXT,
|
|
30
|
+
executor_id TEXT
|
|
31
|
+
);
|
|
32
|
+
|
|
33
|
+
CREATE TABLE IF NOT EXISTS dbos.notifications (
|
|
34
|
+
destination_uuid TEXT NOT NULL,
|
|
35
|
+
topic TEXT,
|
|
36
|
+
message TEXT NOT NULL,
|
|
37
|
+
created_at_epoch_ms BIGINT NOT NULL DEFAULT (EXTRACT(EPOCH FROM now())*1000)::bigint
|
|
38
|
+
);
|
|
39
|
+
|
|
40
|
+
CREATE TABLE IF NOT EXISTS dbos.workflow_events (
|
|
41
|
+
workflow_uuid TEXT NOT NULL,
|
|
42
|
+
key TEXT NOT NULL,
|
|
43
|
+
value TEXT NOT NULL,
|
|
44
|
+
PRIMARY KEY (workflow_uuid, key)
|
|
45
|
+
);
|
|
46
|
+
|
|
47
|
+
CREATE INDEX IF NOT EXISTS idx_workflow_topic ON dbos.notifications (destination_uuid, topic);
|
|
48
|
+
|
|
49
|
+
CREATE OR REPLACE FUNCTION dbos.notifications_function() RETURNS TRIGGER AS $$
|
|
50
|
+
DECLARE
|
|
51
|
+
payload text := NEW.destination_uuid || '::' || NEW.topic;
|
|
52
|
+
BEGIN
|
|
53
|
+
-- Publish a notification for all keys
|
|
54
|
+
PERFORM pg_notify('dbos_notifications_channel', payload);
|
|
55
|
+
RETURN NEW;
|
|
56
|
+
END;
|
|
57
|
+
$$ LANGUAGE plpgsql;
|
|
58
|
+
|
|
59
|
+
CREATE OR REPLACE TRIGGER dbos_notifications_trigger
|
|
60
|
+
AFTER INSERT ON dbos.notifications
|
|
61
|
+
FOR EACH ROW EXECUTE FUNCTION dbos.notifications_function();
|
|
62
|
+
|
|
63
|
+
CREATE OR REPLACE FUNCTION dbos.workflow_events_function() RETURNS TRIGGER AS $$
|
|
64
|
+
DECLARE
|
|
65
|
+
payload text := NEW.workflow_uuid || '::' || NEW.key;
|
|
66
|
+
BEGIN
|
|
67
|
+
-- Publish a notification for all keys
|
|
68
|
+
PERFORM pg_notify('dbos_workflow_events_channel', payload);
|
|
69
|
+
RETURN NEW;
|
|
70
|
+
END;
|
|
71
|
+
$$ LANGUAGE plpgsql;
|
|
72
|
+
|
|
73
|
+
CREATE OR REPLACE TRIGGER dbos_workflow_events_trigger
|
|
74
|
+
AFTER INSERT ON dbos.workflow_events
|
|
75
|
+
FOR EACH ROW EXECUTE FUNCTION dbos.workflow_events_function();
|
|
76
|
+
`;
|
|
77
|
+
//# sourceMappingURL=system_db_schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"system_db_schema.js","sourceRoot":"","sources":["../../../../schemas/system_db_schema.ts"],"names":[],"mappings":";;;AAqCa,QAAA,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwE7B,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export interface transaction_outputs {
|
|
2
|
+
workflow_uuid: string;
|
|
3
|
+
function_id: number;
|
|
4
|
+
output: string;
|
|
5
|
+
error: string;
|
|
6
|
+
txn_id: string;
|
|
7
|
+
txn_snapshot: string;
|
|
8
|
+
}
|
|
9
|
+
export declare const createUserDBSchema = "CREATE SCHEMA IF NOT EXISTS dbos;";
|
|
10
|
+
export declare const userDBSchema = "\n CREATE TABLE IF NOT EXISTS dbos.transaction_outputs (\n workflow_uuid TEXT NOT NULL,\n function_id INT NOT NULL,\n output TEXT,\n error TEXT,\n txn_id TEXT,\n txn_snapshot TEXT NOT NULL,\n PRIMARY KEY (workflow_uuid, function_id)\n );\n";
|
|
11
|
+
//# sourceMappingURL=user_db_schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user_db_schema.d.ts","sourceRoot":"","sources":["../../../../schemas/user_db_schema.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,kBAAkB,sCAAsC,CAAC;AAEtE,eAAO,MAAM,YAAY,2QAUxB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.userDBSchema = exports.createUserDBSchema = void 0;
|
|
4
|
+
exports.createUserDBSchema = `CREATE SCHEMA IF NOT EXISTS dbos;`;
|
|
5
|
+
exports.userDBSchema = `
|
|
6
|
+
CREATE TABLE IF NOT EXISTS dbos.transaction_outputs (
|
|
7
|
+
workflow_uuid TEXT NOT NULL,
|
|
8
|
+
function_id INT NOT NULL,
|
|
9
|
+
output TEXT,
|
|
10
|
+
error TEXT,
|
|
11
|
+
txn_id TEXT,
|
|
12
|
+
txn_snapshot TEXT NOT NULL,
|
|
13
|
+
PRIMARY KEY (workflow_uuid, function_id)
|
|
14
|
+
);
|
|
15
|
+
`;
|
|
16
|
+
//# sourceMappingURL=user_db_schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user_db_schema.js","sourceRoot":"","sources":["../../../../schemas/user_db_schema.ts"],"names":[],"mappings":";;;AASa,QAAA,kBAAkB,GAAG,mCAAmC,CAAC;AAEzD,QAAA,YAAY,GAAG;;;;;;;;;;CAU3B,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Span } from "@opentelemetry/sdk-trace-base";
|
|
2
|
+
import { GlobalLogger as Logger } from "./telemetry/logs";
|
|
3
|
+
import { WorkflowContextImpl } from "./workflow";
|
|
4
|
+
import { DBOSContext, DBOSContextImpl } from "./context";
|
|
5
|
+
import { WorkflowContextDebug } from "./debugger/debug_workflow";
|
|
6
|
+
export type Communicator<T extends any[], R> = (ctxt: CommunicatorContext, ...args: T) => Promise<R>;
|
|
7
|
+
export interface CommunicatorConfig {
|
|
8
|
+
retriesAllowed?: boolean;
|
|
9
|
+
intervalSeconds?: number;
|
|
10
|
+
maxAttempts?: number;
|
|
11
|
+
backoffRate?: number;
|
|
12
|
+
}
|
|
13
|
+
export interface CommunicatorContext extends DBOSContext {
|
|
14
|
+
readonly retriesAllowed: boolean;
|
|
15
|
+
readonly maxAttempts: number;
|
|
16
|
+
}
|
|
17
|
+
export declare class CommunicatorContextImpl extends DBOSContextImpl implements CommunicatorContext {
|
|
18
|
+
readonly functionID: number;
|
|
19
|
+
readonly retriesAllowed: boolean;
|
|
20
|
+
readonly intervalSeconds: number;
|
|
21
|
+
readonly maxAttempts: number;
|
|
22
|
+
readonly backoffRate: number;
|
|
23
|
+
constructor(workflowContext: WorkflowContextImpl | WorkflowContextDebug, functionID: number, span: Span, logger: Logger, params: CommunicatorConfig, commName: string);
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=communicator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"communicator.d.ts","sourceRoot":"","sources":["../../../../src/communicator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,+BAA+B,CAAC;AACrD,OAAO,EAAE,YAAY,IAAI,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAGjE,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,mBAAmB,EAAE,GAAG,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;AAErG,MAAM,WAAW,kBAAkB;IACjC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,mBAAoB,SAAQ,WAAW;IAEtD,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,qBAAa,uBAAwB,SAAQ,eAAgB,YAAW,mBAAmB;IACzF,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;gBAGjB,eAAe,EAAE,mBAAmB,GAAG,oBAAoB,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM;CAYtK"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CommunicatorContextImpl = void 0;
|
|
4
|
+
const context_1 = require("./context");
|
|
5
|
+
class CommunicatorContextImpl extends context_1.DBOSContextImpl {
|
|
6
|
+
functionID;
|
|
7
|
+
retriesAllowed;
|
|
8
|
+
intervalSeconds;
|
|
9
|
+
maxAttempts;
|
|
10
|
+
backoffRate;
|
|
11
|
+
// TODO: Validate the parameters.
|
|
12
|
+
constructor(workflowContext, functionID, span, logger, params, commName) {
|
|
13
|
+
super(commName, span, logger, workflowContext);
|
|
14
|
+
this.functionID = functionID;
|
|
15
|
+
this.retriesAllowed = params.retriesAllowed ?? true;
|
|
16
|
+
this.intervalSeconds = params.intervalSeconds ?? 1;
|
|
17
|
+
this.maxAttempts = params.maxAttempts ?? 3;
|
|
18
|
+
this.backoffRate = params.backoffRate ?? 2;
|
|
19
|
+
if (workflowContext.applicationConfig) {
|
|
20
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
21
|
+
this.applicationConfig = workflowContext.applicationConfig;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
exports.CommunicatorContextImpl = CommunicatorContextImpl;
|
|
26
|
+
//# sourceMappingURL=communicator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"communicator.js","sourceRoot":"","sources":["../../../../src/communicator.ts"],"names":[],"mappings":";;;AAGA,uCAAyD;AAmBzD,MAAa,uBAAwB,SAAQ,yBAAe;IACjD,UAAU,CAAS;IACnB,cAAc,CAAU;IACxB,eAAe,CAAS;IACxB,WAAW,CAAS;IACpB,WAAW,CAAS;IAE7B,iCAAiC;IACjC,YAAY,eAA2D,EAAE,UAAkB,EAAE,IAAU,EAAE,MAAc,EAAE,MAA0B,EAAE,QAAgB;QACnK,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC;QAC/C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,IAAI,IAAI,CAAC;QACpD,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC;QAC3C,IAAI,eAAe,CAAC,iBAAiB,EAAE,CAAC;YACtC,mEAAmE;YACnE,IAAI,CAAC,iBAAiB,GAAG,eAAe,CAAC,iBAAiB,CAAC;QAC7D,CAAC;IACH,CAAC;CACF;AApBD,0DAoBC"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
/// <reference types="node" />
|
|
3
|
+
/// <reference types="node/http" />
|
|
4
|
+
/// <reference types="@koa/bodyparser/dist/body-parser" />
|
|
5
|
+
import { Span } from "@opentelemetry/sdk-trace-base";
|
|
6
|
+
import { GlobalLogger as Logger, Logger as DBOSLogger } from "./telemetry/logs";
|
|
7
|
+
import { IncomingHttpHeaders } from "http";
|
|
8
|
+
import { ParsedUrlQuery } from "querystring";
|
|
9
|
+
import { DBOSExecutor } from "./dbos-executor";
|
|
10
|
+
export interface HTTPRequest {
|
|
11
|
+
readonly headers?: IncomingHttpHeaders;
|
|
12
|
+
readonly rawHeaders?: string[];
|
|
13
|
+
readonly params?: unknown;
|
|
14
|
+
readonly body?: unknown;
|
|
15
|
+
readonly rawBody?: string;
|
|
16
|
+
readonly query?: ParsedUrlQuery;
|
|
17
|
+
readonly querystring?: string;
|
|
18
|
+
readonly url?: string;
|
|
19
|
+
readonly ip?: string;
|
|
20
|
+
readonly requestID?: string;
|
|
21
|
+
}
|
|
22
|
+
export interface DBOSContext {
|
|
23
|
+
readonly request: HTTPRequest;
|
|
24
|
+
readonly workflowUUID: string;
|
|
25
|
+
readonly authenticatedUser: string;
|
|
26
|
+
readonly authenticatedRoles: string[];
|
|
27
|
+
readonly assumedRole: string;
|
|
28
|
+
readonly logger: DBOSLogger;
|
|
29
|
+
readonly span: Span;
|
|
30
|
+
getConfig<T>(key: string): T | undefined;
|
|
31
|
+
getConfig<T>(key: string, defaultValue: T): T;
|
|
32
|
+
}
|
|
33
|
+
export declare class DBOSContextImpl implements DBOSContext {
|
|
34
|
+
readonly operationName: string;
|
|
35
|
+
readonly span: Span;
|
|
36
|
+
request: HTTPRequest;
|
|
37
|
+
authenticatedUser: string;
|
|
38
|
+
authenticatedRoles: string[];
|
|
39
|
+
assumedRole: string;
|
|
40
|
+
workflowUUID: string;
|
|
41
|
+
executorID: string;
|
|
42
|
+
readonly logger: DBOSLogger;
|
|
43
|
+
constructor(operationName: string, span: Span, logger: Logger, parentCtx?: DBOSContextImpl);
|
|
44
|
+
/*** Application configuration ***/
|
|
45
|
+
applicationConfig?: any;
|
|
46
|
+
getConfig<T>(key: string): T | undefined;
|
|
47
|
+
getConfig<T>(key: string, defaultValue: T): T;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* TODO : move logger and application, getConfig to a BaseContext which is at the root of all contexts
|
|
51
|
+
*/
|
|
52
|
+
export declare class InitContext {
|
|
53
|
+
readonly dbosExec: DBOSExecutor;
|
|
54
|
+
readonly logger: Logger;
|
|
55
|
+
private userDatabase;
|
|
56
|
+
private application;
|
|
57
|
+
constructor(dbosExec: DBOSExecutor);
|
|
58
|
+
createUserSchema(): Promise<void>;
|
|
59
|
+
dropUserSchema(): Promise<void>;
|
|
60
|
+
queryUserDB<R>(sql: string, ...params: unknown[]): Promise<R[]>;
|
|
61
|
+
getConfig<T>(key: string): T | undefined;
|
|
62
|
+
getConfig<T>(key: string, defaultValue: T): T;
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../src/context.ts"],"names":[],"mappings":"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"}
|