@klerick/json-api-nestjs-typeorm 0.1.0-beta.1 → 0.1.0-beta.3
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 +11 -1
- package/package.json +25 -30
- 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 +6 -0
- package/src/lib/constants/index.js +10 -0
- package/src/lib/constants/index.js.map +1 -0
- package/src/lib/factory/index.d.ts +20 -0
- package/src/lib/factory/index.js +127 -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/orm-helper/index.d.ts +10 -0
- package/src/lib/orm-helper/index.js +151 -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 +17 -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 +18 -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 +4 -0
- package/src/lib/orm-methods/get-all/get-all.js +181 -0
- package/src/lib/orm-methods/get-all/get-all.js.map +1 -0
- package/src/lib/orm-methods/get-one/get-one.d.ts +4 -0
- package/src/lib/orm-methods/get-one/get-one.js +59 -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 +35 -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 +22 -0
- package/src/lib/orm-methods/index.js.map +1 -0
- package/src/lib/orm-methods/patch-one/patch-one.d.ts +4 -0
- package/src/lib/orm-methods/patch-one/patch-one.js +50 -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 +4 -0
- package/src/lib/orm-methods/post-one/post-one.js +28 -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 +19 -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/type-orm-format.error.service.d.ts +21 -0
- package/src/lib/service/type-orm-format.error.service.js +122 -0
- package/src/lib/service/type-orm-format.error.service.js.map +1 -0
- package/src/lib/service/type-orm.service.d.ts +20 -0
- package/src/lib/service/type-orm.service.js +61 -0
- package/src/lib/service/type-orm.service.js.map +1 -0
- package/src/lib/service/typeorm-utils.service.d.ts +66 -0
- package/src/lib/service/typeorm-utils.service.js +450 -0
- package/src/lib/service/typeorm-utils.service.js.map +1 -0
- package/src/lib/type-orm-json-api.module.d.ts +7 -0
- package/src/lib/type-orm-json-api.module.js +49 -0
- package/src/lib/type-orm-json-api.module.js.map +1 -0
- package/src/lib/type.d.ts +28 -0
- package/src/lib/type.js +28 -0
- package/src/lib/type.js.map +1 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,13 @@
|
|
|
1
|
+
## 0.1.0-beta.3 (2025-05-23)
|
|
2
|
+
|
|
3
|
+
### 🚀 Features
|
|
4
|
+
|
|
5
|
+
- **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))
|
|
6
|
+
|
|
7
|
+
### ❤️ Thank You
|
|
8
|
+
|
|
9
|
+
- Alex H
|
|
10
|
+
|
|
1
11
|
## 0.1.0-beta.0 (2025-05-21)
|
|
2
12
|
|
|
3
13
|
### 🚀 Features
|
|
@@ -10,4 +20,4 @@
|
|
|
10
20
|
|
|
11
21
|
### ❤️ Thank You
|
|
12
22
|
|
|
13
|
-
- Alex H
|
|
23
|
+
- Alex H
|
package/package.json
CHANGED
|
@@ -1,24 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@klerick/json-api-nestjs-typeorm",
|
|
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.3",
|
|
19
4
|
"dependencies": {
|
|
20
|
-
"@mikro-orm/core": "^6.4.
|
|
21
|
-
"@nestjs/common": "^11.0
|
|
5
|
+
"@mikro-orm/core": "^6.4.0",
|
|
6
|
+
"@nestjs/common": "^11.1.0",
|
|
22
7
|
"@nestjs/typeorm": "^11.0.0",
|
|
23
8
|
"change-case-commonjs": "^5.4.4",
|
|
24
9
|
"reflect-metadata": "^0.1.12 || ^0.2.0",
|
|
@@ -39,18 +24,8 @@
|
|
|
39
24
|
"microorm",
|
|
40
25
|
"CRUD"
|
|
41
26
|
],
|
|
42
|
-
"publishConfig": {
|
|
43
|
-
"access": "public"
|
|
44
|
-
},
|
|
45
27
|
"peerDependencies": {
|
|
46
|
-
"@
|
|
47
|
-
"@klerick/json-api-nestjs": "10.0.0-beta.1",
|
|
48
|
-
"@klerick/json-api-nestjs-shared": "1.0.0-beta.1",
|
|
49
|
-
"@nestjs/core": "11.0.10",
|
|
50
|
-
"@nestjs/swagger": "11.0.4",
|
|
51
|
-
"ts-toolbelt": "9.6.0",
|
|
52
|
-
"zod": "3.24.1",
|
|
53
|
-
"zod-validation-error": "3.4.0"
|
|
28
|
+
"@klerick/json-api-nestjs": "^10.0.0-beta.4"
|
|
54
29
|
},
|
|
55
30
|
"exports": {
|
|
56
31
|
"./package.json": "./package.json",
|
|
@@ -59,5 +34,25 @@
|
|
|
59
34
|
"default": "./src/index.js"
|
|
60
35
|
}
|
|
61
36
|
},
|
|
62
|
-
"types": "./src/index.d.ts"
|
|
37
|
+
"types": "./src/index.d.ts",
|
|
38
|
+
"license": "MIT",
|
|
39
|
+
"contributors": [
|
|
40
|
+
{
|
|
41
|
+
"email": "klerick666@gmain.com",
|
|
42
|
+
"name": "Aleksandr Kharkovey"
|
|
43
|
+
}
|
|
44
|
+
],
|
|
45
|
+
"repository": {
|
|
46
|
+
"type": "git",
|
|
47
|
+
"url": "https://github.com/klerick/nestjs-json-api.git"
|
|
48
|
+
},
|
|
49
|
+
"engines": {
|
|
50
|
+
"node": ">= 20.0.0"
|
|
51
|
+
},
|
|
52
|
+
"files": [
|
|
53
|
+
"**/*"
|
|
54
|
+
],
|
|
55
|
+
"publishConfig": {
|
|
56
|
+
"access": "public"
|
|
57
|
+
}
|
|
63
58
|
}
|
package/src/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './lib/type-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-typeorm/src/index.ts"],"names":[],"mappings":";;;AAAA,yEAA+C"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare const SUB_QUERY_ALIAS_FOR_PAGINATION = "subQueryWithLimitOffset";
|
|
2
|
+
export declare const ALIAS_FOR_PAGINATION = "aliasForPagination";
|
|
3
|
+
export declare const DEFAULT_CONNECTION_NAME = "default";
|
|
4
|
+
export declare const CURRENT_ENTITY_REPOSITORY: unique symbol;
|
|
5
|
+
export declare const CURRENT_DATA_SOURCE_TOKEN: unique symbol;
|
|
6
|
+
export declare const CURRENT_ENTITY_MANAGER_TOKEN: unique symbol;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CURRENT_ENTITY_MANAGER_TOKEN = exports.CURRENT_DATA_SOURCE_TOKEN = exports.CURRENT_ENTITY_REPOSITORY = exports.DEFAULT_CONNECTION_NAME = exports.ALIAS_FOR_PAGINATION = exports.SUB_QUERY_ALIAS_FOR_PAGINATION = void 0;
|
|
4
|
+
exports.SUB_QUERY_ALIAS_FOR_PAGINATION = 'subQueryWithLimitOffset';
|
|
5
|
+
exports.ALIAS_FOR_PAGINATION = 'aliasForPagination';
|
|
6
|
+
exports.DEFAULT_CONNECTION_NAME = 'default';
|
|
7
|
+
exports.CURRENT_ENTITY_REPOSITORY = Symbol('CURRENT_ENTITY_REPOSITORY');
|
|
8
|
+
exports.CURRENT_DATA_SOURCE_TOKEN = Symbol('CURRENT_DATA_SOURCE_TOKEN');
|
|
9
|
+
exports.CURRENT_ENTITY_MANAGER_TOKEN = Symbol('CURRENT_ENTITY_MANAGER_TOKEN');
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../libs/json-api/json-api-nestjs-typeorm/src/lib/constants/index.ts"],"names":[],"mappings":";;;AAAa,QAAA,8BAA8B,GAAG,yBAAyB,CAAC;AAC3D,QAAA,oBAAoB,GAAG,oBAAoB,CAAC;AAC5C,QAAA,uBAAuB,GAAG,SAAS,CAAC;AACpC,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,20 @@
|
|
|
1
|
+
import { FactoryProvider } from '@nestjs/common';
|
|
2
|
+
import { EntityParam, CheckRelationName, FindOneRowEntity, RunInTransaction } from '@klerick/json-api-nestjs';
|
|
3
|
+
import { DataSource, EntityManager, Repository } from 'typeorm';
|
|
4
|
+
import { TypeOrmService } from '../service';
|
|
5
|
+
import { EntityClass } from '@mikro-orm/core';
|
|
6
|
+
export declare function CurrentDataSourceProvider(connectionName?: string): FactoryProvider<DataSource>;
|
|
7
|
+
export declare function CurrentEntityManager(): FactoryProvider<EntityManager>;
|
|
8
|
+
export declare function CurrentEntityRepository<E extends object>(entity: E): FactoryProvider<Repository<E>>;
|
|
9
|
+
export declare function EntityPropsMap<E extends object>(entities: EntityClass<E>[]): {
|
|
10
|
+
provide: symbol;
|
|
11
|
+
inject: symbol[];
|
|
12
|
+
useFactory: (entityManager: EntityManager) => Map<EntityClass<E>, EntityParam<E>>;
|
|
13
|
+
};
|
|
14
|
+
export declare function FindOneRowEntityFactory<E extends object>(): FactoryProvider<FindOneRowEntity<E>>;
|
|
15
|
+
export declare function CheckRelationNameFactory<E extends object, IdKey extends string = 'id'>(): FactoryProvider<CheckRelationName<E>>;
|
|
16
|
+
export declare function RunInTransactionFactory(): FactoryProvider<RunInTransaction>;
|
|
17
|
+
export declare function OrmServiceFactory(): {
|
|
18
|
+
provide: symbol;
|
|
19
|
+
useClass: typeof TypeOrmService;
|
|
20
|
+
};
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CurrentDataSourceProvider = CurrentDataSourceProvider;
|
|
4
|
+
exports.CurrentEntityManager = CurrentEntityManager;
|
|
5
|
+
exports.CurrentEntityRepository = CurrentEntityRepository;
|
|
6
|
+
exports.EntityPropsMap = EntityPropsMap;
|
|
7
|
+
exports.FindOneRowEntityFactory = FindOneRowEntityFactory;
|
|
8
|
+
exports.CheckRelationNameFactory = CheckRelationNameFactory;
|
|
9
|
+
exports.RunInTransactionFactory = RunInTransactionFactory;
|
|
10
|
+
exports.OrmServiceFactory = OrmServiceFactory;
|
|
11
|
+
const typeorm_1 = require("@nestjs/typeorm");
|
|
12
|
+
const json_api_nestjs_1 = require("@klerick/json-api-nestjs");
|
|
13
|
+
const json_api_nestjs_shared_1 = require("@klerick/json-api-nestjs-shared");
|
|
14
|
+
const change_case_commonjs_1 = require("change-case-commonjs");
|
|
15
|
+
const constants_1 = require("../constants");
|
|
16
|
+
const service_1 = require("../service");
|
|
17
|
+
const orm_helper_1 = require("../orm-helper");
|
|
18
|
+
function CurrentDataSourceProvider(connectionName) {
|
|
19
|
+
return {
|
|
20
|
+
provide: constants_1.CURRENT_DATA_SOURCE_TOKEN,
|
|
21
|
+
useFactory: (dataSource) => dataSource,
|
|
22
|
+
inject: [(0, typeorm_1.getDataSourceToken)(connectionName)],
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
function CurrentEntityManager() {
|
|
26
|
+
return {
|
|
27
|
+
provide: constants_1.CURRENT_ENTITY_MANAGER_TOKEN,
|
|
28
|
+
useFactory: (dataSource) => dataSource.manager,
|
|
29
|
+
inject: [constants_1.CURRENT_DATA_SOURCE_TOKEN],
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
function CurrentEntityRepository(entity) {
|
|
33
|
+
return {
|
|
34
|
+
provide: constants_1.CURRENT_ENTITY_REPOSITORY,
|
|
35
|
+
useFactory: (entityManager) => entityManager.getRepository(entity),
|
|
36
|
+
inject: [constants_1.CURRENT_ENTITY_MANAGER_TOKEN],
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
function EntityPropsMap(entities) {
|
|
40
|
+
return {
|
|
41
|
+
provide: json_api_nestjs_1.ENTITY_PARAM_MAP,
|
|
42
|
+
inject: [constants_1.CURRENT_ENTITY_MANAGER_TOKEN],
|
|
43
|
+
useFactory: (entityManager) => {
|
|
44
|
+
const mapProperty = new Map();
|
|
45
|
+
for (const item of entities) {
|
|
46
|
+
const entityRepo = entityManager.getRepository(item);
|
|
47
|
+
const className = (0, json_api_nestjs_shared_1.getEntityName)(item);
|
|
48
|
+
mapProperty.set(item, {
|
|
49
|
+
props: (0, orm_helper_1.getProps)(entityRepo),
|
|
50
|
+
propsType: (0, orm_helper_1.getPropsType)(entityRepo),
|
|
51
|
+
propsNullable: (0, orm_helper_1.getPropsNullable)(entityRepo),
|
|
52
|
+
primaryColumnName: (0, orm_helper_1.getPrimaryColumnName)(entityRepo),
|
|
53
|
+
primaryColumnType: (0, orm_helper_1.getPrimaryColumnType)(entityRepo),
|
|
54
|
+
propsArrayType: (0, orm_helper_1.getArrayType)(entityRepo),
|
|
55
|
+
typeName: (0, change_case_commonjs_1.kebabCase)(className),
|
|
56
|
+
className: className,
|
|
57
|
+
relations: (0, orm_helper_1.getRelation)(entityRepo),
|
|
58
|
+
relationProperty: (0, orm_helper_1.getRelationProperty)(entityRepo),
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
return mapProperty;
|
|
62
|
+
},
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
function FindOneRowEntityFactory() {
|
|
66
|
+
return {
|
|
67
|
+
provide: json_api_nestjs_1.FIND_ONE_ROW_ENTITY,
|
|
68
|
+
inject: [constants_1.CURRENT_ENTITY_REPOSITORY, service_1.TypeormUtilsService],
|
|
69
|
+
useFactory: (repository, typeormUtilsService) => {
|
|
70
|
+
return async (entity, value) => {
|
|
71
|
+
const params = 'params';
|
|
72
|
+
return await repository
|
|
73
|
+
.createQueryBuilder(typeormUtilsService.currentAlias)
|
|
74
|
+
.where(`${typeormUtilsService.getAliasPath(typeormUtilsService.currentPrimaryColumn)} = :${params}`)
|
|
75
|
+
.setParameters({
|
|
76
|
+
[params]: value,
|
|
77
|
+
})
|
|
78
|
+
.getOne();
|
|
79
|
+
};
|
|
80
|
+
},
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
function CheckRelationNameFactory() {
|
|
84
|
+
return {
|
|
85
|
+
provide: json_api_nestjs_1.CHECK_RELATION_NAME,
|
|
86
|
+
inject: [service_1.TypeormUtilsService],
|
|
87
|
+
useFactory(typeormUtilsService) {
|
|
88
|
+
return (entity, value) => !!typeormUtilsService.relationFields.find((i) => i === value);
|
|
89
|
+
},
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
function RunInTransactionFactory() {
|
|
93
|
+
return {
|
|
94
|
+
provide: json_api_nestjs_1.RUN_IN_TRANSACTION_FUNCTION,
|
|
95
|
+
inject: [json_api_nestjs_1.MODULE_OPTIONS_TOKEN, constants_1.CURRENT_DATA_SOURCE_TOKEN],
|
|
96
|
+
useFactory(options, dataSource) {
|
|
97
|
+
const { options: { runInTransaction }, } = options;
|
|
98
|
+
if (runInTransaction && typeof runInTransaction === 'function') {
|
|
99
|
+
return (callback) => runInTransaction('READ COMMITTED', () => callback());
|
|
100
|
+
}
|
|
101
|
+
return async (callback) => {
|
|
102
|
+
const queryRunner = dataSource.createQueryRunner();
|
|
103
|
+
await queryRunner.startTransaction('READ UNCOMMITTED');
|
|
104
|
+
let result;
|
|
105
|
+
try {
|
|
106
|
+
result = await callback();
|
|
107
|
+
await queryRunner.commitTransaction();
|
|
108
|
+
}
|
|
109
|
+
catch (e) {
|
|
110
|
+
await queryRunner.rollbackTransaction();
|
|
111
|
+
throw e;
|
|
112
|
+
}
|
|
113
|
+
finally {
|
|
114
|
+
await queryRunner.release();
|
|
115
|
+
}
|
|
116
|
+
return result;
|
|
117
|
+
};
|
|
118
|
+
},
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
function OrmServiceFactory() {
|
|
122
|
+
return {
|
|
123
|
+
provide: json_api_nestjs_1.ORM_SERVICE,
|
|
124
|
+
useClass: service_1.TypeOrmService,
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../libs/json-api/json-api-nestjs-typeorm/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("./type-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-typeorm/src/lib/index.ts"],"names":[],"mappings":";;;AAAA,qEAA2C;AAC3C,iDAAuB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { EntityParam } from '@klerick/json-api-nestjs';
|
|
2
|
+
import { Repository } from 'typeorm';
|
|
3
|
+
export declare const getRelation: <E extends object>(repository: Repository<E>) => EntityParam<E>["relations"];
|
|
4
|
+
export declare const getProps: <E extends object>(repository: Repository<E>) => EntityParam<E>["props"];
|
|
5
|
+
export declare const getPropsType: <E extends object>(repository: Repository<E>) => EntityParam<E>["propsType"];
|
|
6
|
+
export declare const getPropsNullable: <E extends object>(repository: Repository<E>) => EntityParam<E>["propsNullable"];
|
|
7
|
+
export declare const getPrimaryColumnName: <E extends object>(repository: Repository<E>) => EntityParam<E>["primaryColumnName"];
|
|
8
|
+
export declare const getPrimaryColumnType: <E extends object>(repository: Repository<E>) => EntityParam<E>["primaryColumnType"];
|
|
9
|
+
export declare const getRelationProperty: <E extends object>(repository: Repository<E>) => EntityParam<E>["relationProperty"];
|
|
10
|
+
export declare const getArrayType: <E extends object>(repository: Repository<E>) => EntityParam<E>["propsArrayType"];
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getArrayType = exports.getRelationProperty = exports.getPrimaryColumnType = exports.getPrimaryColumnName = exports.getPropsNullable = exports.getPropsType = exports.getProps = exports.getRelation = void 0;
|
|
4
|
+
const json_api_nestjs_1 = require("@klerick/json-api-nestjs");
|
|
5
|
+
const getRelation = (repository) => repository.metadata.relations.map((i) => {
|
|
6
|
+
return i.propertyName;
|
|
7
|
+
});
|
|
8
|
+
exports.getRelation = getRelation;
|
|
9
|
+
const getProps = (repository) => {
|
|
10
|
+
const relations = (0, exports.getRelation)(repository);
|
|
11
|
+
return repository.metadata.columns
|
|
12
|
+
.filter((i) => !relations.includes(i.propertyName))
|
|
13
|
+
.map((r) => r.propertyName);
|
|
14
|
+
};
|
|
15
|
+
exports.getProps = getProps;
|
|
16
|
+
const getPropsType = (repository) => {
|
|
17
|
+
const field = (0, exports.getProps)(repository);
|
|
18
|
+
const entity = repository.target;
|
|
19
|
+
const result = {};
|
|
20
|
+
for (const item of field) {
|
|
21
|
+
let typeProps = json_api_nestjs_1.TypeField.string;
|
|
22
|
+
const fieldMetadata = repository.metadata.columns.find((i) => i.propertyName === item);
|
|
23
|
+
if (fieldMetadata?.isArray) {
|
|
24
|
+
result[item] = json_api_nestjs_1.TypeField.array;
|
|
25
|
+
continue;
|
|
26
|
+
}
|
|
27
|
+
switch (Reflect.getMetadata('design:type', entity['prototype'], item)) {
|
|
28
|
+
case Array:
|
|
29
|
+
typeProps = json_api_nestjs_1.TypeField.array;
|
|
30
|
+
break;
|
|
31
|
+
case Date:
|
|
32
|
+
typeProps = json_api_nestjs_1.TypeField.date;
|
|
33
|
+
break;
|
|
34
|
+
case Number:
|
|
35
|
+
typeProps = json_api_nestjs_1.TypeField.number;
|
|
36
|
+
break;
|
|
37
|
+
case Boolean:
|
|
38
|
+
typeProps = json_api_nestjs_1.TypeField.boolean;
|
|
39
|
+
break;
|
|
40
|
+
case Object:
|
|
41
|
+
typeProps = json_api_nestjs_1.TypeField.object;
|
|
42
|
+
break;
|
|
43
|
+
default:
|
|
44
|
+
typeProps = json_api_nestjs_1.TypeField.string;
|
|
45
|
+
}
|
|
46
|
+
result[item] = fieldMetadata?.isArray ? json_api_nestjs_1.TypeField.array : typeProps;
|
|
47
|
+
}
|
|
48
|
+
return result;
|
|
49
|
+
};
|
|
50
|
+
exports.getPropsType = getPropsType;
|
|
51
|
+
const getPropsNullable = (repository) => {
|
|
52
|
+
const relation = (0, exports.getRelation)(repository);
|
|
53
|
+
return repository.metadata.columns
|
|
54
|
+
.filter((i) => !relation.includes(i.propertyName))
|
|
55
|
+
.map((i) => i.isNullable || i.default !== undefined ? i.propertyName : false)
|
|
56
|
+
.filter((i) => !!i);
|
|
57
|
+
};
|
|
58
|
+
exports.getPropsNullable = getPropsNullable;
|
|
59
|
+
const getPrimaryColumnName = (repository) => {
|
|
60
|
+
const column = repository.metadata.primaryColumns.at(0);
|
|
61
|
+
if (!column)
|
|
62
|
+
throw new Error('Primary column not found');
|
|
63
|
+
return column.propertyName;
|
|
64
|
+
};
|
|
65
|
+
exports.getPrimaryColumnName = getPrimaryColumnName;
|
|
66
|
+
const getPrimaryColumnType = (repository) => {
|
|
67
|
+
const target = repository.target;
|
|
68
|
+
const primaryColumn = repository.metadata.primaryColumns[0].propertyName;
|
|
69
|
+
return (Reflect.getMetadata('design:type', target['prototype'], primaryColumn) ===
|
|
70
|
+
Number
|
|
71
|
+
? json_api_nestjs_1.TypeField.number
|
|
72
|
+
: json_api_nestjs_1.TypeField.string);
|
|
73
|
+
};
|
|
74
|
+
exports.getPrimaryColumnType = getPrimaryColumnType;
|
|
75
|
+
const getRelationProperty = (repository) => {
|
|
76
|
+
return repository.metadata.relations.reduce((acum, item) => {
|
|
77
|
+
// @ts-expect-error its dynamic creater
|
|
78
|
+
acum[item.propertyName] = {
|
|
79
|
+
entityClass: item.inverseEntityMetadata.target,
|
|
80
|
+
nullable: item.isManyToMany || item.isOneToMany ? false : item.isNullable,
|
|
81
|
+
isArray: item.isManyToMany || item.isOneToMany,
|
|
82
|
+
};
|
|
83
|
+
return acum;
|
|
84
|
+
}, {});
|
|
85
|
+
};
|
|
86
|
+
exports.getRelationProperty = getRelationProperty;
|
|
87
|
+
const getArrayType = (repository) => {
|
|
88
|
+
return Object.entries((0, exports.getPropsType)(repository))
|
|
89
|
+
.filter(([name, type]) => type === json_api_nestjs_1.TypeField.array)
|
|
90
|
+
.reduce((acum, [name]) => {
|
|
91
|
+
const fieldMetadata = repository.metadata.columns.find((i) => i.propertyName === name);
|
|
92
|
+
if (!fieldMetadata) {
|
|
93
|
+
throw new Error('Metadata not found for field ' + name);
|
|
94
|
+
}
|
|
95
|
+
switch (fieldMetadata.type) {
|
|
96
|
+
case 'number':
|
|
97
|
+
case 'bigint':
|
|
98
|
+
case 'smallint':
|
|
99
|
+
case 'smalldecimal':
|
|
100
|
+
case 'decimal':
|
|
101
|
+
case 'double':
|
|
102
|
+
case 'tinyint':
|
|
103
|
+
case 'mediumint':
|
|
104
|
+
case 'int':
|
|
105
|
+
case 'float':
|
|
106
|
+
case 'dec':
|
|
107
|
+
case 'fixed':
|
|
108
|
+
case 'numeric':
|
|
109
|
+
case 'real':
|
|
110
|
+
case 'int2':
|
|
111
|
+
case 'int4':
|
|
112
|
+
case 'int8':
|
|
113
|
+
case 'integer':
|
|
114
|
+
acum[name] = json_api_nestjs_1.TypeField.number;
|
|
115
|
+
break;
|
|
116
|
+
case 'character varying':
|
|
117
|
+
case 'varying character':
|
|
118
|
+
case 'char varying':
|
|
119
|
+
case 'nvarchar':
|
|
120
|
+
case 'national varchar':
|
|
121
|
+
case 'character':
|
|
122
|
+
case 'native character':
|
|
123
|
+
case 'varchar':
|
|
124
|
+
case 'char':
|
|
125
|
+
case 'nchar':
|
|
126
|
+
case 'national char':
|
|
127
|
+
case 'varchar2':
|
|
128
|
+
case 'nvarchar2':
|
|
129
|
+
case 'alphanum':
|
|
130
|
+
case 'shorttext':
|
|
131
|
+
case 'raw':
|
|
132
|
+
case 'binary':
|
|
133
|
+
case 'varbinary':
|
|
134
|
+
case 'string':
|
|
135
|
+
acum[name] = json_api_nestjs_1.TypeField.string;
|
|
136
|
+
break;
|
|
137
|
+
case 'date':
|
|
138
|
+
case 'timetz':
|
|
139
|
+
case 'timestamptz':
|
|
140
|
+
case 'timestamp with local time zone':
|
|
141
|
+
case 'smalldatetime':
|
|
142
|
+
acum[name] = json_api_nestjs_1.TypeField.date;
|
|
143
|
+
break;
|
|
144
|
+
case 'boolean':
|
|
145
|
+
acum[name] = json_api_nestjs_1.TypeField.boolean;
|
|
146
|
+
}
|
|
147
|
+
return acum;
|
|
148
|
+
}, {});
|
|
149
|
+
};
|
|
150
|
+
exports.getArrayType = getArrayType;
|
|
151
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../libs/json-api/json-api-nestjs-typeorm/src/lib/orm-helper/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.deleteOne = deleteOne;
|
|
4
|
+
async function deleteOne(id) {
|
|
5
|
+
const data = await this.repository.findOne({
|
|
6
|
+
where: {
|
|
7
|
+
[this.typeormUtilsService.currentPrimaryColumn.toString()]: id,
|
|
8
|
+
},
|
|
9
|
+
});
|
|
10
|
+
if (!data)
|
|
11
|
+
return void 0;
|
|
12
|
+
this.config.useSoftDelete
|
|
13
|
+
? await this.repository.softRemove(data)
|
|
14
|
+
: await this.repository.remove(data);
|
|
15
|
+
return void 0;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=delete-one.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete-one.js","sourceRoot":"","sources":["../../../../../../../../libs/json-api/json-api-nestjs-typeorm/src/lib/orm-methods/delete-one/delete-one.ts"],"names":[],"mappings":";;AAGA,8BAgBC;AAhBM,KAAK,UAAU,SAAS,CAE7B,EAAmB;IAEnB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;QACzC,KAAK,EAAE;YACL,CAAC,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE;SACxC;KACzB,CAAC,CAAC;IACH,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC,CAAC;IAEzB,IAAI,CAAC,MAAM,CAAC,aAAa;QACvB,CAAC,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC;QACxC,CAAC,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAEvC,OAAO,KAAK,CAAC,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { PostRelationshipData } from '@klerick/json-api-nestjs';
|
|
2
|
+
import { RelationKeys } from '@klerick/json-api-nestjs-shared';
|
|
3
|
+
import { TypeOrmService } from '../../service';
|
|
4
|
+
export declare function deleteRelationship<E extends object, IdKey extends string, Rel extends RelationKeys<E, IdKey>>(this: TypeOrmService<E, IdKey>, id: number | string, rel: Rel, input: PostRelationshipData): Promise<void>;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.deleteRelationship = deleteRelationship;
|
|
4
|
+
async function deleteRelationship(id, rel, input) {
|
|
5
|
+
const idsResult = await this.typeormUtilsService.validateRelationInputData(rel, input);
|
|
6
|
+
const postBuilder = this.repository
|
|
7
|
+
.createQueryBuilder()
|
|
8
|
+
.relation(rel.toString())
|
|
9
|
+
.of(id);
|
|
10
|
+
if (Array.isArray(idsResult)) {
|
|
11
|
+
await postBuilder.remove(idsResult);
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
await postBuilder.set(null);
|
|
15
|
+
}
|
|
16
|
+
return void 0;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=delete-relationship.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete-relationship.js","sourceRoot":"","sources":["../../../../../../../../libs/json-api/json-api-nestjs-typeorm/src/lib/orm-methods/delete-relationship/delete-relationship.ts"],"names":[],"mappings":";;AAKA,gDAyBC;AAzBM,KAAK,UAAU,kBAAkB,CAMtC,EAAmB,EACnB,GAAQ,EACR,KAA2B;IAE3B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,yBAAyB,CACxE,GAAG,EACH,KAAK,CACN,CAAC;IACF,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU;SAChC,kBAAkB,EAAE;SACpB,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;SACxB,EAAE,CAAC,EAAE,CAAC,CAAC;IAEV,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,MAAM,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC;SAAM,CAAC;QACN,MAAM,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IACD,OAAO,KAAK,CAAC,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { Query } from '@klerick/json-api-nestjs';
|
|
2
|
+
import { ResourceObject } from '@klerick/json-api-nestjs-shared';
|
|
3
|
+
import { TypeOrmService } from '../../service';
|
|
4
|
+
export declare function getAll<E extends object, IdKey extends string = 'id'>(this: TypeOrmService<E, IdKey>, query: Query<E, IdKey>): Promise<ResourceObject<E, 'array', null, IdKey>>;
|