@goatlab/fluent 0.6.22 → 0.6.30

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 (240) hide show
  1. package/dist/BaseConnector.d.ts +49 -82
  2. package/dist/BaseConnector.js +219 -319
  3. package/dist/Fluent.d.ts +2 -21
  4. package/dist/Fluent.js +0 -33
  5. package/dist/FluentEntity.d.ts +7 -0
  6. package/dist/FluentEntity.js +28 -0
  7. package/dist/TypeOrmConnector/TypeOrmConnector.d.ts +34 -27
  8. package/dist/TypeOrmConnector/TypeOrmConnector.js +599 -343
  9. package/dist/TypeOrmConnector/test/advanced/advancedTestSuite.d.ts +0 -0
  10. package/dist/TypeOrmConnector/test/advanced/advancedTestSuite.js +182 -48
  11. package/dist/TypeOrmConnector/test/advanced/typeOrm.entity.d.ts +103 -3
  12. package/dist/TypeOrmConnector/test/advanced/typeOrm.entity.js +30 -13
  13. package/dist/TypeOrmConnector/test/advanced/typeOrm.mongo.repository.d.ts +5 -0
  14. package/dist/TypeOrmConnector/test/advanced/typeOrm.mongo.repository.js +17 -0
  15. package/dist/TypeOrmConnector/test/advanced/typeOrm.mysql.repository.d.ts +5 -0
  16. package/dist/TypeOrmConnector/test/advanced/typeOrm.mysql.repository.js +17 -0
  17. package/dist/TypeOrmConnector/test/advanced/typeOrm.repository.d.ts +3 -3
  18. package/dist/TypeOrmConnector/test/advanced/typeOrm.repository.js +8 -3
  19. package/dist/TypeOrmConnector/test/basic/basicTestSuite.d.ts +1 -1
  20. package/dist/TypeOrmConnector/test/basic/basicTestSuite.js +42 -16
  21. package/dist/TypeOrmConnector/test/basic/goat.entity.d.ts +43 -0
  22. package/dist/TypeOrmConnector/test/basic/goat.entity.js +19 -8
  23. package/dist/TypeOrmConnector/test/basic/goat.mongo.repository.d.ts +5 -0
  24. package/dist/TypeOrmConnector/test/basic/goat.mongo.repository.js +16 -0
  25. package/dist/TypeOrmConnector/test/basic/goat.mysql.repository.d.ts +5 -0
  26. package/dist/TypeOrmConnector/test/basic/goat.mysql.repository.js +16 -0
  27. package/dist/TypeOrmConnector/test/basic/goat.repository.d.ts +3 -4
  28. package/dist/TypeOrmConnector/test/basic/goat.repository.js +7 -3
  29. package/dist/TypeOrmConnector/test/dbEntities.d.ts +6 -6
  30. package/dist/TypeOrmConnector/test/dbEntities.js +0 -0
  31. package/dist/TypeOrmConnector/test/docker/docker.d.ts +35 -0
  32. package/dist/TypeOrmConnector/test/docker/docker.js +149 -0
  33. package/dist/TypeOrmConnector/test/docker/mysql.d.ts +17 -0
  34. package/dist/TypeOrmConnector/test/docker/mysql.js +132 -0
  35. package/dist/TypeOrmConnector/test/flock.d.ts +0 -0
  36. package/dist/TypeOrmConnector/test/flock.js +0 -0
  37. package/dist/TypeOrmConnector/test/mongo/car.mongo.repository.d.ts +8 -0
  38. package/dist/TypeOrmConnector/test/mongo/car.mongo.repository.js +23 -0
  39. package/dist/TypeOrmConnector/test/mongo/mongo.memory.d.ts +4 -0
  40. package/dist/TypeOrmConnector/test/mongo/mongo.memory.js +43 -0
  41. package/dist/TypeOrmConnector/test/mongo/mongoDatasource.d.ts +2 -0
  42. package/dist/TypeOrmConnector/test/mongo/mongoDatasource.js +12 -0
  43. package/dist/TypeOrmConnector/test/mongo/roles.mongo.repository.d.ts +8 -0
  44. package/dist/TypeOrmConnector/test/mongo/roles.mongo.repository.js +23 -0
  45. package/dist/TypeOrmConnector/test/mongo/roles_user.mongo.repository.d.ts +6 -0
  46. package/dist/TypeOrmConnector/test/mongo/roles_user.mongo.repository.js +17 -0
  47. package/dist/TypeOrmConnector/test/mongo/user.mongo.repository.d.ts +10 -0
  48. package/dist/TypeOrmConnector/test/mongo/user.mongo.repository.js +31 -0
  49. package/dist/TypeOrmConnector/test/mysql/car.mysql.repository.d.ts +6 -0
  50. package/dist/TypeOrmConnector/test/mysql/car.mysql.repository.js +17 -0
  51. package/dist/TypeOrmConnector/test/mysql/mysqlDataSource.d.ts +2 -0
  52. package/dist/TypeOrmConnector/test/mysql/mysqlDataSource.js +16 -0
  53. package/dist/TypeOrmConnector/test/mysql/roles.mysql.repository.d.ts +8 -0
  54. package/dist/TypeOrmConnector/test/mysql/roles.mysql.repository.js +23 -0
  55. package/dist/TypeOrmConnector/test/mysql/roles_user.mysql.repository.d.ts +6 -0
  56. package/dist/TypeOrmConnector/test/mysql/roles_user.mysql.repository.js +17 -0
  57. package/dist/TypeOrmConnector/test/mysql/user.mysql.repository.d.ts +10 -0
  58. package/dist/TypeOrmConnector/test/mysql/user.mysql.repository.js +32 -0
  59. package/dist/TypeOrmConnector/test/relations/car/car.entity.d.ts +1 -0
  60. package/dist/TypeOrmConnector/test/relations/car/car.entity.js +13 -5
  61. package/dist/TypeOrmConnector/test/relations/car/car.repositoryTypeOrm.d.ts +3 -3
  62. package/dist/TypeOrmConnector/test/relations/car/car.repositoryTypeOrm.js +11 -4
  63. package/dist/TypeOrmConnector/test/relations/car/car.schema.d.ts +38 -0
  64. package/dist/TypeOrmConnector/test/relations/car/car.schema.js +14 -0
  65. package/dist/TypeOrmConnector/test/relations/relationsTestsSuite.d.ts +0 -0
  66. package/dist/TypeOrmConnector/test/relations/relationsTestsSuite.js +85 -32
  67. package/dist/TypeOrmConnector/test/relations/roles/role.schema.d.ts +35 -0
  68. package/dist/TypeOrmConnector/test/relations/roles/role.schema.js +16 -0
  69. package/dist/TypeOrmConnector/test/relations/roles/roles.entity.d.ts +0 -0
  70. package/dist/TypeOrmConnector/test/relations/roles/roles.entity.js +4 -4
  71. package/dist/TypeOrmConnector/test/relations/roles/roles.repositoryTypeOrm.d.ts +3 -3
  72. package/dist/TypeOrmConnector/test/relations/roles/roles.repositoryTypeOrm.js +12 -4
  73. package/dist/TypeOrmConnector/test/relations/roles/roles_user.entity.d.ts +2 -2
  74. package/dist/TypeOrmConnector/test/relations/roles/roles_user.entity.js +4 -4
  75. package/dist/TypeOrmConnector/test/relations/roles/roles_user.schema.d.ts +15 -0
  76. package/dist/TypeOrmConnector/test/relations/roles/roles_user.schema.js +9 -0
  77. package/dist/TypeOrmConnector/test/relations/roles/roles_users.repositoryTypeOrm.d.ts +3 -3
  78. package/dist/TypeOrmConnector/test/relations/roles/roles_users.repositoryTypeOrm.js +8 -3
  79. package/dist/TypeOrmConnector/test/relations/user/user.entity.d.ts +0 -0
  80. package/dist/TypeOrmConnector/test/relations/user/user.entity.js +10 -10
  81. package/dist/TypeOrmConnector/test/relations/user/user.repositoryTypeOrm.d.ts +3 -3
  82. package/dist/TypeOrmConnector/test/relations/user/user.repositoryTypeOrm.js +17 -5
  83. package/dist/TypeOrmConnector/test/relations/user/user.schema.d.ts +150 -0
  84. package/dist/TypeOrmConnector/test/relations/user/user.schema.js +18 -0
  85. package/dist/TypeOrmConnector/test/{memoryDataSource.d.ts → sqlite/memoryDataSource.d.ts} +0 -0
  86. package/dist/TypeOrmConnector/test/{memoryDataSource.js → sqlite/memoryDataSource.js} +1 -1
  87. package/dist/cache.d.ts +0 -0
  88. package/dist/cache.js +0 -0
  89. package/dist/core/Loopback/build-schema.d.ts +0 -0
  90. package/dist/core/Loopback/build-schema.js +1 -3
  91. package/dist/core/Loopback/common-types.d.ts +0 -0
  92. package/dist/core/Loopback/common-types.js +0 -0
  93. package/dist/core/Loopback/json-to-schema.d.ts +0 -0
  94. package/dist/core/Loopback/json-to-schema.js +6 -6
  95. package/dist/core/Loopback/mapValues.d.ts +2 -0
  96. package/dist/core/Loopback/mapValues.js +835 -0
  97. package/dist/core/Loopback/metadata.d.ts +0 -0
  98. package/dist/core/Loopback/metadata.js +0 -0
  99. package/dist/core/Loopback/model.d.ts +0 -0
  100. package/dist/core/Loopback/model.js +0 -0
  101. package/dist/core/Loopback/query.d.ts +0 -0
  102. package/dist/core/Loopback/query.js +6 -4
  103. package/dist/core/Loopback/relation.types.d.ts +0 -0
  104. package/dist/core/Loopback/relation.types.js +0 -0
  105. package/dist/core/Loopback/type-resolver.d.ts +1 -1
  106. package/dist/core/Loopback/type-resolver.js +0 -0
  107. package/dist/core/Loopback/type.d.ts +0 -0
  108. package/dist/core/Loopback/type.js +0 -0
  109. package/dist/core/Nestjs/applyDecorators.d.ts +1 -1
  110. package/dist/core/Nestjs/applyDecorators.js +0 -0
  111. package/dist/core/Nestjs/types/common.d.ts +0 -0
  112. package/dist/core/Nestjs/types/common.js +3 -1
  113. package/dist/core/Nestjs/types/decorators/api-hide-property.decorator.d.ts +0 -0
  114. package/dist/core/Nestjs/types/decorators/api-hide-property.decorator.js +0 -0
  115. package/dist/core/Nestjs/types/decorators/api-property.decorator.d.ts +0 -0
  116. package/dist/core/Nestjs/types/decorators/api-property.decorator.js +0 -0
  117. package/dist/core/Nestjs/types/decorators/apply-is-optional.decorator.d.ts +1 -1
  118. package/dist/core/Nestjs/types/decorators/apply-is-optional.decorator.js +0 -0
  119. package/dist/core/Nestjs/types/decorators/args-type.decorator.d.ts +0 -0
  120. package/dist/core/Nestjs/types/decorators/args-type.decorator.js +0 -0
  121. package/dist/core/Nestjs/types/decorators/create-property.decorator.d.ts +0 -0
  122. package/dist/core/Nestjs/types/decorators/create-property.decorator.js +9 -4
  123. package/dist/core/Nestjs/types/decorators/directive.decorator.d.ts +0 -0
  124. package/dist/core/Nestjs/types/decorators/directive.decorator.js +0 -0
  125. package/dist/core/Nestjs/types/decorators/extensions.decorator.d.ts +0 -0
  126. package/dist/core/Nestjs/types/decorators/extensions.decorator.js +0 -0
  127. package/dist/core/Nestjs/types/decorators/field.decorator.d.ts +1 -1
  128. package/dist/core/Nestjs/types/decorators/field.decorator.js +6 -6
  129. package/dist/core/Nestjs/types/decorators/input-type.decorator.d.ts +0 -0
  130. package/dist/core/Nestjs/types/decorators/input-type.decorator.js +0 -0
  131. package/dist/core/Nestjs/types/decorators/interface-type.decorator.d.ts +0 -0
  132. package/dist/core/Nestjs/types/decorators/interface-type.decorator.js +0 -0
  133. package/dist/core/Nestjs/types/decorators/partial-type.helper.d.ts +0 -0
  134. package/dist/core/Nestjs/types/decorators/partial-type.helper.js +0 -0
  135. package/dist/core/Nestjs/types/errors/cannot-determine-host-type.error.d.ts +0 -0
  136. package/dist/core/Nestjs/types/errors/cannot-determine-host-type.error.js +0 -0
  137. package/dist/core/Nestjs/types/errors/directive-parsing.error.d.ts +0 -0
  138. package/dist/core/Nestjs/types/errors/directive-parsing.error.js +0 -0
  139. package/dist/core/Nestjs/types/errors/unable-to-find-fields.error.d.ts +0 -0
  140. package/dist/core/Nestjs/types/errors/unable-to-find-fields.error.js +0 -0
  141. package/dist/core/Nestjs/types/errors/undefined-type.error.d.ts +0 -0
  142. package/dist/core/Nestjs/types/errors/undefined-type.error.js +0 -0
  143. package/dist/core/Nestjs/types/interfaces/add-class-type-metadata.util.d.ts +0 -0
  144. package/dist/core/Nestjs/types/interfaces/add-class-type-metadata.util.js +0 -0
  145. package/dist/core/Nestjs/types/interfaces/base-type-options.interface.d.ts +0 -0
  146. package/dist/core/Nestjs/types/interfaces/base-type-options.interface.js +0 -0
  147. package/dist/core/Nestjs/types/interfaces/class-decorator-factory.interface.d.ts +0 -0
  148. package/dist/core/Nestjs/types/interfaces/class-decorator-factory.interface.js +0 -0
  149. package/dist/core/Nestjs/types/interfaces/complexity.interface.d.ts +0 -0
  150. package/dist/core/Nestjs/types/interfaces/complexity.interface.js +0 -0
  151. package/dist/core/Nestjs/types/interfaces/field-middleware.interface.d.ts +0 -0
  152. package/dist/core/Nestjs/types/interfaces/field-middleware.interface.js +0 -0
  153. package/dist/core/Nestjs/types/interfaces/open-api-spec.interface.d.ts +0 -0
  154. package/dist/core/Nestjs/types/interfaces/open-api-spec.interface.js +0 -0
  155. package/dist/core/Nestjs/types/interfaces/resolve-type-fn.interface.d.ts +0 -0
  156. package/dist/core/Nestjs/types/interfaces/resolve-type-fn.interface.js +0 -0
  157. package/dist/core/Nestjs/types/interfaces/return-type-func.interface.d.ts +0 -0
  158. package/dist/core/Nestjs/types/interfaces/return-type-func.interface.js +0 -0
  159. package/dist/core/Nestjs/types/interfaces/schema-object-metadata.interface.d.ts +0 -0
  160. package/dist/core/Nestjs/types/interfaces/schema-object-metadata.interface.js +0 -0
  161. package/dist/core/Nestjs/types/interfaces/type-options.interface.d.ts +0 -0
  162. package/dist/core/Nestjs/types/interfaces/type-options.interface.js +0 -0
  163. package/dist/core/Nestjs/types/lazy-metadata.storage.d.ts +0 -0
  164. package/dist/core/Nestjs/types/lazy-metadata.storage.js +3 -3
  165. package/dist/core/Nestjs/types/metadata/class.metadata.d.ts +0 -0
  166. package/dist/core/Nestjs/types/metadata/class.metadata.js +0 -0
  167. package/dist/core/Nestjs/types/metadata/directive.metadata.d.ts +0 -0
  168. package/dist/core/Nestjs/types/metadata/directive.metadata.js +0 -0
  169. package/dist/core/Nestjs/types/metadata/enum.metadata.d.ts +0 -0
  170. package/dist/core/Nestjs/types/metadata/enum.metadata.js +0 -0
  171. package/dist/core/Nestjs/types/metadata/extensions.metadata.d.ts +0 -0
  172. package/dist/core/Nestjs/types/metadata/extensions.metadata.js +0 -0
  173. package/dist/core/Nestjs/types/metadata/index.d.ts +0 -0
  174. package/dist/core/Nestjs/types/metadata/index.js +0 -0
  175. package/dist/core/Nestjs/types/metadata/interface.metadata.d.ts +0 -0
  176. package/dist/core/Nestjs/types/metadata/interface.metadata.js +0 -0
  177. package/dist/core/Nestjs/types/metadata/object-type.metadata.d.ts +0 -0
  178. package/dist/core/Nestjs/types/metadata/object-type.metadata.js +0 -0
  179. package/dist/core/Nestjs/types/metadata/param.metadata.d.ts +0 -0
  180. package/dist/core/Nestjs/types/metadata/param.metadata.js +0 -0
  181. package/dist/core/Nestjs/types/metadata/property.metadata.d.ts +0 -0
  182. package/dist/core/Nestjs/types/metadata/property.metadata.js +0 -0
  183. package/dist/core/Nestjs/types/metadata/resolver.metadata.d.ts +0 -0
  184. package/dist/core/Nestjs/types/metadata/resolver.metadata.js +0 -0
  185. package/dist/core/Nestjs/types/metadata/union.metadata.d.ts +0 -0
  186. package/dist/core/Nestjs/types/metadata/union.metadata.js +0 -0
  187. package/dist/core/Nestjs/types/object-type.decorator.d.ts +0 -0
  188. package/dist/core/Nestjs/types/object-type.decorator.js +0 -0
  189. package/dist/core/Nestjs/types/omit-type.d.ts +0 -0
  190. package/dist/core/Nestjs/types/omit-type.js +6 -2
  191. package/dist/core/Nestjs/types/reflection.utils.d.ts +1 -1
  192. package/dist/core/Nestjs/types/reflection.utils.js +9 -2
  193. package/dist/core/Nestjs/types/set-metadata.decorator.d.ts +0 -0
  194. package/dist/core/Nestjs/types/set-metadata.decorator.js +0 -0
  195. package/dist/core/Nestjs/types/type-metadata.storage.d.ts +0 -0
  196. package/dist/core/Nestjs/types/type-metadata.storage.js +4 -4
  197. package/dist/core/Nestjs/types/utils/enum.utils.d.ts +0 -0
  198. package/dist/core/Nestjs/types/utils/enum.utils.js +0 -0
  199. package/dist/core/Nestjs/types/utils/get-fields-and-decorator.util.d.ts +1 -11
  200. package/dist/core/Nestjs/types/utils/get-fields-and-decorator.util.js +0 -0
  201. package/dist/core/Nestjs/types/utils/mapped-types.utils.d.ts +0 -0
  202. package/dist/core/Nestjs/types/utils/mapped-types.utils.js +2 -2
  203. package/dist/core/Nestjs/types/utils/model-properties-accessor.d.ts +0 -0
  204. package/dist/core/Nestjs/types/utils/model-properties-accessor.js +0 -0
  205. package/dist/core/Nestjs/types/utils/type-helpers.utils.d.ts +0 -0
  206. package/dist/core/Nestjs/types/utils/type-helpers.utils.js +0 -0
  207. package/dist/core/types.d.ts +0 -0
  208. package/dist/core/types.js +0 -0
  209. package/dist/decorators.d.ts +25 -21
  210. package/dist/decorators.js +76 -70
  211. package/dist/generatorDatasource.d.ts +0 -0
  212. package/dist/generatorDatasource.js +0 -0
  213. package/dist/index.d.ts +6 -7
  214. package/dist/index.js +5 -7
  215. package/dist/loadRelations.d.ts +0 -0
  216. package/dist/loadRelations.js +108 -68
  217. package/dist/outputKeys.d.ts +0 -0
  218. package/dist/outputKeys.js +0 -0
  219. package/dist/tsconfig.tsbuildinfo +1 -1
  220. package/dist/types.d.ts +104 -60
  221. package/dist/types.js +20 -0
  222. package/package.json +12 -101
  223. package/dist/TypeOrmConnector/TypeOrmMongoConnector._bypass.d.ts +0 -1
  224. package/dist/TypeOrmConnector/TypeOrmMongoConnector._bypass.js +0 -52
  225. package/dist/TypeOrmConnector/TypeOrmMysqlConnector._bypass.d.ts +0 -1
  226. package/dist/TypeOrmConnector/TypeOrmMysqlConnector._bypass.js +0 -55
  227. package/dist/TypeOrmConnector/test/basic/goat.dto.d.ts +0 -8
  228. package/dist/TypeOrmConnector/test/basic/goat.dto.js +0 -18
  229. package/dist/TypeOrmConnector/test/relations/car/car.dto.d.ts +0 -5
  230. package/dist/TypeOrmConnector/test/relations/car/car.dto.js +0 -12
  231. package/dist/TypeOrmConnector/test/relations/roles/role.dto.d.ts +0 -5
  232. package/dist/TypeOrmConnector/test/relations/roles/role.dto.js +0 -12
  233. package/dist/TypeOrmConnector/test/relations/roles/roles_user.dto.d.ts +0 -5
  234. package/dist/TypeOrmConnector/test/relations/roles/roles_user.dto.js +0 -12
  235. package/dist/TypeOrmConnector/test/relations/user/user.dto.d.ts +0 -5
  236. package/dist/TypeOrmConnector/test/relations/user/user.dto.js +0 -12
  237. package/dist/core/dtos/access.dto.d.ts +0 -4
  238. package/dist/core/dtos/access.dto.js +0 -21
  239. package/dist/core/dtos/pagination.dto.d.ts +0 -13
  240. package/dist/core/dtos/pagination.dto.js +0 -62
