@nest-omni/core 1.0.6 → 1.0.8
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/{src → dist}/boilerplate.polyfill.js +0 -1
- package/{src → dist}/common/abstract-client.service.d.ts +0 -4
- package/{src → dist}/common/abstract-client.service.js +0 -4
- package/{src → dist}/common/abstract.entity.d.ts +0 -7
- package/dist/common/abstract.entity.js +64 -0
- package/dist/common/dto/abstract.dto.js +59 -0
- package/dist/common/dto/bulk-id.dto.js +27 -0
- package/dist/common/dto/create-translation.dto.js +25 -0
- package/dist/common/dto/page-meta.dto.js +48 -0
- package/dist/common/dto/page-options.dto.js +52 -0
- package/dist/common/dto/page.dto.js +53 -0
- package/{src → dist}/common/utils.d.ts +0 -11
- package/{src → dist}/common/utils.js +1 -15
- package/{src → dist}/constants/language-code.js +0 -1
- package/dist/decorators/controller.decorator.js +11 -0
- package/{src → dist}/decorators/field.decorators.js +1 -7
- package/{src → dist}/decorators/omni-auth.decorator.js +1 -26
- package/{src → dist}/decorators/property.decorators.js +1 -5
- package/{src → dist}/decorators/public-route.decorator.js +0 -1
- package/{src → dist}/decorators/swagger.schema.js +1 -4
- package/{src → dist}/decorators/timestamp-column.decorator.js +1 -1
- package/dist/decorators/transform.decorators.d.ts +8 -0
- package/{src → dist}/decorators/transform.decorators.js +0 -27
- package/{src → dist}/decorators/translate.decorator.js +0 -1
- package/dist/decorators/user-check.decorator.js +21 -0
- package/{src → dist}/decorators/user.decorator.js +1 -25
- package/dist/filters/bad-request.filter.js +60 -0
- package/{src → dist}/filters/constraint-errors.js +0 -1
- package/dist/filters/query-failed.filter.js +42 -0
- package/dist/health-checker/health-checker.controller.js +72 -0
- package/dist/health-checker/health-checker.module.js +25 -0
- package/dist/health-checker/health-indicators/service.indicator.js +66 -0
- package/dist/helpers/common.helper.d.ts +3 -0
- package/{src → dist}/helpers/common.helper.js +0 -13
- package/{src → dist}/helpers/date.helper.d.ts +3 -3
- package/{src → dist}/helpers/date.helper.js +2 -25
- package/dist/i18n/en_US/validation.json +38 -0
- package/dist/i18n/zh_CN/validation.json +38 -0
- package/{src → dist}/index.js +0 -1
- package/dist/interceptors/auth-user.interceptor.js +24 -0
- package/dist/interceptors/language-interceptor.service.js +30 -0
- package/dist/interceptors/translation-interceptor.service.js +34 -0
- package/{src → dist}/providers/context.provider.js +0 -2
- package/{src → dist}/providers/generator.provider.d.ts +0 -4
- package/{src → dist}/providers/generator.provider.js +0 -4
- package/{src → dist}/setup/bootstrap.setup.js +7 -33
- package/dist/shared/serviceRegistryModule.js +110 -0
- package/{src → dist}/shared/services/api-config.service.d.ts +0 -3
- package/dist/shared/services/api-config.service.js +290 -0
- package/dist/shared/services/aws-s3.service.js +56 -0
- package/dist/shared/services/generator.service.js +23 -0
- package/dist/shared/services/translation.service.js +70 -0
- package/dist/shared/services/validator.service.js +20 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/validators/is-exists.validator.js +61 -0
- package/dist/validators/is-unique.validator.js +92 -0
- package/{src → dist}/validators/skip-empty.validator.d.ts +0 -5
- package/{src → dist}/validators/skip-empty.validator.js +0 -5
- package/package.json +4 -1
- package/src/boilerplate.polyfill.ts +0 -202
- package/src/common/abstract-client.service.ts +0 -56
- package/src/common/abstract.entity.js +0 -152
- package/src/common/abstract.entity.ts +0 -73
- package/src/common/dto/abstract.dto.js +0 -96
- package/src/common/dto/abstract.dto.ts +0 -64
- package/src/common/dto/bulk-id.dto.js +0 -63
- package/src/common/dto/bulk-id.dto.ts +0 -13
- package/src/common/dto/create-translation.dto.js +0 -63
- package/src/common/dto/create-translation.dto.ts +0 -10
- package/src/common/dto/page-meta.dto.js +0 -88
- package/src/common/dto/page-meta.dto.ts +0 -37
- package/src/common/dto/page-options.dto.js +0 -87
- package/src/common/dto/page-options.dto.ts +0 -35
- package/src/common/dto/page.dto.js +0 -94
- package/src/common/dto/page.dto.ts +0 -36
- package/src/common/utils.ts +0 -45
- package/src/constants/index.ts +0 -4
- package/src/constants/language-code.ts +0 -7
- package/src/constants/order.ts +0 -4
- package/src/constants/role-type.ts +0 -4
- package/src/constants/token-type.ts +0 -4
- package/src/decorators/api-page-ok-response.decorator.ts +0 -31
- package/src/decorators/auth-user.decorator.ts +0 -16
- package/src/decorators/controller.decorator.js +0 -34
- package/src/decorators/controller.decorator.ts +0 -8
- package/src/decorators/field.decorators.ts +0 -773
- package/src/decorators/http.decorators.ts +0 -10
- package/src/decorators/index.ts +0 -12
- package/src/decorators/omni-auth.decorator.ts +0 -46
- package/src/decorators/operation.decorator.ts +0 -4
- package/src/decorators/property.decorators.ts +0 -62
- package/src/decorators/public-route.decorator.ts +0 -8
- package/src/decorators/swagger.schema.ts +0 -117
- package/src/decorators/timestamp-column.decorator.ts +0 -29
- package/src/decorators/transform.decorators.d.ts +0 -35
- package/src/decorators/transform.decorators.ts +0 -147
- package/src/decorators/translate.decorator.ts +0 -19
- package/src/decorators/use-dto.decorator.ts +0 -11
- package/src/decorators/user-check.decorator.js +0 -44
- package/src/decorators/user-check.decorator.ts +0 -30
- package/src/decorators/user.decorator.ts +0 -48
- package/src/decorators/user_auth.decorator.ts +0 -15
- package/src/decorators/validator.decorators.ts +0 -78
- package/src/exceptions/file-not-image.exception.ts +0 -7
- package/src/exceptions/index.ts +0 -2
- package/src/exceptions/page-type.exception.ts +0 -7
- package/src/exceptions/user-not-found.exception.ts +0 -7
- package/src/filters/bad-request.filter.js +0 -104
- package/src/filters/bad-request.filter.ts +0 -67
- package/src/filters/constraint-errors.ts +0 -5
- package/src/filters/index.ts +0 -3
- package/src/filters/query-failed.filter.js +0 -81
- package/src/filters/query-failed.filter.ts +0 -32
- package/src/health-checker/health-checker.controller.js +0 -104
- package/src/health-checker/health-checker.controller.ts +0 -51
- package/src/health-checker/health-checker.module.js +0 -69
- package/src/health-checker/health-checker.module.ts +0 -13
- package/src/health-checker/health-indicators/service.indicator.js +0 -102
- package/src/health-checker/health-indicators/service.indicator.ts +0 -44
- package/src/helpers/common.helper.d.ts +0 -16
- package/src/helpers/common.helper.ts +0 -49
- package/src/helpers/date.helper.ts +0 -64
- package/src/helpers/excel.helper.d.ts +0 -27
- package/src/helpers/excel.helper.js +0 -338
- package/src/helpers/index.ts +0 -3
- package/src/i18n/en_US/validation.json +0 -38
- package/src/i18n/zh_CN/validation.json +0 -38
- package/src/index.ts +0 -12
- package/src/interceptors/auth-user.interceptor.js +0 -68
- package/src/interceptors/auth-user.interceptor.ts +0 -20
- package/src/interceptors/index.ts +0 -2
- package/src/interceptors/language-interceptor.service.js +0 -74
- package/src/interceptors/language-interceptor.service.ts +0 -31
- package/src/interceptors/translation-interceptor.service.js +0 -83
- package/src/interceptors/translation-interceptor.service.ts +0 -43
- package/src/interfaces/IApiFile.ts +0 -4
- package/src/interfaces/IFile.ts +0 -8
- package/src/interfaces/ITranslationDecoratorInterface.ts +0 -3
- package/src/interfaces/index.ts +0 -3
- package/src/interfaces/response.ts +0 -37
- package/src/middlewares/index.ts +0 -3
- package/src/middlewares/omni-auth.middleware.ts +0 -10
- package/src/middlewares/powerby.middleware.ts +0 -6
- package/src/middlewares/request-id.middleware.ts +0 -28
- package/src/providers/context.provider.ts +0 -98
- package/src/providers/generator.provider.ts +0 -66
- package/src/providers/index.ts +0 -2
- package/src/setup/bootstrap.setup.ts +0 -139
- package/src/setup/index.ts +0 -1
- package/src/setup/microservices.setup.js +0 -55
- package/src/setup-swagger.ts +0 -67
- package/src/shared/index.ts +0 -2
- package/src/shared/serviceRegistryModule.js +0 -176
- package/src/shared/serviceRegistryModule.ts +0 -110
- package/src/shared/services/api-config.service.js +0 -335
- package/src/shared/services/api-config.service.ts +0 -319
- package/src/shared/services/aws-s3.service.js +0 -96
- package/src/shared/services/aws-s3.service.ts +0 -39
- package/src/shared/services/generator.service.js +0 -67
- package/src/shared/services/generator.service.ts +0 -13
- package/src/shared/services/index.ts +0 -5
- package/src/shared/services/translation.service.js +0 -109
- package/src/shared/services/translation.service.ts +0 -59
- package/src/shared/services/validator.service.js +0 -64
- package/src/shared/services/validator.service.ts +0 -10
- package/src/snake-naming.strategy.ts +0 -64
- package/src/types.ts +0 -44
- package/src/validators/file-mimetype.validator.ts +0 -34
- package/src/validators/index.ts +0 -3
- package/src/validators/is-exists.validator.js +0 -99
- package/src/validators/is-exists.validator.ts +0 -60
- package/src/validators/is-unique.validator.js +0 -131
- package/src/validators/is-unique.validator.ts +0 -93
- package/src/validators/phone-country-code.validator.ts +0 -36
- package/src/validators/same-as.validator.ts +0 -27
- package/src/validators/skip-empty.validator.ts +0 -25
- package/tsconfig.json +0 -26
- package/tsconfig.lib.json +0 -16
- package/tsconfig.tsbuildinfo +0 -1
- /package/{src → dist}/boilerplate.polyfill.d.ts +0 -0
- /package/{src → dist}/common/dto/abstract.dto.d.ts +0 -0
- /package/{src → dist}/common/dto/bulk-id.dto.d.ts +0 -0
- /package/{src → dist}/common/dto/create-translation.dto.d.ts +0 -0
- /package/{src → dist}/common/dto/page-meta.dto.d.ts +0 -0
- /package/{src → dist}/common/dto/page-options.dto.d.ts +0 -0
- /package/{src → dist}/common/dto/page.dto.d.ts +0 -0
- /package/{src → dist}/constants/index.d.ts +0 -0
- /package/{src → dist}/constants/index.js +0 -0
- /package/{src → dist}/constants/language-code.d.ts +0 -0
- /package/{src → dist}/constants/order.d.ts +0 -0
- /package/{src → dist}/constants/order.js +0 -0
- /package/{src → dist}/constants/role-type.d.ts +0 -0
- /package/{src → dist}/constants/role-type.js +0 -0
- /package/{src → dist}/constants/token-type.d.ts +0 -0
- /package/{src → dist}/constants/token-type.js +0 -0
- /package/{src → dist}/decorators/api-page-ok-response.decorator.d.ts +0 -0
- /package/{src → dist}/decorators/api-page-ok-response.decorator.js +0 -0
- /package/{src → dist}/decorators/auth-user.decorator.d.ts +0 -0
- /package/{src → dist}/decorators/auth-user.decorator.js +0 -0
- /package/{src → dist}/decorators/controller.decorator.d.ts +0 -0
- /package/{src → dist}/decorators/field.decorators.d.ts +0 -0
- /package/{src → dist}/decorators/http.decorators.d.ts +0 -0
- /package/{src → dist}/decorators/http.decorators.js +0 -0
- /package/{src → dist}/decorators/index.d.ts +0 -0
- /package/{src → dist}/decorators/index.js +0 -0
- /package/{src → dist}/decorators/omni-auth.decorator.d.ts +0 -0
- /package/{src → dist}/decorators/operation.decorator.d.ts +0 -0
- /package/{src → dist}/decorators/operation.decorator.js +0 -0
- /package/{src → dist}/decorators/property.decorators.d.ts +0 -0
- /package/{src → dist}/decorators/public-route.decorator.d.ts +0 -0
- /package/{src → dist}/decorators/swagger.schema.d.ts +0 -0
- /package/{src → dist}/decorators/timestamp-column.decorator.d.ts +0 -0
- /package/{src → dist}/decorators/translate.decorator.d.ts +0 -0
- /package/{src → dist}/decorators/use-dto.decorator.d.ts +0 -0
- /package/{src → dist}/decorators/use-dto.decorator.js +0 -0
- /package/{src → dist}/decorators/user-check.decorator.d.ts +0 -0
- /package/{src → dist}/decorators/user.decorator.d.ts +0 -0
- /package/{src → dist}/decorators/user_auth.decorator.d.ts +0 -0
- /package/{src → dist}/decorators/user_auth.decorator.js +0 -0
- /package/{src → dist}/decorators/validator.decorators.d.ts +0 -0
- /package/{src → dist}/decorators/validator.decorators.js +0 -0
- /package/{src → dist}/exceptions/file-not-image.exception.d.ts +0 -0
- /package/{src → dist}/exceptions/file-not-image.exception.js +0 -0
- /package/{src → dist}/exceptions/index.d.ts +0 -0
- /package/{src → dist}/exceptions/index.js +0 -0
- /package/{src → dist}/exceptions/page-type.exception.d.ts +0 -0
- /package/{src → dist}/exceptions/page-type.exception.js +0 -0
- /package/{src → dist}/exceptions/user-not-found.exception.d.ts +0 -0
- /package/{src → dist}/exceptions/user-not-found.exception.js +0 -0
- /package/{src → dist}/filters/bad-request.filter.d.ts +0 -0
- /package/{src → dist}/filters/constraint-errors.d.ts +0 -0
- /package/{src → dist}/filters/index.d.ts +0 -0
- /package/{src → dist}/filters/index.js +0 -0
- /package/{src → dist}/filters/query-failed.filter.d.ts +0 -0
- /package/{src → dist}/health-checker/health-checker.controller.d.ts +0 -0
- /package/{src → dist}/health-checker/health-checker.module.d.ts +0 -0
- /package/{src → dist}/health-checker/health-indicators/service.indicator.d.ts +0 -0
- /package/{src → dist}/helpers/index.d.ts +0 -0
- /package/{src → dist}/helpers/index.js +0 -0
- /package/{src → dist}/index.d.ts +0 -0
- /package/{src → dist}/interceptors/auth-user.interceptor.d.ts +0 -0
- /package/{src → dist}/interceptors/index.d.ts +0 -0
- /package/{src → dist}/interceptors/index.js +0 -0
- /package/{src → dist}/interceptors/language-interceptor.service.d.ts +0 -0
- /package/{src → dist}/interceptors/translation-interceptor.service.d.ts +0 -0
- /package/{src → dist}/interfaces/IApiFile.d.ts +0 -0
- /package/{src → dist}/interfaces/IApiFile.js +0 -0
- /package/{src → dist}/interfaces/IFile.d.ts +0 -0
- /package/{src → dist}/interfaces/IFile.js +0 -0
- /package/{src → dist}/interfaces/ITranslationDecoratorInterface.d.ts +0 -0
- /package/{src → dist}/interfaces/ITranslationDecoratorInterface.js +0 -0
- /package/{src → dist}/interfaces/index.d.ts +0 -0
- /package/{src → dist}/interfaces/index.js +0 -0
- /package/{src → dist}/interfaces/response.d.ts +0 -0
- /package/{src → dist}/interfaces/response.js +0 -0
- /package/{src → dist}/middlewares/index.d.ts +0 -0
- /package/{src → dist}/middlewares/index.js +0 -0
- /package/{src → dist}/middlewares/omni-auth.middleware.d.ts +0 -0
- /package/{src → dist}/middlewares/omni-auth.middleware.js +0 -0
- /package/{src → dist}/middlewares/powerby.middleware.d.ts +0 -0
- /package/{src → dist}/middlewares/powerby.middleware.js +0 -0
- /package/{src → dist}/middlewares/request-id.middleware.d.ts +0 -0
- /package/{src → dist}/middlewares/request-id.middleware.js +0 -0
- /package/{src → dist}/providers/context.provider.d.ts +0 -0
- /package/{src → dist}/providers/index.d.ts +0 -0
- /package/{src → dist}/providers/index.js +0 -0
- /package/{src → dist}/setup/bootstrap.setup.d.ts +0 -0
- /package/{src → dist}/setup/index.d.ts +0 -0
- /package/{src → dist}/setup/index.js +0 -0
- /package/{src → dist}/setup-swagger.d.ts +0 -0
- /package/{src → dist}/setup-swagger.js +0 -0
- /package/{src → dist}/shared/index.d.ts +0 -0
- /package/{src → dist}/shared/index.js +0 -0
- /package/{src → dist}/shared/serviceRegistryModule.d.ts +0 -0
- /package/{src → dist}/shared/services/aws-s3.service.d.ts +0 -0
- /package/{src → dist}/shared/services/generator.service.d.ts +0 -0
- /package/{src → dist}/shared/services/index.d.ts +0 -0
- /package/{src → dist}/shared/services/index.js +0 -0
- /package/{src → dist}/shared/services/translation.service.d.ts +0 -0
- /package/{src → dist}/shared/services/validator.service.d.ts +0 -0
- /package/{src → dist}/snake-naming.strategy.d.ts +0 -0
- /package/{src → dist}/snake-naming.strategy.js +0 -0
- /package/{src → dist}/types.d.ts +0 -0
- /package/{src → dist}/types.js +0 -0
- /package/{src → dist}/validators/file-mimetype.validator.d.ts +0 -0
- /package/{src → dist}/validators/file-mimetype.validator.js +0 -0
- /package/{src → dist}/validators/index.d.ts +0 -0
- /package/{src → dist}/validators/index.js +0 -0
- /package/{src → dist}/validators/is-exists.validator.d.ts +0 -0
- /package/{src → dist}/validators/is-unique.validator.d.ts +0 -0
- /package/{src → dist}/validators/phone-country-code.validator.d.ts +0 -0
- /package/{src → dist}/validators/phone-country-code.validator.js +0 -0
- /package/{src → dist}/validators/same-as.validator.d.ts +0 -0
- /package/{src → dist}/validators/same-as.validator.js +0 -0
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"NOT_EMPTY": "{property}不能为空",
|
|
3
|
-
"NOT_EQUALS": "{property}不能等于{constraints.1}",
|
|
4
|
-
"LENGTH": "{property}长度必须在{constraints.0}到{constraints.1}个字符之间",
|
|
5
|
-
"MIN_LENGTH": "{property}长度至少为{constraints.0}个字符",
|
|
6
|
-
"MAX_LENGTH": "{property}长度不能超过{constraints.0}个字符",
|
|
7
|
-
"INVALID_EMAIL": "{property}不是有效电子邮件",
|
|
8
|
-
"INVALID_BOOLEAN": "{property}不是布尔值",
|
|
9
|
-
"MIN": "{property}必须大于{constraints.0}",
|
|
10
|
-
"MAX": "{property}必须小于{constraints.0}",
|
|
11
|
-
"NOT_FOUND": "未找到",
|
|
12
|
-
"DELETE_FAILED": "删除数据失败",
|
|
13
|
-
"FILE_NOT_EMPTY": "文件不能为空",
|
|
14
|
-
"FILE_ONLY_EXCEL": "只接受xlsx、xls文件",
|
|
15
|
-
"EMAIL_EXISTS": "电子邮件已存在",
|
|
16
|
-
"CONFIRM_PASSWORD_NOT_MATCH": "确认密码不匹配",
|
|
17
|
-
"INVALID_STRING": "{property}必须是一个字符串",
|
|
18
|
-
"INVALID_DATETIME": "{property}不是一个有效日期",
|
|
19
|
-
"IS_NUMBER": "{property}必须是一个数字",
|
|
20
|
-
"IS_ENUM": "{property}必须是以下值之一:{constraints.1}",
|
|
21
|
-
"IS_STRING": "{property}必须是一个字符串",
|
|
22
|
-
"IS_ARRAY": "{property}必须是一个数组",
|
|
23
|
-
"IS_URL": "{property}必须是一个URL",
|
|
24
|
-
"IS_UUID": "{property}必须是一个UUID",
|
|
25
|
-
"IS_DATE": "{property}必须是一个日期实例",
|
|
26
|
-
"MIN_DATE": "{property}日期不早于{constraints.0}",
|
|
27
|
-
"MAX_DATE": "{property}日期不晚于{constraints.0}",
|
|
28
|
-
"MIN_DATE_NOW": "{property}日期不早于当前时间",
|
|
29
|
-
"MAX_DATE_NOW": "{property}日期不晚于当前时间",
|
|
30
|
-
"IS_IN": "{property}必须是以下值之一:{constraints}",
|
|
31
|
-
"IS_INT": "{property}必须是一个整数",
|
|
32
|
-
"IS_POSITIVE": "{property}必须是一个正数",
|
|
33
|
-
"IS_NOT_EMPTY": "{property}不能为空",
|
|
34
|
-
"IS_UNIQUE": "存在相同值为`{value}`的{property}",
|
|
35
|
-
"IS_EXISTS": "{property}值`{value}`不存在",
|
|
36
|
-
"IS_FQDN": "{property} value `{value}` 必须是有效域名",
|
|
37
|
-
"IS_IP": "{property} value `{value}` 必须是有效IP"
|
|
38
|
-
}
|
package/src/index.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
export * from './constants';
|
|
2
|
-
export * from './decorators';
|
|
3
|
-
export * from './exceptions';
|
|
4
|
-
export * from './filters';
|
|
5
|
-
export * from './interfaces';
|
|
6
|
-
export * from './interceptors';
|
|
7
|
-
// export * from './mutiltenancy';
|
|
8
|
-
export * from './shared';
|
|
9
|
-
export * from './types';
|
|
10
|
-
export * from './snake-naming.strategy';
|
|
11
|
-
export * from './boilerplate.polyfill';
|
|
12
|
-
export * from './middlewares';
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
|
3
|
-
function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
|
|
4
|
-
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
|
5
|
-
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
|
|
6
|
-
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
|
|
7
|
-
var _, done = false;
|
|
8
|
-
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
9
|
-
var context = {};
|
|
10
|
-
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
|
|
11
|
-
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
|
|
12
|
-
context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
|
|
13
|
-
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
|
|
14
|
-
if (kind === "accessor") {
|
|
15
|
-
if (result === void 0) continue;
|
|
16
|
-
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
|
|
17
|
-
if (_ = accept(result.get)) descriptor.get = _;
|
|
18
|
-
if (_ = accept(result.set)) descriptor.set = _;
|
|
19
|
-
if (_ = accept(result.init)) initializers.unshift(_);
|
|
20
|
-
}
|
|
21
|
-
else if (_ = accept(result)) {
|
|
22
|
-
if (kind === "field") initializers.unshift(_);
|
|
23
|
-
else descriptor[key] = _;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
|
27
|
-
done = true;
|
|
28
|
-
};
|
|
29
|
-
var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
|
|
30
|
-
var useValue = arguments.length > 2;
|
|
31
|
-
for (var i = 0; i < initializers.length; i++) {
|
|
32
|
-
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
|
33
|
-
}
|
|
34
|
-
return useValue ? value : void 0;
|
|
35
|
-
};
|
|
36
|
-
var __setFunctionName = (this && this.__setFunctionName) || function (f, name, prefix) {
|
|
37
|
-
if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : "";
|
|
38
|
-
return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name });
|
|
39
|
-
};
|
|
40
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
41
|
-
exports.AuthUserInterceptor = void 0;
|
|
42
|
-
const common_1 = require("@nestjs/common");
|
|
43
|
-
const providers_1 = require("../providers");
|
|
44
|
-
const omni_auth_decorator_1 = require("../decorators/omni-auth.decorator");
|
|
45
|
-
let AuthUserInterceptor = (() => {
|
|
46
|
-
let _classDecorators = [(0, common_1.Injectable)()];
|
|
47
|
-
let _classDescriptor;
|
|
48
|
-
let _classExtraInitializers = [];
|
|
49
|
-
let _classThis;
|
|
50
|
-
var AuthUserInterceptor = _classThis = class {
|
|
51
|
-
intercept(context, next) {
|
|
52
|
-
const req = context.switchToHttp().getRequest();
|
|
53
|
-
req.user = (0, omni_auth_decorator_1.getOmniAuthData)(req);
|
|
54
|
-
providers_1.ContextProvider.setAuthUser(req.user);
|
|
55
|
-
return next.handle();
|
|
56
|
-
}
|
|
57
|
-
};
|
|
58
|
-
__setFunctionName(_classThis, "AuthUserInterceptor");
|
|
59
|
-
(() => {
|
|
60
|
-
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
|
|
61
|
-
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
62
|
-
AuthUserInterceptor = _classThis = _classDescriptor.value;
|
|
63
|
-
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
64
|
-
__runInitializers(_classThis, _classExtraInitializers);
|
|
65
|
-
})();
|
|
66
|
-
return AuthUserInterceptor = _classThis;
|
|
67
|
-
})();
|
|
68
|
-
exports.AuthUserInterceptor = AuthUserInterceptor;
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
type CallHandler,
|
|
3
|
-
type ExecutionContext,
|
|
4
|
-
Injectable,
|
|
5
|
-
type NestInterceptor,
|
|
6
|
-
} from '@nestjs/common';
|
|
7
|
-
|
|
8
|
-
import { ContextProvider } from '../providers';
|
|
9
|
-
import { getOmniAuthData } from '../decorators/omni-auth.decorator';
|
|
10
|
-
|
|
11
|
-
@Injectable()
|
|
12
|
-
export class AuthUserInterceptor implements NestInterceptor {
|
|
13
|
-
intercept(context: ExecutionContext, next: CallHandler) {
|
|
14
|
-
const req = context.switchToHttp().getRequest();
|
|
15
|
-
req.user = getOmniAuthData(req);
|
|
16
|
-
ContextProvider.setAuthUser(req.user);
|
|
17
|
-
|
|
18
|
-
return next.handle();
|
|
19
|
-
}
|
|
20
|
-
}
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
|
3
|
-
function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
|
|
4
|
-
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
|
5
|
-
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
|
|
6
|
-
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
|
|
7
|
-
var _, done = false;
|
|
8
|
-
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
9
|
-
var context = {};
|
|
10
|
-
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
|
|
11
|
-
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
|
|
12
|
-
context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
|
|
13
|
-
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
|
|
14
|
-
if (kind === "accessor") {
|
|
15
|
-
if (result === void 0) continue;
|
|
16
|
-
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
|
|
17
|
-
if (_ = accept(result.get)) descriptor.get = _;
|
|
18
|
-
if (_ = accept(result.set)) descriptor.set = _;
|
|
19
|
-
if (_ = accept(result.init)) initializers.unshift(_);
|
|
20
|
-
}
|
|
21
|
-
else if (_ = accept(result)) {
|
|
22
|
-
if (kind === "field") initializers.unshift(_);
|
|
23
|
-
else descriptor[key] = _;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
|
27
|
-
done = true;
|
|
28
|
-
};
|
|
29
|
-
var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
|
|
30
|
-
var useValue = arguments.length > 2;
|
|
31
|
-
for (var i = 0; i < initializers.length; i++) {
|
|
32
|
-
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
|
33
|
-
}
|
|
34
|
-
return useValue ? value : void 0;
|
|
35
|
-
};
|
|
36
|
-
var __setFunctionName = (this && this.__setFunctionName) || function (f, name, prefix) {
|
|
37
|
-
if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : "";
|
|
38
|
-
return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name });
|
|
39
|
-
};
|
|
40
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
41
|
-
exports.UseLanguageInterceptor = exports.LanguageInterceptor = void 0;
|
|
42
|
-
const common_1 = require("@nestjs/common");
|
|
43
|
-
const constants_1 = require("../constants");
|
|
44
|
-
const providers_1 = require("../providers");
|
|
45
|
-
let LanguageInterceptor = (() => {
|
|
46
|
-
let _classDecorators = [(0, common_1.Injectable)()];
|
|
47
|
-
let _classDescriptor;
|
|
48
|
-
let _classExtraInitializers = [];
|
|
49
|
-
let _classThis;
|
|
50
|
-
var LanguageInterceptor = _classThis = class {
|
|
51
|
-
intercept(context, next) {
|
|
52
|
-
const request = context.switchToHttp().getRequest();
|
|
53
|
-
const language = request.headers['x-language-code'];
|
|
54
|
-
if (constants_1.LanguageCode[language]) {
|
|
55
|
-
providers_1.ContextProvider.setLanguage(language);
|
|
56
|
-
}
|
|
57
|
-
return next.handle();
|
|
58
|
-
}
|
|
59
|
-
};
|
|
60
|
-
__setFunctionName(_classThis, "LanguageInterceptor");
|
|
61
|
-
(() => {
|
|
62
|
-
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
|
|
63
|
-
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
64
|
-
LanguageInterceptor = _classThis = _classDescriptor.value;
|
|
65
|
-
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
66
|
-
__runInitializers(_classThis, _classExtraInitializers);
|
|
67
|
-
})();
|
|
68
|
-
return LanguageInterceptor = _classThis;
|
|
69
|
-
})();
|
|
70
|
-
exports.LanguageInterceptor = LanguageInterceptor;
|
|
71
|
-
function UseLanguageInterceptor() {
|
|
72
|
-
return (0, common_1.UseInterceptors)(LanguageInterceptor);
|
|
73
|
-
}
|
|
74
|
-
exports.UseLanguageInterceptor = UseLanguageInterceptor;
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
CallHandler,
|
|
3
|
-
ExecutionContext,
|
|
4
|
-
NestInterceptor,
|
|
5
|
-
} from '@nestjs/common';
|
|
6
|
-
import { Injectable, UseInterceptors } from '@nestjs/common';
|
|
7
|
-
import type { Observable } from 'rxjs';
|
|
8
|
-
|
|
9
|
-
import { LanguageCode } from '../constants';
|
|
10
|
-
import { ContextProvider } from '../providers';
|
|
11
|
-
|
|
12
|
-
@Injectable()
|
|
13
|
-
export class LanguageInterceptor implements NestInterceptor {
|
|
14
|
-
intercept(
|
|
15
|
-
context: ExecutionContext,
|
|
16
|
-
next: CallHandler,
|
|
17
|
-
): Observable<undefined> {
|
|
18
|
-
const request = context.switchToHttp().getRequest();
|
|
19
|
-
const language: string = request.headers['x-language-code'];
|
|
20
|
-
|
|
21
|
-
if (LanguageCode[language]) {
|
|
22
|
-
ContextProvider.setLanguage(language);
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
return next.handle();
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
export function UseLanguageInterceptor() {
|
|
30
|
-
return UseInterceptors(LanguageInterceptor);
|
|
31
|
-
}
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
|
3
|
-
function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
|
|
4
|
-
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
|
5
|
-
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
|
|
6
|
-
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
|
|
7
|
-
var _, done = false;
|
|
8
|
-
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
9
|
-
var context = {};
|
|
10
|
-
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
|
|
11
|
-
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
|
|
12
|
-
context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
|
|
13
|
-
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
|
|
14
|
-
if (kind === "accessor") {
|
|
15
|
-
if (result === void 0) continue;
|
|
16
|
-
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
|
|
17
|
-
if (_ = accept(result.get)) descriptor.get = _;
|
|
18
|
-
if (_ = accept(result.set)) descriptor.set = _;
|
|
19
|
-
if (_ = accept(result.init)) initializers.unshift(_);
|
|
20
|
-
}
|
|
21
|
-
else if (_ = accept(result)) {
|
|
22
|
-
if (kind === "field") initializers.unshift(_);
|
|
23
|
-
else descriptor[key] = _;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
|
27
|
-
done = true;
|
|
28
|
-
};
|
|
29
|
-
var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
|
|
30
|
-
var useValue = arguments.length > 2;
|
|
31
|
-
for (var i = 0; i < initializers.length; i++) {
|
|
32
|
-
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
|
33
|
-
}
|
|
34
|
-
return useValue ? value : void 0;
|
|
35
|
-
};
|
|
36
|
-
var __setFunctionName = (this && this.__setFunctionName) || function (f, name, prefix) {
|
|
37
|
-
if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : "";
|
|
38
|
-
return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name });
|
|
39
|
-
};
|
|
40
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
41
|
-
exports.TranslationInterceptor = void 0;
|
|
42
|
-
const common_1 = require("@nestjs/common");
|
|
43
|
-
const operators_1 = require("rxjs/operators");
|
|
44
|
-
// import { TranslationService } from '../shared/services/translation.service';
|
|
45
|
-
// FIXME: add implementation
|
|
46
|
-
let TranslationInterceptor = (() => {
|
|
47
|
-
let _classDecorators = [(0, common_1.Injectable)()];
|
|
48
|
-
let _classDescriptor;
|
|
49
|
-
let _classExtraInitializers = [];
|
|
50
|
-
let _classThis;
|
|
51
|
-
var TranslationInterceptor = _classThis = class {
|
|
52
|
-
// constructor(private readonly translationService: TranslationService) {}
|
|
53
|
-
intercept(context, next) {
|
|
54
|
-
const ctx = context.switchToHttp();
|
|
55
|
-
const req = ctx.getRequest();
|
|
56
|
-
const res = ctx.getResponse();
|
|
57
|
-
return next.handle().pipe((0, operators_1.map)((data) => {
|
|
58
|
-
// const newData = this.translationService.translateNecessaryKeys(data);
|
|
59
|
-
// status 201 => 200
|
|
60
|
-
if (res.statusCode === common_1.HttpStatus.CREATED) {
|
|
61
|
-
res.status(common_1.HttpStatus.OK);
|
|
62
|
-
}
|
|
63
|
-
return {
|
|
64
|
-
code: 200,
|
|
65
|
-
data,
|
|
66
|
-
msg: 'success',
|
|
67
|
-
requestId: req.id,
|
|
68
|
-
timestamp: new Date().toISOString(),
|
|
69
|
-
};
|
|
70
|
-
}));
|
|
71
|
-
}
|
|
72
|
-
};
|
|
73
|
-
__setFunctionName(_classThis, "TranslationInterceptor");
|
|
74
|
-
(() => {
|
|
75
|
-
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
|
|
76
|
-
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
77
|
-
TranslationInterceptor = _classThis = _classDescriptor.value;
|
|
78
|
-
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
79
|
-
__runInitializers(_classThis, _classExtraInitializers);
|
|
80
|
-
})();
|
|
81
|
-
return TranslationInterceptor = _classThis;
|
|
82
|
-
})();
|
|
83
|
-
exports.TranslationInterceptor = TranslationInterceptor;
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
CallHandler,
|
|
3
|
-
ExecutionContext,
|
|
4
|
-
NestInterceptor,
|
|
5
|
-
} from '@nestjs/common';
|
|
6
|
-
import { HttpStatus, Injectable } from '@nestjs/common';
|
|
7
|
-
import type { Observable } from 'rxjs';
|
|
8
|
-
import { map } from 'rxjs/operators';
|
|
9
|
-
import { Request } from 'express';
|
|
10
|
-
// import { TranslationService } from '../shared/services/translation.service';
|
|
11
|
-
|
|
12
|
-
// FIXME: add implementation
|
|
13
|
-
@Injectable()
|
|
14
|
-
export class TranslationInterceptor implements NestInterceptor {
|
|
15
|
-
// constructor(private readonly translationService: TranslationService) {}
|
|
16
|
-
|
|
17
|
-
public intercept(
|
|
18
|
-
context: ExecutionContext,
|
|
19
|
-
next: CallHandler,
|
|
20
|
-
): Observable<any> {
|
|
21
|
-
const ctx = context.switchToHttp();
|
|
22
|
-
const req: Request = ctx.getRequest();
|
|
23
|
-
const res = ctx.getResponse();
|
|
24
|
-
return next.handle().pipe(
|
|
25
|
-
map((data) => {
|
|
26
|
-
// const newData = this.translationService.translateNecessaryKeys(data);
|
|
27
|
-
|
|
28
|
-
// status 201 => 200
|
|
29
|
-
if (res.statusCode === HttpStatus.CREATED) {
|
|
30
|
-
res.status(HttpStatus.OK);
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
return {
|
|
34
|
-
code: 200,
|
|
35
|
-
data,
|
|
36
|
-
msg: 'success',
|
|
37
|
-
requestId: req.id,
|
|
38
|
-
timestamp: new Date().toISOString(),
|
|
39
|
-
};
|
|
40
|
-
}),
|
|
41
|
-
);
|
|
42
|
-
}
|
|
43
|
-
}
|
package/src/interfaces/IFile.ts
DELETED
package/src/interfaces/index.ts
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
export type TExceptionOption =
|
|
2
|
-
| string
|
|
3
|
-
| {
|
|
4
|
-
code: number;
|
|
5
|
-
msg: string;
|
|
6
|
-
error?: any;
|
|
7
|
-
};
|
|
8
|
-
|
|
9
|
-
// 分页数据
|
|
10
|
-
export interface IHttpResultPaginate<T> {
|
|
11
|
-
list: T;
|
|
12
|
-
total: number;
|
|
13
|
-
page: number;
|
|
14
|
-
pageCount: number;
|
|
15
|
-
count: number;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
// HTTP 状态返回
|
|
19
|
-
export interface IHttpResponseBase {
|
|
20
|
-
code: number;
|
|
21
|
-
msg: string;
|
|
22
|
-
timestamp: string;
|
|
23
|
-
requestId: string;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
// HTTP error
|
|
27
|
-
export type THttpErrorResponse = IHttpResponseBase & {
|
|
28
|
-
error: any;
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
// HTTP success
|
|
32
|
-
export type THttpSuccessResponse<T> = IHttpResponseBase & {
|
|
33
|
-
data: T | IHttpResultPaginate<T>;
|
|
34
|
-
};
|
|
35
|
-
|
|
36
|
-
// HTTP Response
|
|
37
|
-
export type THttpResponse<T> = THttpErrorResponse | THttpSuccessResponse<T>;
|
package/src/middlewares/index.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { getOmniAuthData } from '../decorators/omni-auth.decorator';
|
|
2
|
-
import { ContextProvider } from '../providers';
|
|
3
|
-
|
|
4
|
-
export const OmniAuthMiddleware = () => {
|
|
5
|
-
return (req, res, next) => {
|
|
6
|
-
req.user = getOmniAuthData(req);
|
|
7
|
-
ContextProvider.setAuthUser(req.user);
|
|
8
|
-
next();
|
|
9
|
-
};
|
|
10
|
-
};
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { NextFunction, Request, Response } from 'express';
|
|
2
|
-
import { v4 as uuidv4 } from 'uuid';
|
|
3
|
-
import { ContextProvider } from '../providers';
|
|
4
|
-
|
|
5
|
-
export interface RequestIdConfig {
|
|
6
|
-
header: string;
|
|
7
|
-
idGenerator: () => string;
|
|
8
|
-
setHeader: boolean;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
export const RequestIdMiddleware = (
|
|
12
|
-
config: RequestIdConfig = {
|
|
13
|
-
header: 'x-request-id',
|
|
14
|
-
idGenerator: uuidv4,
|
|
15
|
-
setHeader: true,
|
|
16
|
-
},
|
|
17
|
-
) => {
|
|
18
|
-
return (req: Request, res: Response, next: NextFunction) => {
|
|
19
|
-
const requestId = req.header(config.header) || config.idGenerator();
|
|
20
|
-
req.headers[config.header] = requestId;
|
|
21
|
-
req.id = requestId;
|
|
22
|
-
ContextProvider.setRequestId(requestId);
|
|
23
|
-
if (config.setHeader) {
|
|
24
|
-
res.set(config.header, requestId);
|
|
25
|
-
}
|
|
26
|
-
next();
|
|
27
|
-
};
|
|
28
|
-
};
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
import { ClsServiceManager } from 'nestjs-cls';
|
|
2
|
-
import { IOmniAuth } from '../decorators/omni-auth.decorator';
|
|
3
|
-
|
|
4
|
-
export class ContextProvider {
|
|
5
|
-
private static readonly nameSpace = 'request';
|
|
6
|
-
|
|
7
|
-
private static readonly authUserKey = 'user_key';
|
|
8
|
-
|
|
9
|
-
private static readonly routerKey = 'router_key';
|
|
10
|
-
|
|
11
|
-
private static readonly languageKey = 'language_key';
|
|
12
|
-
|
|
13
|
-
private static readonly requestKey = 'request_key';
|
|
14
|
-
|
|
15
|
-
private static get<T>(key: string) {
|
|
16
|
-
const store = ClsServiceManager.getClsService();
|
|
17
|
-
|
|
18
|
-
return store.get<T>(ContextProvider.getKeyWithNamespace(key));
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
22
|
-
private static set(key: string, value: any): void {
|
|
23
|
-
const store = ClsServiceManager.getClsService();
|
|
24
|
-
|
|
25
|
-
store.set(ContextProvider.getKeyWithNamespace(key), value);
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
private static getKeyWithNamespace(key: string): string {
|
|
29
|
-
return `${ContextProvider.nameSpace}.${key}`;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
static setRouter(user: any): void {
|
|
33
|
-
ContextProvider.set(ContextProvider.routerKey, user);
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
static getCanLog(): boolean {
|
|
37
|
-
return ContextProvider.getRouter().canLog;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
static getRouter(): {
|
|
41
|
-
action: { feature: string; action: string };
|
|
42
|
-
id: string;
|
|
43
|
-
method: object;
|
|
44
|
-
ip: string;
|
|
45
|
-
canLog: boolean;
|
|
46
|
-
} {
|
|
47
|
-
const value = ContextProvider.get(ContextProvider.routerKey);
|
|
48
|
-
if (value) {
|
|
49
|
-
// @ts-ignore
|
|
50
|
-
return value;
|
|
51
|
-
}
|
|
52
|
-
return {
|
|
53
|
-
action: { feature: '', action: '' },
|
|
54
|
-
id: '',
|
|
55
|
-
method: {},
|
|
56
|
-
ip: '',
|
|
57
|
-
canLog: false,
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
static setRequestId(id: string): void {
|
|
62
|
-
ContextProvider.set(ContextProvider.requestKey, id);
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
static getRequestId(): string {
|
|
66
|
-
return ContextProvider.get(ContextProvider.requestKey);
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
static setAuthUser(user: IOmniAuth): void {
|
|
70
|
-
ContextProvider.set(ContextProvider.authUserKey, user);
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
static setLanguage(language: string): void {
|
|
74
|
-
ContextProvider.set(ContextProvider.languageKey, language);
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
static getLanguage(): string {
|
|
78
|
-
return ContextProvider.get(ContextProvider.languageKey);
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
static getAuthUserField<T extends keyof IOmniAuth>(field: T): IOmniAuth[T] {
|
|
82
|
-
const auth: IOmniAuth =
|
|
83
|
-
ContextProvider.get(ContextProvider.authUserKey) ?? ({} as IOmniAuth);
|
|
84
|
-
return auth[field];
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
static getAuthUser(): IOmniAuth {
|
|
88
|
-
return ContextProvider.get(ContextProvider.authUserKey);
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
static getAppId(): string {
|
|
92
|
-
return ContextProvider.getAuthUserField('appId');
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
static getTenantId(): string {
|
|
96
|
-
return ContextProvider.getAuthUserField('tenantId');
|
|
97
|
-
}
|
|
98
|
-
}
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import { v1 as uuid } from 'uuid';
|
|
2
|
-
|
|
3
|
-
export class GeneratorProvider {
|
|
4
|
-
static uuid(): string {
|
|
5
|
-
return uuid();
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
static fileName(ext: string): string {
|
|
9
|
-
return GeneratorProvider.uuid() + '.' + ext;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
static getS3PublicUrl(key: string): string {
|
|
13
|
-
if (!key) {
|
|
14
|
-
throw new TypeError('key is required');
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
return `https://s3.${process.env.AWS_S3_BUCKET_NAME_REGION}.amazonaws.com/${process.env.AWS_S3_BUCKET_NAME}/${key}`;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
static getS3Key(publicUrl: string): string {
|
|
21
|
-
if (!publicUrl) {
|
|
22
|
-
throw new TypeError('key is required');
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
const exec = new RegExp(
|
|
26
|
-
`(?<=https://s3.${process.env.AWS_S3_BUCKET_NAME_REGION}.amazonaws.com/${process.env.AWS_S3_BUCKET_NAME}/).*`,
|
|
27
|
-
).exec(publicUrl);
|
|
28
|
-
|
|
29
|
-
if (!exec) {
|
|
30
|
-
throw new TypeError('publicUrl is invalid');
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
return exec[0];
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
static generateVerificationCode(): string {
|
|
37
|
-
return Math.floor(1000 + Math.random() * 9000).toString();
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
static generatePassword(): string {
|
|
41
|
-
const lowercase = 'abcdefghijklmnopqrstuvwxyz';
|
|
42
|
-
const uppercase = lowercase.toUpperCase();
|
|
43
|
-
const numbers = '0123456789';
|
|
44
|
-
|
|
45
|
-
let text = '';
|
|
46
|
-
|
|
47
|
-
for (let i = 0; i < 12; i++) {
|
|
48
|
-
text += uppercase.charAt(Math.floor(Math.random() * uppercase.length));
|
|
49
|
-
text += lowercase.charAt(Math.floor(Math.random() * lowercase.length));
|
|
50
|
-
text += numbers.charAt(Math.floor(Math.random() * numbers.length));
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
return text;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
/**
|
|
57
|
-
* generate random string
|
|
58
|
-
* @param length
|
|
59
|
-
*/
|
|
60
|
-
static generateRandomString(length: number): string {
|
|
61
|
-
return Math.random()
|
|
62
|
-
.toString(36)
|
|
63
|
-
.replace(/[^\dA-Za-z]+/g, '')
|
|
64
|
-
.slice(0, Math.max(0, length));
|
|
65
|
-
}
|
|
66
|
-
}
|
package/src/providers/index.ts
DELETED