@goatlab/fluent 0.7.5 → 0.7.10

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 (85) hide show
  1. package/dist/BaseConnector.d.ts +8 -31
  2. package/dist/BaseConnector.js +11 -104
  3. package/dist/FluentConnectorInterface.d.ts +17 -0
  4. package/dist/FluentConnectorInterface.js +2 -0
  5. package/dist/TypeOrmConnector/TypeOrmConnector.d.ts +8 -12
  6. package/dist/TypeOrmConnector/TypeOrmConnector.js +183 -546
  7. package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoBaseAggregations.d.ts +7 -0
  8. package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoBaseAggregations.js +148 -0
  9. package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoFindAggregatedQuery.d.ts +6 -0
  10. package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoFindAggregatedQuery.js +34 -0
  11. package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoSelect.d.ts +4 -0
  12. package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoSelect.js +12 -0
  13. package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoWhere.d.ts +6 -0
  14. package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoWhere.js +166 -0
  15. package/dist/TypeOrmConnector/queryBuilder/sql/getQueryBuilderWhere.d.ts +8 -0
  16. package/dist/TypeOrmConnector/queryBuilder/sql/getQueryBuilderWhere.js +200 -0
  17. package/dist/TypeOrmConnector/queryBuilder/sql/getTypeOrmWhere.d.ts +6 -0
  18. package/dist/TypeOrmConnector/queryBuilder/sql/getTypeOrmWhere.js +207 -0
  19. package/dist/TypeOrmConnector/test/basic/goat.entity.d.ts +3 -3
  20. package/dist/TypeOrmConnector/test/basic/goat.entity.js +1 -1
  21. package/dist/TypeOrmConnector/test/docker/docker.d.ts +1 -1
  22. package/dist/TypeOrmConnector/test/docker/docker.js +3 -4
  23. package/dist/TypeOrmConnector/test/docker/mongo.d.ts +16 -0
  24. package/dist/TypeOrmConnector/test/docker/mongo.js +93 -0
  25. package/dist/TypeOrmConnector/test/docker/mysql.js +1 -1
  26. package/dist/TypeOrmConnector/test/mongo/car.mongo.repository.d.ts +4 -2
  27. package/dist/TypeOrmConnector/test/mongo/car.mongo.repository.js +6 -1
  28. package/dist/TypeOrmConnector/test/mongo/roles.mongo.repository.d.ts +3 -2
  29. package/dist/TypeOrmConnector/test/mongo/roles.mongo.repository.js +3 -1
  30. package/dist/TypeOrmConnector/test/mongo/user.mongo.repository.d.ts +2 -2
  31. package/dist/TypeOrmConnector/test/mongo/user.mongo.repository.js +2 -1
  32. package/dist/TypeOrmConnector/test/mysql/car.mysql.repository.d.ts +6 -2
  33. package/dist/TypeOrmConnector/test/mysql/car.mysql.repository.js +10 -1
  34. package/dist/TypeOrmConnector/test/mysql/mysqlDataSource.js +1 -1
  35. package/dist/TypeOrmConnector/test/mysql/roles.mysql.repository.d.ts +3 -2
  36. package/dist/TypeOrmConnector/test/mysql/roles.mysql.repository.js +3 -1
  37. package/dist/TypeOrmConnector/test/mysql/user.mysql.repository.d.ts +2 -2
  38. package/dist/TypeOrmConnector/test/mysql/user.mysql.repository.js +2 -1
  39. package/dist/TypeOrmConnector/test/relations/car/car.entity.d.ts +0 -1
  40. package/dist/TypeOrmConnector/test/relations/car/car.entity.js +0 -8
  41. package/dist/TypeOrmConnector/test/relations/car/car.output.schema.d.ts +511 -0
  42. package/dist/TypeOrmConnector/test/relations/car/car.output.schema.js +8 -0
  43. package/dist/TypeOrmConnector/test/relations/car/car.repositoryTypeOrm.d.ts +4 -2
  44. package/dist/TypeOrmConnector/test/relations/car/car.repositoryTypeOrm.js +6 -1
  45. package/dist/TypeOrmConnector/test/relations/car/car.schema.d.ts +2 -25
  46. package/dist/TypeOrmConnector/test/relations/car/car.schema.js +3 -8
  47. package/dist/TypeOrmConnector/test/relations/relationsTestsSuite.d.ts +1 -1
  48. package/dist/TypeOrmConnector/test/relations/relationsTestsSuite.js +435 -35
  49. package/dist/TypeOrmConnector/test/relations/roles/role.output.schema.d.ts +152 -0
  50. package/dist/TypeOrmConnector/test/relations/roles/role.output.schema.js +14 -0
  51. package/dist/TypeOrmConnector/test/relations/roles/role.schema.d.ts +2 -25
  52. package/dist/TypeOrmConnector/test/relations/roles/role.schema.js +2 -10
  53. package/dist/TypeOrmConnector/test/relations/roles/roles.repositoryTypeOrm.d.ts +3 -2
  54. package/dist/TypeOrmConnector/test/relations/roles/roles.repositoryTypeOrm.js +3 -1
  55. package/dist/TypeOrmConnector/test/relations/user/user.repositoryTypeOrm.d.ts +2 -2
  56. package/dist/TypeOrmConnector/test/relations/user/user.repositoryTypeOrm.js +2 -1
  57. package/dist/TypeOrmConnector/test/relations/user/user.schema.d.ts +465 -69
  58. package/dist/TypeOrmConnector/test/relations/user/user.schema.js +54 -5
  59. package/dist/TypeOrmConnector/util/clearEmpties.d.ts +1 -0
  60. package/dist/TypeOrmConnector/util/clearEmpties.js +25 -0
  61. package/dist/TypeOrmConnector/util/extractConditions.d.ts +6 -0
  62. package/dist/TypeOrmConnector/util/extractConditions.js +80 -0
  63. package/dist/TypeOrmConnector/util/extractInclude.d.ts +2 -0
  64. package/dist/TypeOrmConnector/util/extractInclude.js +25 -0
  65. package/dist/TypeOrmConnector/util/extractMetadataFromKeys.d.ts +12 -0
  66. package/dist/TypeOrmConnector/util/extractMetadataFromKeys.js +42 -0
  67. package/dist/TypeOrmConnector/util/extractOrderBy.d.ts +4 -0
  68. package/dist/TypeOrmConnector/util/extractOrderBy.js +18 -0
  69. package/dist/TypeOrmConnector/util/getRelationsFromModelGenerator.d.ts +19 -0
  70. package/dist/TypeOrmConnector/util/getRelationsFromModelGenerator.js +26 -0
  71. package/dist/TypeOrmConnector/util/getSelectedKeysFromRawSql.d.ts +1 -0
  72. package/dist/TypeOrmConnector/util/getSelectedKeysFromRawSql.js +20 -0
  73. package/dist/TypeOrmConnector/util/isAnyObject.d.ts +1 -0
  74. package/dist/TypeOrmConnector/util/isAnyObject.js +7 -0
  75. package/dist/TypeOrmConnector/util/nestQueryResults.d.ts +2 -0
  76. package/dist/TypeOrmConnector/util/nestQueryResults.js +31 -0
  77. package/dist/index.d.ts +5 -4
  78. package/dist/index.js +2 -1
  79. package/dist/loadRelations.js +8 -10
  80. package/dist/tsconfig.tsbuildinfo +1 -1
  81. package/dist/types.d.ts +37 -20
  82. package/package.json +4 -3
  83. package/CHANGELOG.md +0 -1072
  84. package/dist/TypeOrmConnector/test/mongo/mongo.memory.d.ts +0 -4
  85. package/dist/TypeOrmConnector/test/mongo/mongo.memory.js +0 -43
