@dbos-inc/dbos-cloud 0.12.7-preview → 0.12.11-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 +27 -9
- package/dist/packages/dbos-cloud/cli.js +26 -6
- package/dist/packages/dbos-cloud/cli.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 +32 -5
- package/dist/packages/dbos-cloud/userdb.js.map +1 -1
- package/package.json +7 -5
- package/userdb.ts +34 -5
package/cli.ts
CHANGED
|
@@ -11,10 +11,11 @@ import {
|
|
|
11
11
|
import { Command } from 'commander';
|
|
12
12
|
import { login } from "./login";
|
|
13
13
|
import { registerUser } from "./register";
|
|
14
|
-
import { createUserDb, getUserDb, deleteUserDb, listUserDB } from "./userdb";
|
|
14
|
+
import { createUserDb, getUserDb, deleteUserDb, listUserDB, resetDBCredentials } from "./userdb";
|
|
15
15
|
import { launchDashboard, getDashboardURL } from "./dashboards";
|
|
16
16
|
import { DBOSCloudHost, credentialsExist, deleteCredentials } from "./cloudutils";
|
|
17
17
|
import { getAppInfo } from "./applications/get-app-info";
|
|
18
|
+
import promptSync from 'prompt-sync';
|
|
18
19
|
|
|
19
20
|
const program = new Command();
|
|
20
21
|
|
|
@@ -136,28 +137,32 @@ const databaseCommands = program
|
|
|
136
137
|
.alias('db')
|
|
137
138
|
.description('Manage Postgres database instances')
|
|
138
139
|
|
|
140
|
+
const prompt = promptSync({ sigint: true });
|
|
139
141
|
databaseCommands
|
|
140
142
|
.command('provision')
|
|
141
143
|
.description("Provision a Postgres database instance")
|
|
142
|
-
.argument('<
|
|
143
|
-
.requiredOption('-
|
|
144
|
-
.
|
|
145
|
-
.action((async (dbname: string, options: {
|
|
146
|
-
|
|
144
|
+
.argument('<name>', 'database instance name')
|
|
145
|
+
.requiredOption('-U, --username <string>', 'Specify your database username')
|
|
146
|
+
.option('-W, --password <string>', 'Specify your database user password')
|
|
147
|
+
.action((async (dbname: string, options: { username: string, password: string | undefined }) => {
|
|
148
|
+
if (!options.password) {
|
|
149
|
+
options.password = prompt('Database Password: ', { echo: '*' });
|
|
150
|
+
}
|
|
151
|
+
const exitCode = await createUserDb(DBOSCloudHost, dbname, options.username, options.password, true)
|
|
147
152
|
process.exit(exitCode);
|
|
148
153
|
}))
|
|
149
154
|
|
|
150
155
|
databaseCommands
|
|
151
156
|
.command('status')
|
|
152
157
|
.description("Retrieve the status of a Postgres database instance")
|
|
153
|
-
.argument('<
|
|
158
|
+
.argument('<name>', 'database instance name')
|
|
154
159
|
.option('--json', 'Emit JSON output')
|
|
155
160
|
.action((async (dbname: string, options: { json: boolean}) => {
|
|
156
161
|
const exitCode = await getUserDb(DBOSCloudHost, dbname, options.json)
|
|
157
162
|
process.exit(exitCode);
|
|
158
163
|
}))
|
|
159
164
|
|
|
160
|
-
|
|
165
|
+
databaseCommands
|
|
161
166
|
.command('list')
|
|
162
167
|
.description("List all your Postgres database instances")
|
|
163
168
|
.option('--json', 'Emit JSON output')
|
|
@@ -166,10 +171,23 @@ databaseCommands
|
|
|
166
171
|
process.exit(exitCode);
|
|
167
172
|
}))
|
|
168
173
|
|
|
174
|
+
databaseCommands
|
|
175
|
+
.command('reset-password')
|
|
176
|
+
.description("Reset password for a Postgres database instance")
|
|
177
|
+
.argument('<name>', 'database instance name')
|
|
178
|
+
.option('-W, --password <string>', 'Specify the database user password')
|
|
179
|
+
.action((async (dbName: string, options: { password: string}) => {
|
|
180
|
+
if (!options.password) {
|
|
181
|
+
options.password = prompt('Database Password: ', { echo: '*' });
|
|
182
|
+
}
|
|
183
|
+
const exitCode = await resetDBCredentials(DBOSCloudHost, dbName, options.password)
|
|
184
|
+
process.exit(exitCode);
|
|
185
|
+
}))
|
|
186
|
+
|
|
169
187
|
databaseCommands
|
|
170
188
|
.command('destroy')
|
|
171
189
|
.description("Destroy a Postgres database instance")
|
|
172
|
-
.argument('<
|
|
190
|
+
.argument('<name>', 'database instance name')
|
|
173
191
|
.action((async (dbname: string) => {
|
|
174
192
|
const exitCode = await deleteUserDb(DBOSCloudHost, dbname)
|
|
175
193
|
process.exit(exitCode);
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
"use strict";
|
|
3
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
|
+
};
|
|
3
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
7
|
const applications_1 = require("./applications");
|
|
5
8
|
const commander_1 = require("commander");
|
|
@@ -9,6 +12,7 @@ const userdb_1 = require("./userdb");
|
|
|
9
12
|
const dashboards_1 = require("./dashboards");
|
|
10
13
|
const cloudutils_1 = require("./cloudutils");
|
|
11
14
|
const get_app_info_1 = require("./applications/get-app-info");
|
|
15
|
+
const prompt_sync_1 = __importDefault(require("prompt-sync"));
|
|
12
16
|
const program = new commander_1.Command();
|
|
13
17
|
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
14
18
|
const packageJson = require('../../../package.json');
|
|
@@ -112,20 +116,24 @@ const databaseCommands = program
|
|
|
112
116
|
.alias('databases')
|
|
113
117
|
.alias('db')
|
|
114
118
|
.description('Manage Postgres database instances');
|
|
119
|
+
const prompt = (0, prompt_sync_1.default)({ sigint: true });
|
|
115
120
|
databaseCommands
|
|
116
121
|
.command('provision')
|
|
117
122
|
.description("Provision a Postgres database instance")
|
|
118
|
-
.argument('<
|
|
119
|
-
.requiredOption('-
|
|
120
|
-
.
|
|
123
|
+
.argument('<name>', 'database instance name')
|
|
124
|
+
.requiredOption('-U, --username <string>', 'Specify your database username')
|
|
125
|
+
.option('-W, --password <string>', 'Specify your database user password')
|
|
121
126
|
.action((async (dbname, options) => {
|
|
122
|
-
|
|
127
|
+
if (!options.password) {
|
|
128
|
+
options.password = prompt('Database Password: ', { echo: '*' });
|
|
129
|
+
}
|
|
130
|
+
const exitCode = await (0, userdb_1.createUserDb)(cloudutils_1.DBOSCloudHost, dbname, options.username, options.password, true);
|
|
123
131
|
process.exit(exitCode);
|
|
124
132
|
}));
|
|
125
133
|
databaseCommands
|
|
126
134
|
.command('status')
|
|
127
135
|
.description("Retrieve the status of a Postgres database instance")
|
|
128
|
-
.argument('<
|
|
136
|
+
.argument('<name>', 'database instance name')
|
|
129
137
|
.option('--json', 'Emit JSON output')
|
|
130
138
|
.action((async (dbname, options) => {
|
|
131
139
|
const exitCode = await (0, userdb_1.getUserDb)(cloudutils_1.DBOSCloudHost, dbname, options.json);
|
|
@@ -139,10 +147,22 @@ databaseCommands
|
|
|
139
147
|
const exitCode = await (0, userdb_1.listUserDB)(cloudutils_1.DBOSCloudHost, options.json);
|
|
140
148
|
process.exit(exitCode);
|
|
141
149
|
}));
|
|
150
|
+
databaseCommands
|
|
151
|
+
.command('reset-password')
|
|
152
|
+
.description("Reset password for a Postgres database instance")
|
|
153
|
+
.argument('<name>', 'database instance name')
|
|
154
|
+
.option('-W, --password <string>', 'Specify the database user password')
|
|
155
|
+
.action((async (dbName, options) => {
|
|
156
|
+
if (!options.password) {
|
|
157
|
+
options.password = prompt('Database Password: ', { echo: '*' });
|
|
158
|
+
}
|
|
159
|
+
const exitCode = await (0, userdb_1.resetDBCredentials)(cloudutils_1.DBOSCloudHost, dbName, options.password);
|
|
160
|
+
process.exit(exitCode);
|
|
161
|
+
}));
|
|
142
162
|
databaseCommands
|
|
143
163
|
.command('destroy')
|
|
144
164
|
.description("Destroy a Postgres database instance")
|
|
145
|
-
.argument('<
|
|
165
|
+
.argument('<name>', 'database instance name')
|
|
146
166
|
.action((async (dbname) => {
|
|
147
167
|
const exitCode = await (0, userdb_1.deleteUserDb)(cloudutils_1.DBOSCloudHost, dbname);
|
|
148
168
|
process.exit(exitCode);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../cli.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,10 +4,12 @@ export interface UserDBInstance {
|
|
|
4
4
|
readonly HostName: string;
|
|
5
5
|
readonly Port: number;
|
|
6
6
|
readonly AdminUsername: string;
|
|
7
|
+
readonly DatabaseUsername: string;
|
|
7
8
|
}
|
|
8
|
-
export declare function createUserDb(host: string, dbName: string,
|
|
9
|
+
export declare function createUserDb(host: string, dbName: string, appDBUsername: string, appDBPassword: string, sync: boolean): Promise<0 | 1>;
|
|
9
10
|
export declare function deleteUserDb(host: string, dbName: string): Promise<0 | 1>;
|
|
10
11
|
export declare function getUserDb(host: string, dbName: string, json: boolean): Promise<0 | 1>;
|
|
11
12
|
export declare function listUserDB(host: string, json: boolean): Promise<0 | 1>;
|
|
12
13
|
export declare function getUserDBInfo(host: string, dbName: string): Promise<UserDBInstance>;
|
|
14
|
+
export declare function resetDBCredentials(host: string, dbName: string, appDBPassword: string): Promise<0 | 1>;
|
|
13
15
|
//# sourceMappingURL=userdb.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"userdb.d.ts","sourceRoot":"","sources":["../../../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;
|
|
1
|
+
{"version":3,"file":"userdb.d.ts","sourceRoot":"","sources":["../../../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;IAC/B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;CACnC;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,kBAwC3H;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,kBAwB9D;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,kBAyB1E;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,kBAwC3D;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAYzF;AAED,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,kBA0B3F"}
|
|
@@ -3,16 +3,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.getUserDBInfo = exports.listUserDB = exports.getUserDb = exports.deleteUserDb = exports.createUserDb = void 0;
|
|
6
|
+
exports.resetDBCredentials = exports.getUserDBInfo = exports.listUserDB = exports.getUserDb = exports.deleteUserDb = exports.createUserDb = void 0;
|
|
7
7
|
const axios_1 = __importDefault(require("axios"));
|
|
8
8
|
const cloudutils_1 = require("./cloudutils");
|
|
9
9
|
const utils_1 = require("../../src/utils");
|
|
10
|
-
async function createUserDb(host, dbName,
|
|
10
|
+
async function createUserDb(host, dbName, appDBUsername, appDBPassword, sync) {
|
|
11
11
|
const logger = (0, cloudutils_1.getLogger)();
|
|
12
12
|
const userCredentials = (0, cloudutils_1.getCloudCredentials)();
|
|
13
13
|
const bearerToken = "Bearer " + userCredentials.token;
|
|
14
14
|
try {
|
|
15
|
-
await axios_1.default.post(`https://${host}/v1alpha1/${userCredentials.userName}/databases/userdb`, { Name: dbName, AdminName:
|
|
15
|
+
await axios_1.default.post(`https://${host}/v1alpha1/${userCredentials.userName}/databases/userdb`, { Name: dbName, AdminName: appDBUsername, AdminPassword: appDBPassword }, {
|
|
16
16
|
headers: {
|
|
17
17
|
"Content-Type": "application/json",
|
|
18
18
|
Authorization: bearerToken,
|
|
@@ -83,7 +83,7 @@ async function getUserDb(host, dbName, json) {
|
|
|
83
83
|
console.log(`Status: ${userDBInfo.Status}`);
|
|
84
84
|
console.log(`Host Name: ${userDBInfo.HostName}`);
|
|
85
85
|
console.log(`Port: ${userDBInfo.Port}`);
|
|
86
|
-
console.log(`
|
|
86
|
+
console.log(`Database Username: ${userDBInfo.AdminUsername}`); /* TODO: DatabaseUsername */
|
|
87
87
|
}
|
|
88
88
|
return 0;
|
|
89
89
|
}
|
|
@@ -124,7 +124,7 @@ async function listUserDB(host, json) {
|
|
|
124
124
|
console.log(`Status: ${userDBInfo.Status}`);
|
|
125
125
|
console.log(`Host Name: ${userDBInfo.HostName}`);
|
|
126
126
|
console.log(`Port: ${userDBInfo.Port}`);
|
|
127
|
-
console.log(`
|
|
127
|
+
console.log(`Database Username: ${userDBInfo.AdminUsername}`); /* TODO: DatabaseUsername */
|
|
128
128
|
});
|
|
129
129
|
}
|
|
130
130
|
return 0;
|
|
@@ -154,4 +154,31 @@ async function getUserDBInfo(host, dbName) {
|
|
|
154
154
|
return res.data;
|
|
155
155
|
}
|
|
156
156
|
exports.getUserDBInfo = getUserDBInfo;
|
|
157
|
+
async function resetDBCredentials(host, dbName, appDBPassword) {
|
|
158
|
+
const logger = (0, cloudutils_1.getLogger)();
|
|
159
|
+
const userCredentials = (0, cloudutils_1.getCloudCredentials)();
|
|
160
|
+
const bearerToken = "Bearer " + userCredentials.token;
|
|
161
|
+
try {
|
|
162
|
+
await axios_1.default.post(`https://${host}/v1alpha1/${userCredentials.userName}/databases/userdb/${dbName}/credentials`, { Name: dbName, Password: appDBPassword }, {
|
|
163
|
+
headers: {
|
|
164
|
+
"Content-Type": "application/json",
|
|
165
|
+
Authorization: bearerToken,
|
|
166
|
+
},
|
|
167
|
+
});
|
|
168
|
+
logger.info(`Successfully reset user password for database: ${dbName}`);
|
|
169
|
+
return 0;
|
|
170
|
+
}
|
|
171
|
+
catch (e) {
|
|
172
|
+
const errorLabel = `Failed to reset user password for database ${dbName}`;
|
|
173
|
+
const axiosError = e;
|
|
174
|
+
if ((0, cloudutils_1.isCloudAPIErrorResponse)(axiosError.response?.data)) {
|
|
175
|
+
(0, cloudutils_1.handleAPIErrors)(errorLabel, axiosError);
|
|
176
|
+
}
|
|
177
|
+
else {
|
|
178
|
+
logger.error(`${errorLabel}: ${e.message}`);
|
|
179
|
+
}
|
|
180
|
+
return 1;
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
exports.resetDBCredentials = resetDBCredentials;
|
|
157
184
|
//# sourceMappingURL=userdb.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"userdb.js","sourceRoot":"","sources":["../../../userdb.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0C;AAC1C,6CAAwG;AACxG,2CAAwC;
|
|
1
|
+
{"version":3,"file":"userdb.js","sourceRoot":"","sources":["../../../userdb.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dbos-inc/dbos-cloud",
|
|
3
|
-
"version": "0.12.
|
|
3
|
+
"version": "0.12.11-preview",
|
|
4
4
|
"description": "Tool for performing application deployment to DBOS cloud",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -20,20 +20,22 @@
|
|
|
20
20
|
},
|
|
21
21
|
"devDependencies": {
|
|
22
22
|
"@types/node": "^20.6.3",
|
|
23
|
+
"@types/prompt-sync": "^4.2.3",
|
|
23
24
|
"@types/validator": "^13.11.9",
|
|
24
25
|
"grunt": "^1.6.1",
|
|
25
26
|
"nerdbank-gitversioning": "^3.6.133",
|
|
26
27
|
"typescript": "^5.3.3"
|
|
27
28
|
},
|
|
28
29
|
"dependencies": {
|
|
29
|
-
"axios": "^1.6.
|
|
30
|
-
"commander": "^
|
|
30
|
+
"axios": "^1.6.7",
|
|
31
|
+
"commander": "^12.0.0",
|
|
31
32
|
"fast-glob": "^3.3.2",
|
|
32
33
|
"jsonwebtoken": "^9.0.2",
|
|
33
34
|
"jszip": "^3.10.1",
|
|
34
35
|
"jwks-rsa": "^3.1.0",
|
|
36
|
+
"prompt-sync": "^4.2.0",
|
|
35
37
|
"validator": "^13.11.0",
|
|
36
|
-
"winston": "^3.
|
|
37
|
-
"winston-transport": "^4.
|
|
38
|
+
"winston": "^3.12.0",
|
|
39
|
+
"winston-transport": "^4.7.0"
|
|
38
40
|
}
|
|
39
41
|
}
|
package/userdb.ts
CHANGED
|
@@ -7,10 +7,11 @@ export interface UserDBInstance {
|
|
|
7
7
|
readonly Status: string;
|
|
8
8
|
readonly HostName: string;
|
|
9
9
|
readonly Port: number;
|
|
10
|
-
readonly AdminUsername: string;
|
|
10
|
+
readonly AdminUsername: string; /* TODO: Remove */
|
|
11
|
+
readonly DatabaseUsername: string;
|
|
11
12
|
}
|
|
12
13
|
|
|
13
|
-
export async function createUserDb(host: string, dbName: string,
|
|
14
|
+
export async function createUserDb(host: string, dbName: string, appDBUsername: string, appDBPassword: string, sync: boolean) {
|
|
14
15
|
const logger = getLogger();
|
|
15
16
|
const userCredentials = getCloudCredentials();
|
|
16
17
|
const bearerToken = "Bearer " + userCredentials.token;
|
|
@@ -18,7 +19,7 @@ export async function createUserDb(host: string, dbName: string, adminName: stri
|
|
|
18
19
|
try {
|
|
19
20
|
await axios.post(
|
|
20
21
|
`https://${host}/v1alpha1/${userCredentials.userName}/databases/userdb`,
|
|
21
|
-
{ Name: dbName, AdminName:
|
|
22
|
+
{ Name: dbName, AdminName: appDBUsername, AdminPassword: appDBPassword },
|
|
22
23
|
{
|
|
23
24
|
headers: {
|
|
24
25
|
"Content-Type": "application/json",
|
|
@@ -90,7 +91,7 @@ export async function getUserDb(host: string, dbName: string, json: boolean) {
|
|
|
90
91
|
console.log(`Status: ${userDBInfo.Status}`);
|
|
91
92
|
console.log(`Host Name: ${userDBInfo.HostName}`);
|
|
92
93
|
console.log(`Port: ${userDBInfo.Port}`);
|
|
93
|
-
console.log(`
|
|
94
|
+
console.log(`Database Username: ${userDBInfo.AdminUsername}`); /* TODO: DatabaseUsername */
|
|
94
95
|
}
|
|
95
96
|
return 0;
|
|
96
97
|
} catch (e) {
|
|
@@ -131,7 +132,7 @@ export async function listUserDB(host: string, json: boolean) {
|
|
|
131
132
|
console.log(`Status: ${userDBInfo.Status}`);
|
|
132
133
|
console.log(`Host Name: ${userDBInfo.HostName}`);
|
|
133
134
|
console.log(`Port: ${userDBInfo.Port}`);
|
|
134
|
-
console.log(`
|
|
135
|
+
console.log(`Database Username: ${userDBInfo.AdminUsername}`); /* TODO: DatabaseUsername */
|
|
135
136
|
});
|
|
136
137
|
}
|
|
137
138
|
return 0;
|
|
@@ -160,3 +161,31 @@ export async function getUserDBInfo(host: string, dbName: string): Promise<UserD
|
|
|
160
161
|
|
|
161
162
|
return res.data as UserDBInstance;
|
|
162
163
|
}
|
|
164
|
+
|
|
165
|
+
export async function resetDBCredentials(host: string, dbName: string, appDBPassword: string) {
|
|
166
|
+
const logger = getLogger();
|
|
167
|
+
const userCredentials = getCloudCredentials();
|
|
168
|
+
const bearerToken = "Bearer " + userCredentials.token;
|
|
169
|
+
|
|
170
|
+
try {
|
|
171
|
+
await axios.post(`https://${host}/v1alpha1/${userCredentials.userName}/databases/userdb/${dbName}/credentials`,
|
|
172
|
+
{ Name: dbName, Password: appDBPassword },
|
|
173
|
+
{
|
|
174
|
+
headers: {
|
|
175
|
+
"Content-Type": "application/json",
|
|
176
|
+
Authorization: bearerToken,
|
|
177
|
+
},
|
|
178
|
+
});
|
|
179
|
+
logger.info(`Successfully reset user password for database: ${dbName}`);
|
|
180
|
+
return 0;
|
|
181
|
+
} catch (e) {
|
|
182
|
+
const errorLabel = `Failed to reset user password for database ${dbName}`;
|
|
183
|
+
const axiosError = e as AxiosError;
|
|
184
|
+
if (isCloudAPIErrorResponse(axiosError.response?.data)) {
|
|
185
|
+
handleAPIErrors(errorLabel, axiosError);
|
|
186
|
+
} else {
|
|
187
|
+
logger.error(`${errorLabel}: ${(e as Error).message}`);
|
|
188
|
+
}
|
|
189
|
+
return 1;
|
|
190
|
+
}
|
|
191
|
+
}
|