myorm_pg 2.1.0 → 2.2.1

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 (42) hide show
  1. package/README.md +22 -2
  2. package/lib/Index.d.ts +4 -0
  3. package/lib/Index.d.ts.map +1 -1
  4. package/lib/Index.js +3 -1
  5. package/lib/Index.js.map +1 -1
  6. package/lib/core/design/Type.d.ts +1 -0
  7. package/lib/core/design/Type.d.ts.map +1 -1
  8. package/lib/core/design/Type.js +7 -1
  9. package/lib/core/design/Type.js.map +1 -1
  10. package/lib/core/exceptions/ConstraintFailException.d.ts +1 -1
  11. package/lib/core/exceptions/ConstraintFailException.d.ts.map +1 -1
  12. package/lib/core/exceptions/ConstraintFailException.js +2 -2
  13. package/lib/core/exceptions/ConstraintFailException.js.map +1 -1
  14. package/lib/core/objects/DBOperationLogHandler.d.ts +16 -0
  15. package/lib/core/objects/DBOperationLogHandler.d.ts.map +1 -0
  16. package/lib/core/objects/DBOperationLogHandler.js +17 -0
  17. package/lib/core/objects/DBOperationLogHandler.js.map +1 -0
  18. package/lib/core/objects/interfaces/IDBContext.d.ts +32 -1
  19. package/lib/core/objects/interfaces/IDBContext.d.ts.map +1 -1
  20. package/lib/core/objects/interfaces/IDBSet.d.ts +4 -3
  21. package/lib/core/objects/interfaces/IDBSet.d.ts.map +1 -1
  22. package/lib/core/objects/interfaces/IStatement.d.ts +3 -1
  23. package/lib/core/objects/interfaces/IStatement.d.ts.map +1 -1
  24. package/lib/core/objects/interfaces/IStatement.js +2 -0
  25. package/lib/core/objects/interfaces/IStatement.js.map +1 -1
  26. package/lib/implementations/PGDBContext.d.ts +37 -3
  27. package/lib/implementations/PGDBContext.d.ts.map +1 -1
  28. package/lib/implementations/PGDBContext.js +209 -0
  29. package/lib/implementations/PGDBContext.js.map +1 -1
  30. package/lib/implementations/PGDBManager.d.ts +4 -0
  31. package/lib/implementations/PGDBManager.d.ts.map +1 -1
  32. package/lib/implementations/PGDBManager.js +20 -0
  33. package/lib/implementations/PGDBManager.js.map +1 -1
  34. package/lib/implementations/PGDBSet.d.ts +5 -1
  35. package/lib/implementations/PGDBSet.d.ts.map +1 -1
  36. package/lib/implementations/PGDBSet.js +218 -107
  37. package/lib/implementations/PGDBSet.js.map +1 -1
  38. package/lib/implementations/PGSetHelper.d.ts +19 -0
  39. package/lib/implementations/PGSetHelper.d.ts.map +1 -0
  40. package/lib/implementations/PGSetHelper.js +48 -0
  41. package/lib/implementations/PGSetHelper.js.map +1 -0
  42. package/package.json +1 -1
@@ -12,7 +12,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.JoinSelectable = exports.JoiningQuery = void 0;
16
+ const SchemasDecorators_1 = __importDefault(require("../core/decorators/SchemasDecorators"));
17
+ const Type_1 = __importDefault(require("../core/design/Type"));
18
+ const ConstraintFailException_1 = __importDefault(require("../core/exceptions/ConstraintFailException"));
19
+ const InvalidOperationException_1 = __importDefault(require("../core/exceptions/InvalidOperationException"));
15
20
  const PGDBSet_1 = __importDefault(require("./PGDBSet"));
21
+ const PGSetHelper_1 = __importDefault(require("./PGSetHelper"));
16
22
  class PGDBContext {
17
23
  constructor(manager) {
18
24
  this._manager = manager;
@@ -62,6 +68,209 @@ class PGDBContext {
62
68
  return yield this._manager.Execute(query);
63
69
  });
64
70
  }
71
+ Join(...args) {
72
+ return new JoiningQuery(this, args);
73
+ }
65
74
  }
