@node-c/persistance-rdb 1.0.0-alpha1 → 1.0.0-alpha10

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 (91) hide show
  1. package/README.md +1 -1
  2. package/coverage/base.css +224 -0
  3. package/coverage/block-navigation.js +87 -0
  4. package/coverage/clover.xml +864 -0
  5. package/coverage/common/definitions/common.constants.ts.html +103 -0
  6. package/coverage/common/definitions/index.html +131 -0
  7. package/coverage/common/definitions/index.ts.html +88 -0
  8. package/coverage/coverage-final.json +12 -0
  9. package/coverage/entityService/index.html +131 -0
  10. package/coverage/entityService/index.ts.html +91 -0
  11. package/coverage/entityService/rdb.entity.service.ts.html +1126 -0
  12. package/coverage/favicon.png +0 -0
  13. package/coverage/index.html +176 -0
  14. package/coverage/module/index.html +131 -0
  15. package/coverage/module/index.ts.html +91 -0
  16. package/coverage/module/rdb.module.ts.html +241 -0
  17. package/coverage/prettify.css +1 -0
  18. package/coverage/prettify.js +2 -0
  19. package/coverage/repository/index.html +131 -0
  20. package/coverage/repository/index.ts.html +91 -0
  21. package/coverage/repository/rdb.repository.module.ts.html +172 -0
  22. package/coverage/sort-arrow-sprite.png +0 -0
  23. package/coverage/sorter.js +196 -0
  24. package/coverage/sqlQueryBuilder/index.html +146 -0
  25. package/coverage/sqlQueryBuilder/index.ts.html +94 -0
  26. package/coverage/sqlQueryBuilder/sqlQueryBuilder.module.ts.html +163 -0
  27. package/coverage/sqlQueryBuilder/sqlQueryBuilder.service.ts.html +1534 -0
  28. package/dist/common/definitions/common.constants.d.ts +4 -0
  29. package/dist/common/definitions/common.constants.js +5 -1
  30. package/dist/common/definitions/common.constants.js.map +1 -1
  31. package/dist/{entityService → entity}/index.d.ts +2 -1
  32. package/dist/{entityService → entity}/index.js +2 -1
  33. package/dist/entity/index.js.map +1 -0
  34. package/dist/entity/rdb.entity.schema.d.ts +9 -0
  35. package/dist/{module/rdb.module.definitions.js → entity/rdb.entity.schema.js} +1 -1
  36. package/dist/entity/rdb.entity.schema.js.map +1 -0
  37. package/dist/entity/rdb.entity.service.d.ts +35 -0
  38. package/dist/entity/rdb.entity.service.definitions.d.ts +21 -0
  39. package/dist/{entityService → entity}/rdb.entity.service.definitions.js +1 -1
  40. package/dist/entity/rdb.entity.service.definitions.js.map +1 -0
  41. package/dist/{entityService → entity}/rdb.entity.service.js +33 -19
  42. package/dist/entity/rdb.entity.service.js.map +1 -0
  43. package/dist/index.d.ts +2 -2
  44. package/dist/index.js +2 -2
  45. package/dist/index.js.map +1 -1
  46. package/dist/ormQueryBuilder/index.d.ts +1 -0
  47. package/dist/{module → ormQueryBuilder}/index.js +1 -2
  48. package/dist/ormQueryBuilder/index.js.map +1 -0
  49. package/dist/ormQueryBuilder/rdb.ormQueryBuilder.d.ts +38 -0
  50. package/dist/ormQueryBuilder/rdb.ormQueryBuilder.js +16 -0
  51. package/dist/ormQueryBuilder/rdb.ormQueryBuilder.js.map +1 -0
  52. package/dist/repository/index.d.ts +1 -2
  53. package/dist/repository/index.js +1 -2
  54. package/dist/repository/index.js.map +1 -1
  55. package/dist/repository/rdb.repository.d.ts +22 -0
  56. package/dist/repository/rdb.repository.js +10 -0
  57. package/dist/repository/rdb.repository.js.map +1 -0
  58. package/dist/sqlQueryBuilder/index.d.ts +3 -3
  59. package/dist/sqlQueryBuilder/index.js +3 -3
  60. package/dist/sqlQueryBuilder/index.js.map +1 -1
  61. package/dist/sqlQueryBuilder/{sqlQueryBuilder.definitions.d.ts → rdb.sqlQueryBuilder.definitions.d.ts} +2 -6
  62. package/dist/{repository/rdb.repository.definitions.js → sqlQueryBuilder/rdb.sqlQueryBuilder.definitions.js} +1 -1
  63. package/dist/sqlQueryBuilder/rdb.sqlQueryBuilder.definitions.js.map +1 -0
  64. package/dist/sqlQueryBuilder/{sqlQueryBuilder.module.d.ts → rdb.sqlQueryBuilder.module.d.ts} +1 -1
  65. package/dist/sqlQueryBuilder/{sqlQueryBuilder.module.js → rdb.sqlQueryBuilder.module.js} +6 -6
  66. package/dist/sqlQueryBuilder/rdb.sqlQueryBuilder.module.js.map +1 -0
  67. package/dist/sqlQueryBuilder/{sqlQueryBuilder.service.d.ts → rdb.sqlQueryBuilder.service.d.ts} +10 -11
  68. package/dist/sqlQueryBuilder/{sqlQueryBuilder.service.js → rdb.sqlQueryBuilder.service.js} +36 -31
  69. package/dist/sqlQueryBuilder/rdb.sqlQueryBuilder.service.js.map +1 -0
  70. package/package.json +2 -6
  71. package/dist/entityService/index.js.map +0 -1
  72. package/dist/entityService/rdb.entity.service.d.ts +0 -34
  73. package/dist/entityService/rdb.entity.service.definitions.d.ts +0 -21
  74. package/dist/entityService/rdb.entity.service.definitions.js.map +0 -1
  75. package/dist/entityService/rdb.entity.service.js.map +0 -1
  76. package/dist/module/index.d.ts +0 -2
  77. package/dist/module/index.js.map +0 -1
  78. package/dist/module/rdb.module.d.ts +0 -5
  79. package/dist/module/rdb.module.definitions.d.ts +0 -15
  80. package/dist/module/rdb.module.definitions.js.map +0 -1
  81. package/dist/module/rdb.module.js +0 -45
  82. package/dist/module/rdb.module.js.map +0 -1
  83. package/dist/repository/rdb.repository.definitions.d.ts +0 -5
  84. package/dist/repository/rdb.repository.definitions.js.map +0 -1
  85. package/dist/repository/rdb.repository.module.d.ts +0 -6
  86. package/dist/repository/rdb.repository.module.js +0 -38
  87. package/dist/repository/rdb.repository.module.js.map +0 -1
  88. package/dist/sqlQueryBuilder/sqlQueryBuilder.definitions.js +0 -3
  89. package/dist/sqlQueryBuilder/sqlQueryBuilder.definitions.js.map +0 -1
  90. package/dist/sqlQueryBuilder/sqlQueryBuilder.module.js.map +0 -1
  91. package/dist/sqlQueryBuilder/sqlQueryBuilder.service.js.map +0 -1
