@l-v-yonsama/multi-platform-database-drivers 0.1.9 → 0.1.11

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 (90) hide show
  1. package/README.md +6 -0
  2. package/built/src/db/DBError.js +1 -4
  3. package/built/src/db/DBError.js.map +1 -1
  4. package/built/src/db/drivers/AwsS3Driver.js +128 -430
  5. package/built/src/db/drivers/AwsS3Driver.js.map +1 -1
  6. package/built/src/db/drivers/BaseDriver.js +72 -81
  7. package/built/src/db/drivers/BaseDriver.js.map +1 -1
  8. package/built/src/db/drivers/MySQLDriver.js +198 -198
  9. package/built/src/db/drivers/MySQLDriver.js.map +1 -1
  10. package/built/src/db/drivers/PostgresDriver.js +183 -199
  11. package/built/src/db/drivers/PostgresDriver.js.map +1 -1
  12. package/built/src/db/drivers/RedisDriver.js +178 -171
  13. package/built/src/db/drivers/RedisDriver.js.map +1 -1
  14. package/built/src/db/drivers/index.js +5 -8
  15. package/built/src/db/drivers/index.js.map +1 -1
  16. package/built/src/db/index.js +3 -6
  17. package/built/src/db/index.js.map +1 -1
  18. package/built/src/db/resource/DbResource.js +43 -77
  19. package/built/src/db/resource/DbResource.js.map +1 -1
  20. package/built/src/db/resource/MultipleResultSetDataHolder.js +5 -9
  21. package/built/src/db/resource/MultipleResultSetDataHolder.js.map +1 -1
  22. package/built/src/db/resource/ResourceHelper.js +1 -6
  23. package/built/src/db/resource/ResourceHelper.js.map +1 -1
  24. package/built/src/db/resource/ResultSetDataHolder.d.ts +0 -11
  25. package/built/src/db/resource/ResultSetDataHolder.js +33 -84
  26. package/built/src/db/resource/ResultSetDataHolder.js.map +1 -1
  27. package/built/src/db/resource/index.js +5 -8
  28. package/built/src/db/resource/index.js.map +1 -1
  29. package/built/src/db/resource/types/DBType.js +3 -6
  30. package/built/src/db/resource/types/DBType.js.map +1 -1
  31. package/built/src/db/resource/types/GeneralColumnType.js +5 -28
  32. package/built/src/db/resource/types/GeneralColumnType.js.map +1 -1
  33. package/built/src/db/resource/types/MySQLColumnType.js +7 -17
  34. package/built/src/db/resource/types/MySQLColumnType.js.map +1 -1
  35. package/built/src/db/resource/types/ODBCVendorType.js +2 -5
  36. package/built/src/db/resource/types/ODBCVendorType.js.map +1 -1
  37. package/built/src/db/resource/types/PostgresColumnType.js +6 -11
  38. package/built/src/db/resource/types/PostgresColumnType.js.map +1 -1
  39. package/built/src/db/resource/types/RedisKeyType.js +5 -8
  40. package/built/src/db/resource/types/RedisKeyType.js.map +1 -1
  41. package/built/src/db/resource/types/ResourceType.js +2 -5
  42. package/built/src/db/resource/types/ResourceType.js.map +1 -1
  43. package/built/src/db/resource/types/index.js +7 -10
  44. package/built/src/db/resource/types/index.js.map +1 -1
  45. package/built/src/index.js +3 -6
  46. package/built/src/index.js.map +1 -1
  47. package/built/src/service/DBAccessService.js +269 -256
  48. package/built/src/service/DBAccessService.js.map +1 -1
  49. package/built/src/service/DBDriverResolver.js +32 -48
  50. package/built/src/service/DBDriverResolver.js.map +1 -1
  51. package/built/src/service/SQLService.js +3 -11
  52. package/built/src/service/SQLService.js.map +1 -1
  53. package/built/src/service/index.js +5 -8
  54. package/built/src/service/index.js.map +1 -1
  55. package/built/src/service/request/RedisRequest.js +2 -5
  56. package/built/src/service/request/RedisRequest.js.map +1 -1
  57. package/built/src/service/request/S3Request.js +2 -5
  58. package/built/src/service/request/S3Request.js.map +1 -1
  59. package/built/src/service/request/index.d.ts +0 -2
  60. package/built/src/service/request/index.js +2 -5
  61. package/built/src/service/request/index.js.map +1 -1
  62. package/built/src/service/response/GeneralDBResponse.js +1 -2
  63. package/built/src/service/response/GeneralResponse.js +1 -5
  64. package/built/src/service/response/GeneralResponse.js.map +1 -1
  65. package/built/src/service/response/index.js +2 -5
  66. package/built/src/service/response/index.js.map +1 -1
  67. package/built/src/service/response/reply/ConnectionResult.js +1 -2
  68. package/built/src/service/response/reply/FileExportReply.js +4 -7
  69. package/built/src/service/response/reply/FileExportReply.js.map +1 -1
  70. package/built/src/service/response/reply/FileProcessResult.js +3 -6
  71. package/built/src/service/response/reply/FileProcessResult.js.map +1 -1
  72. package/built/src/service/response/reply/GeneralReply.js +1 -4
  73. package/built/src/service/response/reply/GeneralReply.js.map +1 -1
  74. package/built/src/service/response/reply/OutputReply.js +4 -7
  75. package/built/src/service/response/reply/OutputReply.js.map +1 -1
  76. package/built/src/service/response/reply/ProgressReply.js +2 -5
  77. package/built/src/service/response/reply/ProgressReply.js.map +1 -1
  78. package/built/src/service/response/reply/types/FileExportType.js +2 -5
  79. package/built/src/service/response/reply/types/FileExportType.js.map +1 -1
  80. package/built/src/service/response/reply/types/OutputType.js +2 -5
  81. package/built/src/service/response/reply/types/OutputType.js.map +1 -1
  82. package/built/src/service/response/reply/types/ReplyEventType.js +2 -5
  83. package/built/src/service/response/reply/types/ReplyEventType.js.map +1 -1
  84. package/built/src/types/DateModifiedType.js +3 -6
  85. package/built/src/types/DateModifiedType.js.map +1 -1
  86. package/built/src/types/FileKindType.js +3 -6
  87. package/built/src/types/FileKindType.js.map +1 -1
  88. package/built/src/types/index.js +2 -5
  89. package/built/src/types/index.js.map +1 -1
  90. package/package.json +11 -8