@@ -1,21 +1,5 @@
1
1
  import { Collection } from '@goatlab/js-utils';
2
- import { FindByIdFilter, FluentHasManyParams, FluentBelongsToParams, FluentBelongsToManyParams, FluentQuery, LogicOperator, Primitives, PrimitivesArray, QueryFieldSelector, QueryOutput, SingleQueryOutput } from './types';
3
- export interface FluentConnectorInterface<ModelDTO, InputDTO, OutputDTO> {
4
- insert(data: InputDTO): Promise<OutputDTO>;
5
- insertMany(data: InputDTO[]): Promise<OutputDTO[]>;
6
- findById<T extends FindByIdFilter<ModelDTO>>(id: string, q?: T): Promise<SingleQueryOutput<T, ModelDTO, OutputDTO> | null>;
7
- findByIds<T extends FindByIdFilter<ModelDTO>>(ids: string[], q?: T): Promise<QueryOutput<T, ModelDTO, OutputDTO>>;
8
- findMany<T extends FluentQuery<ModelDTO>>(query?: T): Promise<QueryOutput<T, ModelDTO, OutputDTO>>;
9
- findFirst<T extends FluentQuery<ModelDTO>>(query?: T): Promise<SingleQueryOutput<T, ModelDTO, OutputDTO> | null>;
10
- requireById(id: string, q?: FindByIdFilter<ModelDTO>): Promise<SingleQueryOutput<FindByIdFilter<ModelDTO>, ModelDTO, OutputDTO>>;
11
- requireFirst<T extends FluentQuery<ModelDTO>>(query?: T): Promise<SingleQueryOutput<T, ModelDTO, OutputDTO>>;
12
- updateById(id: string, data: InputDTO): Promise<OutputDTO>;
13
- replaceById(id: string, data: InputDTO): Promise<OutputDTO>;
14
- deleteById(id: string): Promise<string>;
15
- loadFirst(query?: FluentQuery<ModelDTO>): any;
16
- loadById(id: string): any;
17
- raw(): any;
18
- }
2
+ import { FindByIdFilter, FluentHasManyParams, FluentBelongsToParams, FluentBelongsToManyParams, FluentQuery, Primitives, QueryFieldSelector, QueryOutput, AnyObject } from './types';
19
3
  export declare abstract class BaseConnector<ModelDTO, InputDTO, OutputDTO> {
20
4
  protected outputKeys: string[];
21
5
  protected relatedQuery?: {
@@ -34,12 +18,12 @@ export declare abstract class BaseConnector<ModelDTO, InputDTO, OutputDTO> {
34
18
  constructor();
35
19
  insertMany(data: InputDTO[]): Promise<OutputDTO[]>;
36
20
  updateById(id: string, data: InputDTO): Promise<OutputDTO>;
37
- findMany<T extends FluentQuery<ModelDTO>>(query?: T): Promise<QueryOutput<T, ModelDTO, OutputDTO>>;
38
- findFirst<T extends FluentQuery<ModelDTO>>(query?: T): Promise<SingleQueryOutput<T, ModelDTO, OutputDTO> | null>;
39
- requireById(id: string, q?: FindByIdFilter<ModelDTO>): Promise<SingleQueryOutput<FindByIdFilter<ModelDTO>, ModelDTO, OutputDTO>>;
40
- requireFirst<T extends FluentQuery<ModelDTO>>(query?: T): Promise<SingleQueryOutput<T, ModelDTO, OutputDTO>>;
41
- findByIds<T extends FindByIdFilter<ModelDTO>>(ids: string[], q?: T): Promise<QueryOutput<T, ModelDTO, OutputDTO>>;
42
- findById<T extends FindByIdFilter<ModelDTO>>(id: string, q?: T): Promise<SingleQueryOutput<T, ModelDTO, OutputDTO> | null>;
21
+ findMany<T extends FluentQuery<ModelDTO>>(query?: T): Promise<QueryOutput<T, ModelDTO>[]>;
22
+ findFirst<T extends FluentQuery<ModelDTO>>(query?: T): Promise<QueryOutput<T, ModelDTO> | null>;
23
+ requireById(id: string, q?: FindByIdFilter<ModelDTO>): Promise<QueryOutput<FindByIdFilter<ModelDTO>, ModelDTO>>;
24
+ requireFirst<T extends FluentQuery<ModelDTO>>(query?: T): Promise<QueryOutput<T, ModelDTO>>;
25
+ findByIds<T extends FindByIdFilter<ModelDTO>>(ids: string[], q?: T): Promise<QueryOutput<T, ModelDTO>[]>;
26
+ findById<T extends FindByIdFilter<ModelDTO>>(id: string, q?: T): Promise<QueryOutput<T, ModelDTO> | null>;
43
27
  collect(query: FluentQuery<ModelDTO>): Promise<Collection<OutputDTO>>;
44
28
  pluck(path: QueryFieldSelector<ModelDTO>, query?: FluentQuery<ModelDTO>): Promise<Primitives[]>;
45
29
  protected setRelatedQuery(r: {
@@ -49,18 +33,11 @@ export declare abstract class BaseConnector<ModelDTO, InputDTO, OutputDTO> {
49
33
  key?: string;
50
34
  }): void;
51
35
  associate(data: InputDTO | OutputDTO): Promise<OutputDTO[]>;
52
- attach(id: string): Promise<any>;
36
+ attach(id: string, pivot?: AnyObject): Promise<any>;
53
37
  protected hasMany<T extends FluentHasManyParams<T>>(r: T): InstanceType<T['repository']>;
54
38
  protected belongsTo<T extends FluentBelongsToParams<T>>(r: T): InstanceType<T['repository']>;
55
39
  protected hasOne(): void;
56
40
  protected belongsToMany<T extends FluentBelongsToManyParams<T>>(r: T): InstanceType<T['repository']>;
57
41
  protected hasManyThrough(): void;
58
- protected clearEmpties(object: any): any;
59
- private isAnyObject;
60
- protected extractConditions(conditions: FluentQuery<ModelDTO>['where'][]): {
61
- operator: LogicOperator;
62
- element: string;
63
- value: Primitives | PrimitivesArray;
64
- }[];
65
42
  protected jsApplySelect(select: FluentQuery<ModelDTO>['select'], data: ModelDTO[]): ModelDTO[];
66
43
  }
@@ -2,8 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BaseConnector = void 0;
4
4
  const js_utils_1 = require("@goatlab/js-utils");
5
- const types_1 = require("./types");
6
- const bson_1 = require("bson");
5
+ const clearEmpties_1 = require("./TypeOrmConnector/util/clearEmpties");
7
6
  class BaseConnector {
8
7
  constructor() {
9
8
  this.chunk = null;
@@ -42,7 +41,7 @@ class BaseConnector {
42
41
  if (this.isMongoDB) {
43
42
  d['id'] = d['id'].toString();
44
43
  }
45
- this.clearEmpties(js_utils_1.Objects.deleteNulls(d));
44
+ (0, clearEmpties_1.clearEmpties)(js_utils_1.Objects.deleteNulls(d));
46
45
  });
47
46
  if (!found[0]) {
48
47
  throw new Error(`Object ${id} not found`);
@@ -55,7 +54,7 @@ class BaseConnector {
55
54
  if (this.isMongoDB) {
56
55
  d['id'] = d['id'].toString();
57
56
  }
58
- this.clearEmpties(js_utils_1.Objects.deleteNulls(d));
57
+ (0, clearEmpties_1.clearEmpties)(js_utils_1.Objects.deleteNulls(d));
59
58
  });
60
59
  if (!found[0]) {
61
60
  const stringQuery = query ? JSON.stringify(query) : '';
@@ -121,14 +120,17 @@ class BaseConnector {
121
120
  [foreignKeyName]: r.id,
122
121
  ...data
123
122
  }));
124
- const existingIds = this.clearEmpties(relatedData.map(r => r.id));
123
+ const existingIds = (0, clearEmpties_1.clearEmpties)(relatedData.map(r => r.id));
125
124
  const existingData = existingIds.length
126
125
  ? await this.findByIds(relatedData.map(r => r.id))
127
126
  : [];
128
127
  const updateQueries = [];
129
128
  const insertQueries = [];
130
129
  for (const related of relatedData) {
131
- const exists = existingData.find((d) => d.id === related.id);
130
+ const exists = existingData.find((d) => {
131
+ const p = d;
132
+ p.id === related.id;
133
+ });
132
134
  if (exists) {
133
135
  updateQueries.push(this.updateById(exists.id, {
134
136
  ...exists,
@@ -143,7 +145,7 @@ class BaseConnector {
143
145
  const insertedResult = await this.insertMany(insertQueries);
144
146
  return [...updateResult, ...insertedResult];
145
147
  }
146
- async attach(id) {
148
+ async attach(id, pivot) {
147
149
  if (!this.relatedQuery?.entity || !this.relatedQuery.key) {
148
150
  throw new Error('Associate can only be called as a related model');
149
151
  }
@@ -160,7 +162,8 @@ class BaseConnector {
160
162
  }
161
163
  const relatedData = parentData.map(d => ({
162
164
  [foreignKeyName]: d.id,
163
- [inverseKeyName]: id
165
+ [inverseKeyName]: id,
166
+ ...pivot
164
167
  }));
165
168
  return this.relatedQuery.pivot.insertMany(relatedData);
166
169
  }
@@ -213,102 +216,6 @@ class BaseConnector {
213
216
  hasManyThrough() {
214
217
  throw new Error('Method not implemented');
215
218
  }
216
- clearEmpties(object) {
217
- Object.entries(object).forEach(([k, v]) => {
218
- if (v && typeof v === 'object')
219
- this.clearEmpties(v);
220
- if ((v && typeof v === 'object' && !Object.keys(v).length) ||
221
- v === null ||
222
- v === undefined ||
223
- v.length === 0) {
224
- if (Array.isArray(object)) {
225
- if (!(object[k] instanceof bson_1.ObjectId)) {
226
- object.splice(k, 1);
227
- }
228
- }
229
- else if (!(v instanceof Date) && !(v instanceof bson_1.ObjectId)) {
230
- delete object[k];
231
- }
232
- }
233
- });
234
- return object;
235
- }
236
- isAnyObject(val) {
237
- return typeof val === 'object' && !Array.isArray(val) && val !== null;
238
- }
239
- extractConditions(conditions) {
240
- const accumulatedClauses = [];
241
- if (!conditions) {
242
- return accumulatedClauses;
243
- }
244
- for (const clause of conditions) {
245
- if (!clause) {
246
- continue;
247
- }
248
- for (const el of Object.keys(clause)) {
249
- const value = clause[el];
250
- if (this.isAnyObject(value)) {
251
- const initialKey = el;
252
- const flatten = js_utils_1.Objects.flatten(value);
253
- for (const key of Object.keys(flatten)) {
254
- const transformedKey = key.replace(new RegExp('.[0-9]', 'g'), '');
255
- if (types_1.LogicOperator[transformedKey]) {
256
- if (types_1.LogicOperator[transformedKey] === types_1.LogicOperator.in ||
257
- types_1.LogicOperator[transformedKey] === types_1.LogicOperator.notIn) {
258
- accumulatedClauses.push({
259
- operator: types_1.LogicOperator[transformedKey],
260
- element: `${initialKey}`,
261
- value: value[transformedKey]
262
- });
263
- }
264
- else {
265
- accumulatedClauses.push({
266
- operator: types_1.LogicOperator[transformedKey],
267
- element: `${initialKey}`,
268
- value: flatten[key]
269
- });
270
- }
271
- }
272
- else if (transformedKey.includes('.')) {
273
- const op = key.split('.').slice(-1).pop();
274
- if (!op) {
275
- continue;
276
- }
277
- if (types_1.LogicOperator[op]) {
278
- accumulatedClauses.push({
279
- operator: types_1.LogicOperator[op],
280
- element: `${initialKey}.${key.replace(`.${op}`, '')}`,
281
- value: flatten[key]
282
- });
283
- }
284
- else {
285
- accumulatedClauses.push({
286
- operator: types_1.LogicOperator.equals,
287
- element: `${initialKey}.${key}`,
288
- value: flatten[key]
289
- });
290
- }
291
- }
292
- else {
293
- accumulatedClauses.push({
294
- operator: types_1.LogicOperator.equals,
295
- element: `${initialKey}.${transformedKey}`,
296
- value: flatten[key]
297
- });
298
- }
299
- }
300
- }
301
- else {
302
- accumulatedClauses.push({
303
- operator: types_1.LogicOperator.equals,
304
- element: el,
305
- value
306
- });
307
- }
308
- }
309
- }
310
- return accumulatedClauses;
311
- }
312
219
  jsApplySelect(select, data) {
313
220
  const _data = Array.isArray(data) ? [...data] : [data];
314
221
  if (!select) {
@@ -0,0 +1,17 @@
1
+ import { FindByIdFilter, FluentQuery, QueryOutput } from './types';
2
+ export interface FluentConnectorInterface<ModelDTO, InputDTO, OutputDTO> {
3
+ insert(data: InputDTO): Promise<OutputDTO>;
4
+ insertMany(data: InputDTO[]): Promise<OutputDTO[]>;
5
+ findById<T extends FindByIdFilter<ModelDTO>>(id: string, q?: T): Promise<QueryOutput<T, ModelDTO> | null>;
6
+ findByIds<T extends FindByIdFilter<ModelDTO>>(ids: string[], q?: T): Promise<QueryOutput<T, ModelDTO>[]>;
7
+ findMany<T extends FluentQuery<ModelDTO>>(query?: T): Promise<QueryOutput<T, ModelDTO>[]>;
8
+ findFirst<T extends FluentQuery<ModelDTO>>(query?: T): Promise<QueryOutput<T, ModelDTO> | null>;
9
+ requireById(id: string, q?: FindByIdFilter<ModelDTO>): Promise<QueryOutput<FindByIdFilter<ModelDTO>, ModelDTO>>;
10
+ requireFirst<T extends FluentQuery<ModelDTO>>(query?: T): Promise<QueryOutput<T, ModelDTO>>;
11
+ updateById(id: string, data: InputDTO): Promise<OutputDTO>;
12
+ replaceById(id: string, data: InputDTO): Promise<OutputDTO>;
13
+ deleteById(id: string): Promise<string>;
14
+ loadFirst(query?: FluentQuery<ModelDTO>): any;
15
+ loadById(id: string): any;
16
+ raw(): any;
17
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,12 +1,10 @@
1
1
  import { LoadedResult, QueryOutput } from './../types';
2
- import { FindManyOptions, Repository, MongoRepository } from 'typeorm';
3
- import { BaseConnector, FluentConnectorInterface } from '../BaseConnector';
2
+ import { Repository, MongoRepository } from 'typeorm';
3
+ import { BaseConnector } from '../BaseConnector';
4
+ import { FluentConnectorInterface } from '../FluentConnectorInterface';
4
5
  import type { AnyObject, FluentQuery } from '../types';
5
6
  import { DataSource } from 'typeorm';
6
7
  import { z } from 'zod';
7
- export declare const getRelationsFromModelGenerator: (typeOrmRepo: Repository<any>) => {
8
- relations: {};
9
- };
10
8
  export interface TypeOrmConnectorParams<Input, Output> {
11
9
  entity: any;
12
10
  dataSource: DataSource;
@@ -22,7 +20,7 @@ export declare class TypeOrmConnector<ModelDTO = AnyObject, InputDTO = ModelDTO,
22
20
  constructor({ entity, dataSource, inputSchema, outputSchema }: TypeOrmConnectorParams<InputDTO, OutputDTO>);
23
21
  insert(data: InputDTO): Promise<OutputDTO>;
24
22
  insertMany(data: InputDTO[]): Promise<OutputDTO[]>;
25
- findMany<T extends FluentQuery<ModelDTO>>(query?: T): Promise<QueryOutput<T, ModelDTO, OutputDTO>>;
23
+ findMany<T extends FluentQuery<ModelDTO>>(query?: T): Promise<QueryOutput<T, ModelDTO>[]>;
26
24
  updateById(id: string, data: InputDTO): Promise<OutputDTO>;
27
25
  replaceById(id: string, data: InputDTO): Promise<OutputDTO>;
28
26
  deleteById(id: string): Promise<string>;
@@ -32,11 +30,9 @@ export declare class TypeOrmConnector<ModelDTO = AnyObject, InputDTO = ModelDTO,
32
30
  raw(): Repository<ModelDTO>;
33
31
  mongoRaw(): MongoRepository<ModelDTO>;
34
32
  protected clone(): any;
35
- private getOrderBy;
36
- private getMongoSelect;
37
- private getMongoLookup;
38
- private customMongoRelatedSearch;
39
33
  private generateTypeOrmQuery;
40
- protected getTypeOrmWhere(where?: FluentQuery<ModelDTO>['where']): FindManyOptions['where'];
41
- protected getTypeOrmMongoWhere(where?: FluentQuery<ModelDTO>['where']): FindManyOptions['where'];
34
+ private customTypeOrmRelatedFind;
35
+ private getTypeOrmQueryBuilderSelect;
36
+ private getTypeOrmQueryBuilderSubqueries;
37
+ private customMongoRelatedFind;
42
38
  }