@@ -1,4 +1,8 @@
1
1
  export declare enum Constants {
2
+ RDB_ENTITY_REPOSITORY = "RDB_ENTITY_REPOSITORY",
3
+ RDB_REPOSITORY_CONNECTION_NAME = "RDB_REPOSITORY_CONNECTION_NAME",
4
+ RDB_REPOSITORY_DATASOURCE = "RDB_REPOSITORY_DATASOURCE",
5
+ RDB_REPOSITORY_ENTITY_CLASS = "RDB_REPOSITORY_ENTITY_CLASS",
2
6
  SQL_BUILDER_DB_CONFIG_PATH = "SQL_BUILDER_DB_CONFIG_PATH",
3
7
  SQL_BUILDER_SERVICE_TOKEN_SUFFIX = "_SQL_BUILDER_SERVICE"
4
8
  }
@@ -3,7 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Constants = void 0;
4
4
  var Constants;
5
5
  (function (Constants) {
6
+ Constants["RDB_ENTITY_REPOSITORY"] = "RDB_ENTITY_REPOSITORY";
7
+ Constants["RDB_REPOSITORY_CONNECTION_NAME"] = "RDB_REPOSITORY_CONNECTION_NAME";
8
+ Constants["RDB_REPOSITORY_DATASOURCE"] = "RDB_REPOSITORY_DATASOURCE";
9
+ Constants["RDB_REPOSITORY_ENTITY_CLASS"] = "RDB_REPOSITORY_ENTITY_CLASS";
6
10
  Constants["SQL_BUILDER_DB_CONFIG_PATH"] = "SQL_BUILDER_DB_CONFIG_PATH";
7
11
  Constants["SQL_BUILDER_SERVICE_TOKEN_SUFFIX"] = "_SQL_BUILDER_SERVICE";
8
- })(Constants = exports.Constants || (exports.Constants = {}));
12
+ })(Constants || (exports.Constants = Constants = {}));
9
13
  //# sourceMappingURL=common.constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.constants.js","sourceRoot":"","sources":["../../../src/common/definitions/common.constants.ts"],"names":[],"mappings":";;;AAAA,IAAY,SAKX;AALD,WAAY,SAAS;IAEnB,sEAAyD,CAAA;IAEzD,sEAAyD,CAAA;AAC3D,CAAC,EALW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAKpB"}
1
+ {"version":3,"file":"common.constants.js","sourceRoot":"","sources":["../../../src/common/definitions/common.constants.ts"],"names":[],"mappings":";;;AAAA,IAAY,SAaX;AAbD,WAAY,SAAS;IAEnB,4DAA+C,CAAA;IAE/C,8EAAiE,CAAA;IAEjE,oEAAuD,CAAA;IAEvD,wEAA2D,CAAA;IAE3D,sEAAyD,CAAA;IAEzD,sEAAyD,CAAA;AAC3D,CAAC,EAbW,SAAS,yBAAT,SAAS,QAapB"}
@@ -1,2 +1,3 @@
1
- export * from './rdb.entity.service.definitions';
1
+ export * from './rdb.entity.schema';
2
2
  export * from './rdb.entity.service';
3
+ export * from './rdb.entity.service.definitions';
@@ -14,6 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./rdb.entity.service.definitions"), exports);
17
+ __exportStar(require("./rdb.entity.schema"), exports);
18
18
  __exportStar(require("./rdb.entity.service"), exports);
19
+ __exportStar(require("./rdb.entity.service.definitions"), exports);
19
20
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/entity/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC;AACpC,uDAAqC;AACrC,mEAAiD"}
@@ -0,0 +1,9 @@
1
+ export interface RDBEntitySchema {
2
+ options: {
3
+ columns: {
4
+ [columnName: string]: {
5
+ primary?: boolean;
6
+ } | undefined;
7
+ };
8
+ };
9
+ }
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=rdb.module.definitions.js.map
3
+ //# sourceMappingURL=rdb.entity.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rdb.entity.schema.js","sourceRoot":"","sources":["../../src/entity/rdb.entity.schema.ts"],"names":[],"mappings":""}
@@ -0,0 +1,35 @@
1
+ import { GenericObject, PersistanceDeleteResult, PersistanceEntityService, PersistanceFindResults, PersistanceNumberItem, PersistanceUpdateResult } from '@node-c/core';
2
+ import { RDBEntitySchema } from './rdb.entity.schema';
3
+ import { BulkCreateOptions, CountOptions, CreateOptions, DeleteOptions, FindOneOptions, FindOptions, UpdateOptions } from './rdb.entity.service.definitions';
4
+ import { RDBEntityManager, RDBRepository } from '../repository';
5
+ import { ParsedFilter, SQLQueryBuilderService } from '../sqlQueryBuilder';
6
+ export declare class RDBEntityService<Entity extends GenericObject<unknown>> extends PersistanceEntityService<Entity> {
7
+ protected qb: SQLQueryBuilderService;
8
+ protected repository: RDBRepository<Entity>;
9
+ protected schema: RDBEntitySchema;
10
+ protected primaryKeys: string[];
11
+ constructor(qb: SQLQueryBuilderService, repository: RDBRepository<Entity>, schema: RDBEntitySchema);
12
+ protected buildPrimaryKeyWhereClause(data: Entity[]): {
13
+ field: string;
14
+ value: ParsedFilter;
15
+ };
16
+ bulkCreate(data: Partial<Entity>[], options?: BulkCreateOptions): Promise<Entity[]>;
17
+ create(data: Partial<Entity>, options?: CreateOptions): Promise<Entity>;
18
+ count(options: CountOptions): Promise<number | undefined>;
19
+ delete(options: DeleteOptions): Promise<PersistanceDeleteResult<Entity>>;
20
+ find(options: FindOptions): Promise<PersistanceFindResults<Entity>>;
21
+ findOne(options: FindOneOptions): Promise<Entity | null>;
22
+ getEntityTarget(): unknown;
23
+ protected getRepository(transactionManager?: RDBEntityManager): RDBRepository<Entity>;
24
+ protected processManyToMany(data: {
25
+ counterpartColumn: string;
26
+ currentEntityColumn: string;
27
+ id: number;
28
+ items: PersistanceNumberItem[];
29
+ tableName: string;
30
+ }, options?: {
31
+ transactionManager?: RDBEntityManager;
32
+ }): Promise<void>;
33
+ protected save<Data = unknown, ReturnData = unknown>(data: Data, transactionManager?: RDBEntityManager): Promise<ReturnData>;
34
+ update(data: Entity, options: UpdateOptions): Promise<PersistanceUpdateResult<Entity>>;
35
+ }
@@ -0,0 +1,21 @@
1
+ import { PersistanceCountOptions, PersistanceDeleteOptions, PersistanceFindOneOptions, PersistanceFindOptions, PersistanceUpdateOptions } from '@node-c/core';
2
+ import { RDBEntityManager } from '../repository';
3
+ export interface BaseOptions {
4
+ forceTransaction?: boolean;
5
+ transactionManager?: RDBEntityManager;
6
+ }
7
+ export type BulkCreateOptions = BaseOptions;
8
+ export interface CountOptions extends BaseOptions, PersistanceCountOptions {
9
+ }
10
+ export type CreateOptions = BaseOptions;
11
+ export interface DeleteOptions extends BaseOptions, PersistanceDeleteOptions {
12
+ }
13
+ export interface FindOptions extends BaseOptions, PersistanceFindOptions {
14
+ }
15
+ export interface FindOneOptions extends BaseOptions, PersistanceFindOneOptions {
16
+ }
17
+ export declare enum PostgresErrorCode {
18
+ UniqueViolation = "23505"
19
+ }
20
+ export interface UpdateOptions extends BaseOptions, PersistanceUpdateOptions {
21
+ }
@@ -4,5 +4,5 @@ exports.PostgresErrorCode = void 0;
4
4
  var PostgresErrorCode;
