@elsikora/nestjs-crud-automator 2.5.0-dev.1 → 2.6.0-dev.1
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/README.md +11 -9
- package/dist/cjs/class/api/function/custom-runtime.class.js +0 -1
- package/dist/cjs/class/api/function/custom-runtime.class.js.map +1 -1
- package/dist/cjs/class/api/route-runtime.class.d.ts +6 -0
- package/dist/cjs/class/api/route-runtime.class.js +17 -4
- package/dist/cjs/class/api/route-runtime.class.js.map +1 -1
- package/dist/cjs/class/utility/dto/exception/details/foreign-key-violation.class.js +0 -1
- package/dist/cjs/class/utility/dto/exception/details/foreign-key-violation.class.js.map +1 -1
- package/dist/cjs/class/utility/dto/exception/details/unique-violation.class.js +0 -1
- package/dist/cjs/class/utility/dto/exception/details/unique-violation.class.js.map +1 -1
- package/dist/cjs/class/utility/dto/property/factory/number.class.js +0 -1
- package/dist/cjs/class/utility/dto/property/factory/number.class.js.map +1 -1
- package/dist/cjs/class/utility/dto/property/factory/relation.class.js +0 -1
- package/dist/cjs/class/utility/dto/property/factory/relation.class.js.map +1 -1
- package/dist/cjs/class/utility/dto/strategy/body.class.js +0 -1
- package/dist/cjs/class/utility/dto/strategy/body.class.js.map +1 -1
- package/dist/cjs/class/utility/dto/strategy/query.class.js +0 -1
- package/dist/cjs/class/utility/dto/strategy/query.class.js.map +1 -1
- package/dist/cjs/class/utility/dto/strategy/request.class.js +0 -1
- package/dist/cjs/class/utility/dto/strategy/request.class.js.map +1 -1
- package/dist/cjs/class/utility/dto/strategy/response.class.js +0 -1
- package/dist/cjs/class/utility/dto/strategy/response.class.js.map +1 -1
- package/dist/cjs/constant/utility/api/get-default-string-format-properties/customizer/map.constant.js +0 -1
- package/dist/cjs/constant/utility/api/get-default-string-format-properties/customizer/map.constant.js.map +1 -1
- package/dist/cjs/constant/utility/dto/constant.js +0 -1
- package/dist/cjs/constant/utility/dto/constant.js.map +1 -1
- package/dist/cjs/decorator/api/function/create.decorator.js +0 -1
- package/dist/cjs/decorator/api/function/create.decorator.js.map +1 -1
- package/dist/cjs/decorator/api/function/custom.decorator.js +0 -1
- package/dist/cjs/decorator/api/function/custom.decorator.js.map +1 -1
- package/dist/cjs/decorator/api/function/decorator.js +0 -1
- package/dist/cjs/decorator/api/function/decorator.js.map +1 -1
- package/dist/cjs/decorator/api/function/delete.decorator.js +0 -1
- package/dist/cjs/decorator/api/function/delete.decorator.js.map +1 -1
- package/dist/cjs/decorator/api/function/get/decorator.js +0 -1
- package/dist/cjs/decorator/api/function/get/decorator.js.map +1 -1
- package/dist/cjs/decorator/api/function/get/list.decorator.js +0 -1
- package/dist/cjs/decorator/api/function/get/list.decorator.js.map +1 -1
- package/dist/cjs/decorator/api/function/get/many.decorator.js +0 -1
- package/dist/cjs/decorator/api/function/get/many.decorator.js.map +1 -1
- package/dist/cjs/decorator/api/function/update.decorator.js +0 -1
- package/dist/cjs/decorator/api/function/update.decorator.js.map +1 -1
- package/dist/cjs/decorator/api/method.decorator.js +0 -1
- package/dist/cjs/decorator/api/method.decorator.js.map +1 -1
- package/dist/cjs/decorator/api/property/boolean.decorator.js +0 -1
- package/dist/cjs/decorator/api/property/boolean.decorator.js.map +1 -1
- package/dist/cjs/decorator/api/property/date.decorator.js +0 -1
- package/dist/cjs/decorator/api/property/date.decorator.js.map +1 -1
- package/dist/cjs/decorator/api/property/number.decorator.js +0 -1
- package/dist/cjs/decorator/api/property/number.decorator.js.map +1 -1
- package/dist/cjs/decorator/api/property/string.decorator.js +0 -1
- package/dist/cjs/decorator/api/property/string.decorator.js.map +1 -1
- package/dist/cjs/decorator/api/property/uuid.decorator.js +0 -1
- package/dist/cjs/decorator/api/property/uuid.decorator.js.map +1 -1
- package/dist/cjs/decorator/api/route-custom.decorator.js +0 -1
- package/dist/cjs/decorator/api/route-custom.decorator.js.map +1 -1
- package/dist/cjs/decorator/api/service/decorator.js +0 -1
- package/dist/cjs/decorator/api/service/decorator.js.map +1 -1
- package/dist/cjs/enum/decorator/api/controller/index.d.ts +0 -1
- package/dist/cjs/factory/api-controller.factory.js +0 -1
- package/dist/cjs/factory/api-controller.factory.js.map +1 -1
- package/dist/cjs/index.js +0 -5
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/interface/decorator/api/controller/properties/route/base/relations/request/load.interface.d.ts +3 -7
- package/dist/cjs/interface/decorator/api/controller/properties/route/base/relations/response/load.interface.d.ts +2 -1
- package/dist/cjs/utility/api/controller/apply/decorators.utility.js +0 -1
- package/dist/cjs/utility/api/controller/apply/decorators.utility.js.map +1 -1
- package/dist/cjs/utility/api/controller/apply/metadata.utility.js +0 -1
- package/dist/cjs/utility/api/controller/apply/metadata.utility.js.map +1 -1
- package/dist/cjs/utility/api/controller/build-route-documentation.utility.js +0 -1
- package/dist/cjs/utility/api/controller/build-route-documentation.utility.js.map +1 -1
- package/dist/cjs/utility/api/controller/get/dto.utility.js +0 -1
- package/dist/cjs/utility/api/controller/get/dto.utility.js.map +1 -1
- package/dist/cjs/utility/api/controller/get-list/transform/filter.utility.js +0 -1
- package/dist/cjs/utility/api/controller/get-list/transform/filter.utility.js.map +1 -1
- package/dist/cjs/utility/api/controller/handle-request-relations.utility.d.ts +2 -3
- package/dist/cjs/utility/api/controller/handle-request-relations.utility.js +141 -55
- package/dist/cjs/utility/api/controller/handle-request-relations.utility.js.map +1 -1
- package/dist/cjs/utility/api/controller/transform-data.utility.js +0 -1
- package/dist/cjs/utility/api/controller/transform-data.utility.js.map +1 -1
- package/dist/cjs/utility/api/controller/write/dto-swagger.utility.js +0 -1
- package/dist/cjs/utility/api/controller/write/dto-swagger.utility.js.map +1 -1
- package/dist/cjs/utility/api/function-transaction.utility.js +0 -1
- package/dist/cjs/utility/api/function-transaction.utility.js.map +1 -1
- package/dist/cjs/utility/api/route/apply-dto-metadata.utility.js +0 -1
- package/dist/cjs/utility/api/route/apply-dto-metadata.utility.js.map +1 -1
- package/dist/cjs/utility/api/route/response/project-relation.utility.js +28 -16
- package/dist/cjs/utility/api/route/response/project-relation.utility.js.map +1 -1
- package/dist/cjs/utility/dto/build-decorator.utility.js +0 -1
- package/dist/cjs/utility/dto/build-decorator.utility.js.map +1 -1
- package/dist/cjs/utility/dto/generate/core.utility.js +0 -1
- package/dist/cjs/utility/dto/generate/core.utility.js.map +1 -1
- package/dist/cjs/utility/dto/generate/dynamic.utility.js +0 -1
- package/dist/cjs/utility/dto/generate/dynamic.utility.js.map +1 -1
- package/dist/cjs/utility/dto/generate/exception.utility.js +0 -1
- package/dist/cjs/utility/dto/generate/exception.utility.js.map +1 -1
- package/dist/cjs/utility/dto/generate/filter-decorator.utility.js +0 -1
- package/dist/cjs/utility/dto/generate/filter-decorator.utility.js.map +1 -1
- package/dist/cjs/utility/dto/generate/get-list-response.utility.js +0 -1
- package/dist/cjs/utility/dto/generate/get-list-response.utility.js.map +1 -1
- package/dist/cjs/utility/dto/get/get-list-query-base-class.utility.js +0 -1
- package/dist/cjs/utility/dto/get/get-list-query-base-class.utility.js.map +1 -1
- package/dist/cjs/utility/dto/handle-date-property.utility.js +0 -1
- package/dist/cjs/utility/dto/handle-date-property.utility.js.map +1 -1
- package/dist/cjs/utility/dto/is/property/should-be-marked.utility.js +0 -1
- package/dist/cjs/utility/dto/is/property/should-be-marked.utility.js.map +1 -1
- package/dist/cjs/utility/dto/is/should-be-generated.utility.js +0 -1
- package/dist/cjs/utility/dto/is/should-be-generated.utility.js.map +1 -1
- package/dist/esm/class/api/function/custom-runtime.class.js +0 -1
- package/dist/esm/class/api/function/custom-runtime.class.js.map +1 -1
- package/dist/esm/class/api/route-runtime.class.d.ts +6 -0
- package/dist/esm/class/api/route-runtime.class.js +17 -4
- package/dist/esm/class/api/route-runtime.class.js.map +1 -1
- package/dist/esm/class/utility/dto/exception/details/foreign-key-violation.class.js +0 -1
- package/dist/esm/class/utility/dto/exception/details/foreign-key-violation.class.js.map +1 -1
- package/dist/esm/class/utility/dto/exception/details/unique-violation.class.js +0 -1
- package/dist/esm/class/utility/dto/exception/details/unique-violation.class.js.map +1 -1
- package/dist/esm/class/utility/dto/property/factory/number.class.js +0 -1
- package/dist/esm/class/utility/dto/property/factory/number.class.js.map +1 -1
- package/dist/esm/class/utility/dto/property/factory/relation.class.js +0 -1
- package/dist/esm/class/utility/dto/property/factory/relation.class.js.map +1 -1
- package/dist/esm/class/utility/dto/strategy/body.class.js +0 -1
- package/dist/esm/class/utility/dto/strategy/body.class.js.map +1 -1
- package/dist/esm/class/utility/dto/strategy/query.class.js +0 -1
- package/dist/esm/class/utility/dto/strategy/query.class.js.map +1 -1
- package/dist/esm/class/utility/dto/strategy/request.class.js +0 -1
- package/dist/esm/class/utility/dto/strategy/request.class.js.map +1 -1
- package/dist/esm/class/utility/dto/strategy/response.class.js +0 -1
- package/dist/esm/class/utility/dto/strategy/response.class.js.map +1 -1
- package/dist/esm/constant/utility/api/get-default-string-format-properties/customizer/map.constant.js +0 -1
- package/dist/esm/constant/utility/api/get-default-string-format-properties/customizer/map.constant.js.map +1 -1
- package/dist/esm/constant/utility/dto/constant.js +0 -1
- package/dist/esm/constant/utility/dto/constant.js.map +1 -1
- package/dist/esm/decorator/api/function/create.decorator.js +0 -1
- package/dist/esm/decorator/api/function/create.decorator.js.map +1 -1
- package/dist/esm/decorator/api/function/custom.decorator.js +0 -1
- package/dist/esm/decorator/api/function/custom.decorator.js.map +1 -1
- package/dist/esm/decorator/api/function/decorator.js +0 -1
- package/dist/esm/decorator/api/function/decorator.js.map +1 -1
- package/dist/esm/decorator/api/function/delete.decorator.js +0 -1
- package/dist/esm/decorator/api/function/delete.decorator.js.map +1 -1
- package/dist/esm/decorator/api/function/get/decorator.js +0 -1
- package/dist/esm/decorator/api/function/get/decorator.js.map +1 -1
- package/dist/esm/decorator/api/function/get/list.decorator.js +0 -1
- package/dist/esm/decorator/api/function/get/list.decorator.js.map +1 -1
- package/dist/esm/decorator/api/function/get/many.decorator.js +0 -1
- package/dist/esm/decorator/api/function/get/many.decorator.js.map +1 -1
- package/dist/esm/decorator/api/function/update.decorator.js +0 -1
- package/dist/esm/decorator/api/function/update.decorator.js.map +1 -1
- package/dist/esm/decorator/api/method.decorator.js +0 -1
- package/dist/esm/decorator/api/method.decorator.js.map +1 -1
- package/dist/esm/decorator/api/property/boolean.decorator.js +0 -1
- package/dist/esm/decorator/api/property/boolean.decorator.js.map +1 -1
- package/dist/esm/decorator/api/property/date.decorator.js +0 -1
- package/dist/esm/decorator/api/property/date.decorator.js.map +1 -1
- package/dist/esm/decorator/api/property/number.decorator.js +0 -1
- package/dist/esm/decorator/api/property/number.decorator.js.map +1 -1
- package/dist/esm/decorator/api/property/string.decorator.js +0 -1
- package/dist/esm/decorator/api/property/string.decorator.js.map +1 -1
- package/dist/esm/decorator/api/property/uuid.decorator.js +0 -1
- package/dist/esm/decorator/api/property/uuid.decorator.js.map +1 -1
- package/dist/esm/decorator/api/route-custom.decorator.js +0 -1
- package/dist/esm/decorator/api/route-custom.decorator.js.map +1 -1
- package/dist/esm/decorator/api/service/decorator.js +0 -1
- package/dist/esm/decorator/api/service/decorator.js.map +1 -1
- package/dist/esm/enum/decorator/api/controller/index.d.ts +0 -1
- package/dist/esm/factory/api-controller.factory.js +0 -1
- package/dist/esm/factory/api-controller.factory.js.map +1 -1
- package/dist/esm/index.js +0 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/interface/decorator/api/controller/properties/route/base/relations/request/load.interface.d.ts +3 -7
- package/dist/esm/interface/decorator/api/controller/properties/route/base/relations/response/load.interface.d.ts +2 -1
- package/dist/esm/utility/api/controller/apply/decorators.utility.js +0 -1
- package/dist/esm/utility/api/controller/apply/decorators.utility.js.map +1 -1
- package/dist/esm/utility/api/controller/apply/metadata.utility.js +0 -1
- package/dist/esm/utility/api/controller/apply/metadata.utility.js.map +1 -1
- package/dist/esm/utility/api/controller/build-route-documentation.utility.js +0 -1
- package/dist/esm/utility/api/controller/build-route-documentation.utility.js.map +1 -1
- package/dist/esm/utility/api/controller/get/dto.utility.js +0 -1
- package/dist/esm/utility/api/controller/get/dto.utility.js.map +1 -1
- package/dist/esm/utility/api/controller/get-list/transform/filter.utility.js +0 -1
- package/dist/esm/utility/api/controller/get-list/transform/filter.utility.js.map +1 -1
- package/dist/esm/utility/api/controller/handle-request-relations.utility.d.ts +2 -3
- package/dist/esm/utility/api/controller/handle-request-relations.utility.js +142 -56
- package/dist/esm/utility/api/controller/handle-request-relations.utility.js.map +1 -1
- package/dist/esm/utility/api/controller/transform-data.utility.js +0 -1
- package/dist/esm/utility/api/controller/transform-data.utility.js.map +1 -1
- package/dist/esm/utility/api/controller/write/dto-swagger.utility.js +0 -1
- package/dist/esm/utility/api/controller/write/dto-swagger.utility.js.map +1 -1
- package/dist/esm/utility/api/function-transaction.utility.js +0 -1
- package/dist/esm/utility/api/function-transaction.utility.js.map +1 -1
- package/dist/esm/utility/api/route/apply-dto-metadata.utility.js +0 -1
- package/dist/esm/utility/api/route/apply-dto-metadata.utility.js.map +1 -1
- package/dist/esm/utility/api/route/response/project-relation.utility.js +28 -16
- package/dist/esm/utility/api/route/response/project-relation.utility.js.map +1 -1
- package/dist/esm/utility/dto/build-decorator.utility.js +0 -1
- package/dist/esm/utility/dto/build-decorator.utility.js.map +1 -1
- package/dist/esm/utility/dto/generate/core.utility.js +0 -1
- package/dist/esm/utility/dto/generate/core.utility.js.map +1 -1
- package/dist/esm/utility/dto/generate/dynamic.utility.js +0 -1
- package/dist/esm/utility/dto/generate/dynamic.utility.js.map +1 -1
- package/dist/esm/utility/dto/generate/exception.utility.js +0 -1
- package/dist/esm/utility/dto/generate/exception.utility.js.map +1 -1
- package/dist/esm/utility/dto/generate/filter-decorator.utility.js +0 -1
- package/dist/esm/utility/dto/generate/filter-decorator.utility.js.map +1 -1
- package/dist/esm/utility/dto/generate/get-list-response.utility.js +0 -1
- package/dist/esm/utility/dto/generate/get-list-response.utility.js.map +1 -1
- package/dist/esm/utility/dto/get/get-list-query-base-class.utility.js +0 -1
- package/dist/esm/utility/dto/get/get-list-query-base-class.utility.js.map +1 -1
- package/dist/esm/utility/dto/handle-date-property.utility.js +0 -1
- package/dist/esm/utility/dto/handle-date-property.utility.js.map +1 -1
- package/dist/esm/utility/dto/is/property/should-be-marked.utility.js +0 -1
- package/dist/esm/utility/dto/is/property/should-be-marked.utility.js.map +1 -1
- package/dist/esm/utility/dto/is/should-be-generated.utility.js +0 -1
- package/dist/esm/utility/dto/is/should-be-generated.utility.js.map +1 -1
- package/package.json +1 -1
- package/dist/cjs/enum/decorator/api/controller/load-relations-strategy.enum.d.ts +0 -4
- package/dist/cjs/enum/decorator/api/controller/load-relations-strategy.enum.js +0 -8
- package/dist/cjs/enum/decorator/api/controller/load-relations-strategy.enum.js.map +0 -1
- package/dist/esm/enum/decorator/api/controller/load-relations-strategy.enum.d.ts +0 -4
- package/dist/esm/enum/decorator/api/controller/load-relations-strategy.enum.js +0 -8
- package/dist/esm/enum/decorator/api/controller/load-relations-strategy.enum.js.map +0 -1
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { ApiServiceBase } from '../../../class/api/service-base.class.js';
|
|
2
2
|
import '../../../enum/decorator/api/action.enum.js';
|
|
3
3
|
import '../../../enum/decorator/api/authentication-type.enum.js';
|
|
4
|
-
import { EApiControllerLoadRelationsStrategy } from '../../../enum/decorator/api/controller/load-relations-strategy.enum.js';
|
|
5
4
|
import { EApiControllerRelationReferenceShape } from '../../../enum/decorator/api/controller/relation-reference-shape.enum.js';
|
|
6
5
|
import '../../../enum/decorator/api/controller/request/target.enum.js';
|
|
7
6
|
import '../../../enum/decorator/api/controller/request/transformer-type.enum.js';
|
|
@@ -17,95 +16,182 @@ import '../../../enum/decorator/api/property/desribe-type.enum.js';
|
|
|
17
16
|
import '../../../enum/decorator/api/property/number-type.enum.js';
|
|
18
17
|
import '../../../enum/decorator/api/property/string-type.enum.js';
|
|
19
18
|
import '../../../enum/decorator/api/route-type.enum.js';
|
|
20
|
-
import
|
|
19
|
+
import '../../../enum/utility/dto/manual/property-metadata/decorator.enum.js';
|
|
20
|
+
import { EErrorStringAction } from '../../../enum/utility/error-string/action.enum.js';
|
|
21
|
+
import '../../../enum/utility/error-string/composite-action.enum.js';
|
|
22
|
+
import '../../../enum/utility/exception-details-type.enum.js';
|
|
23
|
+
import { BadRequestException, HttpStatus } from '@nestjs/common';
|
|
21
24
|
import { ErrorException } from '../../error/exception.utility.js';
|
|
25
|
+
import { ErrorString } from '../../error/string.utility.js';
|
|
22
26
|
import { GetEntityColumns } from '../../get/entity-columns.utility.js';
|
|
23
27
|
|
|
24
28
|
/**
|
|
25
29
|
* Manages loading related entities when processing API requests.
|
|
26
|
-
* Determines which relations to load based on
|
|
30
|
+
* Determines which relations to load based on request load include,
|
|
27
31
|
* finds the appropriate service for each relation, and loads the related entities.
|
|
28
32
|
* @param {TApiControllerMethod<E>} controllerMethod - The controller method with access to service instances
|
|
29
33
|
* @param {IApiControllerProperties<E>} properties - Controller configuration properties
|
|
30
34
|
* @param {IApiControllerPropertiesRouteBaseRelationsRequest<E> | undefined} relationConfig - Configuration for relation loading
|
|
31
35
|
* @param {DeepPartial<E> | Partial<E> | TApiControllerGetListQuery<E>} parameters - The request parameters containing relation IDs
|
|
32
36
|
* @returns {Promise<void>} A promise that resolves when all relations are loaded
|
|
33
|
-
* @throws {BadRequestException} When
|
|
37
|
+
* @throws {BadRequestException} When the request relation reference shape is invalid
|
|
34
38
|
* @throws {Error} When service configuration is invalid or services are not found
|
|
35
39
|
* @template E - The entity type
|
|
36
|
-
* @template R - The route type
|
|
37
40
|
*/
|
|
38
41
|
async function ApiControllerHandleRequestRelations(controllerMethod, properties, relationConfig, parameters) {
|
|
39
42
|
const loadConfig = relationConfig?.load;
|
|
40
43
|
const referenceConfig = relationConfig?.reference;
|
|
41
|
-
if (loadConfig
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
const relationValue = parameters[propertyName];
|
|
74
|
-
const referenceValue = resolveRelationReferenceValue(propertyName, relationValue, referenceConfig.shape, referenceKey);
|
|
75
|
-
const requestProperties = {
|
|
76
|
-
where: {
|
|
77
|
-
[referenceKey]: referenceValue,
|
|
78
|
-
},
|
|
79
|
-
};
|
|
80
|
-
const entity = (await service.get(requestProperties));
|
|
81
|
-
if (!entity) {
|
|
82
|
-
throw new BadRequestException(`Invalid ${propertyName} ID`);
|
|
83
|
-
}
|
|
84
|
-
// @ts-expect-error
|
|
85
|
-
parameters[propertyName] = entity;
|
|
86
|
-
}
|
|
44
|
+
if (!loadConfig) {
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
if (!referenceConfig) {
|
|
48
|
+
throw ErrorException("Request relation reference config is required when relation loading is configured");
|
|
49
|
+
}
|
|
50
|
+
validateReferenceConfig(referenceConfig);
|
|
51
|
+
const relationNames = new Set(GetEntityColumns({ entity: properties.entity, shouldTakeRelationsOnly: true }).filter((propertyName) => typeof propertyName === "string"));
|
|
52
|
+
const parametersRecord = parameters;
|
|
53
|
+
for (const [propertyName, includeValue] of getIncludedRelationEntries(loadConfig.include)) {
|
|
54
|
+
validateIncludedRelationKey(propertyName, relationNames);
|
|
55
|
+
if (!Object.prototype.hasOwnProperty.call(parametersRecord, propertyName) || parametersRecord[propertyName] === undefined || parametersRecord[propertyName] === null || includeValue === false) {
|
|
56
|
+
continue;
|
|
57
|
+
}
|
|
58
|
+
const nestedInclude = resolveNestedInclude(propertyName, includeValue);
|
|
59
|
+
const serviceName = resolveRelationServiceName(propertyName, loadConfig.services);
|
|
60
|
+
const service = controllerMethod[serviceName];
|
|
61
|
+
if (!service) {
|
|
62
|
+
throw ErrorException(`Service ${serviceName} not found in controller`);
|
|
63
|
+
}
|
|
64
|
+
if (!(service instanceof ApiServiceBase)) {
|
|
65
|
+
throw ErrorException(`Service ${serviceName} is not an instance of ApiServiceBase`);
|
|
66
|
+
}
|
|
67
|
+
const referenceKey = referenceConfig.key ?? "id";
|
|
68
|
+
const referenceValue = resolveRelationReferenceValue(properties.entity, propertyName, parametersRecord[propertyName], referenceConfig.shape, referenceKey);
|
|
69
|
+
const requestProperties = {
|
|
70
|
+
where: {
|
|
71
|
+
[referenceKey]: referenceValue,
|
|
72
|
+
},
|
|
73
|
+
};
|
|
74
|
+
if (nestedInclude) {
|
|
75
|
+
requestProperties.relations = nestedInclude;
|
|
87
76
|
}
|
|
77
|
+
if (loadConfig.relationLoadStrategy) {
|
|
78
|
+
requestProperties.relationLoadStrategy = loadConfig.relationLoadStrategy;
|
|
79
|
+
}
|
|
80
|
+
const entity = await service.get(requestProperties);
|
|
81
|
+
if (!entity) {
|
|
82
|
+
throw ErrorException(`Service ${serviceName} returned an empty relation entity`);
|
|
83
|
+
}
|
|
84
|
+
parametersRecord[propertyName] = entity;
|
|
88
85
|
}
|
|
89
86
|
}
|
|
87
|
+
/**
|
|
88
|
+
* Builds a canonical bad request exception for invalid relation references.
|
|
89
|
+
* @param {IApiBaseEntity} entity - Parent entity metadata.
|
|
90
|
+
* @param {string} propertyName - Relation property name.
|
|
91
|
+
* @param {EApiControllerRelationReferenceShape} expectedShape - Expected reference shape.
|
|
92
|
+
* @param {string} referenceKey - Expected object reference key.
|
|
93
|
+
* @returns {BadRequestException} Structured bad request exception.
|
|
94
|
+
*/
|
|
95
|
+
function buildRelationReferenceBadRequestException(entity, propertyName, expectedShape, referenceKey) {
|
|
96
|
+
return new BadRequestException({
|
|
97
|
+
details: {
|
|
98
|
+
expectedShape,
|
|
99
|
+
propertyName,
|
|
100
|
+
referenceKey,
|
|
101
|
+
},
|
|
102
|
+
error: "Bad Request",
|
|
103
|
+
message: ErrorString({ entity, type: EErrorStringAction.INVALID_REFERENCE }),
|
|
104
|
+
statusCode: HttpStatus.BAD_REQUEST,
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Returns direct relation include entries from the TypeORM-shaped include map.
|
|
109
|
+
* @param {unknown} include - Request include map.
|
|
110
|
+
* @returns {Array<[string, unknown]>} Direct include entries.
|
|
111
|
+
*/
|
|
112
|
+
function getIncludedRelationEntries(include) {
|
|
113
|
+
if (include === null || typeof include !== "object" || Array.isArray(include)) {
|
|
114
|
+
throw ErrorException("Request relation load include must be an object");
|
|
115
|
+
}
|
|
116
|
+
return Object.entries(include);
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Converts a direct include value into nested TypeORM relations for relation service get calls.
|
|
120
|
+
* @param {string} propertyName - Relation property name.
|
|
121
|
+
* @param {unknown} includeValue - Direct include value.
|
|
122
|
+
* @returns {FindOptionsRelations<IApiBaseEntity> | undefined} Nested relation include map.
|
|
123
|
+
*/
|
|
124
|
+
function resolveNestedInclude(propertyName, includeValue) {
|
|
125
|
+
if (includeValue === true || includeValue === false) {
|
|
126
|
+
return undefined;
|
|
127
|
+
}
|
|
128
|
+
if (includeValue === null || typeof includeValue !== "object") {
|
|
129
|
+
throw ErrorException(`Invalid include value for relation ${propertyName}`);
|
|
130
|
+
}
|
|
131
|
+
return includeValue;
|
|
132
|
+
}
|
|
90
133
|
/**
|
|
91
134
|
* Resolves the relation reference value according to the configured request shape.
|
|
92
|
-
* @param {
|
|
135
|
+
* @param {IApiBaseEntity} entity - Parent entity metadata.
|
|
136
|
+
* @param {string} propertyName - Relation property name used in validation details.
|
|
93
137
|
* @param {unknown} value - Incoming scalar or object reference value.
|
|
94
138
|
* @param {EApiControllerRelationReferenceShape} shape - Expected relation reference shape.
|
|
95
139
|
* @param {string} referenceKey - Property key to read from object references.
|
|
96
140
|
* @returns {unknown} Reference value used to load the related entity.
|
|
97
141
|
*/
|
|
98
|
-
function resolveRelationReferenceValue(propertyName, value, shape, referenceKey) {
|
|
142
|
+
function resolveRelationReferenceValue(entity, propertyName, value, shape, referenceKey) {
|
|
99
143
|
if (shape === EApiControllerRelationReferenceShape.SCALAR) {
|
|
100
144
|
if (value !== null && typeof value === "object") {
|
|
101
|
-
throw
|
|
145
|
+
throw buildRelationReferenceBadRequestException(entity, propertyName, shape, referenceKey);
|
|
102
146
|
}
|
|
103
147
|
return value;
|
|
104
148
|
}
|
|
105
149
|
if (value === null || typeof value !== "object" || !(referenceKey in value)) {
|
|
106
|
-
throw
|
|
150
|
+
throw buildRelationReferenceBadRequestException(entity, propertyName, shape, referenceKey);
|
|
151
|
+
}
|
|
152
|
+
const referenceValue = value[referenceKey];
|
|
153
|
+
if (referenceValue === null || referenceValue === undefined) {
|
|
154
|
+
throw buildRelationReferenceBadRequestException(entity, propertyName, shape, referenceKey);
|
|
155
|
+
}
|
|
156
|
+
return referenceValue;
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Resolves the controller property name for a direct request relation service.
|
|
160
|
+
* @param {string} propertyName - Relation property name.
|
|
161
|
+
* @param {NonNullable<IApiControllerPropertiesRouteBaseRelationsRequest<E>["load"]>["services"]} services - Optional service override map.
|
|
162
|
+
* @returns {keyof TApiServiceKeys<E>} Controller service property name.
|
|
163
|
+
* @template E - Entity type.
|
|
164
|
+
*/
|
|
165
|
+
function resolveRelationServiceName(propertyName, services) {
|
|
166
|
+
const serviceName = services?.[propertyName] ?? `${propertyName}Service`;
|
|
167
|
+
if (!serviceName) {
|
|
168
|
+
throw ErrorException(`Service name not specified for property ${propertyName}`);
|
|
169
|
+
}
|
|
170
|
+
return serviceName;
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Ensures a configured include key is a direct relation on the entity.
|
|
174
|
+
* @param {string} propertyName - Include property name.
|
|
175
|
+
* @param {Set<string>} relationNames - Direct entity relation names.
|
|
176
|
+
* @returns {void}
|
|
177
|
+
*/
|
|
178
|
+
function validateIncludedRelationKey(propertyName, relationNames) {
|
|
179
|
+
if (!relationNames.has(propertyName)) {
|
|
180
|
+
throw ErrorException(`Relation ${propertyName} is not a direct relation on the entity`);
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Ensures request relation reference settings are valid route configuration.
|
|
185
|
+
* @param {IApiControllerPropertiesRouteBaseRelationsRequest<IApiBaseEntity>["reference"]} referenceConfig - Request relation reference config.
|
|
186
|
+
* @returns {void}
|
|
187
|
+
*/
|
|
188
|
+
function validateReferenceConfig(referenceConfig) {
|
|
189
|
+
if (!Object.values(EApiControllerRelationReferenceShape).includes(referenceConfig.shape)) {
|
|
190
|
+
throw ErrorException("Request relation reference shape must be OBJECT or SCALAR");
|
|
191
|
+
}
|
|
192
|
+
if (referenceConfig.key?.length === 0) {
|
|
193
|
+
throw ErrorException("Request relation reference key must not be empty");
|
|
107
194
|
}
|
|
108
|
-
return value[referenceKey];
|
|
109
195
|
}
|
|
110
196
|
|
|
111
197
|
export { ApiControllerHandleRequestRelations };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handle-request-relations.utility.js","sources":["../../../../../../src/utility/api/controller/handle-request-relations.utility.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"handle-request-relations.utility.js","sources":["../../../../../../src/utility/api/controller/handle-request-relations.utility.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { TRANSFORMER_VALUE_DTO_CONSTANT } from '../../../constant/dto/transformer-value.constant.js';
|
|
2
2
|
import '../../../enum/decorator/api/action.enum.js';
|
|
3
3
|
import '../../../enum/decorator/api/authentication-type.enum.js';
|
|
4
|
-
import '../../../enum/decorator/api/controller/load-relations-strategy.enum.js';
|
|
5
4
|
import '../../../enum/decorator/api/controller/relation-reference-shape.enum.js';
|
|
6
5
|
import { EApiControllerRequestTarget } from '../../../enum/decorator/api/controller/request/target.enum.js';
|
|
7
6
|
import { EApiControllerRequestTransformerType } from '../../../enum/decorator/api/controller/request/transformer-type.enum.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform-data.utility.js","sources":["../../../../../../src/utility/api/controller/transform-data.utility.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"transform-data.utility.js","sources":["../../../../../../src/utility/api/controller/transform-data.utility.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,6 @@ import '../../../../constant/decorator/api/function.constant.js';
|
|
|
3
3
|
import { PROPERTY_DESCRIBE_DECORATOR_API_CONSTANT } from '../../../../constant/decorator/api/property-describe.constant.js';
|
|
4
4
|
import '../../../../enum/decorator/api/action.enum.js';
|
|
5
5
|
import '../../../../enum/decorator/api/authentication-type.enum.js';
|
|
6
|
-
import '../../../../enum/decorator/api/controller/load-relations-strategy.enum.js';
|
|
7
6
|
import '../../../../enum/decorator/api/controller/relation-reference-shape.enum.js';
|
|
8
7
|
import '../../../../enum/decorator/api/controller/request/target.enum.js';
|
|
9
8
|
import '../../../../enum/decorator/api/controller/request/transformer-type.enum.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dto-swagger.utility.js","sources":["../../../../../../../src/utility/api/controller/write/dto-swagger.utility.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dto-swagger.utility.js","sources":["../../../../../../../src/utility/api/controller/write/dto-swagger.utility.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,6 @@ import { ApiFunctionContextStorage } from '../../class/api/function/context-stor
|
|
|
2
2
|
import { ApiFunctionTransactionScope } from '../../class/api/function/transaction-scope.class.js';
|
|
3
3
|
import '../../enum/decorator/api/action.enum.js';
|
|
4
4
|
import '../../enum/decorator/api/authentication-type.enum.js';
|
|
5
|
-
import '../../enum/decorator/api/controller/load-relations-strategy.enum.js';
|
|
6
5
|
import '../../enum/decorator/api/controller/relation-reference-shape.enum.js';
|
|
7
6
|
import '../../enum/decorator/api/controller/request/target.enum.js';
|
|
8
7
|
import '../../enum/decorator/api/controller/request/transformer-type.enum.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"function-transaction.utility.js","sources":["../../../../../src/utility/api/function-transaction.utility.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"function-transaction.utility.js","sources":["../../../../../src/utility/api/function-transaction.utility.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAQA;;;;;;;;;;;AAWG;AACI,eAAe,iCAAiC,CAA8B,OAA4R,EAAA;IAChX,MAAM,kBAAkB,GAA8B,yBAAyB,CAAC,GAAG,EAAK,EAAE,YAAY;IAEtG,IAAI,OAAO,CAAC,IAAI,KAAK,2BAA2B,CAAC,IAAI,IAAI,kBAAkB,EAAE;AAC5E,QAAA,MAAM,KAAK,GAAU,cAAc,CAAC,2EAA2E,CAAC;QAEhH,MAAM,OAAO,CAAC,gBAAgB,GAAG,kBAAkB,EAAE,KAAK,CAAC;AAE3D,QAAA,MAAM,KAAK;IACZ;IAEA,IAAI,OAAO,CAAC,IAAI,KAAK,2BAA2B,CAAC,SAAS,IAAI,CAAC,kBAAkB,EAAE;AAClF,QAAA,MAAM,KAAK,GAAU,cAAc,CAAC,uEAAuE,CAAC;QAE5G,MAAM,OAAO,CAAC,gBAAgB,GAAG,SAAS,EAAE,KAAK,CAAC;AAElD,QAAA,MAAM,KAAK;IACZ;AAEA,IAAA,MAAM,YAAY,GAA8B,OAAO,CAAC,IAAI,KAAK,2BAA2B,CAAC,IAAI,GAAG,SAAS,GAAG,kBAAkB;IAElI,IAAI,OAAO,CAAC,IAAI,KAAK,2BAA2B,CAAC,QAAQ,IAAI,CAAC,YAAY,EAAE;AAC3E,QAAA,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;AACxB,YAAA,MAAM,KAAK,GAAU,cAAc,CAAC,6CAA6C,CAAC;YAElF,MAAM,OAAO,CAAC,gBAAgB,GAAG,SAAS,EAAE,KAAK,CAAC;AAElD,YAAA,MAAM,KAAK;QACZ;AAEA,QAAA,OAAO,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,kBAAiC,KAAiB,MAAM,2BAA2B,CAAC,oBAAoB,CAAC,kBAAkB,EAAE,YAAwB,MAAM,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAC7P;AAEA,IAAA,OAAO,MAAM,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;AAC5C;;;;"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import '../../../enum/decorator/api/action.enum.js';
|
|
2
2
|
import '../../../enum/decorator/api/authentication-type.enum.js';
|
|
3
|
-
import '../../../enum/decorator/api/controller/load-relations-strategy.enum.js';
|
|
4
3
|
import '../../../enum/decorator/api/controller/relation-reference-shape.enum.js';
|
|
5
4
|
import '../../../enum/decorator/api/controller/request/target.enum.js';
|
|
6
5
|
import '../../../enum/decorator/api/controller/request/transformer-type.enum.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apply-dto-metadata.utility.js","sources":["../../../../../../src/utility/api/route/apply-dto-metadata.utility.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"apply-dto-metadata.utility.js","sources":["../../../../../../src/utility/api/route/apply-dto-metadata.utility.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import '../../../../enum/decorator/api/action.enum.js';
|
|
2
2
|
import '../../../../enum/decorator/api/authentication-type.enum.js';
|
|
3
|
-
import '../../../../enum/decorator/api/controller/load-relations-strategy.enum.js';
|
|
4
3
|
import { EApiControllerRelationReferenceShape } from '../../../../enum/decorator/api/controller/relation-reference-shape.enum.js';
|
|
5
4
|
import '../../../../enum/decorator/api/controller/request/target.enum.js';
|
|
6
5
|
import '../../../../enum/decorator/api/controller/request/transformer-type.enum.js';
|
|
@@ -16,6 +15,7 @@ import '../../../../enum/decorator/api/property/desribe-type.enum.js';
|
|
|
16
15
|
import '../../../../enum/decorator/api/property/number-type.enum.js';
|
|
17
16
|
import '../../../../enum/decorator/api/property/string-type.enum.js';
|
|
18
17
|
import '../../../../enum/decorator/api/route-type.enum.js';
|
|
18
|
+
import { ErrorException } from '../../../error/exception.utility.js';
|
|
19
19
|
|
|
20
20
|
/**
|
|
21
21
|
* Projects loaded relation objects into the configured response reference shape.
|
|
@@ -26,34 +26,30 @@ import '../../../../enum/decorator/api/route-type.enum.js';
|
|
|
26
26
|
* @returns {R} Response value with projected relation references.
|
|
27
27
|
*/
|
|
28
28
|
function ApiRouteProjectRelationResponse(relationConfig, response) {
|
|
29
|
-
if (!relationConfig?.load?.include) {
|
|
29
|
+
if (!relationConfig?.load?.include || Object.keys(relationConfig.load.include).length === 0) {
|
|
30
30
|
return response;
|
|
31
31
|
}
|
|
32
|
+
validateResponseReferenceConfig(relationConfig.reference);
|
|
32
33
|
const relationNames = Object.keys(relationConfig.load.include);
|
|
33
34
|
const referenceKey = relationConfig.reference.key ?? "id";
|
|
34
35
|
const responses = [];
|
|
35
|
-
let projectedArray;
|
|
36
36
|
if (Array.isArray(response)) {
|
|
37
|
-
|
|
37
|
+
for (const item of response) {
|
|
38
38
|
if (item === null || typeof item !== "object") {
|
|
39
|
-
|
|
39
|
+
continue;
|
|
40
40
|
}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
return projectedItem;
|
|
44
|
-
});
|
|
41
|
+
responses.push(item);
|
|
42
|
+
}
|
|
45
43
|
}
|
|
46
44
|
else {
|
|
47
45
|
const responseValue = response;
|
|
48
46
|
if (responseValue !== null && typeof responseValue === "object" && "items" in responseValue && Array.isArray(responseValue.items)) {
|
|
49
|
-
|
|
47
|
+
for (const item of responseValue.items) {
|
|
50
48
|
if (item === null || typeof item !== "object") {
|
|
51
|
-
|
|
49
|
+
continue;
|
|
52
50
|
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
return projectedItem;
|
|
56
|
-
});
|
|
51
|
+
responses.push(item);
|
|
52
|
+
}
|
|
57
53
|
}
|
|
58
54
|
else if (responseValue !== null && typeof responseValue === "object") {
|
|
59
55
|
responses.push(responseValue);
|
|
@@ -69,7 +65,23 @@ function ApiRouteProjectRelationResponse(relationConfig, response) {
|
|
|
69
65
|
projectedResponse[relationName] = relationConfig.reference.shape === EApiControllerRelationReferenceShape.SCALAR ? referenceValue : { [referenceKey]: referenceValue };
|
|
70
66
|
}
|
|
71
67
|
}
|
|
72
|
-
return
|
|
68
|
+
return response;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Ensures response relation reference settings are valid route configuration.
|
|
72
|
+
* @param {IApiControllerPropertiesRouteBaseRelationsResponse<IApiBaseEntity>["reference"] | undefined} referenceConfig - Response relation reference config.
|
|
73
|
+
* @returns {void}
|
|
74
|
+
*/
|
|
75
|
+
function validateResponseReferenceConfig(referenceConfig) {
|
|
76
|
+
if (!referenceConfig) {
|
|
77
|
+
throw ErrorException("Response relation reference config is required when relation loading is configured");
|
|
78
|
+
}
|
|
79
|
+
if (!Object.values(EApiControllerRelationReferenceShape).includes(referenceConfig.shape)) {
|
|
80
|
+
throw ErrorException("Response relation reference shape must be OBJECT or SCALAR");
|
|
81
|
+
}
|
|
82
|
+
if (referenceConfig.key?.length === 0) {
|
|
83
|
+
throw ErrorException("Response relation reference key must not be empty");
|
|
84
|
+
}
|
|
73
85
|
}
|
|
74
86
|
|
|
75
87
|
export { ApiRouteProjectRelationResponse };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-relation.utility.js","sources":["../../../../../../../src/utility/api/route/response/project-relation.utility.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"project-relation.utility.js","sources":["../../../../../../../src/utility/api/route/response/project-relation.utility.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAMA;;;;;;;AAOG;AACG,SAAU,+BAA+B,CAA8B,cAAiF,EAAE,QAAW,EAAA;IAC1K,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;AAC5F,QAAA,OAAO,QAAQ;IAChB;AAEA,IAAA,+BAA+B,CAAC,cAAc,CAAC,SAAS,CAAC;AAEzD,IAAA,MAAM,aAAa,GAAkB,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC;IAC7E,MAAM,YAAY,GAAW,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,IAAI;IACjE,MAAM,SAAS,GAAmC,EAAE;AAEpD,IAAA,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;AAC5B,QAAA,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE;YAC5B,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;gBAC9C;YACD;AAEA,YAAA,SAAS,CAAC,IAAI,CAAC,IAA+B,CAAC;QAChD;IACD;SAAO;QACN,MAAM,aAAa,GAAY,QAAQ;QAEvC,IAAI,aAAa,KAAK,IAAI,IAAI,OAAO,aAAa,KAAK,QAAQ,IAAI,OAAO,IAAI,aAAa,IAAI,KAAK,CAAC,OAAO,CAAE,aAAqC,CAAC,KAAK,CAAC,EAAE;AAC3J,YAAA,KAAK,MAAM,IAAI,IAAK,aAA2C,CAAC,KAAK,EAAE;gBACtE,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;oBAC9C;gBACD;AAEA,gBAAA,SAAS,CAAC,IAAI,CAAC,IAA+B,CAAC;YAChD;QACD;aAAO,IAAI,aAAa,KAAK,IAAI,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE;AACvE,YAAA,SAAS,CAAC,IAAI,CAAC,aAAwC,CAAC;QACzD;IACD;AAEA,IAAA,KAAK,MAAM,iBAAiB,IAAI,SAAS,EAAE;AAC1C,QAAA,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE;AACzC,YAAA,MAAM,aAAa,GAAY,iBAAiB,CAAC,YAAY,CAAC;AAE9D,YAAA,IAAI,aAAa,KAAK,IAAI,IAAI,aAAa,KAAK,SAAS,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE;gBAC/F;YACD;AAEA,YAAA,MAAM,cAAc,GAAa,aAAyC,CAAC,YAAY,CAAC;YACxF,iBAAiB,CAAC,YAAY,CAAC,GAAG,cAAc,CAAC,SAAS,CAAC,KAAK,KAAK,oCAAoC,CAAC,MAAM,GAAG,cAAc,GAAG,EAAE,CAAC,YAAY,GAAG,cAAc,EAAE;QACvK;IACD;AAEA,IAAA,OAAO,QAAQ;AAChB;AAEA;;;;AAIG;AACH,SAAS,+BAA+B,CAAC,eAA4G,EAAA;IACpJ,IAAI,CAAC,eAAe,EAAE;AACrB,QAAA,MAAM,cAAc,CAAC,oFAAoF,CAAC;IAC3G;AAEA,IAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,oCAAoC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE;AACzF,QAAA,MAAM,cAAc,CAAC,4DAA4D,CAAC;IACnF;IAEA,IAAI,eAAe,CAAC,GAAG,EAAE,MAAM,KAAK,CAAC,EAAE;AACtC,QAAA,MAAM,cAAc,CAAC,mDAAmD,CAAC;IAC1E;AACD;;;;"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import '../../enum/decorator/api/action.enum.js';
|
|
2
2
|
import '../../enum/decorator/api/authentication-type.enum.js';
|
|
3
|
-
import '../../enum/decorator/api/controller/load-relations-strategy.enum.js';
|
|
4
3
|
import '../../enum/decorator/api/controller/relation-reference-shape.enum.js';
|
|
5
4
|
import '../../enum/decorator/api/controller/request/target.enum.js';
|
|
6
5
|
import '../../enum/decorator/api/controller/request/transformer-type.enum.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-decorator.utility.js","sources":["../../../../../src/utility/dto/build-decorator.utility.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"build-decorator.utility.js","sources":["../../../../../src/utility/dto/build-decorator.utility.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAaA;;;;;;;;;;;;;;AAcG;AACH;AACM,SAAU,iBAAiB,CAAoD,MAAS,EAAE,gBAAgD,EAAE,MAAqB,EAAE,OAAU,EAAE,YAAoB,EAAE,YAA+B,EAAE,aAA6C,EAAA;IAKxR,MAAM,UAAU,GAA2C,gBAAgB,CAAC,UAAU,GAAG,MAAM,CAA2C;AAE1I,IAAA,IAAI,UAAU,GAAG,OAAO,CAAC,EAAE,SAAS,KAAK,KAAK,KAAK,UAAU,GAAG,OAAO,CAAC,EAAE,UAAU,IAAI,UAAU,GAAG,OAAO,CAAC,EAAE,QAAQ,KAAK,KAAK,CAAC,EAAE;AACnI,QAAA,OAAO,SAAS;IACjB;AAEA,IAAA,IAAI,CAAC,4BAA4B,CAAC,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE;AACnF,QAAA,OAAO,SAAS;IACjB;IAEA,IAAI,gBAAgB,CAAC,IAAI,KAAK,wBAAwB,CAAC,IAAI,EAAE;QAC5D,MAAM,YAAY,GAAuC,gBAAgB;QAEzE,IAAI,CAAC,MAAM,KAAK,aAAa,CAAC,MAAM,IAAI,MAAM,KAAK,aAAa,CAAC,cAAc,KAAK,OAAO,KAAK,WAAW,CAAC,IAAI,EAAE;AACjH,YAAA,OAAO,SAAS;QACjB;AAEA,QAAA,IAAI,MAAM,KAAK,aAAa,CAAC,QAAQ,IAAI,OAAO,KAAK,WAAW,CAAC,KAAK,EAAE;YACvE,MAAM,cAAc,GAAoE,qBAAqB,CAAC,YAAY,EAAE,YAAY,CAAC,UAAU,CAAC;AAEpJ,YAAA,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC,QAAkE,KAAI;AAChG,gBAAA,MAAM,WAAW,GAAmC,EAAE,GAAG,YAAY,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE;gBACxG,MAAM,MAAM,GAAsC,qBAAqB,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC;AAErG,gBAAA,OAAO,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC;AACxF,YAAA,CAAC,CAAC;QACH;IACD;IAEA,MAAM,MAAM,GAAsC,qBAAqB,CAAC,MAAM,EAAE,gBAAgB,EAAE,OAAO,CAAC;AAE1G,IAAA,OAAO,CAAC,oBAAoB,CAAC,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;AAC9G;;;;"}
|
|
@@ -3,7 +3,6 @@ import { PROPERTY_DESCRIBE_DECORATOR_API_CONSTANT } from '../../../constant/deco
|
|
|
3
3
|
import { DTO_GENERATE_CONSTANT } from '../../../constant/utility/dto/generate.constant.js';
|
|
4
4
|
import '../../../enum/decorator/api/action.enum.js';
|
|
5
5
|
import '../../../enum/decorator/api/authentication-type.enum.js';
|
|
6
|
-
import '../../../enum/decorator/api/controller/load-relations-strategy.enum.js';
|
|
7
6
|
import '../../../enum/decorator/api/controller/relation-reference-shape.enum.js';
|
|
8
7
|
import '../../../enum/decorator/api/controller/request/target.enum.js';
|
|
9
8
|
import '../../../enum/decorator/api/controller/request/transformer-type.enum.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.utility.js","sources":["../../../../../../src/utility/dto/generate/core.utility.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"core.utility.js","sources":["../../../../../../src/utility/dto/generate/core.utility.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import '../../../enum/decorator/api/action.enum.js';
|
|
2
2
|
import '../../../enum/decorator/api/authentication-type.enum.js';
|
|
3
|
-
import '../../../enum/decorator/api/controller/load-relations-strategy.enum.js';
|
|
4
3
|
import '../../../enum/decorator/api/controller/relation-reference-shape.enum.js';
|
|
5
4
|
import '../../../enum/decorator/api/controller/request/target.enum.js';
|
|
6
5
|
import '../../../enum/decorator/api/controller/request/transformer-type.enum.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dynamic.utility.js","sources":["../../../../../../src/utility/dto/generate/dynamic.utility.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dynamic.utility.js","sources":["../../../../../../src/utility/dto/generate/dynamic.utility.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,6 @@ import { ApiPropertyString } from '../../../decorator/api/property/string.decora
|
|
|
11
11
|
import { ApiPropertyUUID } from '../../../decorator/api/property/uuid.decorator.js';
|
|
12
12
|
import '../../../enum/decorator/api/action.enum.js';
|
|
13
13
|
import '../../../enum/decorator/api/authentication-type.enum.js';
|
|
14
|
-
import '../../../enum/decorator/api/controller/load-relations-strategy.enum.js';
|
|
15
14
|
import '../../../enum/decorator/api/controller/relation-reference-shape.enum.js';
|
|
16
15
|
import '../../../enum/decorator/api/controller/request/target.enum.js';
|
|
17
16
|
import '../../../enum/decorator/api/controller/request/transformer-type.enum.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exception.utility.js","sources":["../../../../../../src/utility/dto/generate/exception.utility.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"exception.utility.js","sources":["../../../../../../src/utility/dto/generate/exception.utility.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|