@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
package/CHANGELOG.md CHANGED
@@ -1,3 +1,101 @@
1
+ ## 0.1.0-beta.11 (2026-01-20)
2
+
3
+ ### 🧱 Updated Dependencies
4
+
5
+ - Updated json-api-nestjs to 10.0.0-beta.9
6
+
7
+ ## 0.1.0-beta.10 (2026-01-19)
8
+
9
+ ### 🚀 Features
10
+
11
+ - **json-api-nestjs,json-api-nestjs-microorm,json-api-nestjs-typeorm:** add support for automatic resource linkage in to-one relations, update FK field detection and handling ([0dd670d](https://github.com/klerick/nestjs-json-api/commit/0dd670d))
12
+
13
+ ### 🧱 Updated Dependencies
14
+
15
+ - Updated json-api-nestjs to 10.0.0-beta.8
16
+
17
+ ### ❤️ Thank You
18
+
19
+ - Alex H
20
+
21
+ ## 0.1.0-beta.9 (2025-12-26)
22
+
23
+ ### 🧱 Updated Dependencies
24
+
25
+ - Updated json-api-nestjs to 10.0.0-beta.7
26
+
27
+ ## 0.1.0-beta.8 (2025-11-13)
28
+
29
+ ### 🚀 Features
30
+
31
+ - **json-api-nestjs-microorm:** enhance `getOne` and `getAll` with transform toggles and additional query params, add relationship loading utility and improve logging ([bb808cd](https://github.com/klerick/nestjs-json-api/commit/bb808cd))
32
+ - **json-api-nestjs-microorm:** fix after update nx ([03da82f](https://github.com/klerick/nestjs-json-api/commit/03da82f))
33
+ - **json-api-nestjs-microorm:** fix after update nx ([5cdf997](https://github.com/klerick/nestjs-json-api/commit/5cdf997))
34
+ - **json-api-nestjs-microorm:** improve type handling and simplify relation processing in utility service and `postOne` method ([1a47099](https://github.com/klerick/nestjs-json-api/commit/1a47099))
35
+
36
+ ### 🩹 Fixes
37
+
38
+ - **json-api-nestjs-microorm:** replace deprecated faker methods and add PGlite compatibility in MikroORM setup ([1d0b83b](https://github.com/klerick/nestjs-json-api/commit/1d0b83b))
39
+
40
+ ### 🧱 Updated Dependencies
41
+
42
+ - Updated json-api-nestjs-shared to 1.0.0-beta.4
43
+ - Updated json-api-nestjs to 10.0.0-beta.6
44
+
45
+ ### ❤️ Thank You
46
+
47
+ - Alex H
48
+
49
+ ## 0.1.0-beta.7 (2025-06-23)
50
+
51
+ ### 🩹 Fixes
52
+
53
+ - **json-api-nestjs-microorm:** add format for mikroorm error ([c1cafc2](https://github.com/klerick/nestjs-json-api/commit/c1cafc2))
54
+
55
+ ### ❤️ Thank You
56
+
57
+ - Alex H
58
+
59
+ ## 0.1.0-beta.6 (2025-06-10)
60
+
61
+ ### 🩹 Fixes
62
+
63
+ - **json-api-nestjs-microorm:** ensure `applyFilters` is invoked in query builders for consistency ([391f4bb](https://github.com/klerick/nestjs-json-api/commit/391f4bb))
64
+
65
+ ### ❤️ Thank You
66
+
67
+ - Alex H
68
+
69
+ ## 0.1.0-beta.5 (2025-06-10)
70
+
71
+ ### 🩹 Fixes
72
+
73
+ - **json-api-nestjs-microorm:** Handle defaultRaw in nullable props check and update entity properties ([6d7a24f](https://github.com/klerick/nestjs-json-api/commit/6d7a24f))
74
+
75
+ ### ❤️ Thank You
76
+
77
+ - Alex H
78
+
79
+ ## 0.1.0-beta.4 (2025-05-24)
80
+
81
+ ### 🩹 Fixes
82
+
83
+ - **json-api-nestjs-microorm:** Remove @mikro-orm/postgresql dependencies in package.json ([277f61c](https://github.com/klerick/nestjs-json-api/commit/277f61c))
84
+
85
+ ### ❤️ Thank You
86
+
87
+ - Alex H
88
+
89
+ ## 0.1.0-beta.3 (2025-05-23)
90
+
91
+ ### 🚀 Features
92
+
93
+ - **json-api-nestjs,json-api-nestjs-microorm,json-api-nestjs-sdk,json-api-nestjs-shared,json-api-nestjs-typeorm:** up nestjs ([42b6b82](https://github.com/klerick/nestjs-json-api/commit/42b6b82))
94
+
95
+ ### ❤️ Thank You
96
+
97
+ - Alex H
98
+
1
99
  ## 0.1.0-beta.0 (2025-05-21)
2
100
 
3
101
  ### 🚀 Features
@@ -10,4 +108,4 @@
10
108
 
11
109
  ### ❤️ Thank You
12
110
 
13
- - Alex H
111
+ - Alex H
package/README.md CHANGED
@@ -1,12 +1,20 @@
1
+ <p align='center'>
2
+ <a href="https://www.npmjs.com/package/@klerick/json-api-nestjs-microorm" target="_blank"><img src="https://img.shields.io/npm/v/@klerick/json-api-nestjs-microorm.svg" alt="NPM Version" /></a>
3
+ <a href="https://www.npmjs.com/package/@klerick/json-api-nestjs-microorm" target="_blank"><img src="https://img.shields.io/npm/l/@klerick/json-api-nestjs-microorm.svg" alt="Package License" /></a>
4
+ <a href="https://www.npmjs.com/package/@klerick/json-api-nestjs-microorm" target="_blank"><img src="https://img.shields.io/npm/dm/@klerick/json-api-nestjs-microorm.svg" alt="NPM Downloads" /></a>
5
+ <a href="http://commitizen.github.io/cz-cli/" target="_blank"><img src="https://img.shields.io/badge/commitizen-friendly-brightgreen.svg" alt="Commitizen friendly" /></a>
6
+ <img src="https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/klerick/02a4c98cf7008fea2af70dc2d50f4cb7/raw/json-api-nestjs-microorm.json" alt="Coverage Badge" />
7
+ </p>
8
+
1
9
  # json-api-nestjs-microorm
2
10
 
3
11
  MocroOrm adapter for **[json-api-nestjs](https://github.com/klerick/nestjs-json-api/tree/master/libs/json-api/json-api-nestjs)**
4
12
 
5
13
  ## Installation
6
14
 
7
- ```bash
15
+ ```bash
8
16
  $ npm install @klerick/json-api-nestjs-microorm
9
- ```
17
+ ```
10
18
 
11
19
  ## Configuration params
12
20
 
@@ -16,17 +24,16 @@ The following interface is using for the configuration:
16
24
  export type MicroOrmParam = {
17
25
  arrayType?: string[]; //Custom type for indicate of array
18
26
  };
19
-
20
27
  ```
21
28
 
22
29
  ## NOTE: MikroORM Default Named Context Issue in NestJS
23
30
 
24
31
  [@mikro-orm/nestjs](https://github.com/mikro-orm/nestjs) does not create a [default named context](https://github.com/mikro-orm/nestjs/discussions/214).
25
32
 
26
- As a result, the module initialization behaves differently depending on whether a single or multiple connections are used.
33
+ As a result, the module initialization behaves differently depending on whether a single or multiple connections are used.
27
34
  More specifically, the [dependency injection token for MikroORM differs](https://github.com/mikro-orm/nestjs/issues/213) between one and multiple database connections.
28
35
 
29
- To maintain a consistent JSON:API module configuration across different database adapters,
36
+ To maintain a consistent JSON:API module configuration across different database adapters,
30
37
  I decided **not to add extra conditional checks** in the setup.
31
38
 
32
39
  For everything to work correctly, @mikro-orm/nestjs should be integrated using the following module:
@@ -49,5 +56,40 @@ export const config: Options = {
49
56
  export class MicroOrmDatabaseModule {}
50
57
  ```
51
58
 
59
+ ## Resource Linkage for To-One Relations
60
+
61
+ To enable automatic resource linkage (`data` field in relationships) for to-one relations, add a virtual FK field with `persist: false`.
62
+
63
+ **Important:** The FK field name must follow the pattern: `{relationName}` + `Id` (e.g., relation `createdBy` → FK field `createdById`).
64
+
65
+ **Example:**
66
+ ```typescript
67
+ import {
68
+ Entity,
69
+ PrimaryKey,
70
+ Property,
71
+ ManyToOne,
72
+ Ref,
73
+ Opt,
74
+ } from '@mikro-orm/core';
75
+
76
+ @Entity({ tableName: 'comments' })
77
+ export class Comments {
78
+ @PrimaryKey()
79
+ public id!: number;
80
+
81
+ @ManyToOne(() => Users)
82
+ public user!: Ref<Users>;
83
+
84
+ // Virtual FK field for resource linkage
85
+ // Must have persist: false and name pattern: {relation}Id
86
+ @Property({ persist: false })
87
+ public userId!: number & Opt;
88
+ }
89
+ ```
52
90
 
91
+ The library automatically detects FK fields based on:
92
+ 1. The naming convention (`{relationName}Id`)
93
+ 2. The `persist: false` option (marks it as a virtual/computed field)
53
94
 
95
+ This FK value will be used to populate `relationships.{relation}.data` in API responses.
package/package.json CHANGED
@@ -1,21 +1,6 @@
1
1
  {
2
2
  "name": "@klerick/json-api-nestjs-microorm",
3
- "version": "0.1.0-beta.1",
4
- "license": "MIT",
5
- "private": false,
6
- "contributors": [
7
- {
8
- "email": "klerick666@gmain.com",
9
- "name": "Aleksandr Kharkovey"
10
- }
11
- ],
12
- "repository": {
13
- "type": "git",
14
- "url": "https://github.com/klerick/nestjs-json-api.git"
15
- },
16
- "engines": {
17
- "node": ">= 20.0.0"
18
- },
3
+ "version": "0.1.0-beta.11",
19
4
  "type": "commonjs",
20
5
  "main": "./src/index.js",
21
6
  "types": "./src/index.d.ts",
@@ -29,31 +14,9 @@
29
14
  "microorm",
30
15
  "CRUD"
31
16
  ],
32
- "dependencies": {
33
- "@mikro-orm/core": "^6.4.3",
34
- "@mikro-orm/knex": "6.4.3",
35
- "@mikro-orm/nestjs": "^6.1.1",
36
- "@mikro-orm/postgresql": "^6.4.3",
37
- "@mikro-orm/sql-highlighter": "^1.0.1",
38
- "@nestjs/common": "^11.0.10",
39
- "change-case-commonjs": "^5.4.4",
40
- "knex": "3.1.0",
41
- "reflect-metadata": "^0.1.12 || ^0.2.0",
42
- "rxjs": "^7.1.0",
43
- "tslib": ">2.3.0"
44
- },
45
- "publishConfig": {
46
- "access": "public"
47
- },
48
17
  "peerDependencies": {
49
- "@anatine/zod-openapi": "2.2.7",
50
- "@klerick/json-api-nestjs": "10.0.0-beta.1",
51
- "@klerick/json-api-nestjs-shared": "1.0.0-beta.1",
52
- "@nestjs/core": "11.0.10",
53
- "@nestjs/swagger": "11.0.4",
54
- "ts-toolbelt": "9.6.0",
55
- "zod": "3.24.1",
56
- "zod-validation-error": "3.4.0"
18
+ "@klerick/json-api-nestjs": "^10.0.0-beta.9",
19
+ "@mikro-orm/nestjs": "^6.1.0"
57
20
  },
58
21
  "exports": {
59
22
  "./package.json": "./package.json",
@@ -61,5 +24,25 @@
61
24
  "types": "./src/index.d.ts",
62
25
  "default": "./src/index.js"
63
26
  }
27
+ },
28
+ "license": "MIT",
29
+ "contributors": [
30
+ {
31
+ "email": "klerick666@gmain.com",
32
+ "name": "Aleksandr Kharkovey"
33
+ }
34
+ ],
35
+ "repository": {
36
+ "type": "git",
37
+ "url": "https://github.com/klerick/nestjs-json-api.git"
38
+ },
39
+ "engines": {
40
+ "node": ">= 20.0.0"
41
+ },
42
+ "files": [
43
+ "**/*"
44
+ ],
45
+ "publishConfig": {
46
+ "access": "public"
64
47
  }
65
48
  }
package/src/index.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from './lib/micro-orm-json-api.module';
package/src/index.js ADDED
@@ -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("./lib/micro-orm-json-api.module"), 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/index.ts"],"names":[],"mappings":";;;AAAA,0EAAgD"}
@@ -0,0 +1,5 @@
1
+ export declare const ENTITY_METADATA_TOKEN: unique symbol;
2
+ export declare const DEFAULT_ARRAY_TYPE: string[];
3
+ export declare const CURRENT_DATA_SOURCE_TOKEN: unique symbol;
4
+ export declare const CURRENT_ENTITY_REPOSITORY: unique symbol;
5
+ export declare const CURRENT_ENTITY_MANAGER_TOKEN: unique symbol;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CURRENT_ENTITY_MANAGER_TOKEN = exports.CURRENT_ENTITY_REPOSITORY = exports.CURRENT_DATA_SOURCE_TOKEN = exports.DEFAULT_ARRAY_TYPE = exports.ENTITY_METADATA_TOKEN = void 0;
4
+ exports.ENTITY_METADATA_TOKEN = Symbol('ENTITY_METADATA_TOKEN');
5
+ exports.DEFAULT_ARRAY_TYPE = ['ArrayType', 'EnumArrayType'];
6
+ exports.CURRENT_DATA_SOURCE_TOKEN = Symbol('CURRENT_DATA_SOURCE_TOKEN');
7
+ exports.CURRENT_ENTITY_REPOSITORY = Symbol('CURRENT_ENTITY_REPOSITORY');
8
+ exports.CURRENT_ENTITY_MANAGER_TOKEN = Symbol('CURRENT_ENTITY_MANAGER_TOKEN');
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../libs/json-api/json-api-nestjs-microorm/src/lib/constants/index.ts"],"names":[],"mappings":";;;AAAa,QAAA,qBAAqB,GAAG,MAAM,CAAC,uBAAuB,CAAC,CAAC;AACxD,QAAA,kBAAkB,GAAG,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;AACpD,QAAA,yBAAyB,GAAG,MAAM,CAAC,2BAA2B,CAAC,CAAC;AAChE,QAAA,yBAAyB,GAAG,MAAM,CAAC,2BAA2B,CAAC,CAAC;AAChE,QAAA,4BAA4B,GAAG,MAAM,CAChD,8BAA8B,CAC/B,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { FactoryProvider } from '@nestjs/common';
2
+ import { EntityManager, MikroORM, EntityRepository, MetadataStorage, EntityClass } from '@mikro-orm/core';
3
+ import { CheckRelationName, EntityParam, RunInTransaction, PrepareParams, FindOneRowEntity } from '@klerick/json-api-nestjs';
4
+ import { MicroOrmService } from '../service';
5
+ import { MicroOrmParam } from '../type';
6
+ export declare function CurrentMicroOrmProvider(connectionName?: string): FactoryProvider<MikroORM>;
7
+ export declare function CurrentEntityManager(): FactoryProvider<EntityManager>;
8
+ export declare function CurrentEntityRepository<E extends object>(entity: E): FactoryProvider<EntityRepository<E>>;
9
+ export declare function CurrentEntityMetadata(): FactoryProvider<MetadataStorage>;
10
+ export declare function CheckRelationNameFactory<E extends object, IdKey extends string = 'id'>(): FactoryProvider<CheckRelationName<E>>;
11
+ export declare function EntityPropsMap<E extends object>(entities: EntityClass<E>[]): {
12
+ provide: symbol;
13
+ inject: symbol[];
14
+ useFactory: (metadataStorage: MetadataStorage, config: PrepareParams<MicroOrmParam>, mikroORM: MikroORM) => Map<EntityClass<E>, EntityParam<E>>;
15
+ };
16
+ export declare function RunInTransactionFactory(): FactoryProvider<RunInTransaction>;
17
+ export declare function OrmServiceFactory(): {
18
+ provide: symbol;
19
+ useClass: typeof MicroOrmService;
20
+ };
21
+ export declare function FindOneRowEntityFactory<E extends object, IdKey extends string>(): FactoryProvider<FindOneRowEntity<E>>;
@@ -0,0 +1,116 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CurrentMicroOrmProvider = CurrentMicroOrmProvider;
4
+ exports.CurrentEntityManager = CurrentEntityManager;
5
+ exports.CurrentEntityRepository = CurrentEntityRepository;
6
+ exports.CurrentEntityMetadata = CurrentEntityMetadata;
7
+ exports.CheckRelationNameFactory = CheckRelationNameFactory;
8
+ exports.EntityPropsMap = EntityPropsMap;
9
+ exports.RunInTransactionFactory = RunInTransactionFactory;
10
+ exports.OrmServiceFactory = OrmServiceFactory;
11
+ exports.FindOneRowEntityFactory = FindOneRowEntityFactory;
12
+ const core_1 = require("@mikro-orm/core");
13
+ const change_case_commonjs_1 = require("change-case-commonjs");
14
+ const nestjs_1 = require("@mikro-orm/nestjs");
15
+ const json_api_nestjs_1 = require("@klerick/json-api-nestjs");
16
+ const json_api_nestjs_shared_1 = require("@klerick/json-api-nestjs-shared");
17
+ const orm_helper_1 = require("../orm-helper");
18
+ const constants_1 = require("../constants");
19
+ const service_1 = require("../service");
20
+ function CurrentMicroOrmProvider(connectionName) {
21
+ return {
22
+ provide: constants_1.CURRENT_DATA_SOURCE_TOKEN,
23
+ useFactory: (mikroORM) => mikroORM,
24
+ inject: [connectionName ? (0, nestjs_1.getMikroORMToken)(connectionName) : core_1.MikroORM],
25
+ };
26
+ }
27
+ function CurrentEntityManager() {
28
+ return {
29
+ provide: constants_1.CURRENT_ENTITY_MANAGER_TOKEN,
30
+ useFactory: (mikroORM) => mikroORM.em,
31
+ inject: [constants_1.CURRENT_DATA_SOURCE_TOKEN],
32
+ };
33
+ }
34
+ function CurrentEntityRepository(entity) {
35
+ return {
36
+ provide: constants_1.CURRENT_ENTITY_REPOSITORY,
37
+ useFactory: (entityManager) => entityManager.getRepository(entity),
38
+ inject: [constants_1.CURRENT_ENTITY_MANAGER_TOKEN],
39
+ };
40
+ }
41
+ function CurrentEntityMetadata() {
42
+ return {
43
+ provide: constants_1.ENTITY_METADATA_TOKEN,
44
+ useFactory: (mikroORM) => mikroORM.getMetadata(),
45
+ inject: [constants_1.CURRENT_DATA_SOURCE_TOKEN],
46
+ };
47
+ }
48
+ function CheckRelationNameFactory() {
49
+ return {
50
+ provide: json_api_nestjs_1.CHECK_RELATION_NAME,
51
+ inject: [service_1.MicroOrmUtilService],
52
+ useFactory(microOrmUtilService) {
53
+ return (entity, value) => !!microOrmUtilService.relationsName.find((i) => i === value);
54
+ },
55
+ };
56
+ }
57
+ function EntityPropsMap(entities) {
58
+ return {
59
+ provide: json_api_nestjs_1.ENTITY_PARAM_MAP,
60
+ inject: [constants_1.ENTITY_METADATA_TOKEN, json_api_nestjs_1.MODULE_OPTIONS_TOKEN, constants_1.CURRENT_DATA_SOURCE_TOKEN],
61
+ useFactory: (metadataStorage, config, mikroORM) => {
62
+ const mapProperty = new Map();
63
+ const arrayConfig = config.options.arrayType;
64
+ const namingStrategy = mikroORM.config.getNamingStrategy();
65
+ for (const item of entities) {
66
+ const metadata = metadataStorage.get(item);
67
+ const className = (0, json_api_nestjs_shared_1.getEntityName)(item);
68
+ mapProperty.set(item, {
69
+ props: (0, orm_helper_1.getProps)(metadata, namingStrategy),
70
+ propsType: (0, orm_helper_1.getPropsType)(metadata, namingStrategy, arrayConfig),
71
+ propsNullable: (0, orm_helper_1.getPropsNullable)(metadata, namingStrategy),
72
+ primaryColumnName: (0, orm_helper_1.getPrimaryColumnName)(metadata),
73
+ primaryColumnType: (0, orm_helper_1.getPrimaryColumnType)(metadata),
74
+ propsArrayType: (0, orm_helper_1.getArrayType)(metadata, namingStrategy),
75
+ typeName: (0, change_case_commonjs_1.kebabCase)(className),
76
+ className: className,
77
+ relations: (0, orm_helper_1.getRelation)(metadata),
78
+ relationProperty: (0, orm_helper_1.getRelationProperty)(metadata),
79
+ relationFkField: (0, orm_helper_1.getRelationFkField)(metadata, namingStrategy),
80
+ });
81
+ }
82
+ return mapProperty;
83
+ },
84
+ };
85
+ }
86
+ function RunInTransactionFactory() {
87
+ return {
88
+ provide: json_api_nestjs_1.RUN_IN_TRANSACTION_FUNCTION,
89
+ inject: [constants_1.CURRENT_ENTITY_MANAGER_TOKEN],
90
+ useFactory(entityManager) {
91
+ return (callback) => entityManager.transactional(() => callback());
92
+ },
93
+ };
94
+ }
95
+ function OrmServiceFactory() {
96
+ return {
97
+ provide: json_api_nestjs_1.ORM_SERVICE,
98
+ useClass: service_1.MicroOrmService,
99
+ };
100
+ }
101
+ function FindOneRowEntityFactory() {
102
+ return {
103
+ provide: json_api_nestjs_1.FIND_ONE_ROW_ENTITY,
104
+ inject: [service_1.MicroOrmUtilService],
105
+ useFactory(microOrmUtilService) {
106
+ return async (entity, value) => {
107
+ const qb = microOrmUtilService.queryBuilder(entity).where({
108
+ [microOrmUtilService.currentPrimaryColumn]: value,
109
+ });
110
+ await qb.applyFilters();
111
+ return qb.getSingleResult();
112
+ };
113
+ },
114
+ };
115
+ }
116
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../libs/json-api/json-api-nestjs-microorm/src/lib/factory/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './micro-orm-json-api.module';
2
+ export * from './type';
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./micro-orm-json-api.module"), exports);
5
+ tslib_1.__exportStar(require("./type"), exports);
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../libs/json-api/json-api-nestjs-microorm/src/lib/index.ts"],"names":[],"mappings":";;;AAAA,sEAA4C;AAC5C,iDAAuB"}
@@ -0,0 +1,7 @@
1
+ import { DynamicModule } from '@nestjs/common';
2
+ import { PrepareParams, NestProvider } from '@klerick/json-api-nestjs';
3
+ import { MicroOrmParam } from './type';
4
+ export declare class MicroOrmJsonApiModule {
5
+ static forRoot(options: PrepareParams<MicroOrmParam>): DynamicModule;
6
+ static getUtilProviders(entity: object): NestProvider;
7
+ }
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MicroOrmJsonApiModule = void 0;
4
+ const nestjs_1 = require("@mikro-orm/nestjs");
5
+ const json_api_nestjs_1 = require("@klerick/json-api-nestjs");
6
+ const factory_1 = require("./factory");
7
+ const service_1 = require("./service");
8
+ class MicroOrmJsonApiModule {
9
+ static forRoot(options) {
10
+ const optionProvider = {
11
+ provide: json_api_nestjs_1.MODULE_OPTIONS_TOKEN,
12
+ useValue: options,
13
+ };
14
+ const microOrmModule = nestjs_1.MikroOrmModule.forFeature(options.entities, options.connectionName);
15
+ const currentProvider = [
16
+ ...(options.providers || []),
17
+ optionProvider,
18
+ (0, factory_1.CurrentMicroOrmProvider)(options.connectionName),
19
+ (0, factory_1.CurrentEntityManager)(),
20
+ (0, factory_1.CurrentEntityMetadata)(),
21
+ (0, factory_1.RunInTransactionFactory)(),
22
+ (0, factory_1.EntityPropsMap)(options.entities),
23
+ {
24
+ provide: json_api_nestjs_1.ErrorFormatService,
25
+ useClass: service_1.MikroOrmFormatErrorService,
26
+ },
27
+ ];
28
+ const currentImport = [
29
+ microOrmModule,
30
+ ...(options.imports || []),
31
+ ];
32
+ return {
33
+ module: MicroOrmJsonApiModule,
34
+ imports: currentImport,
35
+ providers: currentProvider,
36
+ exports: [...currentProvider, ...currentImport],
37
+ };
38
+ }
39
+ static getUtilProviders(entity) {
40
+ return [
41
+ (0, factory_1.CurrentEntityRepository)(entity),
42
+ (0, factory_1.CheckRelationNameFactory)(),
43
+ (0, factory_1.OrmServiceFactory)(),
44
+ service_1.MicroOrmUtilService,
45
+ (0, factory_1.FindOneRowEntityFactory)(),
46
+ ];
47
+ }
48
+ }
49
+ exports.MicroOrmJsonApiModule = MicroOrmJsonApiModule;
50
+ //# sourceMappingURL=micro-orm-json-api.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"micro-orm-json-api.module.js","sourceRoot":"","sources":["../../../../../../libs/json-api/json-api-nestjs-microorm/src/lib/micro-orm-json-api.module.ts"],"names":[],"mappings":";;;AACA,8CAAmD;AACnD,8DAKkC;AAGlC,uCAUmB;AACnB,uCAA4E;AAE5E,MAAa,qBAAqB;IAChC,MAAM,CAAC,OAAO,CAAC,OAAqC;QAClD,MAAM,cAAc,GAAG;YACrB,OAAO,EAAE,sCAAoB;YAC7B,QAAQ,EAAE,OAAO;SAClB,CAAC;QAEF,MAAM,cAAc,GAAG,uBAAc,CAAC,UAAU,CAC9C,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,cAAc,CACvB,CAAC;QAEF,MAAM,eAAe,GAAG;YACtB,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC;YAC5B,cAAc;YACd,IAAA,iCAAuB,EAAC,OAAO,CAAC,cAAc,CAAC;YAC/C,IAAA,8BAAoB,GAAE;YACtB,IAAA,+BAAqB,GAAE;YACvB,IAAA,iCAAuB,GAAE;YACzB,IAAA,wBAAc,EAAC,OAAO,CAAC,QAAQ,CAAC;YAChC;gBACE,OAAO,EAAE,oCAAkB;gBAC3B,QAAQ,EAAE,oCAA0B;aACrC;SACF,CAAC;QAEF,MAAM,aAAa,GAAG;YACpB,cAAc;YACd,GAAI,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAqB;SAChD,CAAC;QAEF,OAAO;YACL,MAAM,EAAE,qBAAqB;YAC7B,OAAO,EAAE,aAAa;YACtB,SAAS,EAAE,eAAe;YAC1B,OAAO,EAAE,CAAC,GAAG,eAAe,EAAE,GAAG,aAAa,CAAC;SAChD,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,MAAc;QACpC,OAAO;YACL,IAAA,iCAAuB,EAAC,MAAM,CAAC;YAC/B,IAAA,kCAAwB,GAAE;YAC1B,IAAA,2BAAiB,GAAE;YACnB,6BAAmB;YACnB,IAAA,iCAAuB,GAAE;SAC1B,CAAC;IACJ,CAAC;CACF;AAhDD,sDAgDC"}
@@ -0,0 +1,12 @@
1
+ import { IUsers } from './index';
2
+ export type IAddresses = Addresses;
3
+ export declare class Addresses {
4
+ id: number;
5
+ city: string;
6
+ state: string;
7
+ country: string;
8
+ arrayField: string[];
9
+ createdAt: Date;
10
+ updatedAt: Date;
11
+ user: IUsers;
12
+ }
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Addresses = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const core_1 = require("@mikro-orm/core");
6
+ const index_1 = require("./index");
7
+ let Addresses = class Addresses {
8
+ id;
9
+ city;
10
+ state;
11
+ country;
12
+ arrayField;
13
+ createdAt = new Date();
14
+ updatedAt = new Date();
15
+ user;
16
+ };
17
+ exports.Addresses = Addresses;
18
+ tslib_1.__decorate([
19
+ (0, core_1.PrimaryKey)({
20
+ autoincrement: true,
21
+ }),
22
+ tslib_1.__metadata("design:type", Number)
23
+ ], Addresses.prototype, "id", void 0);
24
+ tslib_1.__decorate([
25
+ (0, core_1.Property)({
26
+ columnType: 'varchar',
27
+ length: 70,
28
+ nullable: true,
29
+ }),
30
+ tslib_1.__metadata("design:type", String)
31
+ ], Addresses.prototype, "city", void 0);
32
+ tslib_1.__decorate([
33
+ (0, core_1.Property)({
34
+ columnType: 'varchar',
35
+ length: 70,
36
+ nullable: true,
37
+ }),
38
+ tslib_1.__metadata("design:type", String)
39
+ ], Addresses.prototype, "state", void 0);
40
+ tslib_1.__decorate([
41
+ (0, core_1.Property)({
42
+ columnType: 'varchar',
43
+ length: 68,
44
+ nullable: true,
45
+ }),
46
+ tslib_1.__metadata("design:type", String)
47
+ ], Addresses.prototype, "country", void 0);
48
+ tslib_1.__decorate([
49
+ (0, core_1.Property)({
50
+ name: 'array_field',
51
+ type: core_1.ArrayType,
52
+ columnType: 'varchar[]',
53
+ nullable: true,
54
+ }),
55
+ tslib_1.__metadata("design:type", Array)
56
+ ], Addresses.prototype, "arrayField", void 0);
57
+ tslib_1.__decorate([
58
+ (0, core_1.Property)({
59
+ length: 0,
60
+ name: 'created_at',
61
+ nullable: true,
62
+ defaultRaw: 'CURRENT_TIMESTAMP(0)',
63
+ columnType: 'timestamp(0) without time zone',
64
+ }),
65
+ tslib_1.__metadata("design:type", Date)
66
+ ], Addresses.prototype, "createdAt", void 0);
67
+ tslib_1.__decorate([
68
+ (0, core_1.Property)({
69
+ length: 0,
70
+ onUpdate: () => new Date(),
71
+ name: 'updated_at',
72
+ nullable: true,
73
+ columnType: 'timestamp(0) without time zone',
74
+ defaultRaw: 'CURRENT_TIMESTAMP(0)',
75
+ }),
76
+ tslib_1.__metadata("design:type", Date)
77
+ ], Addresses.prototype, "updatedAt", void 0);
78
+ tslib_1.__decorate([
79
+ (0, core_1.OneToOne)(() => index_1.Users, (item) => item.addresses),
80
+ tslib_1.__metadata("design:type", Object)
81
+ ], Addresses.prototype, "user", void 0);
82
+ exports.Addresses = Addresses = tslib_1.__decorate([
83
+ (0, core_1.Entity)({
84
+ tableName: 'addresses',
85
+ })
86
+ ], Addresses);
87
+ //# sourceMappingURL=addresses.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addresses.js","sourceRoot":"","sources":["../../../../../../../../libs/json-api/json-api-nestjs-microorm/src/lib/mock-utils/entities/addresses.ts"],"names":[],"mappings":";;;;AAAA,0CAMyB;AAEzB,mCAAwC;AAOjC,IAAM,SAAS,GAAf,MAAM,SAAS;IAIb,EAAE,CAAU;IAOZ,IAAI,CAAU;IAOd,KAAK,CAAU;IAOf,OAAO,CAAU;IAQjB,UAAU,CAAY;IAS7B,SAAS,GAAS,IAAI,IAAI,EAAE,CAAC;IAU7B,SAAS,GAAS,IAAI,IAAI,EAAE,CAAC;IAGtB,IAAI,CAAU;CACtB,CAAA;AAxDY,8BAAS;AAIb;IAHN,IAAA,iBAAU,EAAC;QACV,aAAa,EAAE,IAAI;KACpB,CAAC;;qCACiB;AAOZ;IALN,IAAA,eAAQ,EAAC;QACR,UAAU,EAAE,SAAS;QACrB,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,IAAI;KACf,CAAC;;uCACmB;AAOd;IALN,IAAA,eAAQ,EAAC;QACR,UAAU,EAAE,SAAS;QACrB,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,IAAI;KACf,CAAC;;wCACoB;AAOf;IALN,IAAA,eAAQ,EAAC;QACR,UAAU,EAAE,SAAS;QACrB,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,IAAI;KACf,CAAC;;0CACsB;AAQjB;IANN,IAAA,eAAQ,EAAC;QACR,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,gBAAS;QACf,UAAU,EAAE,WAAW;QACvB,QAAQ,EAAE,IAAI;KACf,CAAC;;6CAC2B;AAS7B;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;4CAAc;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;4CAAc;AAGtB;IADN,IAAA,eAAQ,EAAC,GAAG,EAAE,CAAC,aAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC;;uCAC3B;oBAvDV,SAAS;IAHrB,IAAA,aAAM,EAAC;QACN,SAAS,EAAE,WAAW;KACvB,CAAC;GACW,SAAS,CAwDrB"}
@@ -0,0 +1,15 @@
1
+ export declare enum CommentKind {
2
+ Comment = "COMMENT",
3
+ Message = "MESSAGE",
4
+ Note = "NOTE"
5
+ }
6
+ import { IUsers } from './index';
7
+ export type IComments = Comments;
8
+ export declare class Comments {
9
+ id: number;
10
+ text: string;
11
+ kind: CommentKind;
12
+ createdAt: Date;
13
+ updatedAt: Date;
14
+ createdBy: IUsers;
15
+ }