5
5
  (function (PostgresErrorCode) {
6
6
  PostgresErrorCode["UniqueViolation"] = "23505";
7
- })(PostgresErrorCode = exports.PostgresErrorCode || (exports.PostgresErrorCode = {}));
7
+ })(PostgresErrorCode || (exports.PostgresErrorCode = PostgresErrorCode = {}));
8
8
  //# sourceMappingURL=rdb.entity.service.definitions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rdb.entity.service.definitions.js","sourceRoot":"","sources":["../../src/entity/rdb.entity.service.definitions.ts"],"names":[],"mappings":";;;AA2BA,IAAY,iBAGX;AAHD,WAAY,iBAAiB;IAE3B,8CAAyB,CAAA;AAC3B,CAAC,EAHW,iBAAiB,iCAAjB,iBAAiB,QAG5B"}
@@ -53,7 +53,7 @@ class RDBEntityService extends core_1.PersistanceEntityService {
53
53
  });
54
54
  query.push(`(${innerQuery.join(' and ')})`);
55
55
  });
56
- return { field: core_1.SelectOperator.Or, value: { params, query: `(${query.join(' or ')})` } };
56
+ return { field: core_1.PersistanceSelectOperator.Or, value: { params, query: `(${query.join(' or ')})` } };
57
57
  }
