@nest-omni/core 3.1.1-10 → 3.1.1-9
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/package.json +27 -19
- package/.hygen/new/crud/controller.ejs.t +0 -82
- package/.hygen/new/crud/create.dto.ejs.t +0 -12
- package/.hygen/new/crud/entity.ejs.t +0 -26
- package/.hygen/new/crud/get.dto.ejs.t +0 -19
- package/.hygen/new/crud/index-dto.ejs.t +0 -29
- package/.hygen/new/crud/index-response.dto.ejs.t +0 -18
- package/.hygen/new/crud/module.ejs.t +0 -32
- package/.hygen/new/crud/prompt.js +0 -89
- package/.hygen/new/crud/service.ejs.t +0 -76
- package/.hygen/new/crud/update.dto.ejs.t +0 -11
- package/.hygen/new/module/controller.ejs.t +0 -93
- package/.hygen/new/module/create-command.ejs.t +0 -90
- package/.hygen/new/module/create.dto.ejs.t +0 -11
- package/.hygen/new/module/dto.ejs.t +0 -24
- package/.hygen/new/module/entity.ejs.t +0 -33
- package/.hygen/new/module/get-query.ejs.t +0 -57
- package/.hygen/new/module/module.ejs.t +0 -44
- package/.hygen/new/module/not-found.exception.ejs.t +0 -18
- package/.hygen/new/module/page-options.dto.ejs.t +0 -12
- package/.hygen/new/module/prompt.js +0 -104
- package/.hygen/new/module/repository.ejs.t +0 -16
- package/.hygen/new/module/service.ejs.t +0 -139
- package/.hygen/new/module/translation-dto.ejs.t +0 -27
- package/.hygen/new/module/translation-entity.ejs.t +0 -40
- package/.hygen/new/module/translation-repository.ejs.t +0 -16
- package/.hygen/new/module/update.dto.ejs.t +0 -10
- package/.hygen.js +0 -116
- package/common/abstract.entity.d.ts +0 -18
- package/common/abstract.entity.js +0 -78
- package/common/boilerplate.polyfill.d.ts +0 -39
- package/common/boilerplate.polyfill.js +0 -77
- package/common/dto/abstract.dto.d.ts +0 -13
- package/common/dto/abstract.dto.js +0 -59
- package/common/dto/bulk-id.dto.d.ts +0 -3
- package/common/dto/bulk-id.dto.js +0 -27
- package/common/dto/create-translation.dto.d.ts +0 -5
- package/common/dto/create-translation.dto.js +0 -25
- package/common/dto/index.d.ts +0 -6
- package/common/dto/index.js +0 -22
- package/common/dto/page-meta.dto.d.ts +0 -15
- package/common/dto/page-meta.dto.js +0 -48
- package/common/dto/page-options.dto.d.ts +0 -8
- package/common/dto/page-options.dto.js +0 -52
- package/common/dto/page.dto.d.ts +0 -11
- package/common/dto/page.dto.js +0 -53
- package/common/index.d.ts +0 -6
- package/common/index.js +0 -22
- package/common/snake-naming.strategy.d.ts +0 -11
- package/common/snake-naming.strategy.js +0 -37
- package/common/types.d.ts +0 -9
- package/common/types.js +0 -2
- package/common/utils.d.ts +0 -3
- package/common/utils.js +0 -24
- package/constants/index.d.ts +0 -2
- package/constants/index.js +0 -18
- package/constants/language-code.d.ts +0 -5
- package/constants/language-code.js +0 -9
- package/constants/order.d.ts +0 -4
- package/constants/order.js +0 -8
- package/decorators/api-page-ok-response.decorator.d.ts +0 -5
- package/decorators/api-page-ok-response.decorator.js +0 -24
- package/decorators/auth-user.decorator.d.ts +0 -1
- package/decorators/auth-user.decorator.js +0 -14
- package/decorators/controller.decorator.d.ts +0 -1
- package/decorators/controller.decorator.js +0 -10
- package/decorators/field.decorators.d.ts +0 -79
- package/decorators/field.decorators.js +0 -497
- package/decorators/http.decorators.d.ts +0 -3
- package/decorators/http.decorators.js +0 -7
- package/decorators/index.d.ts +0 -12
- package/decorators/index.js +0 -28
- package/decorators/operation.decorator.d.ts +0 -1
- package/decorators/operation.decorator.js +0 -6
- package/decorators/property.decorators.d.ts +0 -15
- package/decorators/property.decorators.js +0 -31
- package/decorators/public-route.decorator.d.ts +0 -3
- package/decorators/public-route.decorator.js +0 -7
- package/decorators/swagger.schema.d.ts +0 -5
- package/decorators/swagger.schema.js +0 -78
- package/decorators/timestamp-column.decorator.d.ts +0 -1
- package/decorators/timestamp-column.decorator.js +0 -27
- package/decorators/transform.decorators.d.ts +0 -8
- package/decorators/transform.decorators.js +0 -100
- package/decorators/translate.decorator.d.ts +0 -5
- package/decorators/translate.decorator.js +0 -17
- package/decorators/use-dto.decorator.d.ts +0 -4
- package/decorators/use-dto.decorator.js +0 -8
- package/decorators/user-check.decorator.d.ts +0 -6
- package/decorators/user-check.decorator.js +0 -21
- package/decorators/user.decorator.d.ts +0 -12
- package/decorators/user.decorator.js +0 -44
- package/decorators/user_auth.decorator.d.ts +0 -1
- package/decorators/user_auth.decorator.js +0 -15
- package/decorators/validator.decorators.d.ts +0 -11
- package/decorators/validator.decorators.js +0 -78
- package/exceptions/file-not-image.exception.d.ts +0 -4
- package/exceptions/file-not-image.exception.js +0 -10
- package/exceptions/index.d.ts +0 -2
- package/exceptions/index.js +0 -18
- package/exceptions/page-type.exception.d.ts +0 -4
- package/exceptions/page-type.exception.js +0 -10
- package/exceptions/user-not-found.exception.d.ts +0 -4
- package/exceptions/user-not-found.exception.js +0 -10
- package/filters/bad-request.filter.d.ts +0 -5
- package/filters/bad-request.filter.js +0 -71
- package/filters/constraint-errors.d.ts +0 -1
- package/filters/constraint-errors.js +0 -6
- package/filters/index.d.ts +0 -3
- package/filters/index.js +0 -19
- package/filters/query-failed.filter.d.ts +0 -10
- package/filters/query-failed.filter.js +0 -42
- package/health-checker/health-checker.controller.d.ts +0 -13
- package/health-checker/health-checker.controller.js +0 -69
- package/health-checker/health-checker.module.d.ts +0 -2
- package/health-checker/health-checker.module.js +0 -24
- package/health-checker/index.d.ts +0 -2
- package/health-checker/index.js +0 -18
- package/helpers/common.helper.d.ts +0 -3
- package/helpers/common.helper.js +0 -36
- package/helpers/date.helper.d.ts +0 -10
- package/helpers/date.helper.js +0 -57
- package/helpers/index.d.ts +0 -2
- package/helpers/index.js +0 -18
- package/i18n/en_US/validation.json +0 -41
- package/i18n/zh_CN/validation.json +0 -41
- package/index.d.ts +0 -15
- package/interceptors/index.d.ts +0 -2
- package/interceptors/index.js +0 -18
- package/interceptors/language-interceptor.service.d.ts +0 -6
- package/interceptors/language-interceptor.service.js +0 -29
- package/interceptors/translation-interceptor.service.d.ts +0 -5
- package/interceptors/translation-interceptor.service.js +0 -34
- package/interfaces/IApiFile.d.ts +0 -4
- package/interfaces/IApiFile.js +0 -2
- package/interfaces/IFile.d.ts +0 -8
- package/interfaces/IFile.js +0 -2
- package/interfaces/ITranslationDecoratorInterface.d.ts +0 -3
- package/interfaces/ITranslationDecoratorInterface.js +0 -2
- package/interfaces/index.d.ts +0 -3
- package/interfaces/index.js +0 -19
- package/interfaces/response.d.ts +0 -25
- package/interfaces/response.js +0 -2
- package/middlewares/index.d.ts +0 -4
- package/middlewares/index.js +0 -20
- package/middlewares/omni-auth.middleware.d.ts +0 -1
- package/middlewares/omni-auth.middleware.js +0 -13
- package/middlewares/powerby.middleware.d.ts +0 -1
- package/middlewares/powerby.middleware.js +0 -10
- package/middlewares/request-id.middleware.d.ts +0 -7
- package/middlewares/request-id.middleware.js +0 -22
- package/middlewares/xml.middleware.d.ts +0 -4
- package/middlewares/xml.middleware.js +0 -24
- package/providers/context.provider.d.ts +0 -34
- package/providers/context.provider.js +0 -80
- package/providers/generator.provider.d.ts +0 -9
- package/providers/generator.provider.js +0 -50
- package/providers/index.d.ts +0 -2
- package/providers/index.js +0 -18
- package/setup/bootstrap.setup.d.ts +0 -2
- package/setup/bootstrap.setup.js +0 -177
- package/setup/index.d.ts +0 -6
- package/setup/index.js +0 -22
- package/setup/mode.setup.d.ts +0 -12
- package/setup/mode.setup.js +0 -60
- package/setup/redis.lock.decorator.d.ts +0 -5
- package/setup/redis.lock.decorator.js +0 -60
- package/setup/redis.lock.service.d.ts +0 -56
- package/setup/redis.lock.service.js +0 -338
- package/setup/schedule.decorator.d.ts +0 -21
- package/setup/schedule.decorator.js +0 -127
- package/setup/worker.decorator.d.ts +0 -14
- package/setup/worker.decorator.js +0 -130
- package/shared/index.d.ts +0 -2
- package/shared/index.js +0 -18
- package/shared/serviceRegistryModule.d.ts +0 -2
- package/shared/serviceRegistryModule.js +0 -109
- package/shared/services/api-config.service.d.ts +0 -59
- package/shared/services/api-config.service.js +0 -311
- package/shared/services/generator.service.d.ts +0 -4
- package/shared/services/generator.service.js +0 -23
- package/shared/services/index.d.ts +0 -4
- package/shared/services/index.js +0 -20
- package/shared/services/translation.service.d.ts +0 -9
- package/shared/services/translation.service.js +0 -70
- package/shared/services/validator.service.d.ts +0 -3
- package/shared/services/validator.service.js +0 -20
- package/validator-json/decorators.d.ts +0 -6
- package/validator-json/decorators.js +0 -22
- package/validator-json/default.d.ts +0 -6
- package/validator-json/default.js +0 -138
- package/validator-json/defaultConverters.d.ts +0 -8
- package/validator-json/defaultConverters.js +0 -376
- package/validator-json/index.d.ts +0 -4
- package/validator-json/index.js +0 -20
- package/validator-json/options.d.ts +0 -11
- package/validator-json/options.js +0 -10
- package/validators/file-mimetype.validator.d.ts +0 -13
- package/validators/file-mimetype.validator.js +0 -21
- package/validators/index.d.ts +0 -6
- package/validators/index.js +0 -22
- package/validators/is-exists.validator.d.ts +0 -18
- package/validators/is-exists.validator.js +0 -60
- package/validators/is-unique.validator.d.ts +0 -17
- package/validators/is-unique.validator.js +0 -91
- package/validators/phone-country-code.validator.d.ts +0 -2
- package/validators/phone-country-code.validator.js +0 -29
- package/validators/same-as.validator.d.ts +0 -2
- package/validators/same-as.validator.js +0 -24
- package/validators/skip-empty.validator.d.ts +0 -1
- package/validators/skip-empty.validator.js +0 -17
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ApiFile = ApiFile;
|
|
4
|
-
const common_1 = require("@nestjs/common");
|
|
5
|
-
const constants_1 = require("@nestjs/common/constants");
|
|
6
|
-
const route_paramtypes_enum_1 = require("@nestjs/common/enums/route-paramtypes.enum");
|
|
7
|
-
const platform_express_1 = require("@nestjs/platform-express");
|
|
8
|
-
const swagger_1 = require("@nestjs/swagger");
|
|
9
|
-
const reverse_object_keys_util_1 = require("@nestjs/swagger/dist/utils/reverse-object-keys.util");
|
|
10
|
-
const lodash_1 = require("lodash");
|
|
11
|
-
function explore(instance, propertyKey) {
|
|
12
|
-
const types = Reflect.getMetadata(constants_1.PARAMTYPES_METADATA, instance, propertyKey);
|
|
13
|
-
const routeArgsMetadata = Reflect.getMetadata(constants_1.ROUTE_ARGS_METADATA, instance.constructor, propertyKey) || {};
|
|
14
|
-
const parametersWithType = lodash_1.default.mapValues((0, reverse_object_keys_util_1.reverseObjectKeys)(routeArgsMetadata), (param) => ({
|
|
15
|
-
type: types[param.index],
|
|
16
|
-
name: param.data,
|
|
17
|
-
required: true,
|
|
18
|
-
}));
|
|
19
|
-
for (const [key, value] of Object.entries(parametersWithType)) {
|
|
20
|
-
const keyPair = key.split(':');
|
|
21
|
-
if (Number(keyPair[0]) === route_paramtypes_enum_1.RouteParamtypes.BODY) {
|
|
22
|
-
return value.type;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
function RegisterModels() {
|
|
27
|
-
return (target, propertyKey, descriptor) => {
|
|
28
|
-
const body = explore(target, propertyKey);
|
|
29
|
-
return body && (0, swagger_1.ApiExtraModels)(body)(target, propertyKey, descriptor);
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
function ApiFileDecorator(files = [], options = {}) {
|
|
33
|
-
return (target, propertyKey, descriptor) => {
|
|
34
|
-
const { isRequired = false } = options;
|
|
35
|
-
const fileSchema = {
|
|
36
|
-
type: 'string',
|
|
37
|
-
format: 'binary',
|
|
38
|
-
};
|
|
39
|
-
const properties = {};
|
|
40
|
-
for (const file of files) {
|
|
41
|
-
if (file.isArray) {
|
|
42
|
-
properties[file.name] = {
|
|
43
|
-
type: 'array',
|
|
44
|
-
items: fileSchema,
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
else {
|
|
48
|
-
properties[file.name] = fileSchema;
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
let schema = {
|
|
52
|
-
properties,
|
|
53
|
-
type: 'object',
|
|
54
|
-
};
|
|
55
|
-
const body = explore(target, propertyKey);
|
|
56
|
-
if (body) {
|
|
57
|
-
schema = {
|
|
58
|
-
allOf: [
|
|
59
|
-
{
|
|
60
|
-
$ref: (0, swagger_1.getSchemaPath)(body),
|
|
61
|
-
},
|
|
62
|
-
{ properties, type: 'object' },
|
|
63
|
-
],
|
|
64
|
-
};
|
|
65
|
-
}
|
|
66
|
-
return (0, swagger_1.ApiBody)({
|
|
67
|
-
schema,
|
|
68
|
-
required: isRequired,
|
|
69
|
-
})(target, propertyKey, descriptor);
|
|
70
|
-
};
|
|
71
|
-
}
|
|
72
|
-
function ApiFile(files, options = {}) {
|
|
73
|
-
const filesArray = lodash_1.default.castArray(files);
|
|
74
|
-
const apiFileInterceptors = filesArray.map((file) => file.isArray
|
|
75
|
-
? (0, common_1.UseInterceptors)((0, platform_express_1.FilesInterceptor)(file.name))
|
|
76
|
-
: (0, common_1.UseInterceptors)((0, platform_express_1.FileInterceptor)(file.name)));
|
|
77
|
-
return (0, common_1.applyDecorators)(RegisterModels(), (0, swagger_1.ApiConsumes)('multipart/form-data'), ApiFileDecorator(filesArray, options), ...apiFileInterceptors);
|
|
78
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function TimestampColumn(name: string, description?: string): <TFunction extends Function, Y>(target: TFunction | object, propertyKey?: string | symbol, descriptor?: TypedPropertyDescriptor<Y>) => void;
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TimestampColumn = TimestampColumn;
|
|
4
|
-
const common_1 = require("@nestjs/common");
|
|
5
|
-
const swagger_1 = require("@nestjs/swagger");
|
|
6
|
-
const typeorm_1 = require("typeorm");
|
|
7
|
-
const helpers_1 = require("../helpers");
|
|
8
|
-
function TimestampColumn(name, description) {
|
|
9
|
-
return (0, common_1.applyDecorators)((0, swagger_1.ApiProperty)({
|
|
10
|
-
required: false,
|
|
11
|
-
type: 'string',
|
|
12
|
-
format: 'date-time',
|
|
13
|
-
example: '2018-10-01 12:18:48',
|
|
14
|
-
description,
|
|
15
|
-
}), (0, typeorm_1.Column)({
|
|
16
|
-
type: 'int',
|
|
17
|
-
name,
|
|
18
|
-
nullable: false,
|
|
19
|
-
unsigned: true,
|
|
20
|
-
default: 0,
|
|
21
|
-
comment: description,
|
|
22
|
-
transformer: {
|
|
23
|
-
to: (value) => value === 0 || /\d{10}/.test(value) ? value : (0, helpers_1.strToTimeStamp)(value),
|
|
24
|
-
from: (value) => (0, helpers_1.formatDateTime)(value),
|
|
25
|
-
},
|
|
26
|
-
}));
|
|
27
|
-
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export declare function Trim(): PropertyDecorator;
|
|
2
|
-
export declare function ToBoolean(): PropertyDecorator;
|
|
3
|
-
export declare function ToInt(): PropertyDecorator;
|
|
4
|
-
export declare function ToArray(): PropertyDecorator;
|
|
5
|
-
export declare function ToLowerCase(): PropertyDecorator;
|
|
6
|
-
export declare function ToUpperCase(): PropertyDecorator;
|
|
7
|
-
export declare function S3UrlParser(): PropertyDecorator;
|
|
8
|
-
export declare function PhoneNumberSerializer(): PropertyDecorator;
|
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Trim = Trim;
|
|
4
|
-
exports.ToBoolean = ToBoolean;
|
|
5
|
-
exports.ToInt = ToInt;
|
|
6
|
-
exports.ToArray = ToArray;
|
|
7
|
-
exports.ToLowerCase = ToLowerCase;
|
|
8
|
-
exports.ToUpperCase = ToUpperCase;
|
|
9
|
-
exports.S3UrlParser = S3UrlParser;
|
|
10
|
-
exports.PhoneNumberSerializer = PhoneNumberSerializer;
|
|
11
|
-
const class_transformer_1 = require("class-transformer");
|
|
12
|
-
const libphonenumber_js_1 = require("libphonenumber-js");
|
|
13
|
-
const lodash_1 = require("lodash");
|
|
14
|
-
const providers_1 = require("../providers");
|
|
15
|
-
function Trim() {
|
|
16
|
-
return (0, class_transformer_1.Transform)((params) => {
|
|
17
|
-
const value = params.value;
|
|
18
|
-
if ((0, lodash_1.isArray)(value)) {
|
|
19
|
-
return (0, lodash_1.map)(value, (v) => (0, lodash_1.trim)(v).replaceAll(/\s\s+/g, ' '));
|
|
20
|
-
}
|
|
21
|
-
return (0, lodash_1.trim)(value).replaceAll(/\s\s+/g, ' ');
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
function ToBoolean() {
|
|
25
|
-
return (0, class_transformer_1.Transform)((params) => {
|
|
26
|
-
switch (params.value) {
|
|
27
|
-
case 'true': {
|
|
28
|
-
return true;
|
|
29
|
-
}
|
|
30
|
-
case 'false': {
|
|
31
|
-
return false;
|
|
32
|
-
}
|
|
33
|
-
default: {
|
|
34
|
-
return params.value;
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
}, { toClassOnly: true });
|
|
38
|
-
}
|
|
39
|
-
function ToInt() {
|
|
40
|
-
return (0, class_transformer_1.Transform)((params) => {
|
|
41
|
-
const value = params.value;
|
|
42
|
-
return Number.parseInt(value, 10);
|
|
43
|
-
}, { toClassOnly: true });
|
|
44
|
-
}
|
|
45
|
-
function ToArray() {
|
|
46
|
-
return (0, class_transformer_1.Transform)((params) => {
|
|
47
|
-
const value = params.value;
|
|
48
|
-
if (!value) {
|
|
49
|
-
return value;
|
|
50
|
-
}
|
|
51
|
-
return (0, lodash_1.castArray)(value);
|
|
52
|
-
}, { toClassOnly: true });
|
|
53
|
-
}
|
|
54
|
-
function ToLowerCase() {
|
|
55
|
-
return (0, class_transformer_1.Transform)((params) => {
|
|
56
|
-
const value = params.value;
|
|
57
|
-
if (!value) {
|
|
58
|
-
return;
|
|
59
|
-
}
|
|
60
|
-
if (!Array.isArray(value)) {
|
|
61
|
-
return value.toLowerCase();
|
|
62
|
-
}
|
|
63
|
-
return value.map((v) => v.toLowerCase());
|
|
64
|
-
}, {
|
|
65
|
-
toClassOnly: true,
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
function ToUpperCase() {
|
|
69
|
-
return (0, class_transformer_1.Transform)((params) => {
|
|
70
|
-
const value = params.value;
|
|
71
|
-
if (!value) {
|
|
72
|
-
return;
|
|
73
|
-
}
|
|
74
|
-
if (!Array.isArray(value)) {
|
|
75
|
-
return value.toUpperCase();
|
|
76
|
-
}
|
|
77
|
-
return value.map((v) => v.toUpperCase());
|
|
78
|
-
}, {
|
|
79
|
-
toClassOnly: true,
|
|
80
|
-
});
|
|
81
|
-
}
|
|
82
|
-
function S3UrlParser() {
|
|
83
|
-
return (0, class_transformer_1.Transform)((params) => {
|
|
84
|
-
const key = params.value;
|
|
85
|
-
switch (params.type) {
|
|
86
|
-
case class_transformer_1.TransformationType.CLASS_TO_PLAIN: {
|
|
87
|
-
return providers_1.GeneratorProvider.getS3PublicUrl(key);
|
|
88
|
-
}
|
|
89
|
-
case class_transformer_1.TransformationType.PLAIN_TO_CLASS: {
|
|
90
|
-
return providers_1.GeneratorProvider.getS3Key(key);
|
|
91
|
-
}
|
|
92
|
-
default: {
|
|
93
|
-
return key;
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
});
|
|
97
|
-
}
|
|
98
|
-
function PhoneNumberSerializer() {
|
|
99
|
-
return (0, class_transformer_1.Transform)((params) => (0, libphonenumber_js_1.parsePhoneNumber)(params.value).number);
|
|
100
|
-
}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import type { ITranslationDecoratorInterface } from '../interfaces';
|
|
2
|
-
export declare const STATIC_TRANSLATION_DECORATOR_KEY = "custom:static-translate";
|
|
3
|
-
export declare const DYNAMIC_TRANSLATION_DECORATOR_KEY = "custom:dynamic-translate";
|
|
4
|
-
export declare function StaticTranslate(data?: ITranslationDecoratorInterface): PropertyDecorator;
|
|
5
|
-
export declare function DynamicTranslate(): PropertyDecorator;
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DYNAMIC_TRANSLATION_DECORATOR_KEY = exports.STATIC_TRANSLATION_DECORATOR_KEY = void 0;
|
|
4
|
-
exports.StaticTranslate = StaticTranslate;
|
|
5
|
-
exports.DynamicTranslate = DynamicTranslate;
|
|
6
|
-
exports.STATIC_TRANSLATION_DECORATOR_KEY = 'custom:static-translate';
|
|
7
|
-
exports.DYNAMIC_TRANSLATION_DECORATOR_KEY = 'custom:dynamic-translate';
|
|
8
|
-
function StaticTranslate(data = {}) {
|
|
9
|
-
return (target, key) => {
|
|
10
|
-
Reflect.defineMetadata(exports.STATIC_TRANSLATION_DECORATOR_KEY, data, target, key);
|
|
11
|
-
};
|
|
12
|
-
}
|
|
13
|
-
function DynamicTranslate() {
|
|
14
|
-
return (target, key) => {
|
|
15
|
-
Reflect.defineMetadata(exports.DYNAMIC_TRANSLATION_DECORATOR_KEY, {}, target, key);
|
|
16
|
-
};
|
|
17
|
-
}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import type { AbstractEntity } from '../common/abstract.entity';
|
|
2
|
-
import type { AbstractDto } from '../common/dto/abstract.dto';
|
|
3
|
-
import type { Constructor } from '../common/types';
|
|
4
|
-
export declare function UseDto(dtoClass: Constructor<AbstractDto, [AbstractEntity, unknown]>): ClassDecorator;
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export interface IUser {
|
|
2
|
-
uid: number;
|
|
3
|
-
username: string;
|
|
4
|
-
}
|
|
5
|
-
export declare const User: (...dataOrPipes: (string | import("@nestjs/common").PipeTransform<any, any> | import("@nestjs/common").Type<import("@nestjs/common").PipeTransform<any, any>>)[]) => ParameterDecorator;
|
|
6
|
-
export declare function getUserData(req: any, data?: string): IUser | null;
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.User = void 0;
|
|
4
|
-
exports.getUserData = getUserData;
|
|
5
|
-
const common_1 = require("@nestjs/common");
|
|
6
|
-
const lodash = require("lodash");
|
|
7
|
-
exports.User = (0, common_1.createParamDecorator)((data, ctx) => {
|
|
8
|
-
return getUserData(ctx.switchToHttp().getRequest(), data);
|
|
9
|
-
});
|
|
10
|
-
function getUserData(req, data) {
|
|
11
|
-
const headers = req.headers;
|
|
12
|
-
if (lodash.isEmpty(headers['x-user-id']) ||
|
|
13
|
-
lodash.isEmpty(headers['x-username'])) {
|
|
14
|
-
return null;
|
|
15
|
-
}
|
|
16
|
-
const user = {
|
|
17
|
-
uid: headers['x-user-id'],
|
|
18
|
-
username: headers['x-username'],
|
|
19
|
-
};
|
|
20
|
-
return data ? user[data] : user;
|
|
21
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
export interface IUser {
|
|
2
|
-
uid: string;
|
|
3
|
-
username: string;
|
|
4
|
-
tenantId: string;
|
|
5
|
-
appId: string;
|
|
6
|
-
admin: boolean;
|
|
7
|
-
role: string;
|
|
8
|
-
}
|
|
9
|
-
export declare const User: (...dataOrPipes: (import("@nestjs/common").PipeTransform<any, any> | import("@nestjs/common").Type<import("@nestjs/common").PipeTransform<any, any>> | keyof IUser)[]) => ParameterDecorator;
|
|
10
|
-
export declare function getOmniAuthData<T extends keyof IUser>(request: {
|
|
11
|
-
headers: Record<string, string>;
|
|
12
|
-
}, key?: T): IUser[T] | IUser;
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.User = void 0;
|
|
4
|
-
exports.getOmniAuthData = getOmniAuthData;
|
|
5
|
-
const common_1 = require("@nestjs/common");
|
|
6
|
-
const lodash_1 = require("lodash");
|
|
7
|
-
const config_1 = require("@nestjs/config");
|
|
8
|
-
const providers_1 = require("../providers");
|
|
9
|
-
exports.User = (0, common_1.createParamDecorator)((key) => {
|
|
10
|
-
const authUser = providers_1.ContextProvider.getAuthUser();
|
|
11
|
-
return key ? authUser[key] : authUser;
|
|
12
|
-
});
|
|
13
|
-
function getOmniAuthData(request, key) {
|
|
14
|
-
const headers = request.headers;
|
|
15
|
-
let user;
|
|
16
|
-
const configService = new config_1.ConfigService(request);
|
|
17
|
-
if ((0, lodash_1.isEmpty)(headers['x-user-id']) && (0, lodash_1.isEmpty)(headers['x-app-id'])) {
|
|
18
|
-
if (process.env.NODE_ENV === 'dev' || process.env.MOCK_ENABLED === 'true') {
|
|
19
|
-
user = {
|
|
20
|
-
uid: configService.get('MOCK_UID'),
|
|
21
|
-
username: configService.get('MOCK_USERNAME'),
|
|
22
|
-
appId: configService.get('MOCK_APP_ID'),
|
|
23
|
-
tenantId: configService.get('MOCK_TENANT_ID'),
|
|
24
|
-
admin: configService.get('MOCK_ADMIN', false),
|
|
25
|
-
role: configService.get('MOCK_ROLE', ''),
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
else {
|
|
29
|
-
console.debug('User information is not transparently transmitted through the gateway: ' +
|
|
30
|
-
JSON.stringify(headers));
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
else {
|
|
34
|
-
user = {
|
|
35
|
-
uid: headers['x-user-id'] || '',
|
|
36
|
-
username: headers['x-username'] || '',
|
|
37
|
-
appId: headers['x-app-id'] || '',
|
|
38
|
-
tenantId: headers['x-tenant-id'] || '',
|
|
39
|
-
admin: headers['x-admin'] === '1',
|
|
40
|
-
role: headers['x-role'] || '',
|
|
41
|
-
};
|
|
42
|
-
}
|
|
43
|
-
return key ? user[key] : user;
|
|
44
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function UserFilter(field: string): <TFunction extends Function, Y>(target: TFunction | object, propertyKey?: string | symbol, descriptor?: TypedPropertyDescriptor<Y>) => void;
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.UserFilter = UserFilter;
|
|
4
|
-
const common_1 = require("@nestjs/common");
|
|
5
|
-
const crud_1 = require("@dataui/crud");
|
|
6
|
-
const user_decorator_1 = require("./user.decorator");
|
|
7
|
-
function UserFilter(field) {
|
|
8
|
-
const obj = {};
|
|
9
|
-
return (0, common_1.applyDecorators)((0, crud_1.CrudAuth)({
|
|
10
|
-
filter: (req) => {
|
|
11
|
-
obj[field] = (0, user_decorator_1.getOmniAuthData)(req, 'uid');
|
|
12
|
-
return obj;
|
|
13
|
-
},
|
|
14
|
-
}));
|
|
15
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { ValidationOptions } from 'class-validator';
|
|
2
|
-
import { IsPhoneNumber as isPhoneNumber } from 'class-validator';
|
|
3
|
-
export declare function IsPassword(validationOptions?: ValidationOptions): PropertyDecorator;
|
|
4
|
-
export declare function IsPhoneNumber(validationOptions?: ValidationOptions & {
|
|
5
|
-
region?: Parameters<typeof isPhoneNumber>[0];
|
|
6
|
-
}): PropertyDecorator;
|
|
7
|
-
export declare function IsTmpKey(validationOptions?: ValidationOptions): PropertyDecorator;
|
|
8
|
-
export declare function IsUndefinable(options?: ValidationOptions): PropertyDecorator;
|
|
9
|
-
export declare function IsEmptyable(options?: ValidationOptions): PropertyDecorator;
|
|
10
|
-
export declare function IsNullable(options?: ValidationOptions): PropertyDecorator;
|
|
11
|
-
export declare function IsHttpUrl(validationOptions?: ValidationOptions): (object: any, propertyName: string) => void;
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.IsPassword = IsPassword;
|
|
4
|
-
exports.IsPhoneNumber = IsPhoneNumber;
|
|
5
|
-
exports.IsTmpKey = IsTmpKey;
|
|
6
|
-
exports.IsUndefinable = IsUndefinable;
|
|
7
|
-
exports.IsEmptyable = IsEmptyable;
|
|
8
|
-
exports.IsNullable = IsNullable;
|
|
9
|
-
exports.IsHttpUrl = IsHttpUrl;
|
|
10
|
-
const class_validator_1 = require("class-validator");
|
|
11
|
-
const lodash_1 = require("lodash");
|
|
12
|
-
function IsPassword(validationOptions) {
|
|
13
|
-
return (object, propertyName) => {
|
|
14
|
-
(0, class_validator_1.registerDecorator)({
|
|
15
|
-
propertyName,
|
|
16
|
-
name: 'isPassword',
|
|
17
|
-
target: object.constructor,
|
|
18
|
-
constraints: [],
|
|
19
|
-
options: validationOptions,
|
|
20
|
-
validator: {
|
|
21
|
-
validate(value) {
|
|
22
|
-
return /^[\d!#$%&*@A-Z^a-z]*$/.test(value);
|
|
23
|
-
},
|
|
24
|
-
},
|
|
25
|
-
});
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
function IsPhoneNumber(validationOptions) {
|
|
29
|
-
return (0, class_validator_1.IsPhoneNumber)(validationOptions === null || validationOptions === void 0 ? void 0 : validationOptions.region, Object.assign({ message: 'error.phoneNumber' }, validationOptions));
|
|
30
|
-
}
|
|
31
|
-
function IsTmpKey(validationOptions) {
|
|
32
|
-
return (object, propertyName) => {
|
|
33
|
-
(0, class_validator_1.registerDecorator)({
|
|
34
|
-
propertyName,
|
|
35
|
-
name: 'tmpKey',
|
|
36
|
-
target: object.constructor,
|
|
37
|
-
options: validationOptions,
|
|
38
|
-
validator: {
|
|
39
|
-
validate(value) {
|
|
40
|
-
return (0, lodash_1.isString)(value) && /^tmp\//.test(value);
|
|
41
|
-
},
|
|
42
|
-
defaultMessage() {
|
|
43
|
-
return 'error.invalidTmpKey';
|
|
44
|
-
},
|
|
45
|
-
},
|
|
46
|
-
});
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
|
-
function IsUndefinable(options) {
|
|
50
|
-
return (0, class_validator_1.ValidateIf)((obj, value) => value !== undefined, options);
|
|
51
|
-
}
|
|
52
|
-
function IsEmptyable(options) {
|
|
53
|
-
return (0, class_validator_1.ValidateIf)((obj, value) => !(value === null ||
|
|
54
|
-
value === undefined ||
|
|
55
|
-
((0, lodash_1.isString)(value) && value.trim() === '')), options);
|
|
56
|
-
}
|
|
57
|
-
function IsNullable(options) {
|
|
58
|
-
return (0, class_validator_1.ValidateIf)((obj, value) => value !== null, options);
|
|
59
|
-
}
|
|
60
|
-
function IsHttpUrl(validationOptions) {
|
|
61
|
-
return function (object, propertyName) {
|
|
62
|
-
(0, class_validator_1.registerDecorator)({
|
|
63
|
-
name: 'isHttpUrl',
|
|
64
|
-
target: object.constructor,
|
|
65
|
-
propertyName: propertyName,
|
|
66
|
-
options: validationOptions,
|
|
67
|
-
validator: {
|
|
68
|
-
validate(value) {
|
|
69
|
-
const httpUrlPattern = /^(https?:\/\/)/i;
|
|
70
|
-
return typeof value === 'string' && httpUrlPattern.test(value);
|
|
71
|
-
},
|
|
72
|
-
defaultMessage() {
|
|
73
|
-
return 'URL must start with http:// or https://';
|
|
74
|
-
},
|
|
75
|
-
},
|
|
76
|
-
});
|
|
77
|
-
};
|
|
78
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.FileNotImageException = void 0;
|
|
4
|
-
const common_1 = require("@nestjs/common");
|
|
5
|
-
class FileNotImageException extends common_1.BadRequestException {
|
|
6
|
-
constructor(error) {
|
|
7
|
-
super('error.fileNotImage', error);
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
exports.FileNotImageException = FileNotImageException;
|
package/exceptions/index.d.ts
DELETED
package/exceptions/index.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./file-not-image.exception"), exports);
|
|
18
|
-
__exportStar(require("./user-not-found.exception"), exports);
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PageTypeException = void 0;
|
|
4
|
-
const common_1 = require("@nestjs/common");
|
|
5
|
-
class PageTypeException extends common_1.BadRequestException {
|
|
6
|
-
constructor() {
|
|
7
|
-
super('error.pageType');
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
exports.PageTypeException = PageTypeException;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.UserNotFoundException = void 0;
|
|
4
|
-
const common_1 = require("@nestjs/common");
|
|
5
|
-
class UserNotFoundException extends common_1.NotFoundException {
|
|
6
|
-
constructor(error) {
|
|
7
|
-
super('error.userNotFound', error);
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
exports.UserNotFoundException = UserNotFoundException;
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.HttpExceptionFilter = void 0;
|
|
10
|
-
const common_1 = require("@nestjs/common");
|
|
11
|
-
const typeorm_1 = require("typeorm");
|
|
12
|
-
const nestjs_i18n_1 = require("nestjs-i18n");
|
|
13
|
-
let HttpExceptionFilter = class HttpExceptionFilter {
|
|
14
|
-
catch(exception, host) {
|
|
15
|
-
var _a, _b, _c, _d;
|
|
16
|
-
const i18n = nestjs_i18n_1.I18nContext.current(host);
|
|
17
|
-
const ctx = host.switchToHttp();
|
|
18
|
-
const response = ctx.getResponse();
|
|
19
|
-
const request = ctx.getRequest();
|
|
20
|
-
let statusCode = exception instanceof common_1.HttpException ? exception.getStatus() : 500;
|
|
21
|
-
let error = exception instanceof common_1.HttpException
|
|
22
|
-
? exception.message
|
|
23
|
-
: 'Internal server error';
|
|
24
|
-
if (exception instanceof typeorm_1.EntityNotFoundError) {
|
|
25
|
-
statusCode = 404;
|
|
26
|
-
error = 'Entity not found';
|
|
27
|
-
}
|
|
28
|
-
if (statusCode === 500) {
|
|
29
|
-
console.error({
|
|
30
|
-
message: exception.message,
|
|
31
|
-
stack: exception.stack,
|
|
32
|
-
connection: {
|
|
33
|
-
localAddress: (_a = request.socket) === null || _a === void 0 ? void 0 : _a.localAddress,
|
|
34
|
-
remoteAddress: (_b = request.socket) === null || _b === void 0 ? void 0 : _b.remoteAddress,
|
|
35
|
-
bytesRead: (_c = request.socket) === null || _c === void 0 ? void 0 : _c.bytesRead,
|
|
36
|
-
bytesWritten: (_d = request.socket) === null || _d === void 0 ? void 0 : _d.bytesWritten,
|
|
37
|
-
},
|
|
38
|
-
headers: request.headers,
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
const getFirstError = (error, property = '') => {
|
|
42
|
-
var _a;
|
|
43
|
-
if (((_a = error === null || error === void 0 ? void 0 : error.children) === null || _a === void 0 ? void 0 : _a.length) > 0) {
|
|
44
|
-
const firstError = error.children[0];
|
|
45
|
-
firstError['property'] = `${property}.${firstError['property']}`;
|
|
46
|
-
return getFirstError(firstError, firstError.property);
|
|
47
|
-
}
|
|
48
|
-
return error;
|
|
49
|
-
};
|
|
50
|
-
if (exception instanceof nestjs_i18n_1.I18nValidationException) {
|
|
51
|
-
const firstErros = getFirstError(exception.errors[0], exception.errors[0].property);
|
|
52
|
-
const constraint = Object.values(firstErros.constraints)[0];
|
|
53
|
-
const [translationKey, argsString] = constraint.split('|');
|
|
54
|
-
const args = !!argsString ? JSON.parse(argsString) : {};
|
|
55
|
-
error = i18n.translate(translationKey, {
|
|
56
|
-
args: Object.assign({ property: firstErros.property, value: firstErros.value, constraints: firstErros.constraints }, args),
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
const parseJson = {
|
|
60
|
-
code: statusCode,
|
|
61
|
-
msg: error,
|
|
62
|
-
requestId: request.id,
|
|
63
|
-
timestamp: new Date().toISOString(),
|
|
64
|
-
};
|
|
65
|
-
return response.status(200).json(parseJson);
|
|
66
|
-
}
|
|
67
|
-
};
|
|
68
|
-
exports.HttpExceptionFilter = HttpExceptionFilter;
|
|
69
|
-
exports.HttpExceptionFilter = HttpExceptionFilter = __decorate([
|
|
70
|
-
(0, common_1.Catch)()
|
|
71
|
-
], HttpExceptionFilter);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const constraintErrors: Record<string, string>;
|
package/filters/index.d.ts
DELETED
package/filters/index.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./bad-request.filter"), exports);
|
|
18
|
-
__exportStar(require("./constraint-errors"), exports);
|
|
19
|
-
__exportStar(require("./query-failed.filter"), exports);
|