66
75
  exports.default = PGDBContext;
76
+ class JoiningQuery {
77
+ constructor(context, stack) {
78
+ this._stack = [];
79
+ this._onStatements = [];
80
+ this._context = context;
81
+ this._stack.push(...stack.map(s => { return { Type: s }; }));
82
+ let notMappedTypes = this._stack.filter(s => this._context.Collection(s.Type) == undefined);
83
+ if (notMappedTypes.length > 0) {
84
+ this._stack = [];
85
+ throw new InvalidOperationException_1.default(`The type ${notMappedTypes[0].Type.name} is not mapped`);
86
+ }
87
+ }
88
+ On(cT, cKey, uT, uKey) {
89
+ this.CheckIfTypeIsAllowed(cT);
90
+ this.CheckIfTypeIsAllowed(cT);
91
+ let leftIndex = this._stack.findIndex(s => s.Type == cT);
92
+ let rightIndex = this._stack.findIndex(s => s.Type == uT);
93
+ if (rightIndex - leftIndex != 1)
94
+ throw new InvalidOperationException_1.default(`The On statement must follow the same order than Join`);
95
+ this._onStatements.push([cKey.toString(), uKey.toString()]);
96
+ return this;
97
+ }
98
+ Where(cT, statement) {
99
+ this.CheckIfTypeIsAllowed(cT);
100
+ let set = this._context.Collection(cT);
101
+ set.Where(statement);
102
+ return this;
103
+ }
104
+ And(cT, statement) {
105
+ this.CheckIfTypeIsAllowed(cT);
106
+ let set = this._context.Collection(cT);
107
+ set.And(statement);
108
+ return this;
109
+ }
110
+ Or(cT, statement) {
111
+ this.CheckIfTypeIsAllowed(cT);
112
+ let set = this._context.Collection(cT);
113
+ set.Or(statement);
114
+ return this;
115
+ }
116
+ Select(cT) {
117
+ return new JoinSelectable(cT, this._context, this._stack, this._onStatements);
118
+ }
119
+ CheckIfTypeIsAllowed(cT) {
120
+ let set = this._context.Collection(cT);
121
+ if (!set)
122
+ throw new InvalidOperationException_1.default(`The type ${cT.name} is not mapped`);
123
+ let index = this._stack.findIndex(s => s.Type == cT);
124
+ if (index == -1)
125
+ throw new InvalidOperationException_1.default(`The type ${cT.name} is not inside the Join list`);
126
+ }
127
+ }
128
+ exports.JoiningQuery = JoiningQuery;
129
+ class JoinSelectable {
130
+ constructor(cT, context, stack, onStack) {
131
+ this._stack = [];
132
+ this._onStatements = [];
133
+ this._type = cT;
134
+ this._context = context;
135
+ this._stack = stack;
136
+ this._onStatements = onStack;
137
+ }
138
+ Join(key) {
139
+ var _a;
140
+ (_a = this._context.Collection(this._type)) === null || _a === void 0 ? void 0 : _a.Join(key);
141
+ return this;
142
+ }
143
+ OrderBy(key) {
144
+ var _a;
145
+ (_a = this._context.Collection(this._type)) === null || _a === void 0 ? void 0 : _a.OrderBy(key);
146
+ return this;
147
+ }
148
+ OrderDescendingBy(key) {
149
+ var _a;
150
+ (_a = this._context.Collection(this._type)) === null || _a === void 0 ? void 0 : _a.OrderDescendingBy(key);
151
+ return this;
152
+ }
153
+ ToListAsync() {
154
+ return __awaiter(this, void 0, void 0, function* () {
155
+ if (this._stack.length > this._onStatements.length + 1)
156
+ throw new InvalidOperationException_1.default(`There is no enought On clausules to join all selected types`);
157
+ if (this._stack.length < this._onStatements.length + 1)
158
+ throw new InvalidOperationException_1.default(`There is more On clausules than join types selecteds`);
159
+ let selectedSideSet = this._context.Collection(this._type);
160
+ let leftSideType = this._stack[0].Type;
161
+ let selectedTable = Type_1.default.GetTableName(this._type);
162
+ let query = `select distinct "${selectedTable}".* from "${Type_1.default.GetTableName(leftSideType)}" `;
163
+ for (let i = 1; i < this._stack.length; i++) {
164
+ let rightSideType = this._stack[i].Type;
165
+ let leftSideTable = Type_1.default.GetTableName(leftSideType);
166
+ let rigthSideTable = Type_1.default.GetTableName(rightSideType);
167
+ let onStatement = this._onStatements[i - 1];
168
+ let leftSideField = onStatement[0];
169
+ let rightSideField = onStatement[1];
170
+ let leftSideIsArray = Type_1.default.GetDesingType(leftSideType, leftSideField) == Array;
171
+ let rightSideIsArray = Type_1.default.GetDesingType(rightSideType, rightSideField) == Array;
172
+ let rightSideTypeMap = Type_1.default.GetColumnNameAndType(rightSideType);
173
+ let leftSideTypeMap = Type_1.default.GetColumnNameAndType(leftSideType);
174
+ query += ` inner join "${rigthSideTable}" on `;
175
+ if ((leftSideIsArray && rightSideIsArray) || (!leftSideIsArray && !rightSideIsArray)) {
176
+ query += ` "${leftSideTable}".${Type_1.default.GetColumnName(leftSideType, leftSideField)} = "${rigthSideTable}".${Type_1.default.GetColumnName(rightSideType, rightSideField)} `;
177
+ }
178
+ else if (leftSideIsArray && !rightSideIsArray) {
179
+ let relation = SchemasDecorators_1.default.GetRelationAttribute(leftSideType, leftSideField);
180
+ if (relation) {
181
+ let rType = relation.TypeBuilder();
182
+ let key = SchemasDecorators_1.default.ExtractPrimaryKey(rType);
183
+ if (!key)
184
+ throw new ConstraintFailException_1.default(`The type ${rType.name} was no one primary key field`);
185
+ let relationMap = Type_1.default.GetColumnNameAndType(rType);
186
+ let leftSideDBType = Type_1.default.CastType(relationMap.filter(s => s.Field == key)[0].Type);
187
+ let rightSideDBType = Type_1.default.CastType(rightSideTypeMap.filter(s => s.Field == rightSideField)[0].Type);
188
+ let leftColumnName = leftSideTypeMap.filter(s => s.Field == leftSideField)[0].Column;
189
+ let rightColumnName = rightSideTypeMap.filter(s => s.Field == rightSideField)[0].Column;
190
+ if (leftSideDBType != rightSideDBType) {
191
+ throw new InvalidOperationException_1.default(`${leftSideType.name}.${leftSideField} and ${rightSideType.name}.${rightSideField} must be the same type to join`);
192
+ }
193
+ query += ` "${rigthSideTable}".${rightColumnName} = ANY("${leftSideTable}".${leftColumnName})`;
194
+ }
195
+ else {
196
+ let dataType = SchemasDecorators_1.default.GetDataTypeAttribute(leftSideType, leftSideField);
197
+ if (!dataType) {
198
+ throw new InvalidOperationException_1.default(`Can not find the DataAttributeof ${leftSideType.name}.${leftSideField}`);
199
+ }
200
+ let elementType = Type_1.default.ExtractElementType(dataType);
201
+ if (!elementType)
202
+ throw new InvalidOperationException_1.default(`Can not determine the array element type of ${leftSideType.name}.${leftSideField}`);
203
+ let leftColumnName = leftSideTypeMap.filter(s => s.Field == leftSideField)[0].Column;
204
+ let rightSideDBType = Type_1.default.CastType(rightSideTypeMap.filter(s => s.Field == rightSideField)[0].Type);
205
+ let rightColumnName = rightSideTypeMap.filter(s => s.Field == rightSideField)[0].Column;
206
+ let areNumbers = Type_1.default.IsNumber(Type_1.default.CastType(elementType)) && Type_1.default.IsNumber(rightSideDBType);
207
+ let areString = Type_1.default.IsText(Type_1.default.CastType(elementType)) && Type_1.default.IsText(rightSideDBType);
208
+ let areDate = Type_1.default.IsDate(Type_1.default.CastType(elementType)) && Type_1.default.IsDate(rightSideDBType);
209
+ let areArray = Type_1.default.IsArray(Type_1.default.CastType(elementType)) && Type_1.default.IsArray(rightSideDBType);
210
+ let areSameType = this._context["_manager"]["CastToPostgreSQLType"](elementType) == this._context["_manager"]["CastToPostgreSQLType"](rightSideDBType);
211
+ let areSerial = this._context["_manager"]["CastToPostgreSQLType"](elementType) == "serial" && this._context["_manager"]["CastToPostgreSQLType"](rightSideDBType) == "serial";
212
+ if (!(areNumbers || areString || areDate || areArray || areSameType || areSerial))
213
+ throw new InvalidOperationException_1.default(`${leftSideType.name}.${leftSideField} and ${rightSideType.name}.${rightSideField} must be the same type to join`);
214
+ query += ` "${rigthSideTable}".${rightColumnName} = ANY("${leftSideTable}".${leftColumnName})`;
215
+ }
216
+ }
217
+ else if (rightSideIsArray && !leftSideIsArray) {
218
+ let relation = SchemasDecorators_1.default.GetRelationAttribute(rightSideType, rightSideField);
219
+ if (relation) {
220
+ let rType = relation.TypeBuilder();
221
+ let key = SchemasDecorators_1.default.ExtractPrimaryKey(rType);
222
+ if (!key)
223
+ throw new ConstraintFailException_1.default(`The type ${rType.name} was no one primary key field`);
224
+ let relationMap = Type_1.default.GetColumnNameAndType(rType);
225
+ let rightSideDBType = Type_1.default.CastType(relationMap.filter(s => s.Field == key)[0].Type);
226
+ let leftSideDBType = Type_1.default.CastType(rightSideTypeMap.filter(s => s.Field == leftSideField)[0].Type);
227
+ let leftColumnName = leftSideTypeMap.filter(s => s.Field == leftSideField)[0].Column;
228
+ let rightColumnName = rightSideTypeMap.filter(s => s.Field == rightSideField)[0].Column;
229
+ if (leftSideDBType != rightSideDBType) {
230
+ throw new InvalidOperationException_1.default(`${leftSideType.name}.${leftSideField} and ${rightSideType.name}.${rightSideField} must be the same type to join`);
231
+ }
232
+ query += ` "${leftSideTable}".${leftColumnName} = ANY("${rigthSideTable}".${rightColumnName})`;
233
+ }
234
+ else {
235
+ let dataType = SchemasDecorators_1.default.GetDataTypeAttribute(rightSideType, rightSideField);
236
+ if (!dataType) {
237
+ throw new InvalidOperationException_1.default(`Can not find the DataAttributeof ${rightSideType.name}.${rightSideField}`);
238
+ }
239
+ let elementType = Type_1.default.ExtractElementType(dataType);
240
+ if (!elementType)
241
+ throw new InvalidOperationException_1.default(`Can not determine the array element type of ${rightSideType.name}.${rightSideField}`);
242
+ let leftColumnName = leftSideTypeMap.filter(s => s.Field == leftSideField)[0].Column;
243
+ let leftSideDBType = Type_1.default.CastType(leftSideTypeMap.filter(s => s.Field == leftSideField)[0].Type);
244
+ let rightColumnName = rightSideTypeMap.filter(s => s.Field == rightSideField)[0].Column;
245
+ let areNumbers = Type_1.default.IsNumber(Type_1.default.CastType(elementType)) && Type_1.default.IsNumber(leftSideDBType);
246
+ let areString = Type_1.default.IsText(Type_1.default.CastType(elementType)) && Type_1.default.IsText(leftSideDBType);
247
+ let areDate = Type_1.default.IsDate(Type_1.default.CastType(elementType)) && Type_1.default.IsDate(leftSideDBType);
248
+ let areArray = Type_1.default.IsArray(Type_1.default.CastType(elementType)) && Type_1.default.IsArray(leftSideDBType);
249
+ let areSameType = this._context["_manager"]["CastToPostgreSQLType"](elementType) == this._context["_manager"]["CastToPostgreSQLType"](leftSideDBType);
250
+ let areSerial = this._context["_manager"]["CastToPostgreSQLType"](elementType) == "serial" && this._context["_manager"]["CastToPostgreSQLType"](leftSideDBType) == "serial";
251
+ if (!(areNumbers || areString || areDate || areArray || areSameType || areSerial))
252
+ throw new InvalidOperationException_1.default(`${leftSideType.name}.${leftSideField} and ${rightSideType.name}.${rightSideField} must be the same type to join`);
253
+ query += ` "${leftSideTable}".${leftColumnName} = ANY("${rigthSideTable}".${rightColumnName})`;
254
+ }
255
+ }
256
+ leftSideType = this._stack[i].Type;
257
+ }
258
+ let where = "";
259
+ for (let type of this._stack) {
260
+ let set = this._context.Collection(type.Type);
261
+ let statements = set["_statements"];
262
+ for (let s of statements) {
263
+ let operation = s.StatementType.toString();
264
+ if (operation == "where" && where.length > 0)
265
+ operation = "and";
266
+ where += ` ${operation} ${set["EvaluateStatement"](s)}`;
267
+ }
268
+ }
269
+ PGSetHelper_1.default.InjectSQL(selectedSideSet, query);
270
+ PGSetHelper_1.default.InjectWhere(selectedSideSet, where);
271
+ return yield selectedSideSet.ToListAsync();
272
+ });
273
+ }
274
+ }
275
+ exports.JoinSelectable = JoinSelectable;
67
276
  //# sourceMappingURL=PGDBContext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PGDBContext.js","sourceRoot":"","sources":["../../src/implementations/PGDBContext.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAKA,wDAAgC;AAEhC,MAA8B,WAAW;IAMrC,YAAY,OAAqB;QAE7B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC5B,CAAC;IAGM,cAAc;QAEjB,IAAG,IAAI,CAAC,YAAY,IAAI,SAAS;YAC7B,OAAO,IAAI,CAAC,YAAY,CAAC;QAE7B,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QAEvB,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE9B,KAAI,IAAI,IAAI,IAAI,KAAK,EACrB;YACI,IAAI,IAAY,CAAC,IAAI,CAAC,CAAC,WAAW,IAAI,iBAAO,EAC7C;gBACI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAE,IAAY,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;aACxD;SACJ;QAED,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAEM,QAAQ,CAAC,IAAuC;QAEnD,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IACnE,CAAC;IAEM,UAAU,CAAI,IAAmC;QAEpD,KAAI,IAAI,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EACjC;YACI,IAAI,IAAI,GAAI,IAAY,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;YAExC,IAAG,IAAI,IAAI,SAAS;gBAChB,SAAS;YACb,IAAG,IAAI,IAAI,IAAI;gBACX,OAAQ,IAAY,CAAC,IAAI,CAAc,CAAC;SAC/C;QAED,OAAO,SAAS,CAAA;IACpB,CAAC;IAEY,mBAAmB;;YAE5B,IAAI,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,YAAY,CAAC;YAEvD,IAAG,CAAC,CAAA,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;gBACzC,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YAE/C,KAAI,IAAI,IAAI,IAAI,IAAI,CAAC,cAAc,EAAE,EACrC;gBACI,MAAM,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;aACrD;QAEL,CAAC;KAAA;IAEY,eAAe,CAAC,KAAc;;YACxC,MAAM,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC9C,CAAC;KAAA;IAEY,YAAY,CAAC,KAAc;;YACpC,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC9C,CAAC;KAAA;CAEJ;AA1ED,8BA0EC"}
