@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.
- package/CHANGELOG.md +99 -1
- package/README.md +47 -5
- package/package.json +23 -40
- package/src/index.d.ts +1 -0
- package/src/index.js +5 -0
- package/src/index.js.map +1 -0
- package/src/lib/constants/index.d.ts +5 -0
- package/src/lib/constants/index.js +9 -0
- package/src/lib/constants/index.js.map +1 -0
- package/src/lib/factory/index.d.ts +21 -0
- package/src/lib/factory/index.js +116 -0
- package/src/lib/factory/index.js.map +1 -0
- package/src/lib/index.d.ts +2 -0
- package/src/lib/index.js +6 -0
- package/src/lib/index.js.map +1 -0
- package/src/lib/micro-orm-json-api.module.d.ts +7 -0
- package/src/lib/micro-orm-json-api.module.js +50 -0
- package/src/lib/micro-orm-json-api.module.js.map +1 -0
- package/src/lib/mock-utils/entities/addresses.d.ts +12 -0
- package/src/lib/mock-utils/entities/addresses.js +87 -0
- package/src/lib/mock-utils/entities/addresses.js.map +1 -0
- package/src/lib/mock-utils/entities/comments.d.ts +15 -0
- package/src/lib/mock-utils/entities/comments.js +72 -0
- package/src/lib/mock-utils/entities/comments.js.map +1 -0
- package/src/lib/mock-utils/entities/index.d.ts +13 -0
- package/src/lib/mock-utils/entities/index.js +18 -0
- package/src/lib/mock-utils/entities/index.js.map +1 -0
- package/src/lib/mock-utils/entities/notes.d.ts +10 -0
- package/src/lib/mock-utils/entities/notes.js +64 -0
- package/src/lib/mock-utils/entities/notes.js.map +1 -0
- package/src/lib/mock-utils/entities/roles.d.ts +12 -0
- package/src/lib/mock-utils/entities/roles.js +80 -0
- package/src/lib/mock-utils/entities/roles.js.map +1 -0
- package/src/lib/mock-utils/entities/user-groups.d.ts +7 -0
- package/src/lib/mock-utils/entities/user-groups.js +37 -0
- package/src/lib/mock-utils/entities/user-groups.js.map +1 -0
- package/src/lib/mock-utils/entities/users.d.ts +23 -0
- package/src/lib/mock-utils/entities/users.js +166 -0
- package/src/lib/mock-utils/entities/users.js.map +1 -0
- package/src/lib/mock-utils/index.d.ts +23 -0
- package/src/lib/mock-utils/index.js +97 -0
- package/src/lib/mock-utils/index.js.map +1 -0
- package/src/lib/mock-utils/utils/index.d.ts +3 -0
- package/src/lib/mock-utils/utils/index.js +7 -0
- package/src/lib/mock-utils/utils/index.js.map +1 -0
- package/src/lib/mock-utils/utils/init-db.d.ts +3 -0
- package/src/lib/mock-utils/utils/init-db.js +38 -0
- package/src/lib/mock-utils/utils/init-db.js.map +1 -0
- package/src/lib/mock-utils/utils/provider-entities.d.ts +10 -0
- package/src/lib/mock-utils/utils/provider-entities.js +22 -0
- package/src/lib/mock-utils/utils/provider-entities.js.map +1 -0
- package/src/lib/mock-utils/utils/pull-data.d.ts +9 -0
- package/src/lib/mock-utils/utils/pull-data.js +115 -0
- package/src/lib/mock-utils/utils/pull-data.js.map +1 -0
- package/src/lib/orm-helper/index.d.ts +12 -0
- package/src/lib/orm-helper/index.js +183 -0
- package/src/lib/orm-helper/index.js.map +1 -0
- package/src/lib/orm-methods/delete-one/delete-one.d.ts +2 -0
- package/src/lib/orm-methods/delete-one/delete-one.js +16 -0
- package/src/lib/orm-methods/delete-one/delete-one.js.map +1 -0
- package/src/lib/orm-methods/delete-relationship/delete-relationship.d.ts +4 -0
- package/src/lib/orm-methods/delete-relationship/delete-relationship.js +40 -0
- package/src/lib/orm-methods/delete-relationship/delete-relationship.js.map +1 -0
- package/src/lib/orm-methods/get-all/get-all.d.ts +6 -0
- package/src/lib/orm-methods/get-all/get-all.js +65 -0
- package/src/lib/orm-methods/get-all/get-all.js.map +1 -0
- package/src/lib/orm-methods/get-all/get-query-for-count.d.ts +5 -0
- package/src/lib/orm-methods/get-all/get-query-for-count.js +43 -0
- package/src/lib/orm-methods/get-all/get-query-for-count.js.map +1 -0
- package/src/lib/orm-methods/get-one/get-one.d.ts +3 -0
- package/src/lib/orm-methods/get-one/get-one.js +26 -0
- package/src/lib/orm-methods/get-one/get-one.js.map +1 -0
- package/src/lib/orm-methods/get-relationship/get-relationship.d.ts +3 -0
- package/src/lib/orm-methods/get-relationship/get-relationship.js +24 -0
- package/src/lib/orm-methods/get-relationship/get-relationship.js.map +1 -0
- package/src/lib/orm-methods/index.d.ts +9 -0
- package/src/lib/orm-methods/index.js +13 -0
- package/src/lib/orm-methods/index.js.map +1 -0
- package/src/lib/orm-methods/patch-one/patch-one.d.ts +3 -0
- package/src/lib/orm-methods/patch-one/patch-one.js +40 -0
- package/src/lib/orm-methods/patch-one/patch-one.js.map +1 -0
- package/src/lib/orm-methods/patch-relationship/patch-relationship.d.ts +4 -0
- package/src/lib/orm-methods/patch-relationship/patch-relationship.js +23 -0
- package/src/lib/orm-methods/patch-relationship/patch-relationship.js.map +1 -0
- package/src/lib/orm-methods/post-one/post-one.d.ts +3 -0
- package/src/lib/orm-methods/post-one/post-one.js +16 -0
- package/src/lib/orm-methods/post-one/post-one.js.map +1 -0
- package/src/lib/orm-methods/post-relationship/post-relationship.d.ts +4 -0
- package/src/lib/orm-methods/post-relationship/post-relationship.js +21 -0
- package/src/lib/orm-methods/post-relationship/post-relationship.js.map +1 -0
- package/src/lib/service/index.d.ts +3 -0
- package/src/lib/service/index.js +7 -0
- package/src/lib/service/index.js.map +1 -0
- package/src/lib/service/micro-orm-util.service.d.ts +51 -0
- package/src/lib/service/micro-orm-util.service.js +554 -0
- package/src/lib/service/micro-orm-util.service.js.map +1 -0
- package/src/lib/service/microorm-service.d.ts +21 -0
- package/src/lib/service/microorm-service.js +121 -0
- package/src/lib/service/microorm-service.js.map +1 -0
- package/src/lib/service/mikro-orm-format.error.service.d.ts +11 -0
- package/src/lib/service/mikro-orm-format.error.service.js +95 -0
- package/src/lib/service/mikro-orm-format.error.service.js.map +1 -0
- package/src/lib/type.d.ts +3 -0
- package/src/lib/type.js +3 -0
- 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.
|
|
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
|
-
"@
|
|
50
|
-
"@
|
|
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
package/src/index.js.map
ADDED
|
@@ -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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"}
|
package/src/lib/index.js
ADDED
|
@@ -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
|
+
}
|