@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
package/dist/Fluent.js CHANGED
@@ -1,45 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Fluent = void 0;
4
- const typed_path_1 = require("typed-path");
5
4
  const js_utils_1 = require("@goatlab/js-utils");
6
5
  const generatorDatasource_1 = require("./generatorDatasource");
7
- if (typeof window !== 'undefined' && window && !window._FLUENT_) {
8
- window._FLUENT_ = {
9
- models: {}
10
- };
11
- }
12
- if (global && !global._FLUENT_) {
13
- global._FLUENT_ = {
14
- models: {}
15
- };
16
- }
17
6
  class Fluent {
18
- static registerModel(name) {
19
- if (!name || name === 'baseModel') {
20
- return;
21
- }
22
- if (typeof window !== 'undefined') {
23
- window._FLUENT_.models[name] = true;
24
- return;
25
- }
26
- global._FLUENT_.models[name] = true;
27
- }
28
- static model(name) {
29
- this.registerModel(name);
30
- return (0, typed_path_1.typedPath)();
31
- }
32
7
  static collect(data) {
33
8
  return new js_utils_1.Collection(data);
34
9
  }
35
- static getConfig() {
36
- if (typeof window !== 'undefined' && window) {
37
- return window._FLUENT_;
38
- }
39
- if (typeof global !== 'undefined' && global) {
40
- return global._FLUENT_;
41
- }
42
- }
43
10
  static async initialize(dataSources, Entities) {
44
11
  generatorDatasource_1.modelGeneratorDataSource.setOptions({ entities: Entities });
45
12
  if (!generatorDatasource_1.modelGeneratorDataSource.isInitialized) {
@@ -0,0 +1,7 @@
1
+ export declare class FluentEntity {
2
+ type?: string;
3
+ roles?: string[];
4
+ created?: Date;
5
+ updated?: Date;
6
+ deleted?: Date;
7
+ }
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FluentEntity = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const decorators_1 = require("./decorators");
6
+ class FluentEntity {
7
+ }
8
+ tslib_1.__decorate([
9
+ decorators_1.f.property({ required: false }),
10
+ tslib_1.__metadata("design:type", String)
11
+ ], FluentEntity.prototype, "type", void 0);
12
+ tslib_1.__decorate([
13
+ decorators_1.f.stringArray(String, { required: false }),
14
+ tslib_1.__metadata("design:type", Array)
15
+ ], FluentEntity.prototype, "roles", void 0);
16
+ tslib_1.__decorate([
17
+ decorators_1.f.created(),
18
+ tslib_1.__metadata("design:type", Date)
19
+ ], FluentEntity.prototype, "created", void 0);
20
+ tslib_1.__decorate([
21
+ decorators_1.f.updated(),
22
+ tslib_1.__metadata("design:type", Date)
23
+ ], FluentEntity.prototype, "updated", void 0);
24
+ tslib_1.__decorate([
25
+ decorators_1.f.deleted(),
26
+ tslib_1.__metadata("design:type", Date)
27
+ ], FluentEntity.prototype, "deleted", void 0);
28
+ exports.FluentEntity = FluentEntity;
@@ -1,36 +1,43 @@
1
- import { Repository } from 'typeorm';
1
+ import { FindByIdFilter, LoadedResult, QueryOutput, SingleQueryOutput } from './../types';
2
+ import { FindManyOptions, Repository, MongoRepository } from 'typeorm';
2
3
  import { BaseConnector, FluentConnectorInterface } from '../BaseConnector';
3
- import type { Filter, DaoOutput, BaseDataElement, PaginatedData, Paginator, Sure } from '../types';
4
+ import type { AnyObject, FluentQuery } from '../types';
4
5
  import { DataSource } from 'typeorm';
5
- export declare const getRelations: (typeOrmRepo: any) => {
6
+ import { z } from 'zod';
7
+ export declare const getRelationsFromModelGenerator: (typeOrmRepo: Repository<any>) => {
6
8
  relations: {};
7
9
  };
8
- export declare class TypeOrmConnector<ModelDTO = BaseDataElement, InputDTO = ModelDTO, OutputDTO = InputDTO> extends BaseConnector<ModelDTO, InputDTO, OutputDTO> implements FluentConnectorInterface<InputDTO, DaoOutput<InputDTO, OutputDTO>> {
10
+ export interface TypeOrmConnectorParams<Input, Output> {
11
+ entity: any;
12
+ dataSource: DataSource;
13
+ inputSchema: z.ZodType<Input>;
14
+ outputSchema?: z.ZodType<Output>;
15
+ }
16
+ export declare class TypeOrmConnector<ModelDTO = AnyObject, InputDTO = ModelDTO, OutputDTO = InputDTO> extends BaseConnector<ModelDTO, InputDTO, OutputDTO> implements FluentConnectorInterface<ModelDTO, InputDTO, OutputDTO> {
9
17
  private readonly repository;
10
18
  private readonly dataSource;
11
- constructor(entity: any, dataSource: DataSource, relationQuery?: any);
12
- get(): Promise<DaoOutput<InputDTO, OutputDTO>[]>;
13
- getPaginated(): Promise<PaginatedData<DaoOutput<InputDTO, OutputDTO>>>;
14
- all(): Promise<DaoOutput<InputDTO, OutputDTO>[]>;
15
- find(filter?: Filter): Promise<DaoOutput<InputDTO, OutputDTO>[]>;
16
- paginate(paginator: Paginator): Promise<PaginatedData<DaoOutput<InputDTO, OutputDTO>>>;
19
+ private readonly inputSchema;
20
+ private readonly outputSchema;
21
+ private readonly entity;
22
+ constructor({ entity, dataSource, inputSchema, outputSchema }: TypeOrmConnectorParams<InputDTO, OutputDTO>);
23
+ insert(data: InputDTO): Promise<OutputDTO>;
24
+ insertMany(data: InputDTO[]): Promise<OutputDTO[]>;
17
25
  raw(): Repository<ModelDTO>;
18
- insert(data: InputDTO): Promise<DaoOutput<InputDTO, OutputDTO>>;
19
- insertMany(data: InputDTO[]): Promise<DaoOutput<InputDTO, OutputDTO>[]>;
20
- updateById(id: string, data: InputDTO): Promise<DaoOutput<InputDTO, OutputDTO>>;
21
- replaceById(id: string, data: InputDTO): Promise<DaoOutput<InputDTO, OutputDTO>>;
22
- clear({ sure }: Sure): Promise<boolean>;
23
- deleteById(id: string): Promise<string>;
24
- findById(id: string): Promise<DaoOutput<InputDTO, OutputDTO>>;
25
- findByIds(ids: string[]): Promise<DaoOutput<InputDTO, OutputDTO>[]>;
26
- private getPage;
27
- private getPaginatorLimit;
28
- private getPopulate;
29
- private getGeneratedQuery;
30
- private getFilters;
31
- getMongoFilters(filters: any): any;
26
+ mongoRaw(): MongoRepository<ModelDTO>;
27
+ findMany<T extends FluentQuery<ModelDTO>>(query?: T): Promise<QueryOutput<T, ModelDTO, OutputDTO>>;
28
+ private getMongoSelect;
29
+ private getMongoLookup;
30
+ private customMongoRelatedSearch;
31
+ private generateTypeOrmQuery;
32
+ protected getTypeOrmWhere(where?: FluentQuery<ModelDTO>['where']): FindManyOptions['where'];
33
+ protected getTypeOrmMongoWhere(where?: FluentQuery<ModelDTO>['where']): FindManyOptions['where'];
34
+ updateById(id: string, data: InputDTO): Promise<OutputDTO>;
35
+ replaceById(id: string, data: InputDTO): Promise<OutputDTO>;
36
+ clear(): Promise<boolean>;
37
+ loadFirst(query?: FluentQuery<ModelDTO>): TypeOrmConnector<ModelDTO, InputDTO, OutputDTO>;
38
+ loadById(id: string): LoadedResult<this>;
39
+ requireById(id: string, q?: FindByIdFilter<ModelDTO>): Promise<SingleQueryOutput<FindByIdFilter<ModelDTO>, ModelDTO, OutputDTO>>;
40
+ protected clone(): any;
41
+ findByIds<T extends FindByIdFilter<ModelDTO>>(ids: string[], q?: T): Promise<QueryOutput<T, ModelDTO, OutputDTO>>;
32
42
  private getOrderBy;
33
- private getLimit;
34
- private getSkip;
35
- private getSelect;
36
43
  }