1
+ {"version":3,"file":"PGDBContext.js","sourceRoot":"","sources":["../../src/implementations/PGDBContext.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,10 @@
1
1
  import 'reflect-metadata';
2
2
  import IDBManager from '../core/objects/interfaces/IDBManager';
3
3
  import PGDBConnection from './PGDBConnection';
4
+ import DBOperationLogHandler from '../core/objects/DBOperationLogHandler';
4
5
  export default class PGDBManager implements IDBManager {
5
6
  private _connection;
7
+ private _logger?;
6
8
  constructor(connection: PGDBConnection);
7
9
  CheckConnection(): Promise<boolean>;
8
10
  CheckDatabase(dababase: string): Promise<boolean>;
@@ -24,5 +26,7 @@ export default class PGDBManager implements IDBManager {
24
26
  * @returns {string} the postgres type correspondent
25
27
  */
26
28
  private CastToPostgreSQLType;
29
+ SetLogger(logger: DBOperationLogHandler): void;
30
+ private Log;
27
31
  }
28
32
  //# sourceMappingURL=PGDBManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PGDBManager.d.ts","sourceRoot":"","sources":["../../src/implementations/PGDBManager.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAI1B,OAAO,UAAU,MAAM,uCAAuC,CAAC;AAE/D,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAO9C,MAAM,CAAC,OAAO,OAAO,WAAY,YAAW,UAAU;IAElD,OAAO,CAAC,WAAW,CAAmB;gBAEnB,UAAU,EAAG,cAAc;IAKjC,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;IAkBzC,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAWjD,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAS/C,UAAU,CAAC,IAAI,EAAG,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;IAa7C,WAAW,CAAC,IAAI,EAAG,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAY3C,WAAW,CAAC,IAAI,EAAG,QAAQ,EAAE,GAAG,EAAG,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAe5D,YAAY,CAAC,IAAI,EAAG,QAAQ,EAAE,GAAG,EAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA+D1D,uBAAuB,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BhD,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAW7C,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;WAWnC,KAAK,CAAC,IAAI,EAAG,MAAM,EAAE,IAAI,EAAG,MAAM,EAAE,QAAQ,EAAG,MAAM,EAAE,IAAI,EAAG,MAAM,EAAE,IAAI,EAAG,MAAM,GAAI,WAAW;WAKlG,mBAAmB;IA8BjC,OAAO,CAAC,cAAc;IAmBtB;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;CA0B/B"}
1
+ {"version":3,"file":"PGDBManager.d.ts","sourceRoot":"","sources":["../../src/implementations/PGDBManager.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAI1B,OAAO,UAAU,MAAM,uCAAuC,CAAC;AAE/D,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAK9C,OAAO,qBAAkC,MAAM,uCAAuC,CAAC;AAGvF,MAAM,CAAC,OAAO,OAAO,WAAY,YAAW,UAAU;IAElD,OAAO,CAAC,WAAW,CAAmB;IACtC,OAAO,CAAC,OAAO,CAAC,CAAyB;gBAEtB,UAAU,EAAG,cAAc;IAKjC,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;IAoBzC,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAajD,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAW/C,UAAU,CAAC,IAAI,EAAG,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;IAgB7C,WAAW,CAAC,IAAI,EAAG,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAc3C,WAAW,CAAC,IAAI,EAAG,QAAQ,EAAE,GAAG,EAAG,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAiB5D,YAAY,CAAC,IAAI,EAAG,QAAQ,EAAE,GAAG,EAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiE1D,uBAAuB,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BhD,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAa7C,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;WAanC,KAAK,CAAC,IAAI,EAAG,MAAM,EAAE,IAAI,EAAG,MAAM,EAAE,QAAQ,EAAG,MAAM,EAAE,IAAI,EAAG,MAAM,EAAE,IAAI,EAAG,MAAM,GAAI,WAAW;WAKlG,mBAAmB;IA8BjC,OAAO,CAAC,cAAc;IAmBtB;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;IA0BrB,SAAS,CAAC,MAAM,EAAG,qBAAqB,GAAI,IAAI;IAEvD,OAAO,CAAC,GAAG;CAMd"}
@@ -20,12 +20,14 @@ const SchemasDecorators_1 = __importDefault(require("../core/decorators/SchemasD
20
20
  const InvalidOperationException_1 = __importDefault(require("../core/exceptions/InvalidOperationException"));
21
21
  const Index_1 = require("../Index");
22
22
  const RelationType_1 = require("../core/enums/RelationType");
23
+ const DBOperationLogHandler_1 = require("../core/objects/DBOperationLogHandler");
23
24
  class PGDBManager {
24
25
  constructor(connection) {
25
26
  this._connection = connection;
26
27
  }
27
28
  CheckConnection() {
28
29
  return __awaiter(this, void 0, void 0, function* () {
30
+ this.Log("Checking connection", DBOperationLogHandler_1.LogType.CHECKCONNECTION);
29
31
  try {
30
32
  yield this._connection.Open();
31
33
  return true;
@@ -40,6 +42,7 @@ class PGDBManager {
40
42
  }
41
43
  CheckDatabase(dababase) {
42
44
  return this.CreatePromisse(() => __awaiter(this, void 0, void 0, function* () {
45
+ this.Log(`Checking database ${dababase}`, DBOperationLogHandler_1.LogType.CHECKDATABASE);
43
46
  yield this._connection.AsPostgres().Open();
44
47
  let result = yield this._connection.Execute(`select * from pg_database where datname = '${dababase}'`);
45
48
  return result.rows.length > 0;
@@ -47,6 +50,7 @@ class PGDBManager {
47
50
  }
48
51
  CreateDataBase(dababase) {
49
52
  return this.CreatePromisse(() => __awaiter(this, void 0, void 0, function* () {
53
+ this.Log(`Creating database ${dababase}`, DBOperationLogHandler_1.LogType.CREATEDATABASE);
50
54
  yield this._connection.AsPostgres().Open();
51
55
  yield this._connection.Execute(`create database ${dababase} with owner ${this._connection.UserName};`);
52
56
  }));
@@ -54,6 +58,7 @@ class PGDBManager {
54
58
  CheckTable(cTor) {
55
59
  return this.CreatePromisse(() => __awaiter(this, void 0, void 0, function* () {
56
60
  let table = Type_1.default.GetTableName(cTor);
61
+ this.Log(`Checking table ${table}`, DBOperationLogHandler_1.LogType.CHECKTABLE);
57
62
  yield this._connection.Open();
58
63
  let result = yield this._connection.Execute(`select * from information_schema.tables where table_catalog = '${this._connection.DataBaseName}' and table_name = '${table}';`);
59
64
  return result.rows.length > 0;
@@ -62,6 +67,7 @@ class PGDBManager {
62
67
  CreateTable(cTor) {
63
68
  return this.CreatePromisse(() => __awaiter(this, void 0, void 0, function* () {
64
69
  let table = Type_1.default.GetTableName(cTor);
70
+ this.Log(`Creating table ${table}`, DBOperationLogHandler_1.LogType.CREATETABLE);
65
71
  yield this._connection.Open();
66
72
  yield this._connection.Execute(`create table if not exists "${table}"();`);
67
73
  }));
@@ -70,6 +76,7 @@ class PGDBManager {
70
76
  return this.CreatePromisse(() => __awaiter(this, void 0, void 0, function* () {
71
77
  let table = Type_1.default.GetTableName(cTor);
72
78
  let column = Type_1.default.GetColumnName(cTor, key);
79
+ this.Log(`Checking column ${table}.${column}`, DBOperationLogHandler_1.LogType.CHECKCOLUMN);
73
80
  yield this._connection.Open();
74
81
  let result = yield this._connection.Execute(`select * from information_schema.columns where table_name = '${table}' and column_name = '${column}';`);
75
82
  return result.rows.length > 0;
@@ -79,6 +86,7 @@ class PGDBManager {
79
86
  return this.CreatePromisse(() => __awaiter(this, void 0, void 0, function* () {
80
87
  let table = Type_1.default.GetTableName(cTor);
81
88
  let column = Type_1.default.GetColumnName(cTor, key);
89
+ this.Log(`Creating column ${table}.${column}`, DBOperationLogHandler_1.LogType.CHECKCOLUMN);
82
90
  let type = "";
83
91
  try {
84
92
  type = this.CastToPostgreSQLType(Type_1.default.GetDesingTimeTypeName(cTor, key));
@@ -114,6 +122,7 @@ class PGDBManager {
114
122
  }
115
123
  UpdateDatabaseForEntity(cTor) {
116
124
  return this.CreatePromisse(() => __awaiter(this, void 0, void 0, function* () {
125
+ this.Log(`Checking entity ${cTor.name}`, DBOperationLogHandler_1.LogType.CHECKENTITY);
117
126
  let table_name = Type_1.default.GetTableName(cTor);
118
127
  if (table_name == undefined)
119
128
  throw new TypeNotSuportedException_1.default(`The type ${cTor.name} is not supported. Can not determine the table name of type`);
@@ -131,6 +140,7 @@ class PGDBManager {
131
140
  return __awaiter(this, void 0, void 0, function* () {
132
141
  return this.CreatePromisse(() => __awaiter(this, void 0, void 0, function* () {
133
142
  yield this._connection.Open();
143
+ this.Log(query, DBOperationLogHandler_1.LogType.QUERY);
134
144
  yield this._connection.Execute(query);
135
145
  }));
136
146
  });
@@ -139,6 +149,7 @@ class PGDBManager {
139
149
  return __awaiter(this, void 0, void 0, function* () {
140
150
  return this.CreatePromisse(() => __awaiter(this, void 0, void 0, function* () {
141
151
  yield this._connection.Open();
152
+ this.Log(query, DBOperationLogHandler_1.LogType.QUERY);
142
153
  return yield this._connection.Execute(query);
143
154
  }));
144
155
  });
@@ -193,6 +204,7 @@ class PGDBManager {
193
204
  case "integer": return "integer";
194
205
  case "number": return "bigint";
195
206
  case "long": return "bigint";
207
+ case "double": return "double";
196
208
  case "text": return "text";
197
209
  case "string": return "text";
198
210
  case "date": return "date";
@@ -210,6 +222,14 @@ class PGDBManager {
210
222
  default: throw new TypeNotSuportedException_1.default(`The type ${type} is not suported`);
211
223
  }
212
224
  }
225
+ SetLogger(logger) { this._logger = logger; }
226
+ Log(message, type) {
227
+ if (this._logger)
228
+ try {
229
+ this._logger(message, type);
230
+ }
231
+ catch (_a) { }
232
+ }
213
233
  }
214
234
  exports.default = PGDBManager;
215
235
  //# sourceMappingURL=PGDBManager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PGDBManager.js","sourceRoot":"","sources":["../../src/implementations/PGDBManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PGDBManager.js","sourceRoot":"","sources":["../../src/implementations/PGDBManager.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import IDBSet, { IFluentField, IFluentQueryableObject } from "../core/objects/interfaces/IDBSet";
2
2
  import IStatement from "../core/objects/interfaces/IStatement";
3
3
  import PGDBContext from "./PGDBContext";
4
- export default class PGDBSet<T extends object> implements IDBSet<T>, IFluentQueryableObject<T, PGDBSet<T>> {
4
+ export default class PGDBSet<T extends Object> implements IDBSet<T>, IFluentQueryableObject<T, PGDBSet<T>> {
5
5
  private _type;
6
6
  private _table;
7
7
  private _maps;
@@ -26,6 +26,7 @@ export default class PGDBSet<T extends object> implements IDBSet<T>, IFluentQuer
26
26
  Join<K extends keyof T>(key: K): IDBSet<T>;
27
27
  OrderDescendingBy<K extends keyof T>(key: K): IDBSet<T>;
28
28
  Limit(limit: number): IDBSet<T>;
29
+ CountAsync(): Promise<number>;
29
30
  ToListAsync(): Promise<T[]>;
30
31
  FirstOrDefaultAsync(): Promise<T | undefined>;
31
32
  WhereField<U extends keyof T, R extends PGDBSet<T>>(field: U): IFluentField<T, U, R>;
@@ -36,10 +37,13 @@ export default class PGDBSet<T extends object> implements IDBSet<T>, IFluentQuer
36
37
  private CreatePromisse;
37
38
  CleanQueryTree(): void;
38
39
  private CreateValueStatement;
40
+ private EvaluateWhere;
39
41
  private EvaluateStatement;
40
42
  private EvaluateOrderBy;
41
43
  private GetOperators;
42
44
  private Reset;
45
+ private ResetFilters;
43
46
  private IsCorrectType;
47
+ private BuildObjects;
44
48
  }
45
49
  //# sourceMappingURL=PGDBSet.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PGDBSet.d.ts","sourceRoot":"","sources":["../../src/implementations/PGDBSet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PGDBSet.d.ts","sourceRoot":"","sources":["../../src/implementations/PGDBSet.ts"],"names":[],"mappings":"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"}