@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,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Notes = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const core_1 = require("@mikro-orm/core");
6
+ const index_1 = require("./index");
7
+ let Notes = class Notes {
8
+ constructor() {
9
+ this.createdAt = new Date();
10
+ this.updatedAt = new Date();
11
+ }
12
+ };
13
+ exports.Notes = Notes;
14
+ tslib_1.__decorate([
15
+ (0, core_1.PrimaryKey)({
16
+ type: 'uuid',
17
+ defaultRaw: 'gen_random_uuid()',
18
+ }),
19
+ tslib_1.__metadata("design:type", String)
20
+ ], Notes.prototype, "id", void 0);
21
+ tslib_1.__decorate([
22
+ (0, core_1.Property)({
23
+ type: 'text',
24
+ nullable: false,
25
+ }),
26
+ tslib_1.__metadata("design:type", String)
27
+ ], Notes.prototype, "text", void 0);
28
+ tslib_1.__decorate([
29
+ (0, core_1.Property)({
30
+ length: 0,
31
+ name: 'created_at',
32
+ nullable: true,
33
+ defaultRaw: 'CURRENT_TIMESTAMP(0)',
34
+ columnType: 'timestamp(0) without time zone',
35
+ }),
36
+ tslib_1.__metadata("design:type", Date)
37
+ ], Notes.prototype, "createdAt", void 0);
38
+ tslib_1.__decorate([
39
+ (0, core_1.Property)({
40
+ length: 0,
41
+ onUpdate: () => new Date(),
42
+ name: 'updated_at',
43
+ nullable: true,
44
+ columnType: 'timestamp(0) without time zone',
45
+ defaultRaw: 'CURRENT_TIMESTAMP(0)',
46
+ }),
47
+ tslib_1.__metadata("design:type", Date)
48
+ ], Notes.prototype, "updatedAt", void 0);
49
+ tslib_1.__decorate([
50
+ (0, core_1.ManyToOne)(() => index_1.Users, {
51
+ fieldName: 'created_by',
52
+ }),
53
+ tslib_1.__metadata("design:type", Object)
54
+ ], Notes.prototype, "createdBy", void 0);
55
+ exports.Notes = Notes = tslib_1.__decorate([
56
+ (0, core_1.Entity)({
57
+ tableName: 'notes',
58
+ })
59
+ ], Notes);
60
+ //# sourceMappingURL=notes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notes.js","sourceRoot":"","sources":["../../../../../../../../libs/json-api/json-api-nestjs-microorm/src/lib/mock-utils/entities/notes.ts"],"names":[],"mappings":";;;;AAAA,0CAA0E;AAE1E,mCAAwC;AAKjC,IAAM,KAAK,GAAX,MAAM,KAAK;IAAX;QAoBL,cAAS,GAAS,IAAI,IAAI,EAAE,CAAC;QAU7B,cAAS,GAAS,IAAI,IAAI,EAAE,CAAC;IAM/B,CAAC;CAAA,CAAA;AApCY,sBAAK;AAKT;IAJN,IAAA,iBAAU,EAAC;QACV,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,mBAAmB;KAChC,CAAC;;iCACiB;AAMZ;IAJN,IAAA,eAAQ,EAAC;QACR,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,KAAK;KAChB,CAAC;;mCACmB;AASrB;IAPC,IAAA,eAAQ,EAAC;QACR,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,IAAI;QACd,UAAU,EAAE,sBAAsB;QAClC,UAAU,EAAE,gCAAgC;KAC7C,CAAC;sCACS,IAAI;wCAAc;AAU7B;IARC,IAAA,eAAQ,EAAC;QACR,MAAM,EAAE,CAAC;QACT,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE;QAC1B,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,IAAI;QACd,UAAU,EAAE,gCAAgC;QAC5C,UAAU,EAAE,sBAAsB;KACnC,CAAC;sCACS,IAAI;wCAAc;AAKtB;IAHN,IAAA,gBAAS,EAAC,GAAG,EAAE,CAAC,aAAK,EAAE;QACtB,SAAS,EAAE,YAAY;KACxB,CAAC;;wCACwB;gBAnCf,KAAK;IAHjB,IAAA,aAAM,EAAC;QACN,SAAS,EAAE,OAAO;KACnB,CAAC;GACW,KAAK,CAoCjB"}
@@ -0,0 +1,12 @@
1
+ import { Collection } from '@mikro-orm/core';
2
+ import { Users } from './index';
3
+ export type IRoles = Roles;
4
+ export declare class Roles {
5
+ id: number;
6
+ name: string;
7
+ key: string;
8
+ isDefault: boolean;
9
+ createdAt: Date;
10
+ updatedAt: Date;
11
+ users: Collection<Users, object>;
12
+ }
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Roles = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const core_1 = require("@mikro-orm/core");
6
+ const index_1 = require("./index");
7
+ let Roles = class Roles {
8
+ constructor() {
9
+ this.createdAt = new Date();
10
+ this.updatedAt = new Date();
11
+ this.users = new core_1.Collection(this);
12
+ }
13
+ };
14
+ exports.Roles = Roles;
15
+ tslib_1.__decorate([
16
+ (0, core_1.PrimaryKey)({
17
+ autoincrement: true,
18
+ }),
19
+ tslib_1.__metadata("design:type", Number)
20
+ ], Roles.prototype, "id", void 0);
21
+ tslib_1.__decorate([
22
+ (0, core_1.Property)({
23
+ type: 'varchar',
24
+ length: 128,
25
+ nullable: true,
26
+ default: 'NULL',
27
+ }),
28
+ tslib_1.__metadata("design:type", String)
29
+ ], Roles.prototype, "name", void 0);
30
+ tslib_1.__decorate([
31
+ (0, core_1.Property)({
32
+ type: 'varchar',
33
+ length: 128,
34
+ nullable: false,
35
+ unique: true,
36
+ }),
37
+ tslib_1.__metadata("design:type", String)
38
+ ], Roles.prototype, "key", void 0);
39
+ tslib_1.__decorate([
40
+ (0, core_1.Property)({
41
+ name: 'is_default',
42
+ type: 'boolean',
43
+ default: false,
44
+ }),
45
+ tslib_1.__metadata("design:type", Boolean)
46
+ ], Roles.prototype, "isDefault", void 0);
47
+ tslib_1.__decorate([
48
+ (0, core_1.Property)({
49
+ length: 0,
50
+ name: 'created_at',
51
+ nullable: true,
52
+ defaultRaw: 'CURRENT_TIMESTAMP(0)',
53
+ columnType: 'timestamp(0) without time zone',
54
+ type: 'timestamp',
55
+ }),
56
+ tslib_1.__metadata("design:type", Date)
57
+ ], Roles.prototype, "createdAt", void 0);
58
+ tslib_1.__decorate([
59
+ (0, core_1.Property)({
60
+ length: 0,
61
+ onUpdate: () => new Date(),
62
+ name: 'updated_at',
63
+ nullable: true,
64
+ columnType: 'timestamp(0) without time zone',
65
+ defaultRaw: 'CURRENT_TIMESTAMP(0)',
66
+ }),
67
+ tslib_1.__metadata("design:type", Date)
68
+ ], Roles.prototype, "updatedAt", void 0);
69
+ tslib_1.__decorate([
70
+ (0, core_1.ManyToMany)(() => index_1.Users, (item) => item.roles),
71
+ tslib_1.__metadata("design:type", Object)
72
+ ], Roles.prototype, "users", void 0);
73
+ exports.Roles = Roles = tslib_1.__decorate([
74
+ (0, core_1.Entity)({
75
+ tableName: 'roles',
76
+ })
77
+ ], Roles);
78
+ //# sourceMappingURL=roles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"roles.js","sourceRoot":"","sources":["../../../../../../../../libs/json-api/json-api-nestjs-microorm/src/lib/mock-utils/entities/roles.ts"],"names":[],"mappings":";;;;AAAA,0CAMyB;AAEzB,mCAAwC;AAOjC,IAAM,KAAK,GAAX,MAAM,KAAK;IAAX;QAqCL,cAAS,GAAS,IAAI,IAAI,EAAE,CAAC;QAU7B,cAAS,GAAS,IAAI,IAAI,EAAE,CAAC;QAGtB,UAAK,GAAG,IAAI,iBAAU,CAAQ,IAAI,CAAC,CAAC;IAC7C,CAAC;CAAA,CAAA;AAnDY,sBAAK;AAIT;IAHN,IAAA,iBAAU,EAAC;QACV,aAAa,EAAE,IAAI;KACpB,CAAC;;iCACiB;AAQZ;IANN,IAAA,eAAQ,EAAC;QACR,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,GAAG;QACX,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,MAAM;KAChB,CAAC;;mCACmB;AAQd;IANN,IAAA,eAAQ,EAAC;QACR,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,GAAG;QACX,QAAQ,EAAE,KAAK;QACf,MAAM,EAAE,IAAI;KACb,CAAC;;kCACkB;AAOb;IALN,IAAA,eAAQ,EAAC;QACR,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,KAAK;KACf,CAAC;;wCACyB;AAU3B;IARC,IAAA,eAAQ,EAAC;QACR,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,IAAI;QACd,UAAU,EAAE,sBAAsB;QAClC,UAAU,EAAE,gCAAgC;QAC5C,IAAI,EAAE,WAAW;KAClB,CAAC;sCACS,IAAI;wCAAc;AAU7B;IARC,IAAA,eAAQ,EAAC;QACR,MAAM,EAAE,CAAC;QACT,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE;QAC1B,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,IAAI;QACd,UAAU,EAAE,gCAAgC;QAC5C,UAAU,EAAE,sBAAsB;KACnC,CAAC;sCACS,IAAI;wCAAc;AAGtB;IADN,IAAA,iBAAU,EAAC,GAAG,EAAE,CAAC,aAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;;oCACH;gBAlDhC,KAAK;IAHjB,IAAA,aAAM,EAAC;QACN,SAAS,EAAE,OAAO;KACnB,CAAC;GACW,KAAK,CAmDjB"}
@@ -0,0 +1,7 @@
1
+ import { Collection } from '@mikro-orm/core';
2
+ import { Users } from './index';
3
+ export declare class UserGroups {
4
+ id: number;
5
+ label: string;
6
+ users: Collection<Users, object>;
7
+ }
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UserGroups = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const core_1 = require("@mikro-orm/core");
6
+ const index_1 = require("./index");
7
+ let UserGroups = class UserGroups {
8
+ constructor() {
9
+ this.users = new core_1.Collection(this);
10
+ }
11
+ };
12
+ exports.UserGroups = UserGroups;
13
+ tslib_1.__decorate([
14
+ (0, core_1.PrimaryKey)({
15
+ autoincrement: true,
16
+ }),
17
+ tslib_1.__metadata("design:type", Number)
18
+ ], UserGroups.prototype, "id", void 0);
19
+ tslib_1.__decorate([
20
+ (0, core_1.Property)({
21
+ type: 'string',
22
+ length: 50,
23
+ unique: true,
24
+ columnType: 'varchar',
25
+ }),
26
+ tslib_1.__metadata("design:type", String)
27
+ ], UserGroups.prototype, "label", void 0);
28
+ tslib_1.__decorate([
29
+ (0, core_1.OneToMany)(() => index_1.Users, (item) => item.userGroup),
30
+ tslib_1.__metadata("design:type", Object)
31
+ ], UserGroups.prototype, "users", void 0);
32
+ exports.UserGroups = UserGroups = tslib_1.__decorate([
33
+ (0, core_1.Entity)({
34
+ tableName: 'user_groups',
35
+ })
36
+ ], UserGroups);
37
+ //# sourceMappingURL=user-groups.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-groups.js","sourceRoot":"","sources":["../../../../../../../../libs/json-api/json-api-nestjs-microorm/src/lib/mock-utils/entities/user-groups.ts"],"names":[],"mappings":";;;;AAAA,0CAMyB;AAEzB,mCAAgC;AAKzB,IAAM,UAAU,GAAhB,MAAM,UAAU;IAAhB;QAeE,UAAK,GAAG,IAAI,iBAAU,CAAQ,IAAI,CAAC,CAAC;IAC7C,CAAC;CAAA,CAAA;AAhBY,gCAAU;AAId;IAHN,IAAA,iBAAU,EAAC;QACV,aAAa,EAAE,IAAI;KACpB,CAAC;;sCACiB;AAQZ;IANN,IAAA,eAAQ,EAAC;QACR,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,EAAE;QACV,MAAM,EAAE,IAAI;QACZ,UAAU,EAAE,SAAS;KACtB,CAAC;;yCACoB;AAGf;IADN,IAAA,gBAAS,EAAC,GAAG,EAAE,CAAC,aAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC;;yCACN;qBAfhC,UAAU;IAHtB,IAAA,aAAM,EAAC;QACN,SAAS,EAAE,aAAa;KACzB,CAAC;GACW,UAAU,CAgBtB"}
@@ -0,0 +1,23 @@
1
+ import { Collection, Type } from '@mikro-orm/core';
2
+ import { Roles, Comments, Notes, UserGroups, IAddresses } from './index';
3
+ export type IUsers = Users;
4
+ export declare class MyDateType extends Type<Date, string> {
5
+ }
6
+ export declare class Users {
7
+ id: number;
8
+ login: string;
9
+ firstName: string;
10
+ testReal: number[];
11
+ testArrayNull: number[] | null;
12
+ lastName: string;
13
+ isActive: boolean;
14
+ testDate: Date;
15
+ createdAt: Date;
16
+ updatedAt: Date;
17
+ addresses: IAddresses;
18
+ manager: IUsers;
19
+ roles: Collection<Roles, object>;
20
+ comments: Collection<Comments, object>;
21
+ notes: Collection<Notes, object>;
22
+ userGroup: UserGroups | null;
23
+ }
@@ -0,0 +1,158 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Users = exports.MyDateType = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const core_1 = require("@mikro-orm/core");
6
+ const index_1 = require("./index");
7
+ class MyDateType extends core_1.Type {
8
+ }
9
+ exports.MyDateType = MyDateType;
10
+ let Users = class Users {
11
+ constructor() {
12
+ this.testReal = [];
13
+ this.createdAt = new Date();
14
+ this.updatedAt = new Date();
15
+ this.roles = new core_1.Collection(this);
16
+ this.comments = new core_1.Collection(this);
17
+ this.notes = new core_1.Collection(this);
18
+ }
19
+ };
20
+ exports.Users = Users;
21
+ tslib_1.__decorate([
22
+ (0, core_1.PrimaryKey)({
23
+ autoincrement: true,
24
+ }),
25
+ tslib_1.__metadata("design:type", Number)
26
+ ], Users.prototype, "id", void 0);
27
+ tslib_1.__decorate([
28
+ (0, core_1.Property)({
29
+ type: 'string',
30
+ length: 100,
31
+ unique: true,
32
+ }),
33
+ tslib_1.__metadata("design:type", String)
34
+ ], Users.prototype, "login", void 0);
35
+ tslib_1.__decorate([
36
+ (0, core_1.Property)({
37
+ name: 'first_name',
38
+ type: 'varchar',
39
+ length: 100,
40
+ nullable: true,
41
+ }),
42
+ tslib_1.__metadata("design:type", String)
43
+ ], Users.prototype, "firstName", void 0);
44
+ tslib_1.__decorate([
45
+ (0, core_1.Property)({
46
+ name: 'test_real',
47
+ type: new core_1.ArrayType((i) => parseFloat(i)),
48
+ columnType: 'real[]',
49
+ defaultRaw: `ARRAY[]::real[]`,
50
+ default: [],
51
+ }),
52
+ tslib_1.__metadata("design:type", Array)
53
+ ], Users.prototype, "testReal", void 0);
54
+ tslib_1.__decorate([
55
+ (0, core_1.Property)({
56
+ name: 'test_array_null',
57
+ type: new core_1.ArrayType((i) => parseFloat(i)),
58
+ columnType: 'real[]',
59
+ nullable: true,
60
+ }),
61
+ tslib_1.__metadata("design:type", Object)
62
+ ], Users.prototype, "testArrayNull", void 0);
63
+ tslib_1.__decorate([
64
+ (0, core_1.Property)({
65
+ name: 'last_name',
66
+ type: 'string',
67
+ columnType: 'varchar',
68
+ length: 100,
69
+ nullable: true,
70
+ }),
71
+ tslib_1.__metadata("design:type", String)
72
+ ], Users.prototype, "lastName", void 0);
73
+ tslib_1.__decorate([
74
+ (0, core_1.Property)({
75
+ name: 'is_active',
76
+ type: 'boolean',
77
+ nullable: true,
78
+ default: false,
79
+ }),
80
+ tslib_1.__metadata("design:type", Boolean)
81
+ ], Users.prototype, "isActive", void 0);
82
+ tslib_1.__decorate([
83
+ (0, core_1.Property)({
84
+ name: 'test_date',
85
+ type: Date,
86
+ nullable: true,
87
+ defaultRaw: 'CURRENT_TIMESTAMP(0)',
88
+ columnType: 'timestamp(0) without time zone',
89
+ }),
90
+ tslib_1.__metadata("design:type", Date)
91
+ ], Users.prototype, "testDate", void 0);
92
+ tslib_1.__decorate([
93
+ (0, core_1.Property)({
94
+ length: 0,
95
+ name: 'created_at',
96
+ nullable: true,
97
+ defaultRaw: 'CURRENT_TIMESTAMP(0)',
98
+ columnType: 'timestamp(0) without time zone',
99
+ }),
100
+ tslib_1.__metadata("design:type", Date)
101
+ ], Users.prototype, "createdAt", void 0);
102
+ tslib_1.__decorate([
103
+ (0, core_1.Property)({
104
+ length: 0,
105
+ onUpdate: () => new Date(),
106
+ name: 'updated_at',
107
+ nullable: true,
108
+ columnType: 'timestamp(0) without time zone',
109
+ defaultRaw: 'CURRENT_TIMESTAMP(0)',
110
+ }),
111
+ tslib_1.__metadata("design:type", Date)
112
+ ], Users.prototype, "updatedAt", void 0);
113
+ tslib_1.__decorate([
114
+ (0, core_1.OneToOne)(() => index_1.Addresses, {
115
+ owner: true,
116
+ fieldName: 'addresses_id',
117
+ nullable: true,
118
+ }),
119
+ tslib_1.__metadata("design:type", Object)
120
+ ], Users.prototype, "addresses", void 0);
121
+ tslib_1.__decorate([
122
+ (0, core_1.OneToOne)(() => Users, {
123
+ owner: true,
124
+ nullable: true,
125
+ fieldName: 'manager_id',
126
+ }),
127
+ tslib_1.__metadata("design:type", Object)
128
+ ], Users.prototype, "manager", void 0);
129
+ tslib_1.__decorate([
130
+ (0, core_1.ManyToMany)(() => index_1.Roles, (role) => role.users, {
131
+ owner: true,
132
+ pivotTable: 'users_have_roles',
133
+ inverseJoinColumn: 'role_id',
134
+ joinColumn: 'user_id',
135
+ }),
136
+ tslib_1.__metadata("design:type", Object)
137
+ ], Users.prototype, "roles", void 0);
138
+ tslib_1.__decorate([
139
+ (0, core_1.OneToMany)(() => index_1.Comments, (comment) => comment.createdBy),
140
+ tslib_1.__metadata("design:type", Object)
141
+ ], Users.prototype, "comments", void 0);
142
+ tslib_1.__decorate([
143
+ (0, core_1.OneToMany)(() => index_1.Notes, (item) => item.createdBy),
144
+ tslib_1.__metadata("design:type", Object)
145
+ ], Users.prototype, "notes", void 0);
146
+ tslib_1.__decorate([
147
+ (0, core_1.ManyToOne)(() => index_1.UserGroups, {
148
+ fieldName: 'user_groups_id',
149
+ nullable: true,
150
+ }),
151
+ tslib_1.__metadata("design:type", Object)
152
+ ], Users.prototype, "userGroup", void 0);
153
+ exports.Users = Users = tslib_1.__decorate([
154
+ (0, core_1.Entity)({
155
+ tableName: 'users',
156
+ })
157
+ ], Users);
158
+ //# sourceMappingURL=users.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"users.js","sourceRoot":"","sources":["../../../../../../../../libs/json-api/json-api-nestjs-microorm/src/lib/mock-utils/entities/users.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import { TestingModule } from '@nestjs/testing';
2
+ import { MikroOrmModule } from '@mikro-orm/nestjs';
3
+ import { EntityManager, MikroORM } from '@mikro-orm/core';
4
+ import { Query } from '@klerick/json-api-nestjs';
5
+ import { Addresses, Comments, Notes, Roles, UserGroups, Users } from './entities';
6
+ export * from './entities';
7
+ export * from './utils';
8
+ export declare const entities: (typeof Users | typeof Addresses | typeof Roles | typeof Comments | typeof Notes | typeof UserGroups)[];
9
+ export declare function mockDbPgLiteTestModule(dbName?: string): {
10
+ module: typeof MikroOrmModule;
11
+ providers: {
12
+ provide: typeof MikroORM;
13
+ useFactory: () => Promise<MikroORM<import("@mikro-orm/postgresql").PostgreSqlDriver, import("@mikro-orm/knex").EntityManager<import("@mikro-orm/postgresql").PostgreSqlDriver> & EntityManager<import("@mikro-orm/core").IDatabaseDriver<import("@mikro-orm/core").Connection>>>>;
14
+ }[];
15
+ exports: {
16
+ provide: typeof MikroORM;
17
+ useFactory: () => Promise<MikroORM<import("@mikro-orm/postgresql").PostgreSqlDriver, import("@mikro-orm/knex").EntityManager<import("@mikro-orm/postgresql").PostgreSqlDriver> & EntityManager<import("@mikro-orm/core").IDatabaseDriver<import("@mikro-orm/core").Connection>>>>;
18
+ }[];
19
+ };
20
+ export declare function dbRandomName(readOnly?: boolean): string;
21
+ export declare function pullData(em: EntityManager, count?: number): Promise<void>;
22
+ export declare function getModuleForPgLite<E extends object>(entity: E, dbName?: string): Promise<TestingModule>;
23
+ export declare function getDefaultQuery<R extends object, IdKey extends string = 'id'>(): Query<R, IdKey>;
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.entities = void 0;
4
+ exports.mockDbPgLiteTestModule = mockDbPgLiteTestModule;
5
+ exports.dbRandomName = dbRandomName;
6
+ exports.pullData = pullData;
7
+ exports.getModuleForPgLite = getModuleForPgLite;
8
+ exports.getDefaultQuery = getDefaultQuery;
9
+ const tslib_1 = require("tslib");
10
+ const testing_1 = require("@nestjs/testing");
11
+ const nestjs_1 = require("@mikro-orm/nestjs");
12
+ const core_1 = require("@mikro-orm/core");
13
+ const json_api_nestjs_shared_1 = require("@klerick/json-api-nestjs-shared");
14
+ const json_api_nestjs_1 = require("@klerick/json-api-nestjs");
15
+ const entities_1 = require("./entities");
16
+ const factory_1 = require("../factory");
17
+ const micro_orm_util_service_1 = require("../service/micro-orm-util.service");
18
+ tslib_1.__exportStar(require("./entities"), exports);
19
+ tslib_1.__exportStar(require("./utils"), exports);
20
+ const utils_1 = require("./utils");
21
+ const constants_1 = require("../constants");
22
+ exports.entities = [entities_1.Users, entities_1.UserGroups, entities_1.Roles, entities_1.Comments, entities_1.Addresses, entities_1.Notes];
23
+ function mockDbPgLiteTestModule(dbName = `test_db_${Date.now()}`) {
24
+ const mikroORM = {
25
+ provide: core_1.MikroORM,
26
+ useFactory: async () => {
27
+ const knexInst = await (0, utils_1.sharedConnect)();
28
+ return (0, utils_1.initMikroOrm)(knexInst, dbName);
29
+ },
30
+ };
31
+ return {
32
+ module: nestjs_1.MikroOrmModule,
33
+ providers: [mikroORM],
34
+ exports: [mikroORM],
35
+ };
36
+ }
37
+ const readOnlyDbName = `readonly_db_${Date.now()}`;
38
+ function dbRandomName(readOnly = false) {
39
+ if (readOnly) {
40
+ return readOnlyDbName;
41
+ }
42
+ return `test_db_${Date.now()}`;
43
+ }
44
+ async function pullData(em, count = 1) {
45
+ for (let i = 0; i < count; i++) {
46
+ await (0, utils_1.pullAllData)(em);
47
+ }
48
+ }
49
+ function getModuleForPgLite(entity, dbName = `test_db_${Date.now()}`) {
50
+ return testing_1.Test.createTestingModule({
51
+ imports: [mockDbPgLiteTestModule(dbName)],
52
+ providers: [
53
+ (0, factory_1.CurrentMicroOrmProvider)(),
54
+ (0, factory_1.CurrentEntityManager)(),
55
+ (0, factory_1.CurrentEntityMetadata)(),
56
+ (0, factory_1.CurrentEntityRepository)(entity),
57
+ micro_orm_util_service_1.MicroOrmUtilService,
58
+ {
59
+ provide: json_api_nestjs_1.JsonApiTransformerService,
60
+ useValue: {
61
+ transformData() {
62
+ return {
63
+ included: {},
64
+ data: {},
65
+ };
66
+ },
67
+ transformRel() {
68
+ return [];
69
+ },
70
+ },
71
+ },
72
+ {
73
+ provide: json_api_nestjs_1.CURRENT_ENTITY,
74
+ useValue: entity,
75
+ },
76
+ (0, factory_1.OrmServiceFactory)(),
77
+ (0, factory_1.EntityPropsMap)(exports.entities),
78
+ {
79
+ provide: json_api_nestjs_1.MODULE_OPTIONS_TOKEN,
80
+ useValue: { options: { arrayType: constants_1.DEFAULT_ARRAY_TYPE } },
81
+ },
82
+ ],
83
+ }).compile();
84
+ }
85
+ function getDefaultQuery() {
86
+ return {
87
+ [json_api_nestjs_shared_1.QueryField.filter]: {
88
+ relation: null,
89
+ target: null,
90
+ },
91
+ [json_api_nestjs_shared_1.QueryField.fields]: null,
92
+ [json_api_nestjs_shared_1.QueryField.include]: null,
93
+ [json_api_nestjs_shared_1.QueryField.sort]: null,
94
+ [json_api_nestjs_shared_1.QueryField.page]: {
95
+ size: 1,
96
+ number: 1,
97
+ },
98
+ };
99
+ }
100
+ //# 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/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,5 @@
1
+ import { Knex as TypeKnex } from '@mikro-orm/knex';
2
+ import { MikroORM } from '@mikro-orm/core';
3
+ import { PostgreSqlDriver } from '@mikro-orm/postgresql';
4
+ export declare function sharedConnect(): Promise<TypeKnex>;
5
+ export declare function initMikroOrm(knex: TypeKnex, testDbName: string): Promise<MikroORM<PostgreSqlDriver, import("@mikro-orm/knex").EntityManager<PostgreSqlDriver> & import("@mikro-orm/core").EntityManager<import("@mikro-orm/knex").IDatabaseDriver<import("@mikro-orm/knex").Connection>>>>;
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sharedConnect = sharedConnect;
4
+ exports.initMikroOrm = initMikroOrm;
5
+ const core_1 = require("@mikro-orm/core");
6
+ const postgresql_1 = require("@mikro-orm/postgresql");
7
+ const sql_highlighter_1 = require("@mikro-orm/sql-highlighter");
8
+ const knex_1 = require("knex");
9
+ const ClientPgLite = require("knex-pglite");
10
+ const entities_1 = require("../entities");
11
+ let knexInst;
12
+ async function sharedConnect() {
13
+ // @ts-ignore
14
+ // return globalThis.pgLite;
15
+ if (knexInst) {
16
+ return knexInst;
17
+ }
18
+ const pgLite = await Promise.all([
19
+ Promise.resolve().then(() => require('@electric-sql/pglite')),
20
+ Promise.resolve().then(() => require('@electric-sql/pglite/contrib/uuid_ossp')),
21
+ ]).then(([{ PGlite }, { uuid_ossp }]) => new PGlite({
22
+ extensions: { uuid_ossp },
23
+ }));
24
+ knexInst = (0, knex_1.default)({
25
+ // @ts-ignore
26
+ client: ClientPgLite,
27
+ dialect: 'postgres',
28
+ // @ts-ignore
29
+ connection: { pglite: pgLite },
30
+ });
31
+ return knexInst;
32
+ }
33
+ async function initMikroOrm(knex, testDbName) {
34
+ const result = await knex.raw(`select 1 from pg_database where datname = '${testDbName}'`);
35
+ if (result['rows'].length === 0) {
36
+ await knex.raw(`create database ??`, [testDbName]);
37
+ }
38
+ const orm = await core_1.MikroORM.init({
39
+ highlighter: new sql_highlighter_1.SqlHighlighter(),
40
+ driver: postgresql_1.PostgreSqlDriver,
41
+ dbName: testDbName,
42
+ driverOptions: knexInst,
43
+ entities: [entities_1.Users, entities_1.UserGroups, entities_1.Roles, entities_1.Comments, entities_1.Addresses, entities_1.Notes],
44
+ allowGlobalContext: true,
45
+ schema: 'public',
46
+ debug: process.env['DB_LOGGING'] !== '0' ? ['query', 'query-params'] : false,
47
+ });
48
+ if (result['rows'].length === 0) {
49
+ const sql = await orm.getSchemaGenerator().getCreateSchemaSQL();
50
+ const statements = sql.split(';').filter((s) => s.trim().length > 0); // Разбиваем на отдельные команды
51
+ for (const statement of statements) {
52
+ await orm.em.execute(statement);
53
+ }
54
+ }
55
+ return orm;
56
+ }
57
+ //# 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":";;AAmBA,sCA4BC;AAED,oCA+BC;AA/ED,0CAA2C;AAC3C,sDAAyD;AACzD,gEAA4D;AAE5D,+BAAwB;AACxB,4CAA4C;AAE5C,0CAOqB;AAErB,IAAI,QAAkB,CAAC;AAEhB,KAAK,UAAU,aAAa;IACjC,aAAa;IACb,4BAA4B;IAE5B,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;6CACxB,sBAAsB;6CAEtB,wCAAwC;KAChD,CAAC,CAAC,IAAI,CACL,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,CAC9B,IAAI,MAAM,CAAC;QACT,UAAU,EAAE,EAAE,SAAS,EAAE;KAC1B,CAAC,CACL,CAAC;IAEF,QAAQ,GAAG,IAAA,cAAI,EAAC;QACd,aAAa;QACb,MAAM,EAAE,YAAY;QACpB,OAAO,EAAE,UAAU;QACnB,aAAa;QACb,UAAU,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;KAC/B,CAAC,CAAC;IAEH,OAAO,QAAQ,CAAC;AAClB,CAAC;AAEM,KAAK,UAAU,YAAY,CAAC,IAAc,EAAE,UAAkB;IACnE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAC3B,8CAA8C,UAAU,GAAG,CAC5D,CAAC;IAEF,IAAK,MAAM,CAAC,MAAM,CAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,eAAQ,CAAC,IAAI,CAAmB;QAChD,WAAW,EAAE,IAAI,gCAAc,EAAE;QACjC,MAAM,EAAE,6BAAgB;QACxB,MAAM,EAAE,UAAU;QAClB,aAAa,EAAE,QAAQ;QACvB,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,EACH,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK;KACxE,CAAC,CAAC;IAEH,IAAK,MAAM,CAAC,MAAM,CAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxC,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,kBAAkB,EAAE,CAAC,kBAAkB,EAAE,CAAC;QAChE,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;QAEvG,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,MAAM,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAClC,CAAC;IACH,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