@klerick/json-api-nestjs-microorm 0.1.0-beta.2

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 (102) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +53 -0
  3. package/package.json +60 -0
  4. package/src/index.d.ts +1 -0
  5. package/src/index.js +5 -0
  6. package/src/index.js.map +1 -0
  7. package/src/lib/constants/index.d.ts +5 -0
  8. package/src/lib/constants/index.js +9 -0
  9. package/src/lib/constants/index.js.map +1 -0
  10. package/src/lib/factory/index.d.ts +21 -0
  11. package/src/lib/factory/index.js +118 -0
  12. package/src/lib/factory/index.js.map +1 -0
  13. package/src/lib/index.d.ts +2 -0
  14. package/src/lib/index.js +6 -0
  15. package/src/lib/index.js.map +1 -0
  16. package/src/lib/micro-orm-json-api.module.d.ts +7 -0
  17. package/src/lib/micro-orm-json-api.module.js +46 -0
  18. package/src/lib/micro-orm-json-api.module.js.map +1 -0
  19. package/src/lib/mock-utils/entities/addresses.d.ts +12 -0
  20. package/src/lib/mock-utils/entities/addresses.js +83 -0
  21. package/src/lib/mock-utils/entities/addresses.js.map +1 -0
  22. package/src/lib/mock-utils/entities/comments.d.ts +15 -0
  23. package/src/lib/mock-utils/entities/comments.js +70 -0
  24. package/src/lib/mock-utils/entities/comments.js.map +1 -0
  25. package/src/lib/mock-utils/entities/index.d.ts +13 -0
  26. package/src/lib/mock-utils/entities/index.js +18 -0
  27. package/src/lib/mock-utils/entities/index.js.map +1 -0
  28. package/src/lib/mock-utils/entities/notes.d.ts +8 -0
  29. package/src/lib/mock-utils/entities/notes.js +60 -0
  30. package/src/lib/mock-utils/entities/notes.js.map +1 -0
  31. package/src/lib/mock-utils/entities/roles.d.ts +12 -0
  32. package/src/lib/mock-utils/entities/roles.js +78 -0
  33. package/src/lib/mock-utils/entities/roles.js.map +1 -0
  34. package/src/lib/mock-utils/entities/user-groups.d.ts +7 -0
  35. package/src/lib/mock-utils/entities/user-groups.js +37 -0
  36. package/src/lib/mock-utils/entities/user-groups.js.map +1 -0
  37. package/src/lib/mock-utils/entities/users.d.ts +23 -0
  38. package/src/lib/mock-utils/entities/users.js +158 -0
  39. package/src/lib/mock-utils/entities/users.js.map +1 -0
  40. package/src/lib/mock-utils/index.d.ts +23 -0
  41. package/src/lib/mock-utils/index.js +100 -0
  42. package/src/lib/mock-utils/index.js.map +1 -0
  43. package/src/lib/mock-utils/utils/index.d.ts +3 -0
  44. package/src/lib/mock-utils/utils/index.js +7 -0
  45. package/src/lib/mock-utils/utils/index.js.map +1 -0
  46. package/src/lib/mock-utils/utils/init-db.d.ts +5 -0
  47. package/src/lib/mock-utils/utils/init-db.js +57 -0
  48. package/src/lib/mock-utils/utils/init-db.js.map +1 -0
  49. package/src/lib/mock-utils/utils/provider-entities.d.ts +10 -0
  50. package/src/lib/mock-utils/utils/provider-entities.js +22 -0
  51. package/src/lib/mock-utils/utils/provider-entities.js.map +1 -0
  52. package/src/lib/mock-utils/utils/pull-data.d.ts +9 -0
  53. package/src/lib/mock-utils/utils/pull-data.js +115 -0
  54. package/src/lib/mock-utils/utils/pull-data.js.map +1 -0
  55. package/src/lib/orm-helper/index.d.ts +11 -0
  56. package/src/lib/orm-helper/index.js +146 -0
  57. package/src/lib/orm-helper/index.js.map +1 -0
  58. package/src/lib/orm-methods/delete-one/delete-one.d.ts +2 -0
  59. package/src/lib/orm-methods/delete-one/delete-one.js +16 -0
  60. package/src/lib/orm-methods/delete-one/delete-one.js.map +1 -0
  61. package/src/lib/orm-methods/delete-relationship/delete-relationship.d.ts +4 -0
  62. package/src/lib/orm-methods/delete-relationship/delete-relationship.js +40 -0
  63. package/src/lib/orm-methods/delete-relationship/delete-relationship.js.map +1 -0
  64. package/src/lib/orm-methods/get-all/get-all.d.ts +6 -0
  65. package/src/lib/orm-methods/get-all/get-all.js +61 -0
  66. package/src/lib/orm-methods/get-all/get-all.js.map +1 -0
  67. package/src/lib/orm-methods/get-all/get-query-for-count.d.ts +5 -0
  68. package/src/lib/orm-methods/get-all/get-query-for-count.js +43 -0
  69. package/src/lib/orm-methods/get-all/get-query-for-count.js.map +1 -0
  70. package/src/lib/orm-methods/get-one/get-one.d.ts +3 -0
  71. package/src/lib/orm-methods/get-one/get-one.js +23 -0
  72. package/src/lib/orm-methods/get-one/get-one.js.map +1 -0
  73. package/src/lib/orm-methods/get-relationship/get-relationship.d.ts +3 -0
  74. package/src/lib/orm-methods/get-relationship/get-relationship.js +24 -0
  75. package/src/lib/orm-methods/get-relationship/get-relationship.js.map +1 -0
  76. package/src/lib/orm-methods/index.d.ts +9 -0
  77. package/src/lib/orm-methods/index.js +13 -0
  78. package/src/lib/orm-methods/index.js.map +1 -0
  79. package/src/lib/orm-methods/patch-one/patch-one.d.ts +3 -0
  80. package/src/lib/orm-methods/patch-one/patch-one.js +40 -0
  81. package/src/lib/orm-methods/patch-one/patch-one.js.map +1 -0
  82. package/src/lib/orm-methods/patch-relationship/patch-relationship.d.ts +4 -0
  83. package/src/lib/orm-methods/patch-relationship/patch-relationship.js +23 -0
  84. package/src/lib/orm-methods/patch-relationship/patch-relationship.js.map +1 -0
  85. package/src/lib/orm-methods/post-one/post-one.d.ts +3 -0
  86. package/src/lib/orm-methods/post-one/post-one.js +16 -0
  87. package/src/lib/orm-methods/post-one/post-one.js.map +1 -0
  88. package/src/lib/orm-methods/post-relationship/post-relationship.d.ts +4 -0
  89. package/src/lib/orm-methods/post-relationship/post-relationship.js +21 -0
  90. package/src/lib/orm-methods/post-relationship/post-relationship.js.map +1 -0
  91. package/src/lib/service/index.d.ts +1 -0
  92. package/src/lib/service/index.js +5 -0
  93. package/src/lib/service/index.js.map +1 -0
  94. package/src/lib/service/micro-orm-util.service.d.ts +47 -0
  95. package/src/lib/service/micro-orm-util.service.js +550 -0
  96. package/src/lib/service/micro-orm-util.service.js.map +1 -0
  97. package/src/lib/service/microorm-service.d.ts +17 -0
  98. package/src/lib/service/microorm-service.js +102 -0
  99. package/src/lib/service/microorm-service.js.map +1 -0
  100. package/src/lib/type.d.ts +3 -0
  101. package/src/lib/type.js +3 -0
  102. package/src/lib/type.js.map +1 -0
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.patchOne = patchOne;
4
+ const common_1 = require("@nestjs/common");
5
+ const json_api_nestjs_shared_1 = require("@klerick/json-api-nestjs-shared");
6
+ async function patchOne(id, inputData) {
7
+ const { id: idBody, attributes, relationships } = inputData;
8
+ if (`${id}` !== idBody) {
9
+ const error = {
10
+ code: 'invalid_arguments',
11
+ message: `Data 'id' must be equal to url param`,
12
+ path: ['data', 'id'],
13
+ };
14
+ throw new common_1.UnprocessableEntityException([error]);
15
+ }
16
+ const existEntity = await this.microOrmUtilService
17
+ .queryBuilder()
18
+ .where({
19
+ [this.microOrmUtilService.currentPrimaryColumn]: id,
20
+ })
21
+ .getSingleResult();
22
+ if (!existEntity) {
23
+ const error = {
24
+ code: 'invalid_arguments',
25
+ message: `Resource '${this.microOrmUtilService.currentAlias}' with id '${id}' does not exist`,
26
+ path: ['data', 'id'],
27
+ };
28
+ throw new common_1.NotFoundException([error]);
29
+ }
30
+ if (attributes) {
31
+ const attrTarget = this.microOrmUtilService.createEntity(attributes);
32
+ for (const [props, val] of json_api_nestjs_shared_1.ObjectTyped.entries(attrTarget)) {
33
+ if (!(props in attributes))
34
+ continue;
35
+ Reflect.set(existEntity, props, val);
36
+ }
37
+ }
38
+ return this.microOrmUtilService.saveEntity(existEntity, relationships);
39
+ }
40
+ //# sourceMappingURL=patch-one.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"patch-one.js","sourceRoot":"","sources":["../../../../../../../../libs/json-api/json-api-nestjs-microorm/src/lib/orm-methods/patch-one/patch-one.ts"],"names":[],"mappings":";;AAQA,4BA0CC;AAlDD,2CAGwB;AACxB,4EAA8D;AAIvD,KAAK,UAAU,QAAQ,CAE5B,EAAmB,EACnB,SAA8B;IAE9B,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,SAAS,CAAC;IAE5D,IAAI,GAAG,EAAE,EAAE,KAAK,MAAM,EAAE,CAAC;QACvB,MAAM,KAAK,GAAuB;YAChC,IAAI,EAAE,mBAAmB;YACzB,OAAO,EAAE,sCAAsC;YAC/C,IAAI,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;SACrB,CAAC;QAEF,MAAM,IAAI,qCAA4B,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,mBAAmB;SAC/C,YAAY,EAAE;SACd,KAAK,CAAC;QACL,CAAC,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,EAAE,EAAE;KACpD,CAAC;SACD,eAAe,EAAE,CAAC;IAErB,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,KAAK,GAAuB;YAChC,IAAI,EAAE,mBAAmB;YACzB,OAAO,EAAE,aAAa,IAAI,CAAC,mBAAmB,CAAC,YAAY,cAAc,EAAE,kBAAkB;YAC7F,IAAI,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;SACrB,CAAC;QACF,MAAM,IAAI,0BAAiB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,UAAiB,CAAC,CAAC;QAE5E,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,oCAAW,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3D,IAAI,CAAC,CAAC,KAAK,IAAI,UAAU,CAAC;gBAAE,SAAS;YACrC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,WAAW,EAAE,aAAoB,CAAC,CAAC;AAChF,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { RelationKeys } from '@klerick/json-api-nestjs-shared';
2
+ import { PatchRelationshipData } from '@klerick/json-api-nestjs';
3
+ import { MicroOrmService } from '../../service';
4
+ export declare function patchRelationship<E extends object, IdKey extends string, Rel extends RelationKeys<E, IdKey>>(this: MicroOrmService<E, IdKey>, id: number | string, rel: Rel, input: PatchRelationshipData): Promise<E>;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.patchRelationship = patchRelationship;
4
+ const get_relationship_1 = require("../get-relationship/get-relationship");
5
+ async function patchRelationship(id, rel, input) {
6
+ const idsResult = await this.microOrmUtilService.validateRelationInputData(rel, input);
7
+ const currentEntityRef = this.microOrmUtilService.entityManager.getReference(this.microOrmUtilService.entity, id);
8
+ const relEntity = this.microOrmUtilService.getRelation(rel).entity();
9
+ if (Array.isArray(idsResult)) {
10
+ const relRef = idsResult.map((i) => this.microOrmUtilService.entityManager.getReference(relEntity, i));
11
+ // @ts-ignore
12
+ currentEntityRef[rel].removeAll();
13
+ // @ts-ignore
14
+ currentEntityRef[rel].add(...relRef);
15
+ }
16
+ else {
17
+ // @ts-ignore
18
+ currentEntityRef[rel] = this.microOrmUtilService.entityManager.getReference(relEntity, idsResult);
19
+ }
20
+ await this.microOrmUtilService.entityManager.flush();
21
+ return get_relationship_1.getRelationship.call(this, id, rel);
22
+ }
23
+ //# sourceMappingURL=patch-relationship.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"patch-relationship.js","sourceRoot":"","sources":["../../../../../../../../libs/json-api/json-api-nestjs-microorm/src/lib/orm-methods/patch-relationship/patch-relationship.ts"],"names":[],"mappings":";;AAKA,8CA4CC;AA/CD,2EAAuE;AAGhE,KAAK,UAAU,iBAAiB,CAMrC,EAAmB,EACnB,GAAQ,EACR,KAA4B;IAE5B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,yBAAyB,CACxE,GAAU,EACV,KAAK,CACN,CAAC;IACF,MAAM,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,YAAY,CAC1E,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAC/B,EAAS,CACV,CAAC;IAEF,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,GAAU,CAAC,CAAC,MAAM,EAAE,CAAC;IAE5E,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACjC,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,YAAY,CAAC,SAAS,EAAE,CAAQ,CAAC,CACzE,CAAC;QACF,aAAa;QACb,gBAAgB,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;QAClC,aAAa;QACb,gBAAgB,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;IACvC,CAAC;SAAM,CAAC;QACN,aAAa;QACb,gBAAgB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,YAAY,CACzE,SAAS,EACT,SAAgB,CACjB,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;IAErD,OAAO,kCAAe,CAAC,IAAI,CAIzB,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;AACnB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { PostData } from '@klerick/json-api-nestjs';
2
+ import { MicroOrmService } from '../../service';
3
+ export declare function postOne<E extends object, IdKey extends string>(this: MicroOrmService<E, IdKey>, inputData: PostData<E, IdKey>): Promise<E>;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.postOne = postOne;
4
+ async function postOne(inputData) {
5
+ const { attributes, relationships, id } = inputData;
6
+ const idObject = id
7
+ ? { [this.microOrmUtilService.currentPrimaryColumn.toString()]: id }
8
+ : {};
9
+ const attributesObject = {
10
+ ...attributes,
11
+ ...idObject,
12
+ };
13
+ const entityIns = this.microOrmUtilService.createEntity(attributesObject);
14
+ return this.microOrmUtilService.saveEntity(entityIns, relationships);
15
+ }
16
+ //# sourceMappingURL=post-one.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"post-one.js","sourceRoot":"","sources":["../../../../../../../../libs/json-api/json-api-nestjs-microorm/src/lib/orm-methods/post-one/post-one.ts"],"names":[],"mappings":";;AAGA,0BAkBC;AAlBM,KAAK,UAAU,OAAO,CAE3B,SAA6B;IAE7B,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,EAAE,EAAE,GAAG,SAAS,CAAC;IAEpD,MAAM,QAAQ,GAAG,EAAE;QACjB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE;QACpE,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,gBAAgB,GAAG;QACvB,GAAG,UAAU;QACb,GAAG,QAAQ;KACZ,CAAC;IAEF,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;IAE1E,OAAO,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;AACvE,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { RelationKeys } from '@klerick/json-api-nestjs-shared';
2
+ import { PostRelationshipData } from '@klerick/json-api-nestjs';
3
+ import { MicroOrmService } from '../../service';
4
+ export declare function postRelationship<E extends object, IdKey extends string, Rel extends RelationKeys<E, IdKey>>(this: MicroOrmService<E, IdKey>, id: number | string, rel: Rel, input: PostRelationshipData): Promise<E>;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.postRelationship = postRelationship;
4
+ const get_relationship_1 = require("../get-relationship/get-relationship");
5
+ async function postRelationship(id, rel, input) {
6
+ const idsResult = await this.microOrmUtilService.validateRelationInputData(rel, input);
7
+ const currentEntityRef = this.microOrmUtilService.entityManager.getReference(this.microOrmUtilService.entity, id);
8
+ const relEntity = this.microOrmUtilService.getRelation(rel).entity();
9
+ if (Array.isArray(idsResult)) {
10
+ const relRef = idsResult.map((i) => this.microOrmUtilService.entityManager.getReference(relEntity, i));
11
+ // @ts-ignore
12
+ currentEntityRef[rel].add(...relRef);
13
+ }
14
+ else {
15
+ // @ts-ignore
16
+ currentEntityRef[rel] = this.microOrmUtilService.entityManager.getReference(relEntity, idsResult);
17
+ }
18
+ await this.microOrmUtilService.entityManager.flush();
19
+ return get_relationship_1.getRelationship.call(this, id, rel);
20
+ }
21
+ //# sourceMappingURL=post-relationship.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"post-relationship.js","sourceRoot":"","sources":["../../../../../../../../libs/json-api/json-api-nestjs-microorm/src/lib/orm-methods/post-relationship/post-relationship.ts"],"names":[],"mappings":";;AAKA,4CA2CC;AA9CD,2EAAuE;AAGhE,KAAK,UAAU,gBAAgB,CAMpC,EAAmB,EACnB,GAAQ,EACR,KAA2B;IAE3B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,yBAAyB,CACxE,GAAU,EACV,KAAK,CACN,CAAC;IAEF,MAAM,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,YAAY,CAC1E,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAC/B,EAAS,CACV,CAAC;IAEF,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,GAAU,CAAC,CAAC,MAAM,EAAE,CAAC;IAE5E,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACjC,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,YAAY,CAAC,SAAS,EAAE,CAAQ,CAAC,CACzE,CAAC;QACF,aAAa;QACb,gBAAgB,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;IACvC,CAAC;SAAM,CAAC;QACN,aAAa;QACb,gBAAgB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,YAAY,CACzE,SAAS,EACT,SAAgB,CACjB,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;IAErD,OAAO,kCAAe,CAAC,IAAI,CAIzB,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;AACnB,CAAC"}
@@ -0,0 +1 @@
1
+ export * from './microorm-service';
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./microorm-service"), exports);
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../libs/json-api/json-api-nestjs-microorm/src/lib/service/index.ts"],"names":[],"mappings":";;;AAAA,6DAAmC"}
@@ -0,0 +1,47 @@
1
+ import { EntityClass, EntityKey, EntityProperty, type QBFilterQuery, QBQueryOrderMap, EntityData } from '@mikro-orm/core';
2
+ import { Knex, SqlEntityManager, QueryBuilder } from '@mikro-orm/knex';
3
+ import { Query, QueryOne, Relationships } from '@klerick/json-api-nestjs';
4
+ import { RelationKeys } from '@klerick/json-api-nestjs-shared';
5
+ export type InputValidateData = {
6
+ type: string;
7
+ id: string;
8
+ };
9
+ export type ValidateReturn<T> = T extends unknown[] ? string[] : T extends null ? null : string;
10
+ export declare class MicroOrmUtilService<E extends object, IdKey extends string = 'id'> {
11
+ readonly entityManager: SqlEntityManager;
12
+ private entityRepository;
13
+ readonly entity: EntityClass<E>;
14
+ private _relationsName;
15
+ private _relationMap;
16
+ private _relationPropsMap;
17
+ get relationsName(): EntityKey<E, false>[];
18
+ getRelationProps(entity: EntityClass<E>): EntityKey<E, false>[];
19
+ getRelation(name: EntityKey<E, false>): EntityProperty<E, any>;
20
+ get currentAlias(): string;
21
+ get metadata(): import("@mikro-orm/core").EntityMetadata<E>;
22
+ get currentPrimaryColumn(): EntityKey<E, false>;
23
+ get defaultOrder(): QBQueryOrderMap<E>;
24
+ getAliasForEntity<T = E>(entity: EntityClass<T>): string;
25
+ getAliasForPivotTable<T = E>(relName: keyof T): string;
26
+ getAliasForPivotTable<T = E>(entity: EntityClass<T>, relName: keyof T): string;
27
+ queryBuilder<T extends object = E>(entity: EntityClass<T>, alias: string): QueryBuilder<T, typeof alias>;
28
+ queryBuilder<T extends object = E>(entity: EntityClass<T>): QueryBuilder<T, string>;
29
+ queryBuilder<T extends object = E>(alias: string): QueryBuilder<T, typeof alias>;
30
+ queryBuilder<T extends object = E>(): QueryBuilder<T, string>;
31
+ getFilterExpressionForTarget<T extends object = E>(query: Query<T, IdKey>): QBFilterQuery<T>[];
32
+ getConditionalForJoin<T extends object = E>(query: Query<T, IdKey>, key: string): QBFilterQuery;
33
+ private extractedResultOperand;
34
+ getFilterExpressionForRelation<T extends object = E>(query: Query<T, IdKey>): QBFilterQuery<T>[];
35
+ getKnex(): Knex<E, E[]>;
36
+ prePareQueryBuilder(queryBuilder: QueryBuilder<E>, query: Query<E, IdKey> | QueryOne<E, IdKey>): QueryBuilder<E>;
37
+ getPrimaryNameFor(rel: RelationKeys<E, IdKey>): EntityKey<E, false>;
38
+ private getFilterObject;
39
+ private getSubQueryForRelation;
40
+ private getInverseFieldForManyToMany;
41
+ createEntity(params: EntityData<E>): E;
42
+ private asyncIterateFindRelationships;
43
+ saveEntity(targetInstance: E, relationships?: Relationships<E, IdKey>): Promise<E>;
44
+ validateRelationInputData<Rel extends RelationKeys<E, IdKey>, In extends InputValidateData | InputValidateData[]>(rel: Rel, inputData: In): Promise<ValidateReturn<In>>;
45
+ validateRelationInputData<Rel extends RelationKeys<E, IdKey>, In extends InputValidateData | InputValidateData[]>(rel: Rel, inputData: In): Promise<ValidateReturn<In>>;
46
+ validateRelationInputData<Rel extends RelationKeys<E, IdKey>, In extends null | InputValidateData | InputValidateData[]>(rel: Rel, inputData: In): Promise<ValidateReturn<In>>;
47
+ }