@or-sdk/pgsql 0.22.5-pgsql.0

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.
Files changed (40) hide show
  1. package/dist/cjs/Pgsql.js +128 -0
  2. package/dist/cjs/Pgsql.js.map +1 -0
  3. package/dist/cjs/constants.js +5 -0
  4. package/dist/cjs/constants.js.map +1 -0
  5. package/dist/cjs/index.js +21 -0
  6. package/dist/cjs/index.js.map +1 -0
  7. package/dist/cjs/types.js +3 -0
  8. package/dist/cjs/types.js.map +1 -0
  9. package/dist/cjs/utils/extractDatabaseNames.js +10 -0
  10. package/dist/cjs/utils/extractDatabaseNames.js.map +1 -0
  11. package/dist/cjs/utils/index.js +9 -0
  12. package/dist/cjs/utils/index.js.map +1 -0
  13. package/dist/esm/Pgsql.js +66 -0
  14. package/dist/esm/Pgsql.js.map +1 -0
  15. package/dist/esm/constants.js +2 -0
  16. package/dist/esm/constants.js.map +1 -0
  17. package/dist/esm/index.js +3 -0
  18. package/dist/esm/index.js.map +1 -0
  19. package/dist/esm/types.js +2 -0
  20. package/dist/esm/types.js.map +1 -0
  21. package/dist/esm/utils/extractDatabaseNames.js +5 -0
  22. package/dist/esm/utils/extractDatabaseNames.js.map +1 -0
  23. package/dist/esm/utils/index.js +2 -0
  24. package/dist/esm/utils/index.js.map +1 -0
  25. package/dist/types/Pgsql.d.ts +10 -0
  26. package/dist/types/constants.d.ts +1 -0
  27. package/dist/types/index.d.ts +2 -0
  28. package/dist/types/types.d.ts +51 -0
  29. package/dist/types/utils/extractDatabaseNames.d.ts +3 -0
  30. package/dist/types/utils/index.d.ts +1 -0
  31. package/package.json +29 -0
  32. package/src/Pgsql.ts +115 -0
  33. package/src/constants.ts +1 -0
  34. package/src/index.ts +2 -0
  35. package/src/types.ts +75 -0
  36. package/src/utils/extractDatabaseNames.ts +7 -0
  37. package/src/utils/index.ts +5 -0
  38. package/tsconfig.esm.json +9 -0
  39. package/tsconfig.json +7 -0
  40. package/tsconfig.types.json +9 -0
@@ -0,0 +1,128 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
18
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
19
+ return new (P || (P = Promise))(function (resolve, reject) {
20
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
21
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
22
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
23
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
24
+ });
25
+ };
26
+ var __generator = (this && this.__generator) || function (thisArg, body) {
27
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
28
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
29
+ function verb(n) { return function (v) { return step([n, v]); }; }
30
+ function step(op) {
31
+ if (f) throw new TypeError("Generator is already executing.");
32
+ while (_) try {
33
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
34
+ if (y = 0, t) op = [op[0] & 2, t.value];
35
+ switch (op[0]) {
36
+ case 0: case 1: t = op; break;
37
+ case 4: _.label++; return { value: op[1], done: false };
38
+ case 5: _.label++; y = op[1]; op = [0]; continue;
39
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
40
+ default:
41
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
42
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
43
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
44
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
45
+ if (t[2]) _.ops.pop();
46
+ _.trys.pop(); continue;
47
+ }
48
+ op = body.call(thisArg, _);
49
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
50
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
51
+ }
52
+ };
53
+ Object.defineProperty(exports, "__esModule", { value: true });
54
+ exports.Pgsql = void 0;
55
+ var base_1 = require("@or-sdk/base");
56
+ var constants_1 = require("./constants");
57
+ var utils_1 = require("./utils");
58
+ var Pgsql = (function (_super) {
59
+ __extends(Pgsql, _super);
60
+ function Pgsql(params) {
61
+ var token = params.token, discoveryUrl = params.discoveryUrl, accountId = params.accountId, pgsqlUrl = params.pgsqlUrl;
62
+ return _super.call(this, {
63
+ token: token,
64
+ discoveryUrl: discoveryUrl,
65
+ serviceKey: constants_1.SERVICE_KEY,
66
+ accountId: accountId,
67
+ serviceUrl: pgsqlUrl,
68
+ }) || this;
69
+ }
70
+ Pgsql.prototype.makeApiUrl = function (data) {
71
+ return this.isCrossAccount
72
+ ? "".concat(data.url, "/").concat(this.targetAccountId)
73
+ : "".concat(data.url, "/current");
74
+ };
75
+ Pgsql.prototype.executeQuery = function (_a) {
76
+ var query = _a.query, params = _a.params, database = _a.database;
77
+ return __awaiter(this, void 0, void 0, function () {
78
+ return __generator(this, function (_b) {
79
+ return [2, this.callApi({
80
+ data: { query: query, params: params, database: database },
81
+ method: 'POST',
82
+ route: 'query',
83
+ })];
84
+ });
85
+ });
86
+ };
87
+ Pgsql.prototype.listDatabases = function () {
88
+ return __awaiter(this, void 0, void 0, function () {
89
+ var databases;
90
+ return __generator(this, function (_a) {
91
+ switch (_a.label) {
92
+ case 0: return [4, this.callApi({
93
+ method: 'GET',
94
+ route: 'databases'
95
+ })];
96
+ case 1:
97
+ databases = (_a.sent()).databases;
98
+ return [2, (0, base_1.makeList)((0, utils_1.extractDatabaseNames)(databases))];
99
+ }
100
+ });
101
+ });
102
+ };
103
+ Pgsql.prototype.createDatabase = function (database) {
104
+ return __awaiter(this, void 0, void 0, function () {
105
+ return __generator(this, function (_a) {
106
+ return [2, this.callApi({
107
+ data: { database: database },
108
+ method: 'PUT',
109
+ route: 'databases'
110
+ })];
111
+ });
112
+ });
113
+ };
114
+ Pgsql.prototype.dropDatabase = function (database) {
115
+ return __awaiter(this, void 0, void 0, function () {
116
+ return __generator(this, function (_a) {
117
+ return [2, this.callApi({
118
+ data: { database: database },
119
+ method: 'DELETE',
120
+ route: 'databases'
121
+ })];
122
+ });
123
+ });
124
+ };
125
+ return Pgsql;
126
+ }(base_1.Base));
127
+ exports.Pgsql = Pgsql;
128
+ //# sourceMappingURL=Pgsql.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Pgsql.js","sourceRoot":"","sources":["../../src/Pgsql.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAA8E;AAO9E,yCAA0C;AAC1C,iCAA+C;AAS/C;IAA2B,yBAAI;IAO7B,eAAY,MAAmB;QACrB,IAAA,KAAK,GAAwC,MAAM,MAA9C,EAAE,YAAY,GAA0B,MAAM,aAAhC,EAAE,SAAS,GAAe,MAAM,UAArB,EAAE,QAAQ,GAAK,MAAM,SAAX,CAAY;eAE5D,kBAAM;YACJ,KAAK,OAAA;YACL,YAAY,cAAA;YACZ,UAAU,EAAE,uBAAW;YACvB,SAAS,WAAA;YACT,UAAU,EAAE,QAAQ;SACrB,CAAC;IACJ,CAAC;IAED,0BAAU,GAAV,UAAW,IAA8B;QACvC,OAAO,IAAI,CAAC,cAAc;YACxB,CAAC,CAAC,UAAG,IAAI,CAAC,GAAG,cAAI,IAAI,CAAC,eAAe,CAAE;YACvC,CAAC,CAAC,UAAG,IAAI,CAAC,GAAG,aAAU,CAAC;IAC5B,CAAC;IAQY,4BAAY,GAAzB,UAA0B,EAA6C;YAA3C,KAAK,WAAA,EAAE,MAAM,YAAA,EAAE,QAAQ,cAAA;;;gBACjD,WAAO,IAAI,CAAC,OAAO,CAAuB;wBACxC,IAAI,EAAE,EAAE,KAAK,OAAA,EAAE,MAAM,QAAA,EAAE,QAAQ,UAAA,EAAE;wBACjC,MAAM,EAAE,MAAM;wBACd,KAAK,EAAE,OAAO;qBACf,CAAC,EAAC;;;KACJ;IAQY,6BAAa,GAA1B;;;;;4BACwB,WAAM,IAAI,CAAC,OAAO,CAAwB;4BAC9D,MAAM,EAAE,KAAK;4BACb,KAAK,EAAE,WAAW;yBACnB,CAAC,EAAA;;wBAHM,SAAS,GAAK,CAAA,SAGpB,CAAA,UAHe;wBAKjB,WAAO,IAAA,eAAQ,EAAS,IAAA,4BAAoB,EAAC,SAAS,CAAC,CAAC,EAAC;;;;KAC1D;IAQY,8BAAc,GAA3B,UAA4B,QAAgB;;;gBAC1C,WAAO,IAAI,CAAC,OAAO,CAAyB;wBAC1C,IAAI,EAAE,EAAE,QAAQ,UAAA,EAAE;wBAClB,MAAM,EAAE,KAAK;wBACb,KAAK,EAAE,WAAW;qBACnB,CAAC,EAAA;;;KACH;IAwBY,4BAAY,GAAzB,UAA0B,QAAgB;;;gBACxC,WAAO,IAAI,CAAC,OAAO,CAAuB;wBACxC,IAAI,EAAE,EAAE,QAAQ,UAAA,EAAE;wBAClB,MAAM,EAAE,QAAQ;wBAChB,KAAK,EAAE,WAAW;qBACnB,CAAC,EAAA;;;KACH;IACH,YAAC;AAAD,CAAC,AAjGD,CAA2B,WAAI,GAiG9B;AAjGY,sBAAK"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SERVICE_KEY = void 0;
4
+ exports.SERVICE_KEY = 'pgsql';
5
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,WAAW,GAAG,OAAO,CAAC"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.Pgsql = void 0;
18
+ var Pgsql_1 = require("./Pgsql");
19
+ Object.defineProperty(exports, "Pgsql", { enumerable: true, get: function () { return Pgsql_1.Pgsql; } });
20
+ __exportStar(require("./types"), exports);
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,iCAAgC;AAAvB,8FAAA,KAAK,OAAA;AACd,0CAAwB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ function extractDatabaseNames(databaseNameArr) {
4
+ return databaseNameArr.map(function (_a) {
5
+ var name = _a.name;
6
+ return name;
7
+ });
8
+ }
9
+ exports.default = extractDatabaseNames;
10
+ //# sourceMappingURL=extractDatabaseNames.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extractDatabaseNames.js","sourceRoot":"","sources":["../../../src/utils/extractDatabaseNames.ts"],"names":[],"mappings":";;AAEA,SAAS,oBAAoB,CAAC,eAA4C;IACxE,OAAO,eAAe,CAAC,GAAG,CAAC,UAAC,EAAQ;YAAN,IAAI,UAAA;QAAO,OAAA,IAAI;IAAJ,CAAI,CAAC,CAAC;AACjD,CAAC;AAED,kBAAe,oBAAoB,CAAC"}
@@ -0,0 +1,9 @@
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.extractDatabaseNames = void 0;
7
+ var extractDatabaseNames_1 = require("./extractDatabaseNames");
8
+ Object.defineProperty(exports, "extractDatabaseNames", { enumerable: true, get: function () { return __importDefault(extractDatabaseNames_1).default; } });
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";;;;;;AAIA,+DAAyE;AAAhE,6IAAA,OAAO,OAAwB"}
@@ -0,0 +1,66 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { Base, makeList } from '@or-sdk/base';
11
+ import { SERVICE_KEY } from './constants';
12
+ import { extractDatabaseNames } from './utils';
13
+ export class Pgsql extends Base {
14
+ constructor(params) {
15
+ const { token, discoveryUrl, accountId, pgsqlUrl } = params;
16
+ super({
17
+ token,
18
+ discoveryUrl,
19
+ serviceKey: SERVICE_KEY,
20
+ accountId,
21
+ serviceUrl: pgsqlUrl,
22
+ });
23
+ }
24
+ makeApiUrl(data) {
25
+ return this.isCrossAccount
26
+ ? `${data.url}/${this.targetAccountId}`
27
+ : `${data.url}/current`;
28
+ }
29
+ executeQuery({ query, params, database }) {
30
+ return __awaiter(this, void 0, void 0, function* () {
31
+ return this.callApi({
32
+ data: { query, params, database },
33
+ method: 'POST',
34
+ route: 'query',
35
+ });
36
+ });
37
+ }
38
+ listDatabases() {
39
+ return __awaiter(this, void 0, void 0, function* () {
40
+ const { databases } = yield this.callApi({
41
+ method: 'GET',
42
+ route: 'databases'
43
+ });
44
+ return makeList(extractDatabaseNames(databases));
45
+ });
46
+ }
47
+ createDatabase(database) {
48
+ return __awaiter(this, void 0, void 0, function* () {
49
+ return this.callApi({
50
+ data: { database },
51
+ method: 'PUT',
52
+ route: 'databases'
53
+ });
54
+ });
55
+ }
56
+ dropDatabase(database) {
57
+ return __awaiter(this, void 0, void 0, function* () {
58
+ return this.callApi({
59
+ data: { database },
60
+ method: 'DELETE',
61
+ route: 'databases'
62
+ });
63
+ });
64
+ }
65
+ }
66
+ //# sourceMappingURL=Pgsql.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Pgsql.js","sourceRoot":"","sources":["../../src/Pgsql.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,IAAI,EAAkC,QAAQ,EAAE,MAAM,cAAc,CAAC;AAO9E,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAS/C,MAAM,OAAO,KAAM,SAAQ,IAAI;IAO7B,YAAY,MAAmB;QAC7B,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;QAE5D,KAAK,CAAC;YACJ,KAAK;YACL,YAAY;YACZ,UAAU,EAAE,WAAW;YACvB,SAAS;YACT,UAAU,EAAE,QAAQ;SACrB,CAAC,CAAC;IACL,CAAC;IAED,UAAU,CAAC,IAA8B;QACvC,OAAO,IAAI,CAAC,cAAc;YACxB,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,eAAe,EAAE;YACvC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,UAAU,CAAC;IAC5B,CAAC;IAQY,YAAY,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAoB;;YACrE,OAAO,IAAI,CAAC,OAAO,CAAuB;gBACxC,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE;gBACjC,MAAM,EAAE,MAAM;gBACd,KAAK,EAAE,OAAO;aACf,CAAC,CAAC;QACL,CAAC;KAAA;IAQY,aAAa;;YACxB,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,CAAwB;gBAC9D,MAAM,EAAE,KAAK;gBACb,KAAK,EAAE,WAAW;aACnB,CAAC,CAAC;YAEH,OAAO,QAAQ,CAAS,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAC;QAC3D,CAAC;KAAA;IAQY,cAAc,CAAC,QAAgB;;YAC1C,OAAO,IAAI,CAAC,OAAO,CAAyB;gBAC1C,IAAI,EAAE,EAAE,QAAQ,EAAE;gBAClB,MAAM,EAAE,KAAK;gBACb,KAAK,EAAE,WAAW;aACnB,CAAC,CAAA;QACJ,CAAC;KAAA;IAwBY,YAAY,CAAC,QAAgB;;YACxC,OAAO,IAAI,CAAC,OAAO,CAAuB;gBACxC,IAAI,EAAE,EAAE,QAAQ,EAAE;gBAClB,MAAM,EAAE,QAAQ;gBAChB,KAAK,EAAE,WAAW;aACnB,CAAC,CAAA;QACJ,CAAC;KAAA;CACF"}
@@ -0,0 +1,2 @@
1
+ export const SERVICE_KEY = 'pgsql';
2
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { Pgsql } from './Pgsql';
2
+ export * from './types';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,cAAc,SAAS,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ function extractDatabaseNames(databaseNameArr) {
2
+ return databaseNameArr.map(({ name }) => name);
3
+ }
4
+ export default extractDatabaseNames;
5
+ //# sourceMappingURL=extractDatabaseNames.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extractDatabaseNames.js","sourceRoot":"","sources":["../../../src/utils/extractDatabaseNames.ts"],"names":[],"mappings":"AAEA,SAAS,oBAAoB,CAAC,eAA4C;IACxE,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;AACjD,CAAC;AAED,eAAe,oBAAoB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { default as extractDatabaseNames } from './extractDatabaseNames';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { Base, ServiceDiscoveryResponse, List } from '@or-sdk/base';
2
+ import { CreateDatabaseResponse, DropDatabaseResponse, ExecuteQueryArgs, ExecuteQueryResponse, PgsqlConfig } from './types';
3
+ export declare class Pgsql extends Base {
4
+ constructor(params: PgsqlConfig);
5
+ makeApiUrl(data: ServiceDiscoveryResponse): string;
6
+ executeQuery({ query, params, database }: ExecuteQueryArgs): Promise<ExecuteQueryResponse>;
7
+ listDatabases(): Promise<List<string>>;
8
+ createDatabase(database: string): Promise<CreateDatabaseResponse>;
9
+ dropDatabase(database: string): Promise<DropDatabaseResponse>;
10
+ }
@@ -0,0 +1 @@
1
+ export declare const SERVICE_KEY = "pgsql";
@@ -0,0 +1,2 @@
1
+ export { Pgsql } from './Pgsql';
2
+ export * from './types';
@@ -0,0 +1,51 @@
1
+ import { Token } from '@or-sdk/base';
2
+ export declare type PgsqlConfig = {
3
+ token: Token;
4
+ discoveryUrl?: string;
5
+ accountId?: string;
6
+ pgsqlUrl?: string;
7
+ };
8
+ export declare type QueryRow = {
9
+ [key: string]: unknown;
10
+ };
11
+ export declare type QueryField = {
12
+ name: string;
13
+ tableID: number;
14
+ columnID: number;
15
+ dataTypeID: number;
16
+ dataTypeSize: number;
17
+ dataTypeModifier: number;
18
+ format: string;
19
+ };
20
+ export declare type ExecuteQueryResponse = {
21
+ command: string;
22
+ rowCount: number;
23
+ oid: null | number;
24
+ rows: QueryRow[];
25
+ fields: QueryField[];
26
+ RowCtor: null | unknown;
27
+ rowAsArray: boolean;
28
+ };
29
+ export declare type ExecuteQueryArgs = {
30
+ query: string;
31
+ params: {
32
+ [key: string]: unknown;
33
+ };
34
+ database: string;
35
+ };
36
+ export declare type CreateDatabaseResponse = {
37
+ ok: number;
38
+ result: [
39
+ unknown[],
40
+ unknown[]
41
+ ];
42
+ };
43
+ export declare type ListDatabasesResponseItem = {
44
+ name: string;
45
+ };
46
+ export declare type ListDatabasesResponse = {
47
+ databases: ListDatabasesResponseItem[];
48
+ };
49
+ export declare type DropDatabaseResponse = {
50
+ ok?: number;
51
+ };
@@ -0,0 +1,3 @@
1
+ import { ListDatabasesResponseItem } from '../types';
2
+ declare function extractDatabaseNames(databaseNameArr: ListDatabasesResponseItem[]): string[];
3
+ export default extractDatabaseNames;
@@ -0,0 +1 @@
1
+ export { default as extractDatabaseNames } from './extractDatabaseNames';
package/package.json ADDED
@@ -0,0 +1,29 @@
1
+ {
2
+ "version": "0.22.5-pgsql.0",
3
+ "name": "@or-sdk/pgsql",
4
+ "main": "dist/cjs/index.js",
5
+ "module": "dist/esm/index.js",
6
+ "types": "dist/types/index.d.ts",
7
+ "scripts": {
8
+ "build": "npm run clean && concurrently \"npm run build:cjs\" \"npm run build:esm\" \"npm run build:types\"",
9
+ "build:watch": "concurrently -r --hide 1,2 \"npm run build:watch:cjs\" \"npm run build:watch:esm\" \"npm run build:watch:types\"",
10
+ "build:cjs": "tsc --project tsconfig.json",
11
+ "build:watch:cjs": "tsc --project tsconfig.json -w",
12
+ "build:esm": "tsc --project tsconfig.esm.json",
13
+ "build:watch:esm": "tsc --project tsconfig.esm.json -w",
14
+ "build:types": "tsc --project tsconfig.types.json",
15
+ "build:watch:types": "tsc --project tsconfig.types.json -w",
16
+ "clean": "rm -rf ./dist"
17
+ },
18
+ "devDependencies": {
19
+ "concurrently": "^6.4.0",
20
+ "typescript": "^4.4.4"
21
+ },
22
+ "publishConfig": {
23
+ "access": "public"
24
+ },
25
+ "dependencies": {
26
+ "@or-sdk/base": "^0.23.0-pgsql.0"
27
+ },
28
+ "gitHead": "1ae7d9d2916f04d84b9cd47b525cb56d1ce1274c"
29
+ }
package/src/Pgsql.ts ADDED
@@ -0,0 +1,115 @@
1
+ import { Base, ServiceDiscoveryResponse, List, makeList } from '@or-sdk/base';
2
+ import {
3
+ CreateDatabaseResponse, DropDatabaseResponse,
4
+ ExecuteQueryArgs, ExecuteQueryResponse,
5
+ ListDatabasesResponse,
6
+ PgsqlConfig
7
+ } from './types';
8
+ import { SERVICE_KEY } from './constants';
9
+ import { extractDatabaseNames } from './utils';
10
+
11
+ /**
12
+ * OneReach Pgsql service client
13
+ * ## Installation:
14
+ * ```
15
+ * $ npm i @or-sdk/pgsql
16
+ * ```
17
+ */
18
+ export class Pgsql extends Base {
19
+ /**
20
+ * ```typescript
21
+ * import { Pgsql } from '@or-sdk/pgsql'
22
+ * const pgsql = new Pgsql({token: 'my-account-token-string', discoveryUrl: 'http://example.pgsql/endpoint'});
23
+ * ```
24
+ */
25
+ constructor(params: PgsqlConfig) {
26
+ const { token, discoveryUrl, accountId, pgsqlUrl } = params;
27
+
28
+ super({
29
+ token,
30
+ discoveryUrl,
31
+ serviceKey: SERVICE_KEY,
32
+ accountId,
33
+ serviceUrl: pgsqlUrl,
34
+ });
35
+ }
36
+
37
+ makeApiUrl(data: ServiceDiscoveryResponse): string {
38
+ return this.isCrossAccount
39
+ ? `${data.url}/${this.targetAccountId}`
40
+ : `${data.url}/current`;
41
+ }
42
+
43
+ /**
44
+ * Execute query
45
+ * ```typescript
46
+ * const result = await pgsql.executeQuery();
47
+ * ```
48
+ */
49
+ public async executeQuery({ query, params, database }: ExecuteQueryArgs): Promise<ExecuteQueryResponse> {
50
+ return this.callApi<ExecuteQueryResponse>({
51
+ data: { query, params, database },
52
+ method: 'POST',
53
+ route: 'query',
54
+ });
55
+ }
56
+
57
+ /**
58
+ * List databases
59
+ * ```typescript
60
+ * const databaseList = await pgsql.listDatabases();
61
+ * ```
62
+ */
63
+ public async listDatabases(): Promise<List<string>> {
64
+ const { databases } = await this.callApi<ListDatabasesResponse>({
65
+ method: 'GET',
66
+ route: 'databases'
67
+ });
68
+
69
+ return makeList<string>(extractDatabaseNames(databases));
70
+ }
71
+
72
+ /**
73
+ * Create database
74
+ * ```typescript
75
+ * const result = await pgsql.createDatabase();
76
+ * ```
77
+ */
78
+ public async createDatabase(database: string): Promise<CreateDatabaseResponse> {
79
+ return this.callApi<CreateDatabaseResponse>({
80
+ data: { database },
81
+ method: 'PUT',
82
+ route: 'databases'
83
+ })
84
+ }
85
+
86
+ /**
87
+ * Get database info
88
+ *
89
+ * @deprecated route not available
90
+ * ```typescript
91
+ * const result = await pgsql.getDatabaseInfo();
92
+ * ```
93
+ */
94
+ // TODO: uncomment or replace route?
95
+ // public async getDatabaseInfo(database: string): Promise<unknown> {
96
+ // return this.callApi<unknown>({
97
+ // method: 'GET',
98
+ // route: `databases/${encodeURIComponent(database)}`
99
+ // })
100
+ // }
101
+
102
+ /**
103
+ * Drop database
104
+ * ```typescript
105
+ * const result = await pgsql.dropDatabase();
106
+ * ```
107
+ */
108
+ public async dropDatabase(database: string): Promise<DropDatabaseResponse> {
109
+ return this.callApi<DropDatabaseResponse>({
110
+ data: { database },
111
+ method: 'DELETE',
112
+ route: 'databases'
113
+ })
114
+ }
115
+ }
@@ -0,0 +1 @@
1
+ export const SERVICE_KEY = 'pgsql';
package/src/index.ts ADDED
@@ -0,0 +1,2 @@
1
+ export { Pgsql } from './Pgsql';
2
+ export * from './types';
package/src/types.ts ADDED
@@ -0,0 +1,75 @@
1
+ import { Token } from '@or-sdk/base';
2
+
3
+ export type PgsqlConfig = {
4
+ /**
5
+ * token
6
+ */
7
+ token: Token;
8
+
9
+ /**
10
+ * Url of OneReach service discovery api
11
+ */
12
+ discoveryUrl?: string;
13
+
14
+ /**
15
+ * Account ID for cross-account requests (super admin only)
16
+ */
17
+ accountId?: string;
18
+
19
+ /**
20
+ * Url of OneReach Pgsql api
21
+ */
22
+ pgsqlUrl?: string;
23
+ };
24
+
25
+ export type QueryRow = {
26
+ [key: string]: unknown;
27
+ };
28
+
29
+ export type QueryField = {
30
+ name: string;
31
+ tableID: number;
32
+ columnID: number;
33
+ dataTypeID: number;
34
+ dataTypeSize: number;
35
+ dataTypeModifier: number;
36
+ format: string;
37
+ };
38
+
39
+ export type ExecuteQueryResponse = {
40
+ command: string;
41
+ rowCount: number;
42
+ oid: null | number;
43
+ rows: QueryRow[];
44
+ fields: QueryField[];
45
+ RowCtor: null | unknown;
46
+ rowAsArray: boolean;
47
+ };
48
+
49
+ export type ExecuteQueryArgs = {
50
+ query: string;
51
+ params: {
52
+ [key: string]: unknown;
53
+ };
54
+ database: string;
55
+ };
56
+
57
+ export type CreateDatabaseResponse = {
58
+ ok: number;
59
+ result: [
60
+ unknown[],
61
+ unknown[]
62
+ ];
63
+ };
64
+
65
+ export type ListDatabasesResponseItem = {
66
+ name: string;
67
+ };
68
+
69
+ export type ListDatabasesResponse = {
70
+ databases: ListDatabasesResponseItem[];
71
+ };
72
+
73
+ export type DropDatabaseResponse = {
74
+ ok?: number;
75
+ };
@@ -0,0 +1,7 @@
1
+ import { ListDatabasesResponseItem } from '../types';
2
+
3
+ function extractDatabaseNames(databaseNameArr: ListDatabasesResponseItem[]): string[] {
4
+ return databaseNameArr.map(({ name }) => name);
5
+ }
6
+
7
+ export default extractDatabaseNames;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @internal
3
+ */
4
+
5
+ export { default as extractDatabaseNames } from './extractDatabaseNames';
@@ -0,0 +1,9 @@
1
+ {
2
+ "extends": "../../tsconfig.json",
3
+ "compilerOptions": {
4
+ "module": "ES6",
5
+ "target": "es6",
6
+ "outDir": "./dist/esm/",
7
+ "rootDir": "./src"
8
+ }
9
+ }
package/tsconfig.json ADDED
@@ -0,0 +1,7 @@
1
+ {
2
+ "extends": "../../tsconfig.json",
3
+ "compilerOptions": {
4
+ "outDir": "./dist/cjs/",
5
+ "rootDir": "./src"
6
+ }
7
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "extends": "../../tsconfig.json",
3
+ "compilerOptions": {
4
+ "outDir": "./dist/types/",
5
+ "rootDir": "./src",
6
+ "declaration": true,
7
+ "emitDeclarationOnly": true
8
+ }
9
+ }