@klerick/json-api-nestjs-microorm 0.1.0-beta.1 → 0.1.0-beta.11

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 (105) hide show
  1. package/CHANGELOG.md +99 -1
  2. package/README.md +47 -5
  3. package/package.json +23 -40
  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 +116 -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 +50 -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 +87 -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 +72 -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 +10 -0
  29. package/src/lib/mock-utils/entities/notes.js +64 -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 +80 -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 +166 -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 +97 -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 +3 -0
  47. package/src/lib/mock-utils/utils/init-db.js +38 -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 +12 -0
  56. package/src/lib/orm-helper/index.js +183 -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 +65 -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 +26 -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 +3 -0
  92. package/src/lib/service/index.js +7 -0
  93. package/src/lib/service/index.js.map +1 -0
  94. package/src/lib/service/micro-orm-util.service.d.ts +51 -0
  95. package/src/lib/service/micro-orm-util.service.js +554 -0
  96. package/src/lib/service/micro-orm-util.service.js.map +1 -0
  97. package/src/lib/service/microorm-service.d.ts +21 -0
  98. package/src/lib/service/microorm-service.js +121 -0
  99. package/src/lib/service/microorm-service.js.map +1 -0
  100. package/src/lib/service/mikro-orm-format.error.service.d.ts +11 -0
  101. package/src/lib/service/mikro-orm-format.error.service.js +95 -0
  102. package/src/lib/service/mikro-orm-format.error.service.js.map +1 -0
  103. package/src/lib/type.d.ts +3 -0
  104. package/src/lib/type.js +3 -0
  105. package/src/lib/type.js.map +1 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../libs/json-api/json-api-nestjs-microorm/src/lib/mock-utils/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from './provider-entities';
