@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.
Files changed (65) hide show
  1. package/CHANGELOG.md +11 -1
  2. package/package.json +25 -30
  3. package/src/index.d.ts +1 -0
  4. package/src/index.js +5 -0
  5. package/src/index.js.map +1 -0
  6. package/src/lib/constants/index.d.ts +6 -0
  7. package/src/lib/constants/index.js +10 -0
  8. package/src/lib/constants/index.js.map +1 -0
  9. package/src/lib/factory/index.d.ts +20 -0
  10. package/src/lib/factory/index.js +127 -0
  11. package/src/lib/factory/index.js.map +1 -0
  12. package/src/lib/index.d.ts +2 -0
  13. package/src/lib/index.js +6 -0
  14. package/src/lib/index.js.map +1 -0
  15. package/src/lib/orm-helper/index.d.ts +10 -0
  16. package/src/lib/orm-helper/index.js +151 -0
  17. package/src/lib/orm-helper/index.js.map +1 -0
  18. package/src/lib/orm-methods/delete-one/delete-one.d.ts +2 -0
  19. package/src/lib/orm-methods/delete-one/delete-one.js +17 -0
  20. package/src/lib/orm-methods/delete-one/delete-one.js.map +1 -0
  21. package/src/lib/orm-methods/delete-relationship/delete-relationship.d.ts +4 -0
  22. package/src/lib/orm-methods/delete-relationship/delete-relationship.js +18 -0
  23. package/src/lib/orm-methods/delete-relationship/delete-relationship.js.map +1 -0
  24. package/src/lib/orm-methods/get-all/get-all.d.ts +4 -0
  25. package/src/lib/orm-methods/get-all/get-all.js +181 -0
  26. package/src/lib/orm-methods/get-all/get-all.js.map +1 -0
  27. package/src/lib/orm-methods/get-one/get-one.d.ts +4 -0
  28. package/src/lib/orm-methods/get-one/get-one.js +59 -0
  29. package/src/lib/orm-methods/get-one/get-one.js.map +1 -0
  30. package/src/lib/orm-methods/get-relationship/get-relationship.d.ts +3 -0
  31. package/src/lib/orm-methods/get-relationship/get-relationship.js +35 -0
  32. package/src/lib/orm-methods/get-relationship/get-relationship.js.map +1 -0
  33. package/src/lib/orm-methods/index.d.ts +9 -0
  34. package/src/lib/orm-methods/index.js +22 -0
  35. package/src/lib/orm-methods/index.js.map +1 -0
  36. package/src/lib/orm-methods/patch-one/patch-one.d.ts +4 -0
  37. package/src/lib/orm-methods/patch-one/patch-one.js +50 -0
  38. package/src/lib/orm-methods/patch-one/patch-one.js.map +1 -0
  39. package/src/lib/orm-methods/patch-relationship/patch-relationship.d.ts +4 -0
  40. package/src/lib/orm-methods/patch-relationship/patch-relationship.js +23 -0
  41. package/src/lib/orm-methods/patch-relationship/patch-relationship.js.map +1 -0
  42. package/src/lib/orm-methods/post-one/post-one.d.ts +4 -0
  43. package/src/lib/orm-methods/post-one/post-one.js +28 -0
  44. package/src/lib/orm-methods/post-one/post-one.js.map +1 -0
  45. package/src/lib/orm-methods/post-relationship/post-relationship.d.ts +4 -0
  46. package/src/lib/orm-methods/post-relationship/post-relationship.js +19 -0
  47. package/src/lib/orm-methods/post-relationship/post-relationship.js.map +1 -0
  48. package/src/lib/service/index.d.ts +3 -0
  49. package/src/lib/service/index.js +7 -0
  50. package/src/lib/service/index.js.map +1 -0
  51. package/src/lib/service/type-orm-format.error.service.d.ts +21 -0
  52. package/src/lib/service/type-orm-format.error.service.js +122 -0
  53. package/src/lib/service/type-orm-format.error.service.js.map +1 -0
  54. package/src/lib/service/type-orm.service.d.ts +20 -0
  55. package/src/lib/service/type-orm.service.js +61 -0
  56. package/src/lib/service/type-orm.service.js.map +1 -0
  57. package/src/lib/service/typeorm-utils.service.d.ts +66 -0
  58. package/src/lib/service/typeorm-utils.service.js +450 -0
  59. package/src/lib/service/typeorm-utils.service.js.map +1 -0
  60. package/src/lib/type-orm-json-api.module.d.ts +7 -0
  61. package/src/lib/type-orm-json-api.module.js +49 -0
  62. package/src/lib/type-orm-json-api.module.js.map +1 -0
  63. package/src/lib/type.d.ts +28 -0
  64. package/src/lib/type.js +28 -0
  65. 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.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.3",
19
4
  "dependencies": {
20
- "@mikro-orm/core": "^6.4.3",
21
- "@nestjs/common": "^11.0.10",
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
- "@anatine/zod-openapi": "2.2.7",
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
@@ -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/type-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-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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"}
@@ -0,0 +1,2 @@
1
+ export * from './type-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("./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,2 @@
1
+ import { TypeOrmService } from '../../service';
2
+ export declare function deleteOne<E extends object, IdKey extends string = 'id'>(this: TypeOrmService<E, IdKey>, id: number | string): Promise<void>;
@@ -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>>;