58
58
  bulkCreate(data, options) {
59
59
  return __awaiter(this, void 0, void 0, function* () {
@@ -109,34 +109,36 @@ class RDBEntityService extends core_1.PersistanceEntityService {
109
109
  }
110
110
  delete(options) {
111
111
  return __awaiter(this, void 0, void 0, function* () {
112
- const { filters, forceTransaction, transactionManager, softDelete = true } = options;
112
+ const { filters, forceTransaction, returnOriginalItems, transactionManager, softDelete = true } = options;
113
113
  if (!transactionManager && forceTransaction) {
114
114
  return this.repository.manager.transaction(tm => {
115
115
  return this.delete(Object.assign(Object.assign({}, options), { transactionManager: tm }));
116
116
  });
117
117
  }
118
118
  const entityName = this.repository.metadata.name;
119
- const tableName = this.repository.metadata.tableName;
119
+ const tableName = this.repository.metadata.name;
120
+ const dataToReturn = {};
120
121
  const deleteType = softDelete ? 'softDelete' : 'delete';
121
122
  const queryBuilder = this.getRepository(transactionManager).createQueryBuilder(entityName)[deleteType]();
122
123
  const { where: parsedWhere, include } = this.qb.parseFilters(tableName, filters);
123
124
  let where = {};
124
- if (Object.keys(include).length) {
125
+ if (Object.keys(include).length || returnOriginalItems) {
125
126
  const findData = yield this.find({ filters, transactionManager });
126
127
  const { field, value } = this.buildPrimaryKeyWhereClause(findData.items);
127
128
  where[field] = value;
129
+ dataToReturn.originalItems = findData.items;
128
130
  }
129
131
  else {
130
132
  where = parsedWhere;
131
133
  }
132
134
  this.qb.buildQuery(queryBuilder, { where });
133
135
  const result = yield queryBuilder.execute();
134
- return { count: typeof result.affected === 'number' ? result.affected : undefined };
136
+ return Object.assign(Object.assign({}, dataToReturn), { count: typeof result.affected === 'number' ? result.affected : undefined });
135
137
  });
136
138
  }
137
139
  find(options) {
138
140
  return __awaiter(this, void 0, void 0, function* () {
139
- const { filters, forceTransaction, page: optPage, perPage: optPerPage, findAll: optFindAll, include: optRelations, orderBy: optOrderBy, transactionManager, withDeleted = false } = options;
141
+ const { filters, forceTransaction, getTotalCount = true, page: optPage, perPage: optPerPage, findAll: optFindAll, include: optRelations, orderBy: optOrderBy, transactionManager, withDeleted = false } = options;
140
142
  if (!transactionManager && forceTransaction) {
141
143
  return this.repository.manager.transaction(tm => {
142
144
  return this.find(Object.assign(Object.assign({}, options), { transactionManager: tm }));
@@ -173,9 +175,14 @@ class RDBEntityService extends core_1.PersistanceEntityService {
173
175
  if (findAll) {
174
176
  findResults.perPage = items.length;
175
177
  }
176
- else if (items.length === perPage + 1) {
177
- items.pop();
178
- findResults.more = true;
178
+ else {
179
+ if (items.length === perPage + 1) {
180
+ items.pop();
181
+ findResults.more = true;
182
+ }
183
+ if (getTotalCount) {
184
+ findResults.totalCount = yield this.count(options);
185
+ }
179
186
  }
180
187
  findResults.items = items;
181
188
  return findResults;
@@ -268,35 +275,42 @@ class RDBEntityService extends core_1.PersistanceEntityService {
268
275
  }
269
276
  update(data, options) {
270
277
  return __awaiter(this, void 0, void 0, function* () {
271
- const { filters, forceTransaction, returnData, transactionManager } = options;
278
+ const { filters, forceTransaction, returnData, returnOriginalItems, transactionManager } = options;
272
279
  if (!transactionManager && forceTransaction) {
273
280
  return this.repository.manager.transaction(tm => {
274
281
  return this.update(data, Object.assign(Object.assign({}, options), { transactionManager: tm }));
275
282
  });
276
283
  }
277
284
  const entityName = this.repository.metadata.name;
278
- const tableName = this.repository.metadata.tableName;
279
- const queryBuilder = this.getRepository(transactionManager)
280
- .createQueryBuilder(entityName)
281
- .update()
282
- .set(data);
285
+ const tableName = this.repository.metadata.name;
286
+ const queryBuilder = this.getRepository(transactionManager).createQueryBuilder(entityName).update().set(data);
283
287
  const { where: parsedWhere, include } = this.qb.parseFilters(tableName, filters);
288
+ let originalItems = [];
284
289
  let where = {};
285
- if (Object.keys(include).length) {
290
+ if (Object.keys(include).length || returnOriginalItems) {
286
291
  const findData = yield this.find({ filters, transactionManager });
287
292
  const { field, value } = this.buildPrimaryKeyWhereClause(findData.items);
293
+ originalItems = findData.items;
288
294
  where[field] = value;
289
295
  }
290
296
  else {
291
297
  where = parsedWhere;
292
298
  }
293
299
  this.qb.buildQuery(queryBuilder, { where });
300
+ const dataToReturn = {};
301
+ if (returnOriginalItems) {
302
+ dataToReturn.originalItems = originalItems;
303
+ }
294
304
  if (returnData) {
295
305
  const result = yield queryBuilder.returning('*').execute();
296
- return { items: result.raw };
306
+ dataToReturn.count = result.raw.length;
307
+ dataToReturn.items = result.raw;
297
308
  }
298
- const result = yield queryBuilder.execute();
299
- return { count: typeof result.affected === 'number' ? result.affected : undefined };
309
+ else {
310
+ const result = yield queryBuilder.execute();
311
+ dataToReturn.count = typeof result.affected === 'number' ? result.affected : undefined;
312
+ }
313
+ return dataToReturn;
300
314
  });
301
315
  }
302
316
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rdb.entity.service.js","sourceRoot":"","sources":["../../src/entity/rdb.entity.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uCAUsB;AAGtB,qFAS0C;AAQ1C,MAAa,gBAAwD,SAAQ,+BAAgC;IAG3G,YAEY,EAA0B,EAE1B,UAAiC,EACjC,MAAuB;;QAEjC,KAAK,EAAE,CAAC;QALE,OAAE,GAAF,EAAE,CAAwB;QAE1B,eAAU,GAAV,UAAU,CAAuB;QACjC,WAAM,GAAN,MAAM,CAAiB;QAGjC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC;QACnC,MAAM,WAAW,GAAa,EAAE,CAAC;QACjC,KAAK,MAAM,UAAU,IAAI,OAAO,EAAE,CAAC;YACjC,IAAI,MAAA,OAAO,CAAC,UAAU,CAAC,0CAAE,OAAO,EAAE,CAAC;gBACjC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;QACD,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAES,0BAA0B,CAAC,IAAc;QACjD,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;QAC7C,MAAM,EAAE,kBAAkB,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;QACvC,MAAM,SAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC;QAChD,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,MAAM,CAAC,UAAU,CAAC,GAAG,WAAW,CAAC;YACjC,OAAO;gBACL,KAAK,EAAE,UAAU;gBACjB,KAAK,EAAE;oBACL,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAA0B,CAAC,CAAC,EAAE;oBAC5E,KAAK,EAAE,GAAG,GAAG,GAAG,SAAS,GAAG,GAAG,IAAI,GAAG,GAAG,UAAU,GAAG,GAAG,QAAQ,UAAU,EAAE;iBAC9E;aACF,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAA2B,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE;YAC/B,MAAM,UAAU,GAAa,EAAE,CAAC;YAChC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;gBAC9B,MAAM,cAAc,GAAG,GAAG,SAAS,GAAG,SAAS,EAAE,CAAC;gBAClD,MAAM,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,SAAyB,CAAC,CAAC;gBACzD,UAAU,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,SAAS,GAAG,GAAG,IAAI,GAAG,GAAG,SAAS,GAAG,GAAG,OAAO,cAAc,EAAE,CAAC,CAAC;YAC5F,CAAC,CAAC,CAAC;YACH,KAAK,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QACH,OAAO,EAAE,KAAK,EAAE,gCAAyB,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC;IACtG,CAAC;IAEK,UAAU,CAAC,IAAuB,EAAE,OAA2B;;YACnE,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAsB,CAAC;YACxE,MAAM,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,GAAG,aAAa,CAAC;YAC/D,IAAI,CAAC,kBAAkB,IAAI,gBAAgB,EAAE,CAAC;gBAC5C,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE;oBAC9C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,kCAAO,aAAa,KAAE,kBAAkB,EAAE,EAAE,IAAG,CAAC;gBAC7E,CAAC,CAAsB,CAAC;YAC1B,CAAC;YACD,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;QACnD,CAAC;KAAA;IAEK,MAAM,CAAC,IAAqB,EAAE,OAAuB;;YACzD,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAkB,CAAC;YACpE,MAAM,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,GAAG,aAAa,CAAC;YAC/D,IAAI,CAAC,kBAAkB,IAAI,gBAAgB,EAAE,CAAC;gBAC5C,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE;oBAC9C,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,kCAAO,aAAa,KAAE,kBAAkB,EAAE,EAAE,IAAG,CAAC;gBACzE,CAAC,CAAoB,CAAC;YACxB,CAAC;YACD,IAAI,CAAC;gBACH,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;YACnD,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,KAAK,GAAG,CAA4B,CAAC;gBAE3C,IAAI,KAAK,CAAC,IAAI,KAAK,kDAAiB,CAAC,eAAe,EAAE,CAAC;oBACrD,MAAM,mBAAmB,GAAG,IAAI,MAAM,CAAC,uBAAuB,CAAC,CAAC;oBAChE,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,MAAgB,CAAC,CAAC;oBAChE,MAAM,IAAI,uBAAgB,CACxB,GAAG,KAAK,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,kCAAkC,qBAAqB,CAChG,CAAC;gBACJ,CAAC;gBACD,MAAM,CAAC,CAAC;YACV,CAAC;QACH,CAAC;KAAA;IAEK,KAAK,CAAC,OAAqB;;YAC/B,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,WAAW,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;YACvF,IAAI,CAAC,kBAAkB,IAAI,gBAAgB,EAAE,CAAC;gBAC5C,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE;oBAC9C,OAAO,IAAI,CAAC,KAAK,iCAAM,OAAO,KAAE,kBAAkB,EAAE,EAAE,IAAG,CAAC;gBAC5D,CAAC,CAAoB,CAAC;YACxB,CAAC;YACD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC;YACjD,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC;YAChD,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;YAC3F,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,OAAQ,CAAC,CAAC;YACzF,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,SAAS,EAAE,EAAE,EAAE,kBAAkB,CAAC,CAAC;YAC1E,IAAI,CAAC,EAAE,CAAC,UAAU,CAAS,YAAY,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;YAC1E,OAAO,MAAM,YAAY,CAAC,QAAQ,EAAE,CAAC;QACvC,CAAC;KAAA;IAEK,MAAM,CAAC,OAAsB;;YACjC,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,UAAU,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;YAC1G,IAAI,CAAC,kBAAkB,IAAI,gBAAgB,EAAE,CAAC;gBAC5C,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE;oBAC9C,OAAO,IAAI,CAAC,MAAM,iCAAM,OAAO,KAAE,kBAAkB,EAAE,EAAE,IAAG,CAAC;gBAC7D,CAAC,CAA6C,CAAC;YACjD,CAAC;YACD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC;YAEjD,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC;YAChD,MAAM,YAAY,GAAoC,EAAE,CAAC;YACzD,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC;YACxD,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC;YACzG,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACjF,IAAI,KAAK,GAA0C,EAAE,CAAC;YACtD,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,IAAI,mBAAmB,EAAE,CAAC;gBACvD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC,CAAC;gBAClE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBACzE,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;gBACrB,YAAY,CAAC,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC;YAC9C,CAAC;iBAAM,CAAC;gBACN,KAAK,GAAG,WAAW,CAAC;YACtB,CAAC;YACD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAS,YAAY,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YACpD,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,CAAC;YAC5C,uCAAY,YAAY,KAAE,KAAK,EAAE,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,IAAG;QACvG,CAAC;KAAA;IAEK,IAAI,CAAC,OAAoB;;YAC7B,MAAM,EACJ,OAAO,EACP,gBAAgB,EAChB,aAAa,GAAG,IAAI,EACpB,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,UAAU,EACnB,kBAAkB,EAClB,WAAW,GAAG,KAAK,EACpB,GAAG,OAAO,CAAC;YACZ,IAAI,CAAC,kBAAkB,IAAI,gBAAgB,EAAE,CAAC;gBAC5C,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE;oBAC9C,OAAO,IAAI,CAAC,IAAI,iCAAM,OAAO,KAAE,kBAAkB,EAAE,EAAE,IAAG,CAAC;gBAC3D,CAAC,CAA4C,CAAC;YAChD,CAAC;YACD,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,OAA4B,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACtE,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,UAA+B,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAChF,MAAM,OAAO,GAAG,UAAU,KAAK,IAAI,IAAK,UAAsB,KAAK,MAAM,CAAC;YAC1E,MAAM,WAAW,GAAmC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;YACpG,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC;YACjD,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC;YAChD,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;YAC3F,IAAI,KAAK,GAA0C,EAAE,CAAC;YACtD,IAAI,OAAO,GAAiB,EAAE,CAAC;YAC/B,IAAI,OAAO,GAAyB,EAAE,CAAC;YACvC,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,iBAAiB,GAAG,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBACnE,KAAK,qBAAQ,iBAAiB,CAAC,KAAK,CAAE,CAAC;gBACvC,OAAO,qBAAQ,iBAAiB,CAAC,OAAO,CAAE,CAAC;YAC7C,CAAC;YACD,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,SAAS,EAAE,YAAY,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;YACzE,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,iBAAiB,GAAG,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;gBACtE,OAAO,mCAAQ,iBAAiB,CAAC,OAAO,GAAK,OAAO,CAAE,CAAC;gBACvD,OAAO,GAAG,CAAC,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAC3C,CAAC;YACD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAS,YAAY,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;YACnF,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;gBAC1D,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC;gBACxB,WAAW,CAAC,OAAO,GAAG,OAAO,CAAC;YAChC,CAAC;YACD,MAAM,KAAK,GAAa,MAAM,YAAY,CAAC,OAAO,EAAE,CAAC;YACrD,IAAI,OAAO,EAAE,CAAC;gBACZ,WAAW,CAAC,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC;YACrC,CAAC;iBAAM,CAAC;gBACN,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO,GAAG,CAAC,EAAE,CAAC;oBACjC,KAAK,CAAC,GAAG,EAAE,CAAC;oBACZ,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC;gBAC1B,CAAC;gBACD,IAAI,aAAa,EAAE,CAAC;oBAClB,WAAW,CAAC,UAAU,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBACrD,CAAC;YACH,CAAC;YACD,WAAW,CAAC,KAAK,GAAG,KAAK,CAAC;YAC1B,OAAO,WAAW,CAAC;QACrB,CAAC;KAAA;IAEK,OAAO,CAAC,OAAuB;;YACnC,MAAM,EACJ,OAAO,EACP,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,UAAU,EACnB,WAAW,GAAG,KAAK,EACpB,GAAG,OAAO,CAAC;YACZ,IAAI,CAAC,kBAAkB,IAAI,gBAAgB,EAAE,CAAC;gBAC5C,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE;oBAC9C,OAAO,IAAI,CAAC,OAAO,iCAAM,OAAO,KAAE,kBAAkB,EAAE,EAAE,IAAG,CAAC;gBAC9D,CAAC,CAA2B,CAAC;YAC/B,CAAC;YACD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC;YACjD,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC;YAChD,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;YAC3F,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,EAAE;gBACtF,QAAQ,EAAE,cAA2C;gBACrD,UAAU,EAAE,IAAI;aACjB,CAAC,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,SAAS,EAAE,YAAY,IAAI,EAAE,EAAE,kBAAkB,CAAC,CAAC;YAC1F,IAAI,OAAO,GAAyB,EAAE,CAAC;YACvC,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,iBAAiB,GAAG,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;gBACtE,OAAO,GAAG,CAAC,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAC3C,CAAC;YACD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAS,YAAY,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;YACnF,OAAO,MAAM,YAAY,CAAC,MAAM,EAAE,CAAC;QACrC,CAAC;KAAA;IAED,eAAe;QACb,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;IAChC,CAAC;IAES,aAAa,CAAC,kBAAqC;QAC3D,IAAI,kBAAkB,EAAE,CAAC;YACvB,OAAO,kBAAkB,CAAC,aAAa,CAAS,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC1E,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAIe,iBAAiB,CAC/B,IAMC,EACD,OAAmD;;YAEnD,MAAM,EAAE,mBAAmB,EAAE,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;YAC9E,MAAM,aAAa,GAAG,OAAO,IAAI,EAAE,CAAC;YACpC,MAAM,EAAE,kBAAkB,EAAE,GAAG,aAAa,CAAC;YAE7C,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACxB,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE;oBAC9C,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,kCAAO,aAAa,KAAE,kBAAkB,EAAE,EAAE,IAAG,CAAC;gBACpF,CAAC,CAAkB,CAAC;YACtB,CAAC;YACD,MAAM,EAAE,kBAAkB,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;YAC5C,IAAI,WAAW,GAAG,eAAe,GAAG,GAAG,SAAS,GAAG,GAAG,SAAS,CAAC;YAChE,IAAI,cAAc,GAAG,KAAK,CAAC;YAC3B,IAAI,WAAW,GAAG,eAAe,GAAG,GAAG,SAAS,GAAG,GAAG,KAAK,GAAG,GAAG,mBAAmB,GAAG,GAAG,KAAK,GAAG,GAAG,iBAAiB,GAAG,GAAG,WAAW,CAAC;YACxI,IAAI,cAAc,GAAG,KAAK,CAAC;YAC3B,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBACnB,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;gBAChC,IAAI,OAAO,EAAE,CAAC;oBACZ,IAAI,cAAc,EAAE,CAAC;wBACnB,WAAW,IAAI,MAAM,CAAC;oBACxB,CAAC;yBAAM,CAAC;wBACN,cAAc,GAAG,IAAI,CAAC;oBACxB,CAAC;oBACD,WAAW,IAAI,IAAI,GAAG,GAAG,mBAAmB,GAAG,GAAG,MAAM,EAAE,QAAQ,GAAG,GAAG,iBAAiB,GAAG,GAAG,MAAM,KAAK,GAAG,CAAC;oBAC9G,OAAO;gBACT,CAAC;gBACD,IAAI,cAAc,EAAE,CAAC;oBACnB,WAAW,IAAI,IAAI,CAAC;gBACtB,CAAC;qBAAM,CAAC;oBACN,cAAc,GAAG,IAAI,CAAC;gBACxB,CAAC;gBACD,WAAW,IAAI,IAAI,EAAE,KAAK,KAAK,GAAG,CAAC;YACrC,CAAC,CAAC,CAAC;YACH,IAAI,cAAc,EAAE,CAAC;gBACnB,MAAM,kBAAkB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAC9C,CAAC;YACD,IAAI,cAAc,EAAE,CAAC;gBACnB,MAAM,kBAAkB,CAAC,KAAK,CAAC,GAAG,WAAW,yBAAyB,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC;KAAA;IAEe,IAAI,CAClB,IAAU,EACV,kBAAqC;;YAErC,IAAI,kBAAkB,EAAE,CAAC;gBACvB,OAAO,CAAC,MAAM,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,IAAuB,CAAC,CAAe,CAAC;YACxG,CAAC;YACD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAuB,CAAe,CAAC;QACrE,CAAC;KAAA;IAEK,MAAM,CAAC,IAAY,EAAE,OAAsB;;YAC/C,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC;YACnG,IAAI,CAAC,kBAAkB,IAAI,gBAAgB,EAAE,CAAC;gBAC5C,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE;oBAC9C,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,kCAAO,OAAO,KAAE,kBAAkB,EAAE,EAAE,IAAG,CAAC;gBACnE,CAAC,CAA6C,CAAC;YACjD,CAAC;YACD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC;YAEjD,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC;YAChD,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC9G,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACjF,IAAI,aAAa,GAAa,EAAE,CAAC;YACjC,IAAI,KAAK,GAA0C,EAAE,CAAC;YACtD,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,IAAI,mBAAmB,EAAE,CAAC;gBACvD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC,CAAC;gBAClE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBACzE,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC;gBAC/B,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;YACvB,CAAC;iBAAM,CAAC;gBACN,KAAK,GAAG,WAAW,CAAC;YACtB,CAAC;YACD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAS,YAAY,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YACpD,MAAM,YAAY,GAAoC,EAAE,CAAC;YACzD,IAAI,mBAAmB,EAAE,CAAC;gBACxB,YAAY,CAAC,aAAa,GAAG,aAAa,CAAC;YAC7C,CAAC;YACD,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;gBAE3D,YAAY,CAAC,KAAK,GAAI,MAAM,CAAC,GAAgB,CAAC,MAAM,CAAC;gBACrD,YAAY,CAAC,KAAK,GAAG,MAAM,CAAC,GAAe,CAAC;YAC9C,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,CAAC;gBAC5C,YAAY,CAAC,KAAK,GAAG,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YACzF,CAAC;YACD,OAAO,YAAY,CAAC;QACtB,CAAC;KAAA;CACF;AA5UD,4CA4UC"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export * from './common/definitions';
2
- export * from './entityService';
3
- export * from './module';
2
+ export * from './entity';
3
+ export * from './ormQueryBuilder';
4
4
  export * from './repository';
5
5
  export * from './sqlQueryBuilder';
package/dist/index.js CHANGED
@@ -15,8 +15,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./common/definitions"), exports);
18
- __exportStar(require("./entityService"), exports);
19
- __exportStar(require("./module"), exports);
18
+ __exportStar(require("./entity"), exports);
19
+ __exportStar(require("./ormQueryBuilder"), exports);
20
20
  __exportStar(require("./repository"), exports);
21
21
  __exportStar(require("./sqlQueryBuilder"), exports);
22
22
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAqC;AACrC,kDAAgC;AAChC,2CAAyB;AACzB,+CAA6B;AAC7B,oDAAkC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAqC;AACrC,2CAAyB;AACzB,oDAAkC;AAClC,+CAA6B;AAC7B,oDAAkC"}
@@ -0,0 +1 @@
1
+ export * from './rdb.ormQueryBuilder';
@@ -14,6 +14,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./rdb.module.definitions"), exports);
18
- __exportStar(require("./rdb.module"), exports);
17
+ __exportStar(require("./rdb.ormQueryBuilder"), exports);
19
18
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ormQueryBuilder/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC"}
@@ -0,0 +1,38 @@
1
+ import { PersistanceOrderByDirection } from '@node-c/core';
2
+ export declare abstract class OrmBaseQueryBuilder<Entity> {
3
+ abstract andWhere(..._args: unknown[]): OrmBaseQueryBuilder<Entity>;
4
+ abstract orWhere(..._args: unknown[]): OrmBaseQueryBuilder<Entity>;
5
+ abstract where(..._args: unknown[]): OrmBaseQueryBuilder<Entity>;
6
+ }
7
+ export declare abstract class OrmDeleteQueryBuilder<Entity> extends OrmBaseQueryBuilder<Entity> {
8
+ abstract execute(): Promise<OrmDeleteQueryBuilderDeleteResult>;
9
+ }
10
+ export interface OrmDeleteQueryBuilderDeleteResult {
11
+ affected?: number | null;
12
+ raw: unknown;
13
+ }
14
+ export declare abstract class OrmSelectQueryBuilder<Entity> extends OrmBaseQueryBuilder<Entity> {
15
+ abstract addOrderBy(_field: string, _direction: PersistanceOrderByDirection): OrmSelectQueryBuilder<Entity>;
16
+ abstract delete(): OrmDeleteQueryBuilder<Entity>;
17
+ abstract getCount(): Promise<number>;
18
+ abstract getMany(): Promise<Entity[]>;
19
+ abstract getOne(): Promise<Entity | null>;
20
+ abstract leftJoinAndSelect(..._args: unknown[]): OrmSelectQueryBuilder<Entity>;
21
+ abstract orderBy(_field: string, _direction: PersistanceOrderByDirection): OrmSelectQueryBuilder<Entity>;
22
+ abstract select(_selection: string[]): OrmSelectQueryBuilder<Entity>;
23
+ abstract skip(_skipCount: number): OrmSelectQueryBuilder<Entity>;
24
+ abstract softDelete(): OrmDeleteQueryBuilder<Entity>;
25
+ abstract take(_takeCount: number): OrmSelectQueryBuilder<Entity>;
26
+ abstract update(): OrmUpdateQueryBuilder<Entity>;
27
+ abstract withDeleted(): OrmSelectQueryBuilder<Entity>;
28
+ }
29
+ export declare abstract class OrmUpdateQueryBuilder<Entity> extends OrmBaseQueryBuilder<Entity> {
30
+ abstract execute(): Promise<OrmUpdateQueryBuilderUpdateResult>;
31
+ abstract returning(_selection: string | string[]): OrmUpdateQueryBuilder<Entity>;
32
+ abstract set(..._args: unknown[]): OrmUpdateQueryBuilder<Entity>;
33
+ }
34
+ export interface OrmUpdateQueryBuilderUpdateResult {
35
+ affected?: number;
36
+ generatedMaps?: object[];
37
+ raw: unknown;
38
+ }
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OrmUpdateQueryBuilder = exports.OrmSelectQueryBuilder = exports.OrmDeleteQueryBuilder = exports.OrmBaseQueryBuilder = void 0;
4
+ class OrmBaseQueryBuilder {
5
+ }
6
+ exports.OrmBaseQueryBuilder = OrmBaseQueryBuilder;
7
+ class OrmDeleteQueryBuilder extends OrmBaseQueryBuilder {
8
+ }
9
+ exports.OrmDeleteQueryBuilder = OrmDeleteQueryBuilder;
10
+ class OrmSelectQueryBuilder extends OrmBaseQueryBuilder {
11
+ }
12
+ exports.OrmSelectQueryBuilder = OrmSelectQueryBuilder;
13
+ class OrmUpdateQueryBuilder extends OrmBaseQueryBuilder {
14
+ }
15
+ exports.OrmUpdateQueryBuilder = OrmUpdateQueryBuilder;
16
+ //# sourceMappingURL=rdb.ormQueryBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rdb.ormQueryBuilder.js","sourceRoot":"","sources":["../../src/ormQueryBuilder/rdb.ormQueryBuilder.ts"],"names":[],"mappings":";;;AAEA,MAAsB,mBAAmB;CAIxC;AAJD,kDAIC;AAED,MAAsB,qBAA8B,SAAQ,mBAA2B;CAEtF;AAFD,sDAEC;AAOD,MAAsB,qBAA8B,SAAQ,mBAA2B;CActF;AAdD,sDAcC;AAED,MAAsB,qBAA8B,SAAQ,mBAA2B;CAItF;AAJD,sDAIC"}
@@ -1,2 +1 @@
1
- export * from './rdb.repository.definitions';
2
- export * from './rdb.repository.module';
1
+ export * from './rdb.repository';
@@ -14,6 +14,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./rdb.repository.definitions"), exports);
18
- __exportStar(require("./rdb.repository.module"), exports);
17
+ __exportStar(require("./rdb.repository"), exports);
19
18
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/repository/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+DAA6C;AAC7C,0DAAwC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/repository/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC"}
@@ -0,0 +1,22 @@
1
+ import { GenericObject, GenericObjectType } from '@node-c/core';
2
+ import { OrmSelectQueryBuilder } from '../ormQueryBuilder';
3
+ export declare abstract class RDBEntityManager {
4
+ abstract getRepository<Entity extends GenericObject<unknown>>(_target: unknown): RDBRepository<Entity>;
5
+ abstract query(_query: string, _params?: unknown[]): Promise<unknown>;
6
+ abstract save<Entity extends GenericObject<unknown> = GenericObject<unknown>>(_target: unknown, _data: Partial<Entity> | Partial<Entity[]>, _options?: unknown): Promise<unknown>;
7
+ abstract transaction(_callback: (_em: RDBEntityManager) => Promise<unknown>): Promise<unknown>;
8
+ }
9
+ export type RDBEntityTarget<Entity> = string | {
10
+ name: string;
11
+ type: Entity;
12
+ } | GenericObjectType<Entity>;
13
+ export declare abstract class RDBRepository<Entity extends GenericObject<unknown>> {
14
+ manager: RDBEntityManager;
15
+ metadata: {
16
+ name: string;
17
+ tableName: string;
18
+ };
19
+ target: unknown;
20
+ abstract createQueryBuilder(_entityName: string, _queryRunner?: unknown): OrmSelectQueryBuilder<Entity>;
21
+ abstract save(_data: Partial<Entity> | Partial<Entity[]>, _options?: unknown): Promise<unknown>;
22
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RDBRepository = exports.RDBEntityManager = void 0;
4
+ class RDBEntityManager {
5
+ }
6
+ exports.RDBEntityManager = RDBEntityManager;
7
+ class RDBRepository {
8
+ }
9
+ exports.RDBRepository = RDBRepository;
10
+ //# sourceMappingURL=rdb.repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rdb.repository.js","sourceRoot":"","sources":["../../src/repository/rdb.repository.ts"],"names":[],"mappings":";;;AAIA,MAAsB,gBAAgB;CASrC;AATD,4CASC;AAID,MAAsB,aAAa;CAUlC;AAVD,sCAUC"}
@@ -1,3 +1,3 @@
1
- export * from './sqlQueryBuilder.definitions';
2
- export * from './sqlQueryBuilder.module';
3
- export * from './sqlQueryBuilder.service';
1
+ export * from './rdb.sqlQueryBuilder.definitions';
2
+ export * from './rdb.sqlQueryBuilder.module';
3
+ export * from './rdb.sqlQueryBuilder.service';
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./sqlQueryBuilder.definitions"), exports);
18
- __exportStar(require("./sqlQueryBuilder.module"), exports);
19
- __exportStar(require("./sqlQueryBuilder.service"), exports);
17
+ __exportStar(require("./rdb.sqlQueryBuilder.definitions"), exports);
18
+ __exportStar(require("./rdb.sqlQueryBuilder.module"), exports);
19
+ __exportStar(require("./rdb.sqlQueryBuilder.service"), exports);
20
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sqlQueryBuilder/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gEAA8C;AAC9C,2DAAyC;AACzC,4DAA0C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sqlQueryBuilder/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oEAAkD;AAClD,+DAA6C;AAC7C,gEAA8C"}
@@ -1,8 +1,8 @@
1
- import { GenericObject } from '@node-c/core';
1
+ import { GenericObject, PersistanceOrderBy } from '@node-c/core';
2
2
  export interface BuildQueryOptions {
3
3
  deletedColumnName?: string;
4
4
  include?: IncludeItems;
5
- orderBy?: OrderBy[];
5
+ orderBy?: PersistanceOrderBy[];
6
6
  select?: string[];
7
7
  where?: {
8
8
  [fieldName: string]: ParsedFilter;
@@ -12,10 +12,6 @@ export interface BuildQueryOptions {
12
12
  export interface IncludeItems {
13
13
  [relationProperty: string]: string;
14
14
  }
15
- export interface OrderBy {
16
- field: string;
17
- direction: 'ASC' | 'DESC';
18
- }
19
15
  export interface ParsedFilter {
20
16
  params?: GenericObject<unknown>;
21
17
  query: string;
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=rdb.repository.definitions.js.map
3
+ //# sourceMappingURL=rdb.sqlQueryBuilder.definitions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rdb.sqlQueryBuilder.definitions.js","sourceRoot":"","sources":["../../src/sqlQueryBuilder/rdb.sqlQueryBuilder.definitions.ts"],"names":[],"mappings":""}
@@ -1,5 +1,5 @@
1
1
  import { DynamicModule } from '@nestjs/common';
2
- import { SQLQueryBuilderModuleOptions } from './sqlQueryBuilder.definitions';
2
+ import { SQLQueryBuilderModuleOptions } from './rdb.sqlQueryBuilder.definitions';
3
3
  export declare class SQLQueryBuilderModule {
4
4
  static register(options: SQLQueryBuilderModuleOptions): DynamicModule;
5
5
  }
@@ -9,7 +9,7 @@ var SQLQueryBuilderModule_1;
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.SQLQueryBuilderModule = void 0;
11
11
  const common_1 = require("@nestjs/common");
12
- const sqlQueryBuilder_service_1 = require("./sqlQueryBuilder.service");
12
+ const rdb_sqlQueryBuilder_service_1 = require("./rdb.sqlQueryBuilder.service");
13
13
  const definitions_1 = require("../common/definitions");
14
14
  let SQLQueryBuilderModule = SQLQueryBuilderModule_1 = class SQLQueryBuilderModule {
15
15
  static register(options) {
@@ -23,14 +23,14 @@ let SQLQueryBuilderModule = SQLQueryBuilderModule_1 = class SQLQueryBuilderModul
23
23
  provide: definitions_1.Constants.SQL_BUILDER_DB_CONFIG_PATH,
24
24
  useValue: `config.persistance.${persistanceModuleName}`
25
25
  },
26
- { provide: serviceToken, useClass: sqlQueryBuilder_service_1.SQLQueryBuilderService }
26
+ { provide: serviceToken, useClass: rdb_sqlQueryBuilder_service_1.SQLQueryBuilderService }
27
27
  ],
28
- exports: [{ provide: serviceToken, useClass: sqlQueryBuilder_service_1.SQLQueryBuilderService }]
28
+ exports: [{ provide: serviceToken, useClass: rdb_sqlQueryBuilder_service_1.SQLQueryBuilderService }]
29
29
  };
30
30
  }
31
31
  };
32
- SQLQueryBuilderModule = SQLQueryBuilderModule_1 = __decorate([
32
+ exports.SQLQueryBuilderModule = SQLQueryBuilderModule;
33
+ exports.SQLQueryBuilderModule = SQLQueryBuilderModule = SQLQueryBuilderModule_1 = __decorate([
33
34
  (0, common_1.Module)({})
34
35
  ], SQLQueryBuilderModule);
35
- exports.SQLQueryBuilderModule = SQLQueryBuilderModule;
36
- //# sourceMappingURL=sqlQueryBuilder.module.js.map
36
+ //# sourceMappingURL=rdb.sqlQueryBuilder.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rdb.sqlQueryBuilder.module.js","sourceRoot":"","sources":["../../src/sqlQueryBuilder/rdb.sqlQueryBuilder.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAuD;AAGvD,+EAAuE;AAEvE,uDAAkD;AAG3C,IAAM,qBAAqB,6BAA3B,MAAM,qBAAqB;IAChC,MAAM,CAAC,QAAQ,CAAC,OAAqC;QACnD,MAAM,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAC;QAC1C,MAAM,YAAY,GAAG,GAAG,qBAAqB,GAAG,uBAAS,CAAC,gCAAgC,EAAE,CAAC;QAC7F,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,uBAAqB;YAC7B,SAAS,EAAE;gBACT;oBACE,OAAO,EAAE,uBAAS,CAAC,0BAA0B;oBAC7C,QAAQ,EAAE,sBAAsB,qBAAqB,EAAE;iBACxD;gBACD,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,oDAAsB,EAAE;aAC5D;YACD,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,oDAAsB,EAAE,CAAC;SACvE,CAAC;IACJ,CAAC;CACF,CAAA;AAjBY,sDAAqB;gCAArB,qBAAqB;IADjC,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,qBAAqB,CAiBjC"}
@@ -1,17 +1,16 @@
1
- import { ConfigProviderService, GenericObject, RDBType, SelectOperator } from '@node-c/core';
2
- import { DeleteQueryBuilder, ObjectLiteral, SelectQueryBuilder, UpdateQueryBuilder } from 'typeorm';
3
- import { SoftDeleteQueryBuilder } from 'typeorm/query-builder/SoftDeleteQueryBuilder';
4
- import { BuildQueryOptions, IncludeItems, OrderBy, ParsedFilter } from './sqlQueryBuilder.definitions';
1
+ import { ConfigProviderService, GenericObject, PersistanceOrderBy, PersistanceOrderByDirection, PersistanceSelectOperator, RDBType } from '@node-c/core';
2
+ import { BuildQueryOptions, IncludeItems, ParsedFilter } from './rdb.sqlQueryBuilder.definitions';
3
+ import { OrmBaseQueryBuilder, OrmSelectQueryBuilder } from '../ormQueryBuilder';
5
4
  export declare class SQLQueryBuilderService {
6
5
  configProvider: ConfigProviderService;
7
6
  dbConfigPath: string;
8
7
  allowedStringOperators: string[];
9
8
  columnQuotesSymbol: string;
10
- dbType: RDBType;
9
+ dbType: RDBType | string;
11
10
  iLikeSupported: boolean;
12
11
  constructor(configProvider: ConfigProviderService, dbConfigPath: string);
13
- buildQuery<Entity extends ObjectLiteral>(queryBuilder: SelectQueryBuilder<Entity> | UpdateQueryBuilder<Entity> | DeleteQueryBuilder<Entity> | SoftDeleteQueryBuilder<Entity>, options: BuildQueryOptions): void;
14
- getValueForFilter(entityName: string, fieldName: string, fieldAlias: string, fieldValue: unknown, isNot: boolean, operator?: SelectOperator): ParsedFilter;
12
+ buildQuery<Entity>(ormQueryBuilder: OrmBaseQueryBuilder<Entity> | OrmSelectQueryBuilder<Entity>, options: BuildQueryOptions): void;
13
+ getValueForFilter(entityName: string, fieldName: string, fieldAlias: string, fieldValue: unknown, isNot: boolean, operator?: PersistanceSelectOperator): ParsedFilter;
15
14
  parseArrayOfFilters(filtersArray: unknown[], fieldAlias: string): {
16
15
  hasValues: boolean;
17
16
  isSimple: boolean;
@@ -23,21 +22,21 @@ export declare class SQLQueryBuilderService {
23
22
  [fieldName: string]: string;
24
23
  };
25
24
  isTopLevel: boolean;
26
- operator?: SelectOperator;
25
+ operator?: PersistanceSelectOperator;
27
26
  }): {
28
27
  where: {
29
28
  [fieldName: string]: ParsedFilter;
30
29
  };
31
30
  include: IncludeItems;
32
31
  };
33
- parseInnerFilters(entityName: string, filtersObject: GenericObject, fieldName: string, fieldAlias: string, operator?: SelectOperator): {
32
+ parseInnerFilters(entityName: string, filtersObject: GenericObject, fieldName: string, fieldAlias: string, operator?: PersistanceSelectOperator): {
34
33
  parsedFilter: ParsedFilter;
35
34
  include: IncludeItems;
36
35
  };
37
36
  parseRelations(entityName: string, include: string[], currentInclude?: IncludeItems): IncludeItems;
38
- parseOrderBy(entityName: string, orderByData: GenericObject<string>): {
37
+ parseOrderBy(entityName: string, orderByData: GenericObject<PersistanceOrderByDirection>): {
39
38
  include: IncludeItems;
40
- orderBy: OrderBy[];
39
+ orderBy: PersistanceOrderBy[];
41
40
  };
42
41
  parseSelect(selectFields: string[], include?: IncludeItems): string[];
43
42
  }