@@ -1,92 +1,59 @@
1
- import { TypedPathWrapper } from 'typed-path';
2
1
  import { Collection } from '@goatlab/js-utils';
3
- import { Filter, DaoOutput, LogicOperator, Primitives, PrimitivesArray } from './types';
4
- import { ValidationError } from 'class-validator';
5
- export declare type Newable<T> = {
6
- new (...args: any[]): T;
7
- };
8
- export interface FluentConnectorInterface<InputDTO, OutputDTO> {
9
- get(): Promise<DaoOutput<InputDTO, OutputDTO>[]>;
10
- all(filter: Filter): Promise<DaoOutput<InputDTO, OutputDTO>[]>;
11
- findById(id: string): Promise<DaoOutput<InputDTO, OutputDTO>>;
12
- findByIds(id: string[]): Promise<DaoOutput<InputDTO, OutputDTO>[]>;
13
- find(filter: Filter): Promise<DaoOutput<InputDTO, OutputDTO>[]>;
14
- deleteById(id: string): Promise<string>;
15
- updateById(id: string, data: InputDTO): Promise<DaoOutput<InputDTO, OutputDTO>>;
16
- insert(data: InputDTO): Promise<DaoOutput<InputDTO, OutputDTO>>;
17
- insertMany(data: InputDTO[]): Promise<DaoOutput<InputDTO, OutputDTO>[]>;
2
+ import { FindByIdFilter, FluentHasManyParams, FluentBelongsToParams, FluentBelongsToManyParams, FluentQuery, LogicOperator, Primitives, PrimitivesArray, QueryFieldSelector, QueryOutput, SingleQueryOutput } from './types';
3
+ export interface FluentConnectorInterface<ModelDTO, InputDTO, OutputDTO> {
4
+ findByIds<T extends FindByIdFilter<ModelDTO>>(ids: string[], q?: T): Promise<QueryOutput<T, ModelDTO, OutputDTO>>;
5
+ findMany<T extends FluentQuery<ModelDTO>>(query?: T): Promise<QueryOutput<T, ModelDTO, OutputDTO>>;
6
+ insert(data: InputDTO): Promise<OutputDTO>;
7
+ insertMany(data: InputDTO[]): Promise<OutputDTO[]>;
8
+ loadFirst(query?: FluentQuery<ModelDTO>): any;
9
+ loadById(id: string): any;
10
+ replaceById(id: string, data: InputDTO): Promise<OutputDTO>;
11
+ updateById(id: string, data: InputDTO): Promise<OutputDTO>;
12
+ clear(): Promise<boolean>;
13
+ requireById(id: string, q?: FindByIdFilter<ModelDTO>): Promise<SingleQueryOutput<FindByIdFilter<ModelDTO>, ModelDTO, OutputDTO>>;
18
14
  }
19
15
  export declare abstract class BaseConnector<ModelDTO, InputDTO, OutputDTO> {
20
- generatedKeyPath: TypedPathWrapper<ModelDTO & InputDTO & OutputDTO, Record<never, never> & {
21
- $path: (path: import("typed-path").TypedPathKey[]) => string;
22
- $raw: (path: import("typed-path").TypedPathKey[]) => string[];
23
- $rawPath: (path: import("typed-path").TypedPathKey[]) => import("typed-path").TypedPathKey[];
24
- toString: (path: import("typed-path").TypedPathKey[]) => () => string;
25
- valueOf: (path: import("typed-path").TypedPathKey[]) => () => string;
26
- [Symbol.toStringTag]: (path: import("typed-path").TypedPathKey[]) => string;
27
- }>;
28
16
  protected outputKeys: string[];
29
- protected chainReference: any[];
30
- protected whereArray: any[];
31
- protected orWhereArray: any[];
32
- protected selectArray: any[];
33
- protected forceSelectArray: any[];
34
- protected orderByArray: any[];
35
- protected limitNumber: number;
36
- protected offsetNumber: number;
37
- protected populateArray: any[];
38
- protected chunk: any;
39
- protected pullSize: any;
40
- protected ownerId: any;
41
- protected paginator: any;
42
- protected rawQuery: any;
43
- protected getFirst: boolean;
44
- protected relations: any;
45
- protected loadModels: boolean;
46
- protected relationQuery: any;
17
+ protected relatedQuery?: {
18
+ entity: new () => ModelDTO;
19
+ query?: FluentQuery<ModelDTO>;
20
+ repository?: any;
21
+ key?: string;
22
+ pivot?: any;
23
+ };
24
+ protected chunk: null;
25
+ protected pullSize: null;
26
+ protected paginator: undefined;
27
+ protected rawQuery: undefined;
47
28
  protected modelRelations: any;
48
29
  isMongoDB: boolean;
49
30
  constructor();
50
- findByIds(ids: string[]): Promise<DaoOutput<InputDTO, OutputDTO>[]>;
51
- get(): Promise<DaoOutput<InputDTO, OutputDTO>[]>;
52
- insertMany(data: InputDTO[]): Promise<DaoOutput<InputDTO, OutputDTO>[]>;
53
- updateById(id: string, data: InputDTO): Promise<DaoOutput<InputDTO, OutputDTO>>;
54
- owner(user: string): this;
55
- own(user: string): this;
56
- first(): Promise<DaoOutput<InputDTO, OutputDTO> | null>;
57
- collect(): Promise<Collection<DaoOutput<InputDTO, OutputDTO>>>;
58
- select(paths: (p: TypedPathWrapper<ModelDTO & InputDTO & OutputDTO, Record<never, never>>) => TypedPathWrapper<string, Record<never, never>>[] | TypedPathWrapper<string[], Record<never, never>[]>): this;
59
- forceSelect(paths: (p: TypedPathWrapper<ModelDTO & InputDTO & OutputDTO, Record<never, never>>) => TypedPathWrapper<string, Record<never, never>>[] | TypedPathWrapper<string[], Record<never, never>[]>): this;
60
- offset(offset: number): this;
61
- populate(...relations: any[]): this;
62
- skip(offset: number): this;
63
- where(path: (p: TypedPathWrapper<ModelDTO & InputDTO & OutputDTO, Record<never, never>>) => TypedPathWrapper<string, Record<never, never>> | TypedPathWrapper<string[], Record<never, never>>, operator: LogicOperator, value: Primitives | PrimitivesArray): this;
64
- andWhere(path: (p: TypedPathWrapper<ModelDTO & InputDTO & OutputDTO, Record<never, never>>) => TypedPathWrapper<string, Record<never, never>> | TypedPathWrapper<string[], Record<never, never>>, operator: LogicOperator, value: Primitives | Primitives[]): this;
65
- orWhere(path: (p: TypedPathWrapper<ModelDTO & InputDTO & OutputDTO, Record<never, never>>) => TypedPathWrapper<string, Record<never, never>> | TypedPathWrapper<string[], Record<never, never>>, operator: LogicOperator, value: Primitives): this;
66
- limit(limit: number): this;
67
- take(limit: number): this;
68
- pluck(path: (p: TypedPathWrapper<ModelDTO & InputDTO & OutputDTO, Record<never, never>>) => TypedPathWrapper<string, Record<never, never>> | TypedPathWrapper<string[], Record<never, never>>): Promise<string[]>;
69
- orderBy(path: (p: TypedPathWrapper<ModelDTO & InputDTO & OutputDTO, Record<never, never>>) => TypedPathWrapper<string, Record<never, never>> | TypedPathWrapper<string[], Record<never, never>>, order?: 'asc' | 'desc', orderType?: 'string' | 'number' | 'date'): this;
70
- protected jsApplySelect(data: any): any[];
71
- protected jsApplyOrderBy(data: any): any[];
72
- protected reset(): void;
73
- load(): Promise<this>;
74
- loadFirst(): Promise<this>;
75
- getLoadedData(): DaoOutput<InputDTO, OutputDTO>[] | DaoOutput<InputDTO, OutputDTO>;
76
- with(entities: any): this;
77
- attach(data: InputDTO | DaoOutput<InputDTO, OutputDTO>): Promise<DaoOutput<InputDTO, OutputDTO>[]>;
78
- associate(id: string): any;
79
- protected hasMany<T>(Repository: any, relationName: string): T;
31
+ findByIds<T extends FindByIdFilter<ModelDTO>>(ids: string[], q?: T): Promise<QueryOutput<T, ModelDTO, OutputDTO>>;
32
+ insertMany(data: InputDTO[]): Promise<OutputDTO[]>;
33
+ updateById(id: string, data: InputDTO): Promise<OutputDTO>;
34
+ findMany<T extends FluentQuery<ModelDTO>>(query?: T): Promise<QueryOutput<T, ModelDTO, OutputDTO>>;
35
+ findFirst<T extends FluentQuery<ModelDTO>>(query?: T): Promise<SingleQueryOutput<T, ModelDTO, OutputDTO> | null>;
36
+ collect(query: FluentQuery<ModelDTO>): Promise<Collection<OutputDTO>>;
37
+ pluck(path: QueryFieldSelector<ModelDTO>, query?: FluentQuery<ModelDTO>): Promise<Primitives[]>;
38
+ protected setRelatedQuery(r: {
39
+ entity: new () => ModelDTO;
40
+ query?: FluentQuery<ModelDTO>;
41
+ repository?: any;
42
+ key?: string;
43
+ }): void;
44
+ associate(data: InputDTO | OutputDTO): Promise<OutputDTO[]>;
45
+ attach(id: string): Promise<any>;
46
+ protected hasMany<T extends FluentHasManyParams<T>>(r: T): InstanceType<T['repository']>;
47
+ protected belongsTo<T extends FluentBelongsToParams<T>>(r: T): InstanceType<T['repository']>;
80
48
  protected hasOne(): void;
81
- protected belongsTo<T>(Repository: any, relationName: string): T;
82
- protected belongsToMany<T, R>(Repository: any, Pivot: any, relationName: string): T;
83
- withPivot(): this;
49
+ protected belongsToMany<T extends FluentBelongsToManyParams<T>>(r: T): InstanceType<T['repository']>;
84
50
  protected hasManyThrough(): void;
85
- private prepareInput;
86
- validateInput(validationClass: {
87
- new (): ModelDTO;
88
- }, input: InputDTO): Promise<{
89
- errors: ValidationError[] | null;
90
- result: Awaited<InputDTO>;
91
- }>;
51
+ protected clearEmpties(object: any): any;
52
+ private isAnyObject;
53
+ protected extractConditions(conditions: FluentQuery<ModelDTO>['where'][]): {
54
+ operator: LogicOperator;
55
+ element: string;
56
+ value: Primitives | PrimitivesArray;
57
+ }[];
58
+ protected jsApplySelect(select: FluentQuery<ModelDTO>['select'], data: ModelDTO[]): ModelDTO[];
92
59
  }