@@ -1,224 +1,206 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- /* eslint-disable @typescript-eslint/no-unused-vars */
4
- const BaseDriver_1 = require("./BaseDriver");
5
- const ResultSetDataHolder_1 = require("../resource/ResultSetDataHolder");
6
- const DbResource_1 = require("../resource/DbResource");
7
- const pg_1 = require("pg");
8
- const PostgresColumnType_1 = require("../resource/types/PostgresColumnType");
9
- const enum_values_1 = require("enum-values");
10
- const GeneralColumnType_1 = require("../resource/types/GeneralColumnType");
11
- class PostgresDriver extends BaseDriver_1.default {
1
+ import { __awaiter } from "tslib";
2
+ import BaseDriver from './BaseDriver';
3
+ import ResultSetDataHolder, { RdhKey } from '../resource/ResultSetDataHolder';
4
+ import { DbDatabase, DbSchema, DbTable, DbColumn, } from '../resource/DbResource';
5
+ import { default as pg } from 'pg';
6
+ import { PostgresColumnType } from '../resource/types/PostgresColumnType';
7
+ import { EnumValues } from 'enum-values';
8
+ import { GeneralColumnType } from '../resource/types/GeneralColumnType';
9
+ export default class PostgresDriver extends BaseDriver {
12
10
  constructor(conRes) {
13
11
  super(conRes);
14
12
  }
15
- // name: 'name',
16
- // tableID: 12822,
17
- // columnID: 2,
18
- // dataTypeID: 1043,
19
- // dataTypeSize: -1,
20
- // dataTypeModifier: -1,
21
- // format: 'text' }
22
13
  fieldInfo2Key(fieldInfo, resolver) {
23
14
  if (fieldInfo.name.startsWith('c_')) {
24
15
  console.log(`★ ${fieldInfo.name.substring(2).toUpperCase()} = ${fieldInfo.dataTypeID}`);
25
16
  }
26
- const name = enum_values_1.EnumValues.getNameFromValue(PostgresColumnType_1.PostgresColumnType, PostgresColumnType_1.PostgresColumnType.parse(fieldInfo.dataTypeID));
27
- const key = new ResultSetDataHolder_1.RdhKey(fieldInfo.name, GeneralColumnType_1.GeneralColumnType.parse(name), super.resolveColumnComment(fieldInfo.name, resolver));
17
+ const name = EnumValues.getNameFromValue(PostgresColumnType, PostgresColumnType.parse(fieldInfo.dataTypeID));
18
+ const key = new RdhKey(fieldInfo.name, GeneralColumnType.parse(name), super.resolveColumnComment(fieldInfo.name, resolver));
28
19
  return key;
29
20
  }
30
- async connectSub() {
31
- let errorReason = '';
32
- const options = Object.assign({
33
- port: 5432,
34
- host: '127.0.0.1',
35
- database: 'postgres',
36
- }, {
37
- max: 1,
38
- idleTimeoutMillis: 3000,
39
- connectionTimeoutMillis: 1000,
40
- port: this.conRes.port,
41
- host: this.conRes.host,
42
- user: this.conRes.user,
43
- password: this.conRes.password,
44
- database: this.conRes.database,
21
+ connectSub() {
22
+ return __awaiter(this, void 0, void 0, function* () {
23
+ let errorReason = '';
24
+ const options = Object.assign({
25
+ port: 5432,
26
+ host: '127.0.0.1',
27
+ database: 'postgres',
28
+ }, {
29
+ max: 1,
30
+ idleTimeoutMillis: 3000,
31
+ connectionTimeoutMillis: 1000,
32
+ port: this.conRes.port,
33
+ host: this.conRes.host,
34
+ user: this.conRes.user,
35
+ password: this.conRes.password,
36
+ database: this.conRes.database,
37
+ });
38
+ this.pool = new pg.Pool(options);
39
+ errorReason = yield this.test();
40
+ return errorReason;
45
41
  });
46
- this.pool = new pg_1.default.Pool(options);
47
- // the pool with emit an error on behalf of any idle clients
48
- // it contains if a backend error or network partition happens
49
- // this.pool.on('error', (err, client) => {
50
- // // log.error('Unexpected error on idle client', err);
51
- // });
52
- // this.pool.on('acquire', function (client) {
53
- // // log.info('acquire', client);
54
- // });
55
- // this.pool.on('connect', function (client) {
56
- // // log.info('connect', client);
57
- // });
58
- errorReason = await this.test();
59
- return errorReason;
60
42
  }
61
- async test(with_connect = false) {
62
- let errorReason = '';
63
- try {
64
- if (with_connect) {
65
- errorReason = await this.connect();
43
+ test(with_connect = false) {
44
+ return __awaiter(this, void 0, void 0, function* () {
45
+ let errorReason = '';
46
+ try {
47
+ if (with_connect) {
48
+ errorReason = yield this.connect();
49
+ }
50
+ const rdh = yield this.requestSql('SELECT NOW()');
51
+ if (rdh && rdh.errorMessage) {
52
+ errorReason = rdh.errorMessage;
53
+ }
66
54
  }
67
- const rdh = await this.requestSql('SELECT NOW()');
68
- if (rdh && rdh.errorMessage) {
69
- errorReason = rdh.errorMessage;
55
+ catch (e) {
56
+ errorReason = e.message;
70
57
  }
71
- }
72
- catch (e) {
73
- errorReason = e.message;
74
- }
75
- finally {
76
- if (with_connect) {
77
- await this.disconnect();
58
+ finally {
59
+ if (with_connect) {
60
+ yield this.disconnect();
61
+ }
78
62
  }
79
- }
80
- return errorReason;
63
+ return errorReason;
64
+ });
81
65
  }
82
- // public
83
- async requestSql(sql, options) {
84
- // log.info("sql2=", sql);
85
- let rdh = new ResultSetDataHolder_1.default([]);
86
- try {
87
- let binds = [];
88
- if (options && options.binds) {
89
- binds = options.binds;
66
+ requestSql(sql, options) {
67
+ return __awaiter(this, void 0, void 0, function* () {
68
+ let rdh = new ResultSetDataHolder([]);
69
+ try {
70
+ let binds = [];
71
+ if (options && options.binds) {
72
+ binds = options.binds;
73
+ }
74
+ const results = yield this.pool.query(sql, binds);
75
+ if (results) {
76
+ let resolver;
77
+ if (options && options.needs_column_resolve === true) {
78
+ resolver = this.createColumnResolver(sql);
79
+ }
80
+ const fields = results.fields;
81
+ rdh = new ResultSetDataHolder(fields === undefined
82
+ ? []
83
+ : fields.map((f) => this.fieldInfo2Key(f, resolver)));
84
+ if (results.rows) {
85
+ results.rows.forEach((result) => {
86
+ rdh.addRow(result);
87
+ });
88
+ }
89
+ }
90
90
  }
91
- const results = await this.pool.query(sql, binds);
92
- // command: 'SELECT',
93
- // rowCount: 5,
94
- // oid: null,
95
- // rows:
96
- // [ anonymous { name: 'pg_catalog' },
97
- // anonymous { name: 'pg_temp_1' },
98
- // anonymous { name: 'pg_toast' },
99
- // anonymous { name: 'pg_toast_temp_1' },
100
- // anonymous { name: 'public' } ],
101
- // fields: [ ],
102
- // console.log('done.', results.fields)
103
- if (results) {
104
- let resolver;
105
- if (options && options.needs_column_resolve === true) {
106
- resolver = this.createColumnResolver(sql);
91
+ catch (err) {
92
+ rdh = ResultSetDataHolder.create(err);
93
+ }
94
+ return rdh;
95
+ });
96
+ }
97
+ countTables(tables, options) {
98
+ return __awaiter(this, void 0, void 0, function* () {
99
+ const list = new Array();
100
+ let counter = 1;
101
+ for (const st of tables.list) {
102
+ let prefix = '';
103
+ if (st.schema) {
104
+ prefix = st.schema + '.';
105
+ }
106
+ if (options && options.progress_callback) {
107
+ if (counter % 5 === 0) {
108
+ options.progress_callback(`Count ${prefix}${st.table}`, 70);
109
+ }
107
110
  }
108
- const fields = results.fields;
109
- rdh = new ResultSetDataHolder_1.default(fields === undefined
110
- ? []
111
- : fields.map((f) => this.fieldInfo2Key(f, resolver)));
112
- if (results.rows) {
113
- results.rows.forEach((result) => {
114
- rdh.addRow(result);
115
- });
111
+ const sql = `SELECT COUNT(*) as count FROM ${prefix}${st.table}`;
112
+ try {
113
+ const results = yield this.pool.query(sql, []);
114
+ if (results && results.rows && results.rows.length > 0) {
115
+ const row = results.rows[0];
116
+ const obj = Object.assign({ count: row.count }, st);
117
+ list.push(obj);
118
+ }
116
119
  }
120
+ catch (e) { }
121
+ counter++;
117
122
  }
118
- }
119
- catch (err) {
120
- rdh = ResultSetDataHolder_1.default.create(err);
121
- }
122
- return rdh;
123
+ return list;
124
+ });
123
125
  }
124
- async countTables(tables, options) {
125
- const list = new Array();
126
- let counter = 1;
127
- for (const st of tables.list) {
128
- let prefix = '';
129
- if (st.schema) {
130
- prefix = st.schema + '.';
126
+ getInfomationSchemas(options) {
127
+ return __awaiter(this, void 0, void 0, function* () {
128
+ if (!this.conRes) {
129
+ return [];
131
130
  }
132
- if (options && options.progress_callback) {
133
- if (counter % 5 === 0) {
134
- options.progress_callback(`Count ${prefix}${st.table}`, 70);
135
- }
131
+ const dbResources = new Array();
132
+ const db_list = yield this.asyncGetDatabases(this.conRes.database);
133
+ db_list.forEach((db) => dbResources.push(db));
134
+ const dbDatabase = db_list.find((d) => d.name === this.conRes.database);
135
+ const dbSchemas = yield this.getSchemas(dbDatabase);
136
+ dbSchemas.forEach((res) => {
137
+ dbDatabase.addChild(res);
138
+ });
139
+ this.resetDefaultSchema(dbDatabase);
140
+ for (const dbSchema of dbSchemas) {
141
+ const dbTables = yield this.getTables(dbSchema);
142
+ dbTables.forEach((res) => dbSchema.addChild(res));
136
143
  }
137
- const sql = `SELECT COUNT(*) as count FROM ${prefix}${st.table}`;
138
- try {
139
- const results = await this.pool.query(sql, []);
140
- if (results && results.rows && results.rows.length > 0) {
141
- const row = results.rows[0];
142
- const obj = Object.assign({ count: row.count }, st);
143
- list.push(obj);
144
+ for (const dbSchema of dbSchemas) {
145
+ for (const dbTable of dbSchema.getChildren()) {
146
+ const dbColumns = yield this.getColumns(dbTable);
147
+ dbColumns.forEach((res) => dbTable.addChild(res));
144
148
  }
145
- // eslint-disable-next-line no-empty
146
149
  }
147
- catch (e) { }
148
- counter++;
149
- }
150
- return list;
151
- }
152
- async getInfomationSchemas(options) {
153
- if (!this.conRes) {
154
- return [];
155
- }
156
- const dbResources = new Array();
157
- const db_list = await this.asyncGetDatabases(this.conRes.database);
158
- db_list.forEach((db) => dbResources.push(db));
159
- const dbDatabase = db_list.find((d) => d.name === this.conRes.database);
160
- const dbSchemas = await this.getSchemas(dbDatabase);
161
- dbSchemas.forEach((res) => {
162
- dbDatabase.addChild(res);
150
+ return dbResources;
163
151
  });
164
- this.resetDefaultSchema(dbDatabase);
165
- // const parallels = [];
166
- for (const dbSchema of dbSchemas) {
167
- const dbTables = await this.getTables(dbSchema);
168
- dbTables.forEach((res) => dbSchema.addChild(res));
169
- }
170
- for (const dbSchema of dbSchemas) {
171
- for (const dbTable of dbSchema.getChildren()) {
172
- const dbColumns = await this.getColumns(dbTable);
173
- dbColumns.forEach((res) => dbTable.addChild(res));
174
- }
175
- }
176
- return dbResources;
177
152
  }
178
- async asyncGetDatabases(connection_database) {
179
- const rdh = await this
180
- .requestSql(`SELECT datname AS name, pg_encoding_to_char(encoding) AS comment
153
+ asyncGetDatabases(connection_database) {
154
+ return __awaiter(this, void 0, void 0, function* () {
155
+ const rdh = yield this
156
+ .requestSql(`SELECT datname AS name, pg_encoding_to_char(encoding) AS comment
181
157
  FROM pg_database ORDER BY datname`);
182
- return rdh.rows.map((r) => {
183
- const res = new DbResource_1.DbDatabase(r.values.name);
184
- res.comment = r.values.comment;
185
- res.disabled = res.name !== connection_database;
186
- return res;
158
+ return rdh.rows.map((r) => {
159
+ const res = new DbDatabase(r.values.name);
160
+ res.comment = r.values.comment;
161
+ res.disabled = res.name !== connection_database;
162
+ return res;
163
+ });
187
164
  });
188
165
  }
189
- async getSchemas(dbDatabase) {
190
- const rdh = await this.requestSql(`SELECT SCHEMA_NAME AS name
166
+ getSchemas(dbDatabase) {
167
+ return __awaiter(this, void 0, void 0, function* () {
168
+ const rdh = yield this.requestSql(`SELECT SCHEMA_NAME AS name
191
169
  FROM INFORMATION_SCHEMA.SCHEMATA
192
170
  WHERE LOWER(SCHEMA_NAME) NOT IN ('information_schema', 'sys', 'performance_schema', 'pg_catalog', 'pg_toast', 'pg_temp_1', 'pg_toast_temp_1')
193
171
  ORDER BY name`);
194
- return rdh.rows.map((r) => {
195
- const res = new DbResource_1.DbSchema(r.values.name);
196
- return res;
172
+ return rdh.rows.map((r) => {
173
+ const res = new DbSchema(r.values.name);
174
+ return res;
175
+ });
197
176
  });
198
177
  }
199
- async getTables(dbSchema) {
200
- let rdh = await this
201
- .requestSql(`select quote_ident(m.relname) as qname, COALESCE(d.description, '') as comment
178
+ getTables(dbSchema) {
179
+ return __awaiter(this, void 0, void 0, function* () {
180
+ let rdh = yield this
181
+ .requestSql(`select quote_ident(m.relname) as qname, COALESCE(d.description, '') as comment
202
182
  from pg_stat_all_tables as m
203
183
  LEFT JOIN pg_description as d ON (m.relid = d.objoid AND d.objsubid=0)
204
184
  WHERE m.schemaname='${dbSchema.getName()}'
205
185
  ORDER BY m.relname`);
206
- const list = rdh.rows.map((r) => {
207
- const res = new DbResource_1.DbTable(r.values.qname, 'TABLE', r.values.comment);
208
- return res;
209
- });
210
- rdh = await this
211
- .requestSql(`select quote_ident(viewname) as qname, definition from pg_catalog.pg_views
186
+ const list = rdh.rows.map((r) => {
187
+ const res = new DbTable(r.values.qname, 'TABLE', r.values.comment);
188
+ return res;
189
+ });
190
+ rdh = yield this
191
+ .requestSql(`select quote_ident(viewname) as qname, definition from pg_catalog.pg_views
212
192
  where schemaname = '${dbSchema.getName()}'
213
193
  order by viewname`);
214
- return list.concat(rdh.rows.map((r) => {
215
- const res = new DbResource_1.DbTable(r.values.qname, 'VIEW', '');
216
- return res;
217
- }));
194
+ return list.concat(rdh.rows.map((r) => {
195
+ const res = new DbTable(r.values.qname, 'VIEW', '');
196
+ return res;
197
+ }));
198
+ });
218
199
  }
219
- async getColumns(dbTable) {
220
- const binds = [dbTable.getParent().getName(), dbTable.getName()];
221
- const rdh = await this.requestSql(`select
200
+ getColumns(dbTable) {
201
+ return __awaiter(this, void 0, void 0, function* () {
202
+ const binds = [dbTable.getParent().getName(), dbTable.getName()];
203
+ const rdh = yield this.requestSql(`select
222
204
  col.COLUMN_NAME as name,
223
205
  quote_ident(col.COLUMN_NAME) as qname,
224
206
  data_type as col_type,
@@ -271,28 +253,30 @@ class PostgresDriver extends BaseDriver_1.default {
271
253
  col.table_schema = $1 AND quote_ident(col.table_name) = $2
272
254
  order by
273
255
  col.ordinal_position`, { binds });
274
- return rdh.rows.map((r) => {
275
- const type_name = enum_values_1.EnumValues.getNameFromValue(PostgresColumnType_1.PostgresColumnType, PostgresColumnType_1.PostgresColumnType.parse(r.values.col_type));
276
- const res = new DbResource_1.DbColumn(r.values.qname, GeneralColumnType_1.GeneralColumnType.parse(type_name), {
277
- nullable: r.values.nullable === 1,
278
- key: r.values.col_key,
279
- default: r.values.col_default,
280
- extra: r.values.col_extra,
281
- }, r.values.comment);
282
- return res;
256
+ return rdh.rows.map((r) => {
257
+ const type_name = EnumValues.getNameFromValue(PostgresColumnType, PostgresColumnType.parse(r.values.col_type));
258
+ const res = new DbColumn(r.values.qname, GeneralColumnType.parse(type_name), {
259
+ nullable: r.values.nullable === 1,
260
+ key: r.values.col_key,
261
+ default: r.values.col_default,
262
+ extra: r.values.col_extra,
263
+ }, r.values.comment);
264
+ return res;
265
+ });
283
266
  });
284
267
  }
285
- async closeSub() {
286
- try {
287
- if (this.pool) {
288
- await this.pool.end();
268
+ closeSub() {
269
+ return __awaiter(this, void 0, void 0, function* () {
270
+ try {
271
+ if (this.pool) {
272
+ yield this.pool.end();
273
+ }
274
+ return '';
289
275
  }
290
- return '';
291
- }
292
- catch (e) {
293
- return e.message;
294
- }
276
+ catch (e) {
277
+ return e.message;
278
+ }
279
+ });
295
280
  }
296
281
  }
297
- exports.default = PostgresDriver;
298
282
  //# sourceMappingURL=PostgresDriver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PostgresDriver.js","sourceRoot":"","sources":["../../../../src/db/drivers/PostgresDriver.ts"],"names":[],"mappings":";;AAAA,sDAAsD;AACtD,6CAA6D;AAC7D,yEAA8E;AAC9E,uDAUgC;AAChC,2BAAmC;AACnC,6EAA0E;AAC1E,6CAAyC;AACzC,2EAAwE;AAExE,MAAqB,cAAe,SAAQ,oBAAU;IAGpD,YAAY,MAAoB;QAC9B,KAAK,CAAC,MAAM,CAAC,CAAC;IAChB,CAAC;IAED,qBAAqB;IACrB,uBAAuB;IACvB,oBAAoB;IACpB,yBAAyB;IACzB,yBAAyB;IACzB,6BAA6B;IAC7B,wBAAwB;IACxB,aAAa,CAAC,SAAsB,EAAE,QAAyB;QAC7D,IAAI,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YACnC,OAAO,CAAC,GAAG,CACT,KAAK,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,MAC5C,SAAS,CAAC,UACZ,EAAE,CACH,CAAC;SACH;QACD,MAAM,IAAI,GAAG,wBAAU,CAAC,gBAAgB,CACtC,uCAAkB,EAClB,uCAAkB,CAAC,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,CAC/C,CAAC;QACF,MAAM,GAAG,GAAG,IAAI,4BAAM,CACpB,SAAS,CAAC,IAAI,EACd,qCAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,EAC7B,KAAK,CAAC,oBAAoB,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CACrD,CAAC;QACF,OAAO,GAAG,CAAC;IACb,CAAC;IAED,KAAK,CAAC,UAAU;QACd,IAAI,WAAW,GAAG,EAAE,CAAC;QAErB,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAC3B;YACE,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,WAAW;YACjB,QAAQ,EAAE,UAAU;SACrB,EACD;YACE,GAAG,EAAE,CAAC;YACN,iBAAiB,EAAE,IAAI;YACvB,uBAAuB,EAAE,IAAI;YAC7B,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;YACtB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;YACtB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;YACtB,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;YAC9B,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;SAC/B,CACF,CAAC;QAEF,IAAI,CAAC,IAAI,GAAG,IAAI,YAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjC,4DAA4D;QAC5D,8DAA8D;QAC9D,2CAA2C;QAC3C,0DAA0D;QAC1D,MAAM;QACN,8CAA8C;QAC9C,oCAAoC;QACpC,MAAM;QACN,8CAA8C;QAC9C,oCAAoC;QACpC,MAAM;QACN,WAAW,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAEhC,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,YAAY,GAAG,KAAK;QAC7B,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,IAAI;YACF,IAAI,YAAY,EAAE;gBAChB,WAAW,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;aACpC;YACD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;YAClD,IAAI,GAAG,IAAI,GAAG,CAAC,YAAY,EAAE;gBAC3B,WAAW,GAAG,GAAG,CAAC,YAAY,CAAC;aAChC;SACF;QAAC,OAAO,CAAC,EAAE;YACV,WAAW,GAAG,CAAC,CAAC,OAAO,CAAC;SACzB;gBAAS;YACR,IAAI,YAAY,EAAE;gBAChB,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;aACzB;SACF;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,SAAS;IACT,KAAK,CAAC,UAAU,CACd,GAAW,EACX,OAA2B;QAE3B,0BAA0B;QAC1B,IAAI,GAAG,GAAG,IAAI,6BAAmB,CAAC,EAAE,CAAC,CAAC;QAEtC,IAAI;YACF,IAAI,KAAK,GAAa,EAAE,CAAC;YACzB,IAAI,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE;gBAC5B,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;aACvB;YACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAClD,qBAAqB;YACrB,eAAe;YACf,aAAa;YACb,QAAQ;YACR,uCAAuC;YACvC,sCAAsC;YACtC,qCAAqC;YACrC,4CAA4C;YAC5C,qCAAqC;YACrC,gBAAgB;YAChB,uCAAuC;YACvC,IAAI,OAAO,EAAE;gBACX,IAAI,QAAwB,CAAC;gBAC7B,IAAI,OAAO,IAAI,OAAO,CAAC,oBAAoB,KAAK,IAAI,EAAE;oBACpD,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;iBAC3C;gBACD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;gBAC9B,GAAG,GAAG,IAAI,6BAAmB,CAC3B,MAAM,KAAK,SAAS;oBAClB,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CACvD,CAAC;gBACF,IAAI,OAAO,CAAC,IAAI,EAAE;oBAChB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAW,EAAE,EAAE;wBACnC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBACrB,CAAC,CAAC,CAAC;iBACJ;aACF;SACF;QAAC,OAAO,GAAG,EAAE;YACZ,GAAG,GAAG,6BAAmB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SACvC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAED,KAAK,CAAC,WAAW,CACf,MAA2B,EAC3B,OAAY;QAEZ,MAAM,IAAI,GAAG,IAAI,KAAK,EAAa,CAAC;QACpC,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,IAAI,EAAE;YAC5B,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,EAAE,CAAC,MAAM,EAAE;gBACb,MAAM,GAAG,EAAE,CAAC,MAAM,GAAG,GAAG,CAAC;aAC1B;YACD,IAAI,OAAO,IAAI,OAAO,CAAC,iBAAiB,EAAE;gBACxC,IAAI,OAAO,GAAG,CAAC,KAAK,CAAC,EAAE;oBACrB,OAAO,CAAC,iBAAiB,CAAC,SAAS,MAAM,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;iBAC7D;aACF;YACD,MAAM,GAAG,GAAG,iCAAiC,MAAM,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC;YACjE,IAAI;gBACF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBAC/C,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;oBACtD,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAC5B,MAAM,GAAG,GAAc,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;oBAC/D,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;iBAChB;gBACD,oCAAoC;aACrC;YAAC,OAAO,CAAC,EAAE,GAAE;YACd,OAAO,EAAE,CAAC;SACX;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,OAG1B;QACC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,OAAO,EAAE,CAAC;SACX;QACD,MAAM,WAAW,GAAG,IAAI,KAAK,EAAc,CAAC;QAC5C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACnE,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9C,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAExE,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QACpD,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACxB,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;QACpC,wBAAwB;QACxB,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;YAChC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YAChD,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;SACnD;QACD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;YAChC,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,WAAW,EAAE,EAAE;gBAC5C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,UAAU,CAAU,OAAO,CAAC,CAAC;gBAC1D,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;aACnD;SACF;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,mBAA2B;QAE3B,MAAM,GAAG,GAAG,MAAM,IAAI;aACnB,UAAU,CAAC;wCACsB,CAAC,CAAC;QACtC,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACxB,MAAM,GAAG,GAAG,IAAI,uBAAU,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC1C,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;YAC/B,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,IAAI,KAAK,mBAAmB,CAAC;YAChD,OAAO,GAAG,CAAC;QACb,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,UAAsB;QACrC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC;;;oBAGlB,CAAC,CAAC;QAElB,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACxB,MAAM,GAAG,GAAG,IAAI,qBAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACxC,OAAO,GAAG,CAAC;QACb,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,QAAkB;QAChC,IAAI,GAAG,GAAG,MAAM,IAAI;aACjB,UAAU,CAAC;;;4BAGU,QAAQ,CAAC,OAAO,EAAE;yBACrB,CAAC,CAAC;QAEvB,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC9B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACnE,OAAO,GAAG,CAAC;QACb,CAAC,CAAC,CAAC;QAEH,GAAG,GAAG,MAAM,IAAI;aACb,UAAU,CAAC;4BACU,QAAQ,CAAC,OAAO,EAAE;wBACtB,CAAC,CAAC;QAEtB,OAAO,IAAI,CAAC,MAAM,CAChB,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACjB,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;YACpD,OAAO,GAAG,CAAC;QACb,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAAgB;QAC/B,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QACjE,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAC/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAoDqB,EACrB,EAAE,KAAK,EAAE,CACV,CAAC;QAEF,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACxB,MAAM,SAAS,GAAG,wBAAU,CAAC,gBAAgB,CAC3C,uCAAkB,EAClB,uCAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAC5C,CAAC;YACF,MAAM,GAAG,GAAG,IAAI,qBAAQ,CACtB,CAAC,CAAC,MAAM,CAAC,KAAK,EACd,qCAAiB,CAAC,KAAK,CAAC,SAAS,CAAC,EAClC;gBACE,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,KAAK,CAAC;gBACjC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO;gBACrB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,WAAW;gBAC7B,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS;aAC1B,EACD,CAAC,CAAC,MAAM,CAAC,OAAO,CACjB,CAAC;YACF,OAAO,GAAG,CAAC;QACb,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,IAAI;YACF,IAAI,IAAI,CAAC,IAAI,EAAE;gBACb,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;aACvB;YACD,OAAO,EAAE,CAAC;SACX;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,CAAC,CAAC,OAAO,CAAC;SAClB;IACH,CAAC;CACF;AAxVD,iCAwVC"}
1
+ {"version":3,"file":"PostgresDriver.js","sourceRoot":"","sources":["../../../../src/db/drivers/PostgresDriver.ts"],"names":[],"mappings":"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"}