@elsikora/nestjs-crud-automator 1.10.2 → 1.10.3-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/dist/cjs/decorator/api/controller/decorator.d.ts +4 -0
- package/dist/cjs/decorator/api/{controller.decorator.js → controller/decorator.js} +2 -2
- package/dist/cjs/decorator/api/controller/decorator.js.map +1 -0
- package/dist/cjs/decorator/api/controller/index.d.ts +2 -1
- package/dist/cjs/decorator/api/index.d.ts +0 -1
- package/dist/cjs/index.js +6 -4
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/interface/utility/dto/generate-cache-key.interface.d.ts +9 -0
- package/dist/cjs/interface/utility/dto/index.d.ts +1 -0
- package/dist/cjs/interface/utility/index.d.ts +1 -0
- package/dist/cjs/utility/dto/generate-cache-key.utility.d.ts +7 -0
- package/dist/cjs/utility/dto/generate-cache-key.utility.js +13 -0
- package/dist/cjs/utility/dto/generate-cache-key.utility.js.map +1 -0
- package/dist/cjs/utility/dto/generate-exception.utility.js +6 -0
- package/dist/cjs/utility/dto/generate-exception.utility.js.map +1 -1
- package/dist/cjs/utility/dto/generate.utility.js +16 -1
- package/dist/cjs/utility/dto/generate.utility.js.map +1 -1
- package/dist/cjs/utility/dto/index.d.ts +1 -0
- package/dist/esm/decorator/api/controller/decorator.d.ts +4 -0
- package/dist/esm/decorator/api/{controller.decorator.js → controller/decorator.js} +2 -2
- package/dist/esm/decorator/api/controller/decorator.js.map +1 -0
- package/dist/esm/decorator/api/controller/index.d.ts +2 -1
- package/dist/esm/decorator/api/index.d.ts +0 -1
- package/dist/esm/index.js +2 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/interface/utility/dto/generate-cache-key.interface.d.ts +9 -0
- package/dist/esm/interface/utility/dto/index.d.ts +1 -0
- package/dist/esm/interface/utility/index.d.ts +1 -0
- package/dist/esm/utility/dto/generate-cache-key.utility.d.ts +7 -0
- package/dist/esm/utility/dto/generate-cache-key.utility.js +11 -0
- package/dist/esm/utility/dto/generate-cache-key.utility.js.map +1 -0
- package/dist/esm/utility/dto/generate-exception.utility.js +6 -0
- package/dist/esm/utility/dto/generate-exception.utility.js.map +1 -1
- package/dist/esm/utility/dto/generate.utility.js +16 -1
- package/dist/esm/utility/dto/generate.utility.js.map +1 -1
- package/dist/esm/utility/dto/index.d.ts +1 -0
- package/package.json +1 -1
- package/dist/cjs/decorator/api/controller.decorator.d.ts +0 -3
- package/dist/cjs/decorator/api/controller.decorator.js.map +0 -1
- package/dist/esm/decorator/api/controller.decorator.d.ts +0 -3
- package/dist/esm/decorator/api/controller.decorator.js.map +0 -1
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { IApiBaseEntity } from '../../../interface/api-base-entity.interface';
|
|
2
|
+
import type { IApiControllerProperties } from '../../../interface/decorator/api/index';
|
|
3
|
+
import type { TApiControllerConstructor } from '../../../type/decorator/api/controller/index';
|
|
4
|
+
export declare const ApiController: <E extends IApiBaseEntity>(options: IApiControllerProperties<E>) => <T extends TApiControllerConstructor>(target: T) => T;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var controller_factory = require('
|
|
3
|
+
var controller_factory = require('../../../factory/api/controller.factory.js');
|
|
4
4
|
|
|
5
5
|
const ApiController = (options) => (target) => {
|
|
6
6
|
const factory = new controller_factory.ApiControllerFactory(target, options);
|
|
@@ -18,4 +18,4 @@ const ApiController = (options) => (target) => {
|
|
|
18
18
|
};
|
|
19
19
|
|
|
20
20
|
exports.ApiController = ApiController;
|
|
21
|
-
//# sourceMappingURL=
|
|
21
|
+
//# sourceMappingURL=decorator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decorator.js","sources":["../../../../../../src/decorator/api/controller/decorator.ts"],"sourcesContent":[null],"names":["ApiControllerFactory"],"mappings":";;;;AAMO,MAAM,aAAa,GACzB,CAA2B,OAAoC,KAC/D,CAAsC,MAAS,KAAO;IACrD,MAAM,OAAO,GAA4B,IAAIA,uCAAoB,CAAI,MAAM,EAAE,OAAO,CAAC;IACrF,OAAO,CAAC,IAAI,EAAE;;AAGd,IAAA,MAAM,mBAAmB,GAA2D,cAAc,MAAM,CAAA;;AAEvG,QAAA,WAAA,CAAY,GAAG,UAAe,EAAA;;AAE7B,YAAA,KAAK,CAAC,GAAG,UAAU,CAAC;;KAErB;AACD,IAAA,MAAM,CAAC,cAAc,CAAC,mBAAmB,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;AAE1E,IAAA,OAAO,mBAAwB;AAChC;;;;"}
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
export
|
|
1
|
+
export { ApiController } from './decorator';
|
|
2
|
+
export { ApiControllerObservable } from './observable.decorator';
|
package/dist/cjs/index.js
CHANGED
|
@@ -35,10 +35,10 @@ var number_constant = require('./constant/number.constant.js');
|
|
|
35
35
|
var constant = require('./constant/utility/dto/constant.js');
|
|
36
36
|
var generate_constant = require('./constant/utility/dto/generate.constant.js');
|
|
37
37
|
var hasPairedCustomSuffixesFields_constant = require('./constant/validator/has-paired-custom-suffixes-fields.constant.js');
|
|
38
|
+
var decorator = require('./decorator/api/controller/decorator.js');
|
|
38
39
|
var observable_decorator = require('./decorator/api/controller/observable.decorator.js');
|
|
39
|
-
var controller_decorator = require('./decorator/api/controller.decorator.js');
|
|
40
40
|
var create_decorator = require('./decorator/api/function/create.decorator.js');
|
|
41
|
-
var decorator = require('./decorator/api/function/decorator.js');
|
|
41
|
+
var decorator$1 = require('./decorator/api/function/decorator.js');
|
|
42
42
|
var delete_decorator = require('./decorator/api/function/delete.decorator.js');
|
|
43
43
|
var getList_decorator = require('./decorator/api/function/get-list.decorator.js');
|
|
44
44
|
var getMany_decorator = require('./decorator/api/function/get-many.decorator.js');
|
|
@@ -98,6 +98,7 @@ var camelCaseString_utility = require('./utility/camel-case-string.utility.js');
|
|
|
98
98
|
var capitalizeString_utility = require('./utility/capitalize-string.utility.js');
|
|
99
99
|
var analize_utility = require('./utility/dto/analize.utility.js');
|
|
100
100
|
var buildDecorator_utility = require('./utility/dto/build-decorator.utility.js');
|
|
101
|
+
var generateCacheKey_utility = require('./utility/dto/generate-cache-key.utility.js');
|
|
101
102
|
var generateDecorator_utility = require('./utility/dto/generate-decorator.utility.js');
|
|
102
103
|
var generateDynamic_utility = require('./utility/dto/generate-dynamic.utility.js');
|
|
103
104
|
var generateException_utility = require('./utility/dto/generate-exception.utility.js');
|
|
@@ -167,10 +168,10 @@ exports.NUMBER_CONSTANT = number_constant.NUMBER_CONSTANT;
|
|
|
167
168
|
exports.DTO_UTILITY_CONSTANT = constant.DTO_UTILITY_CONSTANT;
|
|
168
169
|
exports.DTO_GENERATE_CONSTANT = generate_constant.DTO_GENERATE_CONSTANT;
|
|
169
170
|
exports.VALIDATOR_HAS_PAIRED_CUSTOM_SUFFIXES_FIELDS_CONSTANT = hasPairedCustomSuffixesFields_constant.VALIDATOR_HAS_PAIRED_CUSTOM_SUFFIXES_FIELDS_CONSTANT;
|
|
171
|
+
exports.ApiController = decorator.ApiController;
|
|
170
172
|
exports.ApiControllerObservable = observable_decorator.ApiControllerObservable;
|
|
171
|
-
exports.ApiController = controller_decorator.ApiController;
|
|
172
173
|
exports.ApiFunctionCreate = create_decorator.ApiFunctionCreate;
|
|
173
|
-
exports.ApiFunction = decorator.ApiFunction;
|
|
174
|
+
exports.ApiFunction = decorator$1.ApiFunction;
|
|
174
175
|
exports.ApiFunctionDelete = delete_decorator.ApiFunctionDelete;
|
|
175
176
|
exports.ApiFunctionGetList = getList_decorator.ApiFunctionGetList;
|
|
176
177
|
exports.ApiFunctionGetMany = getMany_decorator.ApiFunctionGetMany;
|
|
@@ -335,6 +336,7 @@ exports.CamelCaseString = camelCaseString_utility.CamelCaseString;
|
|
|
335
336
|
exports.CapitalizeString = capitalizeString_utility.CapitalizeString;
|
|
336
337
|
exports.analyzeEntityMetadata = analize_utility.analyzeEntityMetadata;
|
|
337
338
|
exports.DtoBuildDecorator = buildDecorator_utility.DtoBuildDecorator;
|
|
339
|
+
exports.DtoGenerateCacheKey = generateCacheKey_utility.DtoGenerateCacheKey;
|
|
338
340
|
exports.DtoGenerateDecorator = generateDecorator_utility.DtoGenerateDecorator;
|
|
339
341
|
exports.DtoGenerateDynamic = generateDynamic_utility.DtoGenerateDynamic;
|
|
340
342
|
exports.DtoGenerateException = generateException_utility.DtoGenerateException;
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { EApiDtoType, EApiRouteType } from '../../../enum/decorator/api/index';
|
|
2
|
+
import type { IApiControllerPropertiesRouteAutoDtoConfig } from '../../decorator/api/index';
|
|
3
|
+
export interface IDtoGenerateCacheKey {
|
|
4
|
+
dtoConfig?: IApiControllerPropertiesRouteAutoDtoConfig;
|
|
5
|
+
dtoType: EApiDtoType;
|
|
6
|
+
entityName: string;
|
|
7
|
+
guardName?: string;
|
|
8
|
+
method: EApiRouteType;
|
|
9
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type { IDtoGenerateCacheKey } from './generate-cache-key.interface';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { IDtoGenerateCacheKey } from '../../interface/utility/index';
|
|
2
|
+
/**
|
|
3
|
+
* Generates a unique cache key for DTO instances based on entity name, route method, DTO type, guard, and config.
|
|
4
|
+
* @param {IDtoGenerateCacheKey} key - The key object containing entity name, method, DTO type, guard name, and DTO config
|
|
5
|
+
* @returns {string} A unique string key for caching DTO instances
|
|
6
|
+
*/
|
|
7
|
+
export declare function DtoGenerateCacheKey(key: IDtoGenerateCacheKey): string;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Generates a unique cache key for DTO instances based on entity name, route method, DTO type, guard, and config.
|
|
5
|
+
* @param {IDtoGenerateCacheKey} key - The key object containing entity name, method, DTO type, guard name, and DTO config
|
|
6
|
+
* @returns {string} A unique string key for caching DTO instances
|
|
7
|
+
*/
|
|
8
|
+
function DtoGenerateCacheKey(key) {
|
|
9
|
+
return `${key.entityName}_${key.method}_${key.dtoType}_${key.guardName ?? "no-guard"}_${JSON.stringify(key.dtoConfig ?? {})}`;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
exports.DtoGenerateCacheKey = DtoGenerateCacheKey;
|
|
13
|
+
//# sourceMappingURL=generate-cache-key.utility.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-cache-key.utility.js","sources":["../../../../../src/utility/dto/generate-cache-key.utility.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAEA;;;;AAIG;AACG,SAAU,mBAAmB,CAAC,GAAyB,EAAA;AAC5D,IAAA,OAAO,CAAA,EAAG,GAAG,CAAC,UAAU,CAAA,CAAA,EAAI,GAAG,CAAC,MAAM,CAAA,CAAA,EAAI,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,SAAS,IAAI,UAAU,CAAA,CAAA,EAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE;AAC9H;;;;"}
|
|
@@ -25,6 +25,7 @@ require('../../enum/decorator/api/route-type.enum.js');
|
|
|
25
25
|
var common = require('@nestjs/common');
|
|
26
26
|
var camelCaseString_utility = require('../camel-case-string.utility.js');
|
|
27
27
|
|
|
28
|
+
const exceptionDtoCache = new Map();
|
|
28
29
|
/**
|
|
29
30
|
* Creates exception DTOs with standardized properties based on HTTP status codes.
|
|
30
31
|
* Generates a class with properties like correlationID, error name, message, status code, and timestamp,
|
|
@@ -33,6 +34,10 @@ var camelCaseString_utility = require('../camel-case-string.utility.js');
|
|
|
33
34
|
* @returns {Type<unknown>} A generated DTO class for the exception
|
|
34
35
|
*/
|
|
35
36
|
function DtoGenerateException(httpStatus) {
|
|
37
|
+
const cached = exceptionDtoCache.get(httpStatus);
|
|
38
|
+
if (cached) {
|
|
39
|
+
return cached;
|
|
40
|
+
}
|
|
36
41
|
const errorName = common.HttpStatus[httpStatus];
|
|
37
42
|
class GeneratedErrorDTO {
|
|
38
43
|
correlationID;
|
|
@@ -96,6 +101,7 @@ function DtoGenerateException(httpStatus) {
|
|
|
96
101
|
tslib_es6.__metadata("design:type", Number)
|
|
97
102
|
], GeneratedErrorDTO.prototype, "timestamp", void 0);
|
|
98
103
|
Object.defineProperty(GeneratedErrorDTO, "name", { value: `Exception${camelCaseString_utility.CamelCaseString(errorName)}DTO` });
|
|
104
|
+
exceptionDtoCache.set(httpStatus, GeneratedErrorDTO);
|
|
99
105
|
return GeneratedErrorDTO;
|
|
100
106
|
}
|
|
101
107
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-exception.utility.js","sources":["../../../../../src/utility/dto/generate-exception.utility.ts"],"sourcesContent":[null],"names":["HttpStatus","CamelCaseString","__decorate","ApiPropertyUUID","ApiPropertyString","EApiPropertyStringType","EXCEPTION_DTO_CONSTANT","ApiPropertyEnum","ApiPropertyNumber","EApiPropertyNumberType","DATE_CONSTANT","NUMBER_CONSTANT"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA;;;;;;AAMG;AACG,SAAU,oBAAoB,CAAC,UAAsB,EAAA;
|
|
1
|
+
{"version":3,"file":"generate-exception.utility.js","sources":["../../../../../src/utility/dto/generate-exception.utility.ts"],"sourcesContent":[null],"names":["HttpStatus","CamelCaseString","__decorate","ApiPropertyUUID","ApiPropertyString","EApiPropertyStringType","EXCEPTION_DTO_CONSTANT","ApiPropertyEnum","ApiPropertyNumber","EApiPropertyNumberType","DATE_CONSTANT","NUMBER_CONSTANT"],"mappings":"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"}
|
|
@@ -20,6 +20,7 @@ var routeType_enum = require('../../enum/decorator/api/route-type.enum.js');
|
|
|
20
20
|
var swagger = require('@nestjs/swagger');
|
|
21
21
|
var camelCaseString_utility = require('../camel-case-string.utility.js');
|
|
22
22
|
var buildDecorator_utility = require('./build-decorator.utility.js');
|
|
23
|
+
var generateCacheKey_utility = require('./generate-cache-key.utility.js');
|
|
23
24
|
var generateDynamic_utility = require('./generate-dynamic.utility.js');
|
|
24
25
|
var generateFilterDecorator_utility = require('./generate-filter-decorator.utility.js');
|
|
25
26
|
var generateGetListResponse_utility = require('./generate-get-list-response.utility.js');
|
|
@@ -30,6 +31,7 @@ var errorException_utility = require('../error-exception.utility.js');
|
|
|
30
31
|
var hasPairedCustomSuffixesFields_validator = require('../../validator/has-paired-custom-suffixes-fields.validator.js');
|
|
31
32
|
var classValidator = require('class-validator');
|
|
32
33
|
|
|
34
|
+
const dtoGenerateCache = new Map();
|
|
33
35
|
/**
|
|
34
36
|
* Core utility for DTO generation that determines which properties should be included in the DTO.
|
|
35
37
|
* Builds decorators, handles special cases like filter queries, and generates the appropriate class
|
|
@@ -48,6 +50,17 @@ function DtoGenerate(entity, entityMetadata, method, dtoType, dtoConfig, current
|
|
|
48
50
|
if (!isShouldBeGenerated_utility.DtoIsShouldBeGenerated(method, dtoType)) {
|
|
49
51
|
return undefined;
|
|
50
52
|
}
|
|
53
|
+
const cacheKey = generateCacheKey_utility.DtoGenerateCacheKey({
|
|
54
|
+
dtoConfig,
|
|
55
|
+
dtoType,
|
|
56
|
+
entityName: String(entityMetadata.name),
|
|
57
|
+
guardName: currentGuard?.name,
|
|
58
|
+
method,
|
|
59
|
+
});
|
|
60
|
+
const cached = dtoGenerateCache.get(cacheKey);
|
|
61
|
+
if (cached) {
|
|
62
|
+
return cached;
|
|
63
|
+
}
|
|
51
64
|
if (!entityMetadata.primaryKey?.metadata?.[propertyDescribe_constant.PROPERTY_DESCRIBE_DECORATOR_API_CONSTANT.METADATA_KEY]) {
|
|
52
65
|
throw errorException_utility.ErrorException(`Primary key for entity ${String(entityMetadata.name)} not found in metadata storage`);
|
|
53
66
|
}
|
|
@@ -172,7 +185,9 @@ function DtoGenerate(entity, entityMetadata, method, dtoType, dtoConfig, current
|
|
|
172
185
|
value: `${entityMetadata.name ?? "UnknownResource"}${camelCaseString_utility.CamelCaseString(method)}${camelCaseString_utility.CamelCaseString(dtoType)}DTO`,
|
|
173
186
|
});
|
|
174
187
|
// @ts-ignore
|
|
175
|
-
|
|
188
|
+
const result = method === routeType_enum.EApiRouteType.GET_LIST && dtoType === dtoType_enum.EApiDtoType.RESPONSE ? generateGetListResponse_utility.DtoGenerateGetListResponse(entity, GeneratedDTO, `${entityMetadata.name ?? "UnknownResource"}${camelCaseString_utility.CamelCaseString(method)}${camelCaseString_utility.CamelCaseString(dtoType)}ItemsDTO`) : GeneratedDTO;
|
|
189
|
+
dtoGenerateCache.set(cacheKey, result);
|
|
190
|
+
return result;
|
|
176
191
|
}
|
|
177
192
|
|
|
178
193
|
exports.DtoGenerate = DtoGenerate;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.utility.js","sources":["../../../../../src/utility/dto/generate.utility.ts"],"sourcesContent":[null],"names":["DtoIsShouldBeGenerated","PROPERTY_DESCRIBE_DECORATOR_API_CONSTANT","ErrorException","DtoIsPropertyShouldBeMarked","EApiRouteType","EApiDtoType","DtoGetGetListQueryBaseClass","DtoGenerateDynamic","DtoBuildDecorator","DtoGenerateFilterDecorator","DTO_GENERATE_CONSTANT","EApiPropertyDescribeType","Validate","HasPairedCustomSuffixesFieldsValidator","ApiExtraModels","CamelCaseString","DtoGenerateGetListResponse"],"mappings":"
|
|
1
|
+
{"version":3,"file":"generate.utility.js","sources":["../../../../../src/utility/dto/generate.utility.ts"],"sourcesContent":[null],"names":["DtoIsShouldBeGenerated","DtoGenerateCacheKey","PROPERTY_DESCRIBE_DECORATOR_API_CONSTANT","ErrorException","DtoIsPropertyShouldBeMarked","EApiRouteType","EApiDtoType","DtoGetGetListQueryBaseClass","DtoGenerateDynamic","DtoBuildDecorator","DtoGenerateFilterDecorator","DTO_GENERATE_CONSTANT","EApiPropertyDescribeType","Validate","HasPairedCustomSuffixesFieldsValidator","ApiExtraModels","CamelCaseString","DtoGenerateGetListResponse"],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export { analyzeEntityMetadata } from './analize.utility';
|
|
2
2
|
export { DtoBuildDecorator } from './build-decorator.utility';
|
|
3
|
+
export { DtoGenerateCacheKey } from './generate-cache-key.utility';
|
|
3
4
|
export { DtoGenerateDecorator } from './generate-decorator.utility';
|
|
4
5
|
export { DtoGenerateDynamic } from './generate-dynamic.utility';
|
|
5
6
|
export { DtoGenerateException } from './generate-exception.utility';
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { IApiBaseEntity } from '../../../interface/api-base-entity.interface';
|
|
2
|
+
import type { IApiControllerProperties } from '../../../interface/decorator/api/index';
|
|
3
|
+
import type { TApiControllerConstructor } from '../../../type/decorator/api/controller/index';
|
|
4
|
+
export declare const ApiController: <E extends IApiBaseEntity>(options: IApiControllerProperties<E>) => <T extends TApiControllerConstructor>(target: T) => T;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ApiControllerFactory } from '
|
|
1
|
+
import { ApiControllerFactory } from '../../../factory/api/controller.factory.js';
|
|
2
2
|
|
|
3
3
|
const ApiController = (options) => (target) => {
|
|
4
4
|
const factory = new ApiControllerFactory(target, options);
|
|
@@ -16,4 +16,4 @@ const ApiController = (options) => (target) => {
|
|
|
16
16
|
};
|
|
17
17
|
|
|
18
18
|
export { ApiController };
|
|
19
|
-
//# sourceMappingURL=
|
|
19
|
+
//# sourceMappingURL=decorator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decorator.js","sources":["../../../../../../src/decorator/api/controller/decorator.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAMO,MAAM,aAAa,GACzB,CAA2B,OAAoC,KAC/D,CAAsC,MAAS,KAAO;IACrD,MAAM,OAAO,GAA4B,IAAI,oBAAoB,CAAI,MAAM,EAAE,OAAO,CAAC;IACrF,OAAO,CAAC,IAAI,EAAE;;AAGd,IAAA,MAAM,mBAAmB,GAA2D,cAAc,MAAM,CAAA;;AAEvG,QAAA,WAAA,CAAY,GAAG,UAAe,EAAA;;AAE7B,YAAA,KAAK,CAAC,GAAG,UAAU,CAAC;;KAErB;AACD,IAAA,MAAM,CAAC,cAAc,CAAC,mBAAmB,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;AAE1E,IAAA,OAAO,mBAAwB;AAChC;;;;"}
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
export
|
|
1
|
+
export { ApiController } from './decorator';
|
|
2
|
+
export { ApiControllerObservable } from './observable.decorator';
|
package/dist/esm/index.js
CHANGED
|
@@ -33,8 +33,8 @@ export { NUMBER_CONSTANT } from './constant/number.constant.js';
|
|
|
33
33
|
export { DTO_UTILITY_CONSTANT } from './constant/utility/dto/constant.js';
|
|
34
34
|
export { DTO_GENERATE_CONSTANT } from './constant/utility/dto/generate.constant.js';
|
|
35
35
|
export { VALIDATOR_HAS_PAIRED_CUSTOM_SUFFIXES_FIELDS_CONSTANT } from './constant/validator/has-paired-custom-suffixes-fields.constant.js';
|
|
36
|
+
export { ApiController } from './decorator/api/controller/decorator.js';
|
|
36
37
|
export { ApiControllerObservable } from './decorator/api/controller/observable.decorator.js';
|
|
37
|
-
export { ApiController } from './decorator/api/controller.decorator.js';
|
|
38
38
|
export { ApiFunctionCreate } from './decorator/api/function/create.decorator.js';
|
|
39
39
|
export { ApiFunction } from './decorator/api/function/decorator.js';
|
|
40
40
|
export { ApiFunctionDelete } from './decorator/api/function/delete.decorator.js';
|
|
@@ -96,6 +96,7 @@ export { CamelCaseString } from './utility/camel-case-string.utility.js';
|
|
|
96
96
|
export { CapitalizeString } from './utility/capitalize-string.utility.js';
|
|
97
97
|
export { analyzeEntityMetadata } from './utility/dto/analize.utility.js';
|
|
98
98
|
export { DtoBuildDecorator } from './utility/dto/build-decorator.utility.js';
|
|
99
|
+
export { DtoGenerateCacheKey } from './utility/dto/generate-cache-key.utility.js';
|
|
99
100
|
export { DtoGenerateDecorator } from './utility/dto/generate-decorator.utility.js';
|
|
100
101
|
export { DtoGenerateDynamic } from './utility/dto/generate-dynamic.utility.js';
|
|
101
102
|
export { DtoGenerateException } from './utility/dto/generate-exception.utility.js';
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { EApiDtoType, EApiRouteType } from '../../../enum/decorator/api/index';
|
|
2
|
+
import type { IApiControllerPropertiesRouteAutoDtoConfig } from '../../decorator/api/index';
|
|
3
|
+
export interface IDtoGenerateCacheKey {
|
|
4
|
+
dtoConfig?: IApiControllerPropertiesRouteAutoDtoConfig;
|
|
5
|
+
dtoType: EApiDtoType;
|
|
6
|
+
entityName: string;
|
|
7
|
+
guardName?: string;
|
|
8
|
+
method: EApiRouteType;
|
|
9
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type { IDtoGenerateCacheKey } from './generate-cache-key.interface';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { IDtoGenerateCacheKey } from '../../interface/utility/index';
|
|
2
|
+
/**
|
|
3
|
+
* Generates a unique cache key for DTO instances based on entity name, route method, DTO type, guard, and config.
|
|
4
|
+
* @param {IDtoGenerateCacheKey} key - The key object containing entity name, method, DTO type, guard name, and DTO config
|
|
5
|
+
* @returns {string} A unique string key for caching DTO instances
|
|
6
|
+
*/
|
|
7
|
+
export declare function DtoGenerateCacheKey(key: IDtoGenerateCacheKey): string;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generates a unique cache key for DTO instances based on entity name, route method, DTO type, guard, and config.
|
|
3
|
+
* @param {IDtoGenerateCacheKey} key - The key object containing entity name, method, DTO type, guard name, and DTO config
|
|
4
|
+
* @returns {string} A unique string key for caching DTO instances
|
|
5
|
+
*/
|
|
6
|
+
function DtoGenerateCacheKey(key) {
|
|
7
|
+
return `${key.entityName}_${key.method}_${key.dtoType}_${key.guardName ?? "no-guard"}_${JSON.stringify(key.dtoConfig ?? {})}`;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export { DtoGenerateCacheKey };
|
|
11
|
+
//# sourceMappingURL=generate-cache-key.utility.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-cache-key.utility.js","sources":["../../../../../src/utility/dto/generate-cache-key.utility.ts"],"sourcesContent":[null],"names":[],"mappings":"AAEA;;;;AAIG;AACG,SAAU,mBAAmB,CAAC,GAAyB,EAAA;AAC5D,IAAA,OAAO,CAAA,EAAG,GAAG,CAAC,UAAU,CAAA,CAAA,EAAI,GAAG,CAAC,MAAM,CAAA,CAAA,EAAI,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,SAAS,IAAI,UAAU,CAAA,CAAA,EAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE;AAC9H;;;;"}
|
|
@@ -23,6 +23,7 @@ import '../../enum/decorator/api/route-type.enum.js';
|
|
|
23
23
|
import { HttpStatus } from '@nestjs/common';
|
|
24
24
|
import { CamelCaseString } from '../camel-case-string.utility.js';
|
|
25
25
|
|
|
26
|
+
const exceptionDtoCache = new Map();
|
|
26
27
|
/**
|
|
27
28
|
* Creates exception DTOs with standardized properties based on HTTP status codes.
|
|
28
29
|
* Generates a class with properties like correlationID, error name, message, status code, and timestamp,
|
|
@@ -31,6 +32,10 @@ import { CamelCaseString } from '../camel-case-string.utility.js';
|
|
|
31
32
|
* @returns {Type<unknown>} A generated DTO class for the exception
|
|
32
33
|
*/
|
|
33
34
|
function DtoGenerateException(httpStatus) {
|
|
35
|
+
const cached = exceptionDtoCache.get(httpStatus);
|
|
36
|
+
if (cached) {
|
|
37
|
+
return cached;
|
|
38
|
+
}
|
|
34
39
|
const errorName = HttpStatus[httpStatus];
|
|
35
40
|
class GeneratedErrorDTO {
|
|
36
41
|
correlationID;
|
|
@@ -94,6 +99,7 @@ function DtoGenerateException(httpStatus) {
|
|
|
94
99
|
__metadata("design:type", Number)
|
|
95
100
|
], GeneratedErrorDTO.prototype, "timestamp", void 0);
|
|
96
101
|
Object.defineProperty(GeneratedErrorDTO, "name", { value: `Exception${CamelCaseString(errorName)}DTO` });
|
|
102
|
+
exceptionDtoCache.set(httpStatus, GeneratedErrorDTO);
|
|
97
103
|
return GeneratedErrorDTO;
|
|
98
104
|
}
|
|
99
105
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-exception.utility.js","sources":["../../../../../src/utility/dto/generate-exception.utility.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAWA;;;;;;AAMG;AACG,SAAU,oBAAoB,CAAC,UAAsB,EAAA;
|
|
1
|
+
{"version":3,"file":"generate-exception.utility.js","sources":["../../../../../src/utility/dto/generate-exception.utility.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -18,6 +18,7 @@ import { EApiRouteType } from '../../enum/decorator/api/route-type.enum.js';
|
|
|
18
18
|
import { ApiExtraModels } from '@nestjs/swagger';
|
|
19
19
|
import { CamelCaseString } from '../camel-case-string.utility.js';
|
|
20
20
|
import { DtoBuildDecorator } from './build-decorator.utility.js';
|
|
21
|
+
import { DtoGenerateCacheKey } from './generate-cache-key.utility.js';
|
|
21
22
|
import { DtoGenerateDynamic } from './generate-dynamic.utility.js';
|
|
22
23
|
import { DtoGenerateFilterDecorator } from './generate-filter-decorator.utility.js';
|
|
23
24
|
import { DtoGenerateGetListResponse } from './generate-get-list-response.utility.js';
|
|
@@ -28,6 +29,7 @@ import { ErrorException } from '../error-exception.utility.js';
|
|
|
28
29
|
import { HasPairedCustomSuffixesFieldsValidator } from '../../validator/has-paired-custom-suffixes-fields.validator.js';
|
|
29
30
|
import { Validate } from 'class-validator';
|
|
30
31
|
|
|
32
|
+
const dtoGenerateCache = new Map();
|
|
31
33
|
/**
|
|
32
34
|
* Core utility for DTO generation that determines which properties should be included in the DTO.
|
|
33
35
|
* Builds decorators, handles special cases like filter queries, and generates the appropriate class
|
|
@@ -46,6 +48,17 @@ function DtoGenerate(entity, entityMetadata, method, dtoType, dtoConfig, current
|
|
|
46
48
|
if (!DtoIsShouldBeGenerated(method, dtoType)) {
|
|
47
49
|
return undefined;
|
|
48
50
|
}
|
|
51
|
+
const cacheKey = DtoGenerateCacheKey({
|
|
52
|
+
dtoConfig,
|
|
53
|
+
dtoType,
|
|
54
|
+
entityName: String(entityMetadata.name),
|
|
55
|
+
guardName: currentGuard?.name,
|
|
56
|
+
method,
|
|
57
|
+
});
|
|
58
|
+
const cached = dtoGenerateCache.get(cacheKey);
|
|
59
|
+
if (cached) {
|
|
60
|
+
return cached;
|
|
61
|
+
}
|
|
49
62
|
if (!entityMetadata.primaryKey?.metadata?.[PROPERTY_DESCRIBE_DECORATOR_API_CONSTANT.METADATA_KEY]) {
|
|
50
63
|
throw ErrorException(`Primary key for entity ${String(entityMetadata.name)} not found in metadata storage`);
|
|
51
64
|
}
|
|
@@ -170,7 +183,9 @@ function DtoGenerate(entity, entityMetadata, method, dtoType, dtoConfig, current
|
|
|
170
183
|
value: `${entityMetadata.name ?? "UnknownResource"}${CamelCaseString(method)}${CamelCaseString(dtoType)}DTO`,
|
|
171
184
|
});
|
|
172
185
|
// @ts-ignore
|
|
173
|
-
|
|
186
|
+
const result = method === EApiRouteType.GET_LIST && dtoType === EApiDtoType.RESPONSE ? DtoGenerateGetListResponse(entity, GeneratedDTO, `${entityMetadata.name ?? "UnknownResource"}${CamelCaseString(method)}${CamelCaseString(dtoType)}ItemsDTO`) : GeneratedDTO;
|
|
187
|
+
dtoGenerateCache.set(cacheKey, result);
|
|
188
|
+
return result;
|
|
174
189
|
}
|
|
175
190
|
|
|
176
191
|
export { DtoGenerate };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.utility.js","sources":["../../../../../src/utility/dto/generate.utility.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"generate.utility.js","sources":["../../../../../src/utility/dto/generate.utility.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBA,MAAM,gBAAgB,GAA+B,IAAI,GAAG,EAAyB;AAErF;;;;;;;;;;;;;AAaG;AACG,SAAU,WAAW,CAAI,MAAqB,EAAE,cAA6B,EAAE,MAAqB,EAAE,OAAoB,EAAE,SAAsD,EAAE,YAA+B,EAAA;IACxN,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE;AAC7C,QAAA,OAAO,SAAS;;IAGjB,MAAM,QAAQ,GAAW,mBAAmB,CAAC;QAC5C,SAAS;QACT,OAAO;AACP,QAAA,UAAU,EAAE,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC;QACvC,SAAS,EAAE,YAAY,EAAE,IAAI;QAC7B,MAAM;AACN,KAAA,CAAC;IAEF,MAAM,MAAM,GAA8B,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC;IAExE,IAAI,MAAM,EAAE;AACX,QAAA,OAAO,MAAM;;AAGd,IAAA,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,QAAQ,GAAG,wCAAwC,CAAC,YAAY,CAAC,EAAE;QAClG,MAAM,cAAc,CAAC,CAAA,uBAAA,EAA0B,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA,8BAAA,CAAgC,CAAC;;;IAI5G,MAAM,WAAW,GAAoB,EAAE;IAEvC,MAAM,gBAAgB,GAIjB,EAAE;AAEP,IAAA,KAAK,MAAM,MAAM,IAAI,cAAc,CAAC,OAAO,EAAE;AAC5C,QAAA,IAAI,MAAM,CAAC,QAAQ,GAAG,wCAAwC,CAAC,YAAY,CAAC,IAAI,2BAA2B,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,IAAc,EAAE,MAAM,CAAC,QAAQ,CAAC,wCAAwC,CAAC,YAAY,CAAmC,EAAE,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,EAAE;YAC9R,gBAAgB,CAAC,IAAI,CAAC;gBACrB,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,wCAAwC,CAAC,YAAY,CAAmC;gBAClH,IAAI,EAAE,MAAM,CAAC,IAAI;AACjB,aAAA,CAAC;;;AAGJ,IAAA,MAAM,SAAS,GAAS,MAAM,KAAK,aAAa,CAAC,QAAQ,IAAI,OAAO,KAAK,WAAW,CAAC,KAAK,GAAG,2BAA2B,CAAI,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,MAAA;KAAQ;IAE/K,MAAM,YAAa,SAAQ,SAAS,CAAA;AACnC,QAAA,WAAA,GAAA;AACC,YAAA,KAAK,EAAE;AAEP,YAAA,KAAK,MAAM,QAAQ,IAAI,gBAAgB,EAAE;AACxC,gBAAA,IAAI,MAAM,KAAK,aAAa,CAAC,QAAQ,IAAI,OAAO,KAAK,WAAW,CAAC,KAAK,EAAE;oBACvE,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,QAAQ,CAAC,IAAc,CAAA,OAAA,CAAS,EAAE;;AAEhE,wBAAA,YAAY,EAAE,IAAI;;AAElB,wBAAA,UAAU,EAAE,IAAI;AAChB,wBAAA,KAAK,EAAE,SAAS;;AAEhB,wBAAA,QAAQ,EAAE,IAAI;AACd,qBAAA,CAAC;oBAEF,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,QAAQ,CAAC,IAAc,CAAA,QAAA,CAAU,EAAE;;AAEjE,wBAAA,YAAY,EAAE,IAAI;;AAElB,wBAAA,UAAU,EAAE,IAAI;AAChB,wBAAA,KAAK,EAAE,SAAS;;AAEhB,wBAAA,QAAQ,EAAE,IAAI;AACd,qBAAA,CAAC;oBAEF,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,QAAQ,CAAC,IAAc,CAAA,UAAA,CAAY,EAAE;;AAEnE,wBAAA,YAAY,EAAE,IAAI;;AAElB,wBAAA,UAAU,EAAE,IAAI;AAChB,wBAAA,KAAK,EAAE,SAAS;;AAEhB,wBAAA,QAAQ,EAAE,IAAI;AACd,qBAAA,CAAC;;qBACI;oBACN,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE;;AAE1C,wBAAA,YAAY,EAAE,IAAI;;AAElB,wBAAA,UAAU,EAAE,IAAI;AAChB,wBAAA,KAAK,EAAE,SAAS;;AAEhB,wBAAA,QAAQ,EAAE,IAAI;AACd,qBAAA,CAAC;;;;AAIL;AAED,IAAA,KAAK,MAAM,QAAQ,IAAI,gBAAgB,EAAE;QACxC,MAAM,aAAa,GAA8C,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAc,EAAE,YAAY,CAAC;QAE9K,MAAM,UAAU,GAAyC,iBAAiB,CAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAc,EAAE,YAAY,EAAE,aAAa,CAAC;QAEpL,IAAI,UAAU,EAAE;YACf,KAAK,MAAM,GAAG,SAAS,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,EAAE;AACjD,gBAAA,IAAI,MAAM,KAAK,aAAa,CAAC,QAAQ,IAAI,OAAO,KAAK,WAAW,CAAC,KAAK,EAAE;oBACvE,SAAS,CAAC,YAAY,CAAC,SAAS,EAAE,CAAA,EAAG,QAAQ,CAAC,IAAc,CAAA,OAAA,CAAS,CAAC;AAEtE,oBAAA,0BAA0B,CAAC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,YAAY,CAAC,SAAS,EAAE,CAAA,EAAG,QAAQ,CAAC,IAAc,CAAA,UAAA,CAAY,CAAC;;qBACvH;oBACN,SAAS,CAAC,YAAY,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAc,CAAC;;;;AAK7D,QAAA,IAAI,MAAM,KAAK,aAAa,CAAC,QAAQ,IAAI,OAAO,KAAK,WAAW,CAAC,KAAK,EAAE;;AAEvE,YAAA,MAAM,aAAa,GAAmC,EAAE,GAAG,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE,qBAAqB,CAAC,yBAAyB,EAAE,QAAQ,EAAE,qBAAqB,CAAC,yBAAyB,EAAE;AAEzO,YAAA,MAAM,eAAe,GAAyC,iBAAiB,CAAC,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAc,EAAE,YAAY,CAAC;YAEtK,IAAI,eAAe,EAAE;gBACpB,KAAK,MAAM,GAAG,SAAS,CAAC,IAAI,eAAe,CAAC,OAAO,EAAE,EAAE;oBACtD,SAAS,CAAC,YAAY,CAAC,SAAS,EAAE,CAAA,EAAG,QAAQ,CAAC,IAAc,CAAA,QAAA,CAAU,CAAC;;;;QAK1E,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,wBAAwB,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;;YAE5G,WAAW,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC;;QAGhD,IAAI,aAAa,EAAE;AAClB,YAAA,KAAK,MAAM,GAAG,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;AACtD,gBAAA,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC;;;;AAK1B,IAAA,IAAI,SAAS,EAAE,UAAU,EAAE;AAC1B,QAAA,KAAK,MAAM,SAAS,IAAI,SAAS,CAAC,UAAU,EAAE;AAC7C,YAAA,QAAQ,CAAC,SAAS,CAAC,eAA2C,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,SAAS,EAAE,QAAQ,CAAC;;;AAItH,IAAA,IAAI,MAAM,KAAK,aAAa,CAAC,QAAQ,IAAI,OAAO,KAAK,WAAW,CAAC,KAAK,EAAE;QACvE,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,SAAS,EAAE,QAAQ,EAAE;;AAEvD,YAAA,YAAY,EAAE,IAAI;;AAGlB,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,KAAK,EAAE,YAAA;AACN,gBAAA,OAAO,IAAI;aACX;;AAGD,YAAA,QAAQ,EAAE,IAAI;AACd,SAAA,CAAC;QAEF,QAAQ,CAAC,sCAAsC,EAAE,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,SAAS,EAAE,QAAQ,CAAC;;AAGtH,IAAA,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;AAC3B,QAAA,cAAc,CAAC,GAAG,WAAW,CAAC,CAAC,YAAY,CAAC;;AAG7C,IAAA,MAAM,CAAC,cAAc,CAAC,YAAY,EAAE,MAAM,EAAE;AAC3C,QAAA,KAAK,EAAE,CAAA,EAAG,cAAc,CAAC,IAAI,IAAI,iBAAiB,CAAA,EAAG,eAAe,CAAC,MAAM,CAAC,CAAA,EAAG,eAAe,CAAC,OAAO,CAAC,CAAA,GAAA,CAAK;AAC5G,KAAA,CAAC;;IAGF,MAAM,MAAM,GAAkB,MAAM,KAAK,aAAa,CAAC,QAAQ,IAAI,OAAO,KAAK,WAAW,CAAC,QAAQ,GAAG,0BAA0B,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,cAAc,CAAC,IAAI,IAAI,iBAAiB,GAAG,eAAe,CAAC,MAAM,CAAC,CAAA,EAAG,eAAe,CAAC,OAAO,CAAC,CAAA,QAAA,CAAU,CAAC,GAAG,YAAY;AAEjR,IAAA,gBAAgB,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC;AAEtC,IAAA,OAAO,MAAM;AACd;;;;"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export { analyzeEntityMetadata } from './analize.utility';
|
|
2
2
|
export { DtoBuildDecorator } from './build-decorator.utility';
|
|
3
|
+
export { DtoGenerateCacheKey } from './generate-cache-key.utility';
|
|
3
4
|
export { DtoGenerateDecorator } from './generate-decorator.utility';
|
|
4
5
|
export { DtoGenerateDynamic } from './generate-dynamic.utility';
|
|
5
6
|
export { DtoGenerateException } from './generate-exception.utility';
|
package/package.json
CHANGED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import type { IApiBaseEntity, IApiControllerProperties } from '../../interface/index';
|
|
2
|
-
import type { TApiControllerConstructor } from '../../type/index';
|
|
3
|
-
export declare const ApiController: <E extends IApiBaseEntity>(options: IApiControllerProperties<E>) => <T extends TApiControllerConstructor>(target: T) => T;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"controller.decorator.js","sources":["../../../../../src/decorator/api/controller.decorator.ts"],"sourcesContent":[null],"names":["ApiControllerFactory"],"mappings":";;;;AAKO,MAAM,aAAa,GACzB,CAA2B,OAAoC,KAC/D,CAAsC,MAAS,KAAO;IACrD,MAAM,OAAO,GAA4B,IAAIA,uCAAoB,CAAI,MAAM,EAAE,OAAO,CAAC;IACrF,OAAO,CAAC,IAAI,EAAE;;AAGd,IAAA,MAAM,mBAAmB,GAA2D,cAAc,MAAM,CAAA;;AAEvG,QAAA,WAAA,CAAY,GAAG,UAAe,EAAA;;AAE7B,YAAA,KAAK,CAAC,GAAG,UAAU,CAAC;;KAErB;AACD,IAAA,MAAM,CAAC,cAAc,CAAC,mBAAmB,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;AAE1E,IAAA,OAAO,mBAAwB;AAChC;;;;"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import type { IApiBaseEntity, IApiControllerProperties } from '../../interface/index';
|
|
2
|
-
import type { TApiControllerConstructor } from '../../type/index';
|
|
3
|
-
export declare const ApiController: <E extends IApiBaseEntity>(options: IApiControllerProperties<E>) => <T extends TApiControllerConstructor>(target: T) => T;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"controller.decorator.js","sources":["../../../../../src/decorator/api/controller.decorator.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAKO,MAAM,aAAa,GACzB,CAA2B,OAAoC,KAC/D,CAAsC,MAAS,KAAO;IACrD,MAAM,OAAO,GAA4B,IAAI,oBAAoB,CAAI,MAAM,EAAE,OAAO,CAAC;IACrF,OAAO,CAAC,IAAI,EAAE;;AAGd,IAAA,MAAM,mBAAmB,GAA2D,cAAc,MAAM,CAAA;;AAEvG,QAAA,WAAA,CAAY,GAAG,UAAe,EAAA;;AAE7B,YAAA,KAAK,CAAC,GAAG,UAAU,CAAC;;KAErB;AACD,IAAA,MAAM,CAAC,cAAc,CAAC,mBAAmB,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;AAE1E,IAAA,OAAO,mBAAwB;AAChC;;;;"}
|