2
+ export * from './pull-data';
3
+ export * from './init-db';
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./provider-entities"), exports);
5
+ tslib_1.__exportStar(require("./pull-data"), exports);
6
+ tslib_1.__exportStar(require("./init-db"), exports);
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../libs/json-api/json-api-nestjs-microorm/src/lib/mock-utils/utils/index.ts"],"names":[],"mappings":";;;AAAA,8DAAoC;AACpC,sDAA4B;AAC5B,oDAA0B"}
@@ -0,0 +1,3 @@
1
+ import { MikroORM } from '@mikro-orm/core';
2
+ import { PostgreSqlDriver } from '@mikro-orm/postgresql';
3
+ export declare function initMikroOrm(testDbName: string): Promise<MikroORM<PostgreSqlDriver, import("@mikro-orm/postgresql").EntityManager<PostgreSqlDriver> & import("@mikro-orm/core").EntityManager<import("@mikro-orm/core").IDatabaseDriver<import("@mikro-orm/core").Connection>>>>;
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.initMikroOrm = initMikroOrm;
4
+ const core_1 = require("@mikro-orm/core");
5
+ const sql_highlighter_1 = require("@mikro-orm/sql-highlighter");
6
+ const entities_1 = require("../entities");
7
+ const pglite_1 = require("@electric-sql/pglite");
8
+ // @ts-ignore
9
+ const mikro_orm_pglite_1 = require("mikro-orm-pglite");
10
+ // @ts-ignore
11
+ const uuid_ossp_1 = require("@electric-sql/pglite/contrib/uuid_ossp");
12
+ async function initMikroOrm(testDbName) {
13
+ const pgLite = new pglite_1.PGlite({
14
+ extensions: { uuid_ossp: uuid_ossp_1.uuid_ossp },
15
+ });
16
+ const orm = await core_1.MikroORM.init({
17
+ highlighter: new sql_highlighter_1.SqlHighlighter(),
18
+ driver: mikro_orm_pglite_1.PGliteDriver,
19
+ dbName: testDbName,
20
+ driverOptions: {
21
+ connection: {
22
+ pglite: () => pgLite,
23
+ },
24
+ },
25
+ entities: [entities_1.Users, entities_1.UserGroups, entities_1.Roles, entities_1.Comments, entities_1.Addresses, entities_1.Notes],
26
+ allowGlobalContext: true,
27
+ schema: 'public',
28
+ debug: false
29
+ // process.env['DB_LOGGING'] !== '0' ? ['query', 'query-params'] : false,
30
+ });
31
+ const sql = await orm.getSchemaGenerator().getCreateSchemaSQL();
32
+ const statements = sql.split(';').filter((s) => s.trim().length > 0); // Разбиваем на отдельные команды
33
+ for (const statement of statements) {
34
+ await orm.em.execute(statement);
35
+ }
36
+ return orm;
37
+ }
38
+ //# sourceMappingURL=init-db.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init-db.js","sourceRoot":"","sources":["../../../../../../../../libs/json-api/json-api-nestjs-microorm/src/lib/mock-utils/utils/init-db.ts"],"names":[],"mappings":";;AAkBA,oCA4BC;AA9CD,0CAA2C;AAE3C,gEAA4D;AAE5D,0CAOqB;AACrB,iDAA8C;AAC9C,aAAa;AACb,uDAAwE;AACxE,aAAa;AACb,sEAAmE;AAE5D,KAAK,UAAU,YAAY,CAAC,UAAkB;IACnD,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC;QACxB,UAAU,EAAE,EAAE,SAAS,EAAT,qBAAS,EAAE;KAC1B,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG,MAAM,eAAQ,CAAC,IAAI,CAAmB;QAChD,WAAW,EAAE,IAAI,gCAAc,EAAE;QACjC,MAAM,EAAE,+BAAY;QACpB,MAAM,EAAE,UAAU;QAClB,aAAa,EAAE;YACb,UAAU,EAAE;gBACV,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM;aACY;SACnC;QACD,QAAQ,EAAE,CAAC,gBAAK,EAAE,qBAAU,EAAE,gBAAK,EAAE,mBAAQ,EAAE,oBAAS,EAAE,gBAAK,CAAC;QAChE,kBAAkB,EAAE,IAAI;QACxB,MAAM,EAAE,QAAQ;QAChB,KAAK,EAAE,KAAK;QACV,yEAAyE;KAC5E,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,kBAAkB,EAAE,CAAC,kBAAkB,EAAE,CAAC;IAChE,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,iCAAiC;IACvG,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { TestingModule } from '@nestjs/testing';
2
+ import { Users, Addresses, Comments, Roles, UserGroups, Notes } from '../entities';
3
+ export declare function getRepository(module: TestingModule, emToken: symbol): {
4
+ userRepository: import("@mikro-orm/core").EntityRepository<Users>;
5
+ addressesRepository: import("@mikro-orm/core").EntityRepository<Addresses>;
6
+ notesRepository: import("@mikro-orm/core").EntityRepository<Notes>;
7
+ commentsRepository: import("@mikro-orm/core").EntityRepository<Comments>;
8
+ rolesRepository: import("@mikro-orm/core").EntityRepository<Roles>;
9
+ userGroupRepository: import("@mikro-orm/core").EntityRepository<UserGroups>;
10
+ };
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getRepository = getRepository;
4
+ const entities_1 = require("../entities");
5
+ function getRepository(module, emToken) {
6
+ const em = module.get(emToken);
7
+ const userRepository = em.getRepository(entities_1.Users);
8
+ const addressesRepository = em.getRepository(entities_1.Addresses);
9
+ const notesRepository = em.getRepository(entities_1.Notes);
10
+ const commentsRepository = em.getRepository(entities_1.Comments);
11
+ const rolesRepository = em.getRepository(entities_1.Roles);
12
+ const userGroupRepository = em.getRepository(entities_1.UserGroups);
13
+ return {
14
+ userRepository,
15
+ addressesRepository,
16
+ notesRepository,
17
+ commentsRepository,
18
+ rolesRepository,
19
+ userGroupRepository,
20
+ };
21
+ }
22
+ //# sourceMappingURL=provider-entities.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-entities.js","sourceRoot":"","sources":["../../../../../../../../libs/json-api/json-api-nestjs-microorm/src/lib/mock-utils/utils/provider-entities.ts"],"names":[],"mappings":";;AAWA,sCAkBC;AA3BD,0CAOqB;AAErB,SAAgB,aAAa,CAAC,MAAqB,EAAE,OAAe;IAClE,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAgB,OAAO,CAAC,CAAC;IAE9C,MAAM,cAAc,GAAG,EAAE,CAAC,aAAa,CAAC,gBAAK,CAAC,CAAC;IAC/C,MAAM,mBAAmB,GAAG,EAAE,CAAC,aAAa,CAAC,oBAAS,CAAC,CAAC;IACxD,MAAM,eAAe,GAAG,EAAE,CAAC,aAAa,CAAC,gBAAK,CAAC,CAAC;IAChD,MAAM,kBAAkB,GAAG,EAAE,CAAC,aAAa,CAAC,mBAAQ,CAAC,CAAC;IACtD,MAAM,eAAe,GAAG,EAAE,CAAC,aAAa,CAAC,gBAAK,CAAC,CAAC;IAChD,MAAM,mBAAmB,GAAG,EAAE,CAAC,aAAa,CAAC,qBAAU,CAAC,CAAC;IAEzD,OAAO;QACL,cAAc;QACd,mBAAmB;QACnB,eAAe;QACf,kBAAkB;QAClB,eAAe;QACf,mBAAmB;KACpB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { EntityManager } from '@mikro-orm/core';
2
+ import { Addresses, Comments, Notes, Roles, UserGroups, Users } from '../entities';
3
+ export declare function pullAddress(): Promise<Addresses>;
4
+ export declare function pullComment(): Promise<Comments>;
5
+ export declare function pullNote(): Promise<Notes>;
6
+ export declare function pullRole(): Promise<Roles>;
7
+ export declare function pullUser(): Promise<Users>;
8
+ export declare function pullUserGroup(): Promise<UserGroups>;
9
+ export declare function pullAllData(em: EntityManager): Promise<Users>;
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.pullAddress = pullAddress;
4
+ exports.pullComment = pullComment;
5
+ exports.pullNote = pullNote;
6
+ exports.pullRole = pullRole;
7
+ exports.pullUser = pullUser;
8
+ exports.pullUserGroup = pullUserGroup;
9
+ exports.pullAllData = pullAllData;
10
+ const faker_1 = require("@faker-js/faker");
11
+ const entities_1 = require("../entities");
12
+ async function pullAddress() {
13
+ const address = new entities_1.Addresses();
14
+ address.city = faker_1.faker.location.city();
15
+ address.country = faker_1.faker.location.country();
16
+ address.arrayField = [
17
+ faker_1.faker.string.alphanumeric(5),
18
+ faker_1.faker.string.alphanumeric(5),
19
+ ];
20
+ address.state = faker_1.faker.location.state();
21
+ return address;
22
+ }
23
+ async function pullComment() {
24
+ const comment = new entities_1.Comments();
25
+ comment.text = faker_1.faker.lorem.paragraph(faker_1.faker.number.int(5));
26
+ comment.kind = entities_1.CommentKind.Comment;
27
+ return comment;
28
+ }
29
+ async function pullNote() {
30
+ const note = new entities_1.Notes();
31
+ note.text = faker_1.faker.lorem.paragraph(faker_1.faker.number.int(5));
32
+ return note;
33
+ }
34
+ async function pullRole() {
35
+ const role = new entities_1.Roles();
36
+ role.key = faker_1.faker.string.alphanumeric(5);
37
+ role.name = faker_1.faker.word.words();
38
+ return role;
39
+ }
40
+ async function pullUser() {
41
+ const user = new entities_1.Users();
42
+ user.firstName = faker_1.faker.person.firstName();
43
+ user.lastName = faker_1.faker.person.lastName();
44
+ user.isActive = faker_1.faker.datatype.boolean();
45
+ user.login = faker_1.faker.internet.username({
46
+ lastName: user.lastName,
47
+ firstName: user.firstName,
48
+ });
49
+ user.testReal = [faker_1.faker.number.float({ fractionDigits: 4 })];
50
+ user.testArrayNull = null;
51
+ user.testDate = faker_1.faker.date.anytime();
52
+ return user;
53
+ }
54
+ async function pullUserGroup() {
55
+ const userGroup = new entities_1.UserGroups();
56
+ userGroup.label = faker_1.faker.string.alphanumeric(5);
57
+ return userGroup;
58
+ }
59
+ async function pullAllData(em) {
60
+ const user = await pullUser();
61
+ const address1 = await pullAddress();
62
+ const address2 = await pullAddress();
63
+ const note1 = await pullNote();
64
+ const note2 = await pullNote();
65
+ const note3 = await pullNote();
66
+ const comment1 = await pullComment();
67
+ const comment2 = await pullComment();
68
+ const comment3 = await pullComment();
69
+ const comment4 = await pullComment();
70
+ const userGroup1 = await pullUserGroup();
71
+ const userGroup2 = await pullUserGroup();
72
+ const userGroup3 = await pullUserGroup();
73
+ const role1 = await pullRole();
74
+ const role2 = await pullRole();
75
+ const role3 = await pullRole();
76
+ const roleX1 = await pullRole();
77
+ const roleX2 = await pullRole();
78
+ const roleX3 = await pullRole();
79
+ const managerUser = await pullUser();
80
+ user.addresses = address1;
81
+ address1.user = user;
82
+ user.notes.add(note1, note2, note3);
83
+ user.comments.add(comment1, comment2, comment3, comment4);
84
+ user.userGroup = userGroup1;
85
+ user.roles.add(roleX1, roleX2, roleX3);
86
+ user.manager = managerUser;
87
+ managerUser.addresses = address2;
88
+ managerUser.userGroup = userGroup3;
89
+ managerUser.roles.add(role1, role2);
90
+ await em.persistAndFlush([
91
+ user,
92
+ address1,
93
+ address2,
94
+ note1,
95
+ note2,
96
+ note3,
97
+ comment1,
98
+ comment2,
99
+ comment3,
100
+ comment4,
101
+ userGroup1,
102
+ userGroup2,
103
+ userGroup3,
104
+ role1,
105
+ role2,
106
+ role3,
107
+ roleX1,
108
+ roleX2,
109
+ roleX3,
110
+ managerUser,
111
+ ]);
112
+ await em.flush();
113
+ return user;
114
+ }
115
+ //# sourceMappingURL=pull-data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pull-data.js","sourceRoot":"","sources":["../../../../../../../../libs/json-api/json-api-nestjs-microorm/src/lib/mock-utils/utils/pull-data.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { EntityMetadata, NamingStrategy } from '@mikro-orm/core';
2
+ import { EntityParam, PrepareParams } from '@klerick/json-api-nestjs';
3
+ import { MicroOrmParam } from '../type';
4
+ export declare const getRelation: <E extends object>(entityMetadata: EntityMetadata<E>) => EntityParam<E>["relations"];
5
+ export declare const getProps: <E extends object>(entityMetadata: EntityMetadata<E>, namingStrategy: NamingStrategy) => EntityParam<E>["props"];
6
+ export declare const getPropsType: <E extends object>(entityMetadata: EntityMetadata<E>, namingStrategy: NamingStrategy, config?: PrepareParams<MicroOrmParam>["options"]["arrayType"]) => EntityParam<E>["propsType"];
7
+ export declare const getPropsNullable: <E extends object>(entityMetadata: EntityMetadata<E>, namingStrategy: NamingStrategy) => EntityParam<E>["propsNullable"];
8
+ export declare const getPrimaryColumnName: <E extends object>(entityMetadata: EntityMetadata<E>) => EntityParam<E>["primaryColumnName"];
9
+ export declare const getPrimaryColumnType: <E extends object>(entityMetadata: EntityMetadata<E>) => EntityParam<E>["primaryColumnType"];
10
+ export declare const getRelationFkField: <E extends object>(entityMetadata: EntityMetadata<E>, namingStrategy: NamingStrategy) => EntityParam<E>["relationFkField"];
11
+ export declare const getRelationProperty: <E extends object>(entityMetadata: EntityMetadata<E>) => EntityParam<E>["relationProperty"];
12
+ export declare const getArrayType: <E extends object>(repository: EntityMetadata<E>, namingStrategy: NamingStrategy, config?: PrepareParams<MicroOrmParam>["options"]["arrayType"]) => EntityParam<E>["propsArrayType"];
@@ -0,0 +1,183 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getArrayType = exports.getRelationProperty = exports.getRelationFkField = exports.getPrimaryColumnType = exports.getPrimaryColumnName = exports.getPropsNullable = exports.getPropsType = exports.getProps = exports.getRelation = void 0;
4
+ const common_1 = require("@nestjs/common");
5
+ const json_api_nestjs_1 = require("@klerick/json-api-nestjs");
6
+ const constants_1 = require("../constants");
7
+ const getRelation = (entityMetadata) => entityMetadata.relations.map((i) => i.name);
8
+ exports.getRelation = getRelation;
9
+ const getProps = (entityMetadata, namingStrategy) => {
10
+ const relations = (0, exports.getRelation)(entityMetadata);
11
+ const fkField = Object.values((0, exports.getRelationFkField)(entityMetadata, namingStrategy));
12
+ return entityMetadata.props
13
+ .filter((i) => !fkField.includes(i.name))
14
+ .map((i) => i.name)
15
+ .filter((i) => !relations.includes(i));
16
+ };
17
+ exports.getProps = getProps;
18
+ const getPropsType = (entityMetadata, namingStrategy, config = constants_1.DEFAULT_ARRAY_TYPE) => {
19
+ const logger = new common_1.Logger('JSON-API:MkroORM: init');
20
+ const field = (0, exports.getProps)(entityMetadata, namingStrategy);
21
+ const result = {};
22
+ for (const item of field) {
23
+ const props = entityMetadata.properties[item];
24
+ let typeProps = json_api_nestjs_1.TypeField.string;
25
+ if (config.includes(props['type'])) {
26
+ result[item] = json_api_nestjs_1.TypeField.array;
27
+ continue;
28
+ }
29
+ switch (props.runtimeType) {
30
+ case 'Date':
31
+ typeProps = json_api_nestjs_1.TypeField.date;
32
+ break;
33
+ case 'number':
34
+ typeProps = json_api_nestjs_1.TypeField.number;
35
+ break;
36
+ case 'boolean':
37
+ typeProps = json_api_nestjs_1.TypeField.boolean;
38
+ break;
39
+ case 'object':
40
+ typeProps = json_api_nestjs_1.TypeField.object;
41
+ break;
42
+ case 'any':
43
+ logger.warn(`The field "${item}" in entity ${entityMetadata.name} has runtime type "any". Should be use object type.`);
44
+ typeProps = json_api_nestjs_1.TypeField.object;
45
+ break;
46
+ default:
47
+ typeProps = json_api_nestjs_1.TypeField.string;
48
+ }
49
+ result[item] = typeProps;
50
+ }
51
+ return result;
52
+ };
53
+ exports.getPropsType = getPropsType;
54
+ const getPropsNullable = (entityMetadata, namingStrategy) => {
55
+ return (0, exports.getProps)(entityMetadata, namingStrategy)
56
+ .map((i) => {
57
+ // @ts-expect-error dynamic property assignment
58
+ const props = entityMetadata.properties[i];
59
+ return props.nullable ||
60
+ props.default !== undefined ||
61
+ props.defaultRaw !== undefined
62
+ ? i
63
+ : false;
64
+ })
65
+ .filter((i) => !!i);
66
+ };
67
+ exports.getPropsNullable = getPropsNullable;
68
+ const getPrimaryColumnName = (entityMetadata) => entityMetadata
69
+ .getPrimaryProp()
70
+ .name.toString();
71
+ exports.getPrimaryColumnName = getPrimaryColumnName;
72
+ const getPrimaryColumnType = (entityMetadata) => {
73
+ return (entityMetadata.getPrimaryProp().runtimeType === 'number'
74
+ ? json_api_nestjs_1.TypeField.number
75
+ : json_api_nestjs_1.TypeField.string);
76
+ };
77
+ exports.getPrimaryColumnType = getPrimaryColumnType;
78
+ const getRelationFkField = (entityMetadata, namingStrategy) => {
79
+ return entityMetadata.relations
80
+ .filter((rel) => {
81
+ if (rel.kind !== 'm:1' && !(rel.kind === '1:1' && !rel.mappedBy)) {
82
+ return false;
83
+ }
84
+ return !!rel.fieldNames?.[0];
85
+ })
86
+ .reduce((acum, rel) => {
87
+ if (!rel.targetMeta) {
88
+ return acum;
89
+ }
90
+ const primaryKey = rel.referencedColumnNames[0];
91
+ const joinsColumnName = namingStrategy.joinKeyColumnName(rel.name, rel.targetMeta.properties[primaryKey].fieldNames[0]);
92
+ const joinPropertyName = namingStrategy.columnNameToProperty(joinsColumnName);
93
+ const hasJoinProperty = entityMetadata.props.find((p) => p.name === joinPropertyName);
94
+ if (!hasJoinProperty) {
95
+ return acum;
96
+ }
97
+ // @ts-expect-error dynamic property assignment
98
+ acum[rel.name] = hasJoinProperty.name;
99
+ return acum;
100
+ }, {});
101
+ };
102
+ exports.getRelationFkField = getRelationFkField;
103
+ const getRelationProperty = (entityMetadata) => {
104
+ return entityMetadata.relations.reduce((acum, item) => {
105
+ // @ts-expect-error its dynamic creater
106
+ acum[item.name] = {
107
+ entityClass: item.entity(),
108
+ nullable: item.kind === 'm:n' || item.kind === '1:m'
109
+ ? false
110
+ : !!item.nullable,
111
+ isArray: item.kind === 'm:n' || item.kind === '1:m',
112
+ };
113
+ return acum;
114
+ }, {});
115
+ };
116
+ exports.getRelationProperty = getRelationProperty;
117
+ const getArrayType = (repository, namingStrategy, config = constants_1.DEFAULT_ARRAY_TYPE) => {
118
+ return Object.entries((0, exports.getPropsType)(repository, namingStrategy, config))
119
+ .filter(([name, type]) => type === json_api_nestjs_1.TypeField.array)
120
+ .reduce((acum, [name]) => {
121
+ const fieldType = Reflect.get(repository.properties, name)
122
+ .columnTypes.at(0)
123
+ ?.replace('[]', '');
124
+ if (!fieldType) {
125
+ throw new Error('Metadata not found for field ' + name);
126
+ }
127
+ switch (fieldType) {
128
+ case 'number':
129
+ case 'bigint':
130
+ case 'smallint':
131
+ case 'smalldecimal':
132
+ case 'decimal':
133
+ case 'double':
134
+ case 'tinyint':
135
+ case 'mediumint':
136
+ case 'int':
137
+ case 'float':
138
+ case 'dec':
139
+ case 'fixed':
140
+ case 'numeric':
141
+ case 'real':
142
+ case 'int2':
143
+ case 'int4':
144
+ case 'int8':
145
+ case 'integer':
146
+ acum[name] = json_api_nestjs_1.TypeField.number;
147
+ break;
148
+ case 'character varying':
149
+ case 'varying character':
150
+ case 'char varying':
151
+ case 'nvarchar':
152
+ case 'national varchar':
153
+ case 'character':
154
+ case 'native character':
155
+ case 'varchar':
156
+ case 'char':
157
+ case 'nchar':
158
+ case 'national char':
159
+ case 'varchar2':
160
+ case 'nvarchar2':
161
+ case 'alphanum':
162
+ case 'shorttext':
163
+ case 'raw':
164
+ case 'binary':
165
+ case 'varbinary':
166
+ case 'string':
167
+ acum[name] = json_api_nestjs_1.TypeField.string;
168
+ break;
169
+ case 'date':
170
+ case 'timetz':
171
+ case 'timestamptz':
172
+ case 'timestamp with local time zone':
173
+ case 'smalldatetime':
174
+ acum[name] = json_api_nestjs_1.TypeField.date;
175
+ break;
176
+ case 'boolean':
177
+ acum[name] = json_api_nestjs_1.TypeField.boolean;
178
+ }
179
+ return acum;
180
+ }, {});
181
+ };
182
+ exports.getArrayType = getArrayType;
183
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../libs/json-api/json-api-nestjs-microorm/src/lib/orm-helper/index.ts"],"names":[],"mappings":";;;AACA,2CAAwC;AACxC,8DAAiF;AAEjF,4CAAkD;AAG3C,MAAM,WAAW,GAAG,CACzB,cAAiC,EACjC,EAAE,CACF,cAAc,CAAC,SAAS,CAAC,GAAG,CAC1B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAC4B,CAAC;AALjC,QAAA,WAAW,eAKsB;AAEvC,MAAM,QAAQ,GAAG,CACtB,cAAiC,EACjC,cAA8B,EACL,EAAE;IAC3B,MAAM,SAAS,GAAG,IAAA,mBAAW,EAAC,cAAc,CAAQ,CAAC;IACrD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,IAAA,0BAAkB,EAAC,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC;IAElF,OACE,cAAc,CAAC,KAAK;SACjB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SACxC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;SAClB,MAAM,CACL,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAElC,CAAC;AACJ,CAAC,CAAC;AAfW,QAAA,QAAQ,YAenB;AAEK,MAAM,YAAY,GAAG,CAC1B,cAAiC,EACjC,cAA8B,EAC9B,SAA+D,8BAAkB,EACpD,EAAE;IAC/B,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,wBAAwB,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,IAAA,gBAAQ,EAAC,cAAc,EAAE,cAAc,CAAC,CAAC;IAEvD,MAAM,MAAM,GAAG,EAAS,CAAC;IACzB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,KAAK,GACT,cAAc,CAAC,UAAU,CAAC,IAAsC,CAAC,CAAC;QAEpE,IAAI,SAAS,GAAc,2BAAS,CAAC,MAAM,CAAC;QAC5C,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YACnC,MAAM,CAAC,IAAI,CAAC,GAAG,2BAAS,CAAC,KAAK,CAAC;YAC/B,SAAS;QACX,CAAC;QAED,QAAQ,KAAK,CAAC,WAAW,EAAE,CAAC;YAC1B,KAAK,MAAM;gBACT,SAAS,GAAG,2BAAS,CAAC,IAAI,CAAC;gBAC3B,MAAM;YACR,KAAK,QAAQ;gBACX,SAAS,GAAG,2BAAS,CAAC,MAAM,CAAC;gBAC7B,MAAM;YACR,KAAK,SAAS;gBACZ,SAAS,GAAG,2BAAS,CAAC,OAAO,CAAC;gBAC9B,MAAM;YACR,KAAK,QAAQ;gBACX,SAAS,GAAG,2BAAS,CAAC,MAAM,CAAC;gBAC7B,MAAM;YACR,KAAK,KAAK;gBACR,MAAM,CAAC,IAAI,CAAC,cAAc,IAAI,eAAe,cAAc,CAAC,IAAI,qDAAqD,CAAC,CAAC;gBACvH,SAAS,GAAG,2BAAS,CAAC,MAAM,CAAC;gBAC7B,MAAM;YACR;gBACE,SAAS,GAAG,2BAAS,CAAC,MAAM,CAAC;QACjC,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;IAC3B,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AA3CW,QAAA,YAAY,gBA2CvB;AAEK,MAAM,gBAAgB,GAAG,CAC9B,cAAiC,EACjC,cAA8B,EACG,EAAE;IACnC,OAAO,IAAA,gBAAQ,EAAC,cAAc,EAAE,cAAc,CAAC;SAC5C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,+CAA+C;QAC/C,MAAM,KAAK,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC3C,OAAO,KAAK,CAAC,QAAQ;YACnB,KAAK,CAAC,OAAO,KAAK,SAAS;YAC3B,KAAK,CAAC,UAAU,KAAK,SAAS;YAC9B,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,KAAK,CAAC;IACZ,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAA+C,CAAC;AACtE,CAAC,CAAC;AAfW,QAAA,gBAAgB,oBAe3B;AAEK,MAAM,oBAAoB,GAAG,CAClC,cAAiC,EACjC,EAAE,CACF,cAAc;KACX,cAAc,EAAE;KAChB,IAAI,CAAC,QAAQ,EAAyC,CAAC;AAL/C,QAAA,oBAAoB,wBAK2B;AAErD,MAAM,oBAAoB,GAAG,CAClC,cAAiC,EACI,EAAE;IACvC,OAAO,CACL,cAAc,CAAC,cAAc,EAAE,CAAC,WAAW,KAAK,QAAQ;QACtD,CAAC,CAAC,2BAAS,CAAC,MAAM;QAClB,CAAC,CAAC,2BAAS,CAAC,MAAM,CACkB,CAAC;AAC3C,CAAC,CAAC;AARW,QAAA,oBAAoB,wBAQ/B;AAEK,MAAM,kBAAkB,GAAG,CAChC,cAAiC,EACjC,cAA8B,EACK,EAAE;IAErC,OAAO,cAAc,CAAC,SAAS;SAC5B,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;QACd,IAAI,GAAG,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjE,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;QACpB,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,UAAU,GAAG,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAChD,MAAM,eAAe,GAAG,cAAc,CAAC,iBAAiB,CACtD,GAAG,CAAC,IAAI,EACR,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CACpD,CAAC;QACF,MAAM,gBAAgB,GACpB,cAAc,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC;QACvD,MAAM,eAAe,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,CAC/C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,gBAAgB,CACnC,CAAC;QAEF,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,+CAA+C;QAC/C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,IAAI,CAAC;QAEtC,OAAO,IAAI,CAAC;IACd,CAAC,EAAE,EAAuC,CAAC,CAAC;AAEhD,CAAC,CAAC;AArCW,QAAA,kBAAkB,sBAqC7B;AAEK,MAAM,mBAAmB,GAAG,CACjC,cAAiC,EACG,EAAE;IACtC,OAAO,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;QACpD,uCAAuC;QACvC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;YAChB,WAAW,EAAE,IAAI,CAAC,MAAM,EAAS;YACjC,QAAQ,EACN,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK;gBACxC,CAAC,CAAC,KAAK;gBACP,CAAC,CAAE,CAAC,CAAC,IAAI,CAAC,QAAgB;YAC9B,OAAO,EAAE,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,IAAI,KAAM,KAAa;SAC7D,CAAC;QAEF,OAAO,IAAI,CAAC;IACd,CAAC,EAAE,EAAwC,CAAC,CAAC;AAC/C,CAAC,CAAC;AAhBW,QAAA,mBAAmB,uBAgB9B;AAEK,MAAM,YAAY,GAAG,CAC1B,UAA6B,EAC7B,cAA8B,EAC9B,SAA+D,8BAAkB,EAC/C,EAAE;IACpC,OAAO,MAAM,CAAC,OAAO,CAAC,IAAA,oBAAY,EAAC,UAAU,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;SACpE,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,KAAK,2BAAS,CAAC,KAAK,CAAC;SAClD,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE;QACvB,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC;aACvD,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;YAClB,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAEtB,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,+BAA+B,GAAG,IAAI,CAAC,CAAC;QAC1D,CAAC;QAED,QAAQ,SAAS,EAAE,CAAC;YAClB,KAAK,QAAQ,CAAC;YACd,KAAK,QAAQ,CAAC;YACd,KAAK,UAAU,CAAC;YAChB,KAAK,cAAc,CAAC;YACpB,KAAK,SAAS,CAAC;YACf,KAAK,QAAQ,CAAC;YACd,KAAK,SAAS,CAAC;YACf,KAAK,WAAW,CAAC;YACjB,KAAK,KAAK,CAAC;YACX,KAAK,OAAO,CAAC;YACb,KAAK,KAAK,CAAC;YACX,KAAK,OAAO,CAAC;YACb,KAAK,SAAS,CAAC;YACf,KAAK,MAAM,CAAC;YACZ,KAAK,MAAM,CAAC;YACZ,KAAK,MAAM,CAAC;YACZ,KAAK,MAAM,CAAC;YACZ,KAAK,SAAS;gBACZ,IAAI,CAAC,IAAI,CAAC,GAAG,2BAAS,CAAC,MAAM,CAAC;gBAC9B,MAAM;YACR,KAAK,mBAAmB,CAAC;YACzB,KAAK,mBAAmB,CAAC;YACzB,KAAK,cAAc,CAAC;YACpB,KAAK,UAAU,CAAC;YAChB,KAAK,kBAAkB,CAAC;YACxB,KAAK,WAAW,CAAC;YACjB,KAAK,kBAAkB,CAAC;YACxB,KAAK,SAAS,CAAC;YACf,KAAK,MAAM,CAAC;YACZ,KAAK,OAAO,CAAC;YACb,KAAK,eAAe,CAAC;YACrB,KAAK,UAAU,CAAC;YAChB,KAAK,WAAW,CAAC;YACjB,KAAK,UAAU,CAAC;YAChB,KAAK,WAAW,CAAC;YACjB,KAAK,KAAK,CAAC;YACX,KAAK,QAAQ,CAAC;YACd,KAAK,WAAW,CAAC;YACjB,KAAK,QAAQ;gBACX,IAAI,CAAC,IAAI,CAAC,GAAG,2BAAS,CAAC,MAAM,CAAC;gBAC9B,MAAM;YACR,KAAK,MAAM,CAAC;YACZ,KAAK,QAAQ,CAAC;YACd,KAAK,aAAa,CAAC;YACnB,KAAK,gCAAgC,CAAC;YACtC,KAAK,eAAe;gBAClB,IAAI,CAAC,IAAI,CAAC,GAAG,2BAAS,CAAC,IAAI,CAAC;gBAC5B,MAAM;YACR,KAAK,SAAS;gBACZ,IAAI,CAAC,IAAI,CAAC,GAAG,2BAAS,CAAC,OAAO,CAAC;QACnC,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC,EAAE,EAAS,CAAC,CAAC;AAClB,CAAC,CAAC;AAvEW,QAAA,YAAY,gBAuEvB"}
@@ -0,0 +1,2 @@
1
+ import { MicroOrmService } from '../../service';
2
+ export declare function deleteOne<E extends object, IdKey extends string>(this: MicroOrmService<E, IdKey>, id: number | string): Promise<void>;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.deleteOne = deleteOne;
4
+ async function deleteOne(id) {
5
+ const data = await this.microOrmUtilService
6
+ .queryBuilder()
7
+ .where({
8
+ [this.microOrmUtilService.currentPrimaryColumn]: id,
9
+ })
10
+ .getSingleResult();
11
+ if (!data)
12
+ return void 0;
13
+ await this.microOrmUtilService.entityManager.removeAndFlush(data);
14
+ return void 0;
15
+ }
16
+ //# sourceMappingURL=delete-one.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-one.js","sourceRoot":"","sources":["../../../../../../../../libs/json-api/json-api-nestjs-microorm/src/lib/orm-methods/delete-one/delete-one.ts"],"names":[],"mappings":";;AAEA,8BAgBC;AAhBM,KAAK,UAAU,SAAS,CAE7B,EAAmB;IAEnB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,mBAAmB;SACxC,YAAY,EAAE;SACd,KAAK,CAAC;QACL,CAAC,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,EAAE,EAAE;KACpD,CAAC;SACD,eAAe,EAAE,CAAC;IAErB,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC,CAAC;IAEzB,MAAM,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IAElE,OAAO,KAAK,CAAC,CAAC;AAChB,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 deleteRelationship<E extends object, IdKey extends string, Rel extends RelationKeys<E, IdKey>>(this: MicroOrmService<E, IdKey>, id: number | string, rel: Rel, input: PostRelationshipData): Promise<void>;
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.deleteRelationship = deleteRelationship;
4
+ const common_1 = require("@nestjs/common");
5
+ async function deleteRelationship(id, rel, input) {
6
+ const idsResult = await this.microOrmUtilService.validateRelationInputData(rel, input);
7
+ const currentEntityRef = await this.microOrmUtilService
8
+ .queryBuilder()
9
+ .where({
10
+ [this.microOrmUtilService.currentPrimaryColumn]: id,
11
+ })
12
+ .getSingleResult();
13
+ if (!currentEntityRef) {
14
+ const error = {
15
+ code: 'invalid_arguments',
16
+ message: `Resource '${this.microOrmUtilService.currentAlias}' with id '${id}' does not exist`,
17
+ path: ['fields'],
18
+ };
19
+ throw new common_1.NotFoundException([error]);
20
+ }
21
+ await this.microOrmUtilService.entityManager.populate(currentEntityRef, [
22
+ rel,
23
+ ]);
24
+ if (Array.isArray(idsResult)) {
25
+ const relEntity = this.microOrmUtilService.getRelation(rel).entity();
26
+ const relRef = idsResult.map((i) => this.microOrmUtilService.entityManager.getReference(relEntity, i));
27
+ currentEntityRef[rel].remove(...relRef);
28
+ }
29
+ else {
30
+ if (
31
+ // @ts-ignore
32
+ currentEntityRef[rel][this.microOrmUtilService.getPrimaryNameFor(rel)] ==
33
+ idsResult) {
34
+ // @ts-ignore
35
+ currentEntityRef[rel] = null;
36
+ }
37
+ }
38
+ await this.microOrmUtilService.entityManager.flush();
39
+ }
40
+ //# sourceMappingURL=delete-relationship.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-relationship.js","sourceRoot":"","sources":["../../../../../../../../libs/json-api/json-api-nestjs-microorm/src/lib/orm-methods/delete-relationship/delete-relationship.ts"],"names":[],"mappings":";;AASA,gDAoDC;AA7DD,2CAAmD;AAS5C,KAAK,UAAU,kBAAkB,CAMtC,EAAmB,EACnB,GAAQ,EACR,KAA2B;IAE3B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,yBAAyB,CACxE,GAAU,EACV,KAAK,CACN,CAAC;IACF,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,mBAAmB;SACpD,YAAY,EAAE;SACd,KAAK,CAAC;QACL,CAAC,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,EAAE,EAAE;KACpD,CAAC;SACD,eAAe,EAAE,CAAC;IAErB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,MAAM,KAAK,GAAuB;YAChC,IAAI,EAAE,mBAAmB;YACzB,OAAO,EAAE,aAAa,IAAI,CAAC,mBAAmB,CAAC,YAAY,cAAc,EAAE,kBAAkB;YAC7F,IAAI,EAAE,CAAC,QAAQ,CAAC;SACjB,CAAC;QACF,MAAM,IAAI,0BAAiB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,QAAQ,CAAC,gBAAgB,EAAE;QACtE,GAAU;KACX,CAAC,CAAC;IAEH,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,GAAU,CAAC,CAAC,MAAM,EAAE,CAAC;QAC5E,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;QACD,gBAAgB,CAAC,GAAG,CAAS,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC;IACnD,CAAC;SAAM,CAAC;QACN;QACE,aAAa;QACb,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;YACtE,SAAS,EACT,CAAC;YACD,aAAa;YACb,gBAAgB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,MAAM,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;AACvD,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { Query } from '@klerick/json-api-nestjs';
2
+ import { MicroOrmService } from '../../service';
3
+ export declare function getAll<E extends object, IdKey extends string>(this: MicroOrmService<E, IdKey>, query: Query<E, IdKey>, additionalQueryParams?: Record<string, unknown>): Promise<{
4
+ totalItems: number;
5
+ items: E[];
6
+ }>;
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getAll = getAll;
4
+ const core_1 = require("@mikro-orm/core");
5
+ const get_query_for_count_1 = require("./get-query-for-count");
6
+ async function getAll(query, additionalQueryParams) {
7
+ const { page } = query;
8
+ const countSubQuery = get_query_for_count_1.getQueryForCount.call(this, ...[query]);
9
+ if (additionalQueryParams) {
10
+ countSubQuery.andWhere(additionalQueryParams);
11
+ }
12
+ const skip = (page.number - 1) * page.size;
13
+ await countSubQuery.applyFilters();
14
+ const paginationQuery = countSubQuery
15
+ .clone()
16
+ .select(this.microOrmUtilService.currentPrimaryColumn)
17
+ .limit(page.size, skip);
18
+ const collectIdsAlias = 'CollectIds';
19
+ const queryIdsQuery = this.microOrmUtilService
20
+ .queryBuilder(collectIdsAlias)
21
+ .select(this.microOrmUtilService.currentPrimaryColumn)
22
+ .join(paginationQuery, this.microOrmUtilService.currentAlias, {
23
+ [`${collectIdsAlias}.${this.microOrmUtilService.currentPrimaryColumn}`]: this.microOrmUtilService
24
+ .getKnex()
25
+ .ref(`${this.microOrmUtilService.currentAlias}.${this.microOrmUtilService.currentPrimaryColumn}`),
26
+ });
27
+ const queryCount = this.microOrmUtilService
28
+ .queryBuilder()
29
+ .from(countSubQuery
30
+ .clone()
31
+ .select(this.microOrmUtilService.currentPrimaryColumn))
32
+ .count(this.microOrmUtilService.currentPrimaryColumn, true);
33
+ const resCount = await queryCount.execute('get');
34
+ const count = resCount ? +resCount.count : 0;
35
+ if (count === 0) {
36
+ return {
37
+ totalItems: count,
38
+ items: [],
39
+ };
40
+ }
41
+ const resIds = await queryIdsQuery
42
+ .distinct()
43
+ .setFlag(core_1.QueryFlag.DISABLE_PAGINATE)
44
+ .execute('all');
45
+ const idsArray = resIds.map((r) => r[this.microOrmUtilService.currentPrimaryColumn]);
46
+ const resultQueryBuilder = this.microOrmUtilService.queryBuilder().where({
47
+ [this.microOrmUtilService.currentPrimaryColumn]: {
48
+ $in: idsArray,
49
+ },
50
+ });
51
+ const sortObject = (0, get_query_for_count_1.getSortObject)(query);
52
+ const resultList = await this.microOrmUtilService
53
+ .prePareQueryBuilder(resultQueryBuilder, query)
54
+ .orderBy(Object.keys(sortObject).length > 0
55
+ ? sortObject
56
+ : {
57
+ [this.microOrmUtilService.currentPrimaryColumn]: 'ASC',
58
+ })
59
+ .getResult();
60
+ return {
61
+ totalItems: count,
62
+ items: resultList.map((i) => (0, core_1.wrap)(i).toJSON()),
63
+ };
64
+ }
65
+ //# sourceMappingURL=get-all.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-all.js","sourceRoot":"","sources":["../../../../../../../../libs/json-api/json-api-nestjs-microorm/src/lib/orm-methods/get-all/get-all.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { Query } from '@klerick/json-api-nestjs';
2
+ import type { QBQueryOrderMap } from '@mikro-orm/core';
3
+ import { MicroOrmService } from '../../service';
4
+ export declare function getSortObject<E extends object, IdKey extends string>(query: Query<E, IdKey>): QBQueryOrderMap<E>;
5
+ export declare function getQueryForCount<E extends object, IdKey extends string>(this: MicroOrmService<E, IdKey>, query: Query<E, IdKey>): import("@mikro-orm/knex").QueryBuilder<E, string, never, never>;