@koalarx/nest 1.18.21 → 3.0.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/CHANGELOG.md +15 -0
- package/package.json +5 -36
- package/src/core/backgroud-services/cron-service/cron-job.handler.base.ts +66 -0
- package/src/core/backgroud-services/cron-service/cron-job.handler.spec.ts +38 -0
- package/src/core/backgroud-services/event-service/event-class.ts +5 -0
- package/src/core/backgroud-services/event-service/event-handler.base.ts +17 -0
- package/src/core/backgroud-services/event-service/event-is-trigger.ts +3 -0
- package/src/core/backgroud-services/event-service/event-job.ts +28 -0
- package/src/core/backgroud-services/event-service/event-queue.spec.ts +47 -0
- package/src/core/backgroud-services/event-service/event-queue.ts +107 -0
- package/src/core/constants/query-params.ts +7 -0
- package/src/core/controllers/base.controller.ts +9 -0
- package/src/core/controllers/controller.decorator.ts +10 -0
- package/src/core/controllers/created-registre-response.base.ts +17 -0
- package/src/core/controllers/list-response.base.ts +8 -0
- package/src/core/controllers/pagination.request.ts +41 -0
- package/src/core/controllers/router-config.base.ts +14 -0
- package/src/core/controllers/schemas/boolean.schema.ts +10 -0
- package/src/core/controllers/schemas/document-number.schema.ts +23 -0
- package/src/core/controllers/schemas/email.schema.ts +13 -0
- package/src/core/controllers/schemas/list-query.schema.ts +17 -0
- package/src/core/controllers/schemas/native-enum.schema.ts +34 -0
- package/src/core/controllers/schemas/set-mask-document-number.schema.ts +13 -0
- package/src/core/database/entity.base.ts +95 -0
- package/src/core/database/entity.decorator.spec.ts +71 -0
- package/src/core/database/entity.decorator.ts +39 -0
- package/src/core/database/prisma-client-with-custom-transaction.interface.ts +13 -0
- package/src/core/database/prisma-resolver.ts +99 -0
- package/src/core/database/prisma-transactional-client.ts +43 -0
- package/src/core/database/prisma.service.ts +136 -0
- package/src/core/database/repository.base.ts +548 -0
- package/src/core/dtos/pagination.dto.ts +35 -0
- package/src/core/errors/bad-request.error.ts +8 -0
- package/src/core/errors/conflict.error.ts +7 -0
- package/src/core/errors/error.base.ts +5 -0
- package/src/core/errors/no-content.error.ts +8 -0
- package/src/core/errors/not-allowed.error.ts +8 -0
- package/src/core/errors/resource-not-found.error.ts +8 -0
- package/{core/errors/use-case-error.d.ts → src/core/errors/use-case-error.ts} +1 -1
- package/src/core/errors/user-already-exist.error.ts +7 -0
- package/src/core/errors/wrong-credentials.error.ts +7 -0
- package/src/core/health-check/health-check.controller.ts +13 -0
- package/src/core/health-check/health-check.module.ts +7 -0
- package/src/core/index.ts +56 -0
- package/src/core/koala-app.ts +379 -0
- package/src/core/koala-global-vars.ts +8 -0
- package/src/core/koala-nest-database.module.ts +65 -0
- package/src/core/koala-nest-http.module.ts +44 -0
- package/src/core/koala-nest.module.ts +67 -0
- package/src/core/mapping/auto-mapping-class-context.ts +28 -0
- package/src/core/mapping/auto-mapping-context.ts +26 -0
- package/src/core/mapping/auto-mapping-list.ts +154 -0
- package/src/core/mapping/auto-mapping-profile.ts +3 -0
- package/src/core/mapping/auto-mapping.decorator.ts +54 -0
- package/src/core/mapping/auto-mapping.module.ts +17 -0
- package/src/core/mapping/auto-mapping.service.ts +187 -0
- package/src/core/mapping/create-map.ts +11 -0
- package/src/core/mapping/for-member.ts +16 -0
- package/src/core/request-overflow/request-handler.base.ts +8 -0
- package/src/core/request-overflow/request-result.spec.ts +23 -0
- package/src/core/request-overflow/request-result.ts +41 -0
- package/src/core/request-overflow/request-validator.base.ts +33 -0
- package/src/core/security/strategies/api-key.strategy.ts +45 -0
- package/src/core/utils/assing-object.ts +9 -0
- package/src/core/utils/env.config.ts +17 -0
- package/src/core/utils/filter-request-params.ts +23 -0
- package/src/core/utils/find-on-list.ts +18 -0
- package/src/core/utils/get-type-by-prop.ts +9 -0
- package/src/core/utils/instanciate-class-with-dependencies-injection.ts +12 -0
- package/src/core/utils/interfaces/icomparable.ts +6 -0
- package/src/core/utils/list.spec.ts +81 -0
- package/src/core/utils/list.ts +223 -0
- package/src/core/utils/promise-all.ts +24 -0
- package/src/core/utils/set-mask-document-number.ts +13 -0
- package/src/core/validators/file-validator.ts +113 -0
- package/src/decorators/api-exclude-endpoint-diff-develop.decorator.ts +15 -0
- package/src/decorators/api-property-enum.decorator.ts +58 -0
- package/src/decorators/api-property-only-develop.decorator.ts +6 -0
- package/src/decorators/cookies.decorator.ts +8 -0
- package/src/decorators/is-public.decorator.ts +5 -0
- package/src/decorators/upload.decorator.ts +31 -0
- package/src/env/env.module.ts +8 -0
- package/src/env/env.service.ts +12 -0
- package/src/env/env.ts +14 -0
- package/src/filters/domain-errors.filter.ts +97 -0
- package/src/filters/global-exception.filter.ts +60 -0
- package/src/filters/prisma-validation-exception.filter.ts +73 -0
- package/src/filters/zod-errors.filter.ts +48 -0
- package/src/services/logging/ilogging.service.ts +17 -0
- package/src/services/logging/logging.service.ts +10 -0
- package/src/services/redis/iredis.service.ts +11 -0
- package/src/services/redis/redis.service.ts +70 -0
- package/src/services/redlock/ired-lock.service.ts +4 -0
- package/src/services/redlock/red-lock.service.ts +36 -0
- package/src/test/koala-app-test-dependencies.ts +15 -0
- package/src/test/koala-app-test.ts +103 -0
- package/src/test/repositories/in-memory-base.repository.ts +90 -0
- package/src/test/services/fake-logging.service.ts +7 -0
- package/src/test/services/fake-red-lock.service.ts +11 -0
- package/src/test/utils/create-e2e-database.ts +55 -0
- package/src/test/utils/drop-e2e-database.ts +36 -0
- package/src/test/utils/wait-for.ts +31 -0
- package/tsconfig.lib.json +11 -0
- package/LICENSE +0 -21
- package/README.md +0 -485
- package/core/backgroud-services/cron-service/cron-job.handler.base.d.ts +0 -16
- package/core/backgroud-services/cron-service/cron-job.handler.base.js +0 -49
- package/core/backgroud-services/event-service/event-class.d.ts +0 -5
- package/core/backgroud-services/event-service/event-class.js +0 -11
- package/core/backgroud-services/event-service/event-handler.base.d.ts +0 -8
- package/core/backgroud-services/event-service/event-handler.base.js +0 -14
- package/core/backgroud-services/event-service/event-is-trigger.d.ts +0 -3
- package/core/backgroud-services/event-service/event-is-trigger.js +0 -7
- package/core/backgroud-services/event-service/event-job.d.ts +0 -13
- package/core/backgroud-services/event-service/event-job.js +0 -21
- package/core/backgroud-services/event-service/event-queue.d.ts +0 -17
- package/core/backgroud-services/event-service/event-queue.js +0 -62
- package/core/constants/query-params.d.ts +0 -6
- package/core/constants/query-params.js +0 -8
- package/core/controllers/base.controller.d.ts +0 -4
- package/core/controllers/base.controller.js +0 -6
- package/core/controllers/controller.decorator.d.ts +0 -2
- package/core/controllers/controller.decorator.js +0 -11
- package/core/controllers/created-registre-response.base.d.ts +0 -10
- package/core/controllers/created-registre-response.base.js +0 -35
- package/core/controllers/list-response.base.d.ts +0 -4
- package/core/controllers/list-response.base.js +0 -21
- package/core/controllers/pagination.request.d.ts +0 -10
- package/core/controllers/pagination.request.js +0 -56
- package/core/controllers/router-config.base.d.ts +0 -7
- package/core/controllers/router-config.base.js +0 -18
- package/core/controllers/schemas/boolean.schema.d.ts +0 -2
- package/core/controllers/schemas/boolean.schema.js +0 -12
- package/core/controllers/schemas/document-number.schema.d.ts +0 -1
- package/core/controllers/schemas/document-number.schema.js +0 -26
- package/core/controllers/schemas/email.schema.d.ts +0 -1
- package/core/controllers/schemas/email.schema.js +0 -13
- package/core/controllers/schemas/list-query.schema.d.ts +0 -17
- package/core/controllers/schemas/list-query.schema.js +0 -19
- package/core/controllers/schemas/native-enum.schema.d.ts +0 -7
- package/core/controllers/schemas/native-enum.schema.js +0 -28
- package/core/controllers/schemas/set-mask-document-number.schema.d.ts +0 -1
- package/core/controllers/schemas/set-mask-document-number.schema.js +0 -13
- package/core/database/entity.base.d.ts +0 -20
- package/core/database/entity.base.js +0 -71
- package/core/database/entity.decorator.d.ts +0 -13
- package/core/database/entity.decorator.js +0 -23
- package/core/database/prisma-client-with-custom-transaction.interface.d.ts +0 -8
- package/core/database/prisma-client-with-custom-transaction.interface.js +0 -2
- package/core/database/prisma-resolver.d.ts +0 -2
- package/core/database/prisma-resolver.js +0 -74
- package/core/database/prisma-transactional-client.d.ts +0 -11
- package/core/database/prisma-transactional-client.js +0 -25
- package/core/database/prisma.service.d.ts +0 -24
- package/core/database/prisma.service.js +0 -104
- package/core/database/repository.base.d.ts +0 -44
- package/core/database/repository.base.js +0 -360
- package/core/dtos/pagination.dto.d.ts +0 -9
- package/core/dtos/pagination.dto.js +0 -49
- package/core/errors/bad-request.error.d.ts +0 -5
- package/core/errors/bad-request.error.js +0 -10
- package/core/errors/conflict.error.d.ts +0 -4
- package/core/errors/conflict.error.js +0 -10
- package/core/errors/error.base.d.ts +0 -4
- package/core/errors/error.base.js +0 -11
- package/core/errors/no-content.error.d.ts +0 -5
- package/core/errors/no-content.error.js +0 -10
- package/core/errors/not-allowed.error.d.ts +0 -5
- package/core/errors/not-allowed.error.js +0 -10
- package/core/errors/resource-not-found.error.d.ts +0 -5
- package/core/errors/resource-not-found.error.js +0 -10
- package/core/errors/use-case-error.js +0 -2
- package/core/errors/user-already-exist.error.d.ts +0 -4
- package/core/errors/user-already-exist.error.js +0 -10
- package/core/errors/wrong-credentials.error.d.ts +0 -4
- package/core/errors/wrong-credentials.error.js +0 -10
- package/core/health-check/health-check.controller.d.ts +0 -5
- package/core/health-check/health-check.controller.js +0 -32
- package/core/health-check/health-check.module.d.ts +0 -2
- package/core/health-check/health-check.module.js +0 -19
- package/core/index.d.ts +0 -18
- package/core/index.js +0 -7
- package/core/koala-app.d.ts +0 -64
- package/core/koala-app.js +0 -252
- package/core/koala-global-vars.d.ts +0 -7
- package/core/koala-global-vars.js +0 -9
- package/core/koala-nest-database.module.d.ts +0 -16
- package/core/koala-nest-database.module.js +0 -52
- package/core/koala-nest-http.module.d.ts +0 -13
- package/core/koala-nest-http.module.js +0 -37
- package/core/koala-nest.module.d.ts +0 -17
- package/core/koala-nest.module.js +0 -66
- package/core/mapping/auto-mapping-class-context.d.ts +0 -16
- package/core/mapping/auto-mapping-class-context.js +0 -18
- package/core/mapping/auto-mapping-context.d.ts +0 -11
- package/core/mapping/auto-mapping-context.js +0 -24
- package/core/mapping/auto-mapping-list.d.ts +0 -27
- package/core/mapping/auto-mapping-list.js +0 -94
- package/core/mapping/auto-mapping-profile.d.ts +0 -3
- package/core/mapping/auto-mapping-profile.js +0 -6
- package/core/mapping/auto-mapping.decorator.d.ts +0 -9
- package/core/mapping/auto-mapping.decorator.js +0 -27
- package/core/mapping/auto-mapping.module.d.ts +0 -5
- package/core/mapping/auto-mapping.module.js +0 -29
- package/core/mapping/auto-mapping.service.d.ts +0 -14
- package/core/mapping/auto-mapping.service.js +0 -140
- package/core/mapping/create-map.d.ts +0 -3
- package/core/mapping/create-map.js +0 -7
- package/core/mapping/for-member.d.ts +0 -5
- package/core/mapping/for-member.js +0 -8
- package/core/request-overflow/request-handler.base.d.ts +0 -4
- package/core/request-overflow/request-handler.base.js +0 -6
- package/core/request-overflow/request-result.d.ts +0 -15
- package/core/request-overflow/request-result.js +0 -37
- package/core/request-overflow/request-validator.base.d.ts +0 -7
- package/core/request-overflow/request-validator.base.js +0 -26
- package/core/security/strategies/api-key.strategy.d.ts +0 -16
- package/core/security/strategies/api-key.strategy.js +0 -31
- package/core/utils/assing-object.d.ts +0 -5
- package/core/utils/assing-object.js +0 -6
- package/core/utils/env.config.d.ts +0 -6
- package/core/utils/env.config.js +0 -18
- package/core/utils/filter-request-params.d.ts +0 -13
- package/core/utils/filter-request-params.js +0 -22
- package/core/utils/find-on-list.d.ts +0 -2
- package/core/utils/find-on-list.js +0 -13
- package/core/utils/get-type-by-prop.d.ts +0 -2
- package/core/utils/get-type-by-prop.js +0 -11
- package/core/utils/instanciate-class-with-dependencies-injection.d.ts +0 -2
- package/core/utils/instanciate-class-with-dependencies-injection.js +0 -10
- package/core/utils/interfaces/icomparable.d.ts +0 -5
- package/core/utils/interfaces/icomparable.js +0 -6
- package/core/utils/list.d.ts +0 -39
- package/core/utils/list.js +0 -168
- package/core/utils/promise-all.d.ts +0 -7
- package/core/utils/promise-all.js +0 -19
- package/core/utils/set-mask-document-number.d.ts +0 -1
- package/core/utils/set-mask-document-number.js +0 -13
- package/core/validators/file-validator.d.ts +0 -27
- package/core/validators/file-validator.js +0 -94
- package/decorators/api-exclude-endpoint-diff-develop.decorator.d.ts +0 -1
- package/decorators/api-exclude-endpoint-diff-develop.decorator.js +0 -9
- package/decorators/api-property-enum.decorator.d.ts +0 -8
- package/decorators/api-property-enum.decorator.js +0 -21
- package/decorators/api-property-only-develop.decorator.d.ts +0 -2
- package/decorators/api-property-only-develop.decorator.js +0 -9
- package/decorators/cookies.decorator.d.ts +0 -1
- package/decorators/cookies.decorator.js +0 -8
- package/decorators/is-public.decorator.d.ts +0 -2
- package/decorators/is-public.decorator.js +0 -7
- package/decorators/upload.decorator.d.ts +0 -1
- package/decorators/upload.decorator.js +0 -18
- package/env/env.d.ts +0 -25
- package/env/env.js +0 -14
- package/env/env.module.d.ts +0 -2
- package/env/env.module.js +0 -20
- package/env/env.service.d.ts +0 -7
- package/env/env.service.js +0 -28
- package/filters/domain-errors.filter.d.ts +0 -18
- package/filters/domain-errors.filter.js +0 -92
- package/filters/global-exception.filter.d.ts +0 -8
- package/filters/global-exception.filter.js +0 -68
- package/filters/prisma-validation-exception.filter.d.ts +0 -10
- package/filters/prisma-validation-exception.filter.js +0 -82
- package/filters/zod-errors.filter.d.ts +0 -9
- package/filters/zod-errors.filter.js +0 -60
- package/services/logging/ilogging.service.d.ts +0 -16
- package/services/logging/ilogging.service.js +0 -6
- package/services/logging/logging.service.d.ts +0 -4
- package/services/logging/logging.service.js +0 -20
- package/services/redis/iredis.service.d.ts +0 -6
- package/services/redis/iredis.service.js +0 -6
- package/services/redis/redis.service.d.ts +0 -14
- package/services/redis/redis.service.js +0 -65
- package/services/redlock/ired-lock.service.d.ts +0 -4
- package/services/redlock/ired-lock.service.js +0 -6
- package/services/redlock/red-lock.service.d.ts +0 -9
- package/services/redlock/red-lock.service.js +0 -46
- package/test/koala-app-test-dependencies.d.ts +0 -10
- package/test/koala-app-test-dependencies.js +0 -13
- package/test/koala-app-test.d.ts +0 -22
- package/test/koala-app-test.js +0 -77
- package/test/repositories/in-memory-base.repository.d.ts +0 -17
- package/test/repositories/in-memory-base.repository.js +0 -65
- package/test/services/fake-logging.service.d.ts +0 -4
- package/test/services/fake-logging.service.js +0 -9
- package/test/services/fake-red-lock.service.d.ts +0 -5
- package/test/services/fake-red-lock.service.js +0 -11
- package/test/utils/create-e2e-database.d.ts +0 -2
- package/test/utils/create-e2e-database.js +0 -47
- package/test/utils/drop-e2e-database.d.ts +0 -2
- package/test/utils/drop-e2e-database.js +0 -33
- package/test/utils/wait-for.d.ts +0 -1
- package/test/utils/wait-for.js +0 -21
- package/tsconfig.lib.tsbuildinfo +0 -1
|
@@ -1,92 +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
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.DomainErrorsFilter = void 0;
|
|
13
|
-
const common_1 = require("@nestjs/common");
|
|
14
|
-
const core_1 = require("@nestjs/core");
|
|
15
|
-
const bad_request_error_1 = require("../core/errors/bad-request.error");
|
|
16
|
-
const conflict_error_1 = require("../core/errors/conflict.error");
|
|
17
|
-
const no_content_error_1 = require("../core/errors/no-content.error");
|
|
18
|
-
const not_allowed_error_1 = require("../core/errors/not-allowed.error");
|
|
19
|
-
const resource_not_found_error_1 = require("../core/errors/resource-not-found.error");
|
|
20
|
-
const user_already_exist_error_1 = require("../core/errors/user-already-exist.error");
|
|
21
|
-
const wrong_credentials_error_1 = require("../core/errors/wrong-credentials.error");
|
|
22
|
-
const koala_global_vars_1 = require("../core/koala-global-vars");
|
|
23
|
-
const env_config_1 = require("../core/utils/env.config");
|
|
24
|
-
const filter_request_params_1 = require("../core/utils/filter-request-params");
|
|
25
|
-
const ilogging_service_1 = require("../services/logging/ilogging.service");
|
|
26
|
-
let DomainErrorsFilter = class DomainErrorsFilter extends core_1.BaseExceptionFilter {
|
|
27
|
-
loggingService;
|
|
28
|
-
constructor(loggingService) {
|
|
29
|
-
super();
|
|
30
|
-
this.loggingService = loggingService;
|
|
31
|
-
}
|
|
32
|
-
catch(exception, host) {
|
|
33
|
-
const mappedException = this.map(exception);
|
|
34
|
-
const filterRequestParams = filter_request_params_1.FilterRequestParams.get(host);
|
|
35
|
-
if (mappedException.statusCode !== common_1.HttpStatus.UNAUTHORIZED) {
|
|
36
|
-
if (!env_config_1.EnvConfig.isEnvTest) {
|
|
37
|
-
this.loggingService
|
|
38
|
-
.report({
|
|
39
|
-
error: exception,
|
|
40
|
-
packageName: koala_global_vars_1.KoalaGlobalVars.appName,
|
|
41
|
-
loggedUsername: filterRequestParams.loggedUserName,
|
|
42
|
-
httpRequest: {
|
|
43
|
-
...filterRequestParams.filterParams,
|
|
44
|
-
statusCode: mappedException.statusCode,
|
|
45
|
-
response: mappedException,
|
|
46
|
-
},
|
|
47
|
-
})
|
|
48
|
-
.catch((err) => console.error(err));
|
|
49
|
-
}
|
|
50
|
-
else {
|
|
51
|
-
console.error(exception);
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
return filterRequestParams.response
|
|
55
|
-
.status(mappedException.statusCode)
|
|
56
|
-
.json(mappedException);
|
|
57
|
-
}
|
|
58
|
-
map(exception) {
|
|
59
|
-
const mappedException = {
|
|
60
|
-
statusCode: common_1.HttpStatus.INTERNAL_SERVER_ERROR,
|
|
61
|
-
message: exception.message,
|
|
62
|
-
data: exception.data,
|
|
63
|
-
};
|
|
64
|
-
switch (exception.constructor) {
|
|
65
|
-
case user_already_exist_error_1.UserAlreadyExist:
|
|
66
|
-
case not_allowed_error_1.NotAllowedError:
|
|
67
|
-
case bad_request_error_1.BadRequestError:
|
|
68
|
-
mappedException.statusCode = common_1.HttpStatus.BAD_REQUEST;
|
|
69
|
-
break;
|
|
70
|
-
case resource_not_found_error_1.ResourceNotFoundError:
|
|
71
|
-
mappedException.statusCode = common_1.HttpStatus.NOT_FOUND;
|
|
72
|
-
break;
|
|
73
|
-
case wrong_credentials_error_1.WrongCredentialsError:
|
|
74
|
-
mappedException.statusCode = common_1.HttpStatus.UNAUTHORIZED;
|
|
75
|
-
break;
|
|
76
|
-
case conflict_error_1.ConflictError:
|
|
77
|
-
mappedException.statusCode = common_1.HttpStatus.CONFLICT;
|
|
78
|
-
break;
|
|
79
|
-
case no_content_error_1.NoContentError:
|
|
80
|
-
mappedException.statusCode = common_1.HttpStatus.NO_CONTENT;
|
|
81
|
-
break;
|
|
82
|
-
default:
|
|
83
|
-
console.error(exception);
|
|
84
|
-
}
|
|
85
|
-
return mappedException;
|
|
86
|
-
}
|
|
87
|
-
};
|
|
88
|
-
exports.DomainErrorsFilter = DomainErrorsFilter;
|
|
89
|
-
exports.DomainErrorsFilter = DomainErrorsFilter = __decorate([
|
|
90
|
-
(0, common_1.Catch)(not_allowed_error_1.NotAllowedError, resource_not_found_error_1.ResourceNotFoundError, user_already_exist_error_1.UserAlreadyExist, wrong_credentials_error_1.WrongCredentialsError, conflict_error_1.ConflictError, bad_request_error_1.BadRequestError, no_content_error_1.NoContentError),
|
|
91
|
-
__metadata("design:paramtypes", [ilogging_service_1.ILoggingService])
|
|
92
|
-
], DomainErrorsFilter);
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { ArgumentsHost } from '@nestjs/common';
|
|
2
|
-
import { BaseExceptionFilter } from '@nestjs/core';
|
|
3
|
-
import { ILoggingService } from '../services/logging/ilogging.service';
|
|
4
|
-
export declare class GlobalExceptionsFilter extends BaseExceptionFilter {
|
|
5
|
-
private readonly loggingService;
|
|
6
|
-
constructor(loggingService: ILoggingService);
|
|
7
|
-
catch(exception: Error, host: ArgumentsHost): import("express").Response<any, Record<string, any>>;
|
|
8
|
-
}
|
|
@@ -1,68 +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
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.GlobalExceptionsFilter = void 0;
|
|
13
|
-
const common_1 = require("@nestjs/common");
|
|
14
|
-
const core_1 = require("@nestjs/core");
|
|
15
|
-
const node_http_1 = require("node:http");
|
|
16
|
-
const koala_global_vars_1 = require("../core/koala-global-vars");
|
|
17
|
-
const env_config_1 = require("../core/utils/env.config");
|
|
18
|
-
const filter_request_params_1 = require("../core/utils/filter-request-params");
|
|
19
|
-
const ilogging_service_1 = require("../services/logging/ilogging.service");
|
|
20
|
-
let GlobalExceptionsFilter = class GlobalExceptionsFilter extends core_1.BaseExceptionFilter {
|
|
21
|
-
loggingService;
|
|
22
|
-
constructor(loggingService) {
|
|
23
|
-
super();
|
|
24
|
-
this.loggingService = loggingService;
|
|
25
|
-
}
|
|
26
|
-
catch(exception, host) {
|
|
27
|
-
const filterRequestParams = filter_request_params_1.FilterRequestParams.get(host);
|
|
28
|
-
const request = host.getArgs().find((arg) => arg instanceof node_http_1.IncomingMessage) ?? null;
|
|
29
|
-
const statusCode = exception instanceof common_1.HttpException
|
|
30
|
-
? exception.getStatus()
|
|
31
|
-
: common_1.HttpStatus.INTERNAL_SERVER_ERROR;
|
|
32
|
-
const responseBody = exception instanceof common_1.HttpException
|
|
33
|
-
? exception.getResponse()
|
|
34
|
-
: {
|
|
35
|
-
statusCode,
|
|
36
|
-
timestamp: new Date().toISOString(),
|
|
37
|
-
path: filterRequestParams.filterParams.endpoint,
|
|
38
|
-
};
|
|
39
|
-
if (!exception.message?.includes('Cannot GET /socket.io') &&
|
|
40
|
-
!exception.message?.includes('Cannot GET /favicon.ico') &&
|
|
41
|
-
!['/'].includes(request?.url ?? '') &&
|
|
42
|
-
statusCode !== common_1.HttpStatus.UNAUTHORIZED) {
|
|
43
|
-
if (!env_config_1.EnvConfig.isEnvTest) {
|
|
44
|
-
this.loggingService
|
|
45
|
-
.report({
|
|
46
|
-
error: exception,
|
|
47
|
-
packageName: koala_global_vars_1.KoalaGlobalVars.appName,
|
|
48
|
-
loggedUsername: filterRequestParams.loggedUserName,
|
|
49
|
-
httpRequest: {
|
|
50
|
-
...filterRequestParams.filterParams,
|
|
51
|
-
statusCode,
|
|
52
|
-
response: responseBody,
|
|
53
|
-
},
|
|
54
|
-
})
|
|
55
|
-
.catch((err) => console.error(err));
|
|
56
|
-
}
|
|
57
|
-
else {
|
|
58
|
-
console.error(exception);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
return filterRequestParams.response.status(statusCode).json(responseBody);
|
|
62
|
-
}
|
|
63
|
-
};
|
|
64
|
-
exports.GlobalExceptionsFilter = GlobalExceptionsFilter;
|
|
65
|
-
exports.GlobalExceptionsFilter = GlobalExceptionsFilter = __decorate([
|
|
66
|
-
(0, common_1.Catch)(),
|
|
67
|
-
__metadata("design:paramtypes", [ilogging_service_1.ILoggingService])
|
|
68
|
-
], GlobalExceptionsFilter);
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { ArgumentsHost } from '@nestjs/common';
|
|
2
|
-
import { BaseExceptionFilter } from '@nestjs/core';
|
|
3
|
-
import { Prisma } from 'prisma/generated/client';
|
|
4
|
-
import { ILoggingService } from '../services/logging/ilogging.service';
|
|
5
|
-
export declare class PrismaValidationExceptionFilter extends BaseExceptionFilter {
|
|
6
|
-
private readonly loggingService;
|
|
7
|
-
constructor(loggingService: ILoggingService);
|
|
8
|
-
catch(exception: Prisma.PrismaClientKnownRequestError, host: ArgumentsHost): import("express").Response<any, Record<string, any>>;
|
|
9
|
-
private translate;
|
|
10
|
-
}
|
|
@@ -1,82 +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
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.PrismaValidationExceptionFilter = void 0;
|
|
13
|
-
const common_1 = require("@nestjs/common");
|
|
14
|
-
const core_1 = require("@nestjs/core");
|
|
15
|
-
const client_1 = require("../../../../prisma/generated/client");
|
|
16
|
-
const koala_global_vars_1 = require("../core/koala-global-vars");
|
|
17
|
-
const env_config_1 = require("../core/utils/env.config");
|
|
18
|
-
const filter_request_params_1 = require("../core/utils/filter-request-params");
|
|
19
|
-
const ilogging_service_1 = require("../services/logging/ilogging.service");
|
|
20
|
-
let PrismaValidationExceptionFilter = class PrismaValidationExceptionFilter extends core_1.BaseExceptionFilter {
|
|
21
|
-
loggingService;
|
|
22
|
-
constructor(loggingService) {
|
|
23
|
-
super();
|
|
24
|
-
this.loggingService = loggingService;
|
|
25
|
-
}
|
|
26
|
-
catch(exception, host) {
|
|
27
|
-
const translatedResponse = this.translate(exception);
|
|
28
|
-
const filterRequestParams = filter_request_params_1.FilterRequestParams.get(host);
|
|
29
|
-
if (translatedResponse.statusCode !== common_1.HttpStatus.UNAUTHORIZED) {
|
|
30
|
-
if (!env_config_1.EnvConfig.isEnvTest) {
|
|
31
|
-
this.loggingService
|
|
32
|
-
.report({
|
|
33
|
-
error: exception,
|
|
34
|
-
packageName: koala_global_vars_1.KoalaGlobalVars.appName,
|
|
35
|
-
loggedUsername: filterRequestParams.loggedUserName,
|
|
36
|
-
httpRequest: {
|
|
37
|
-
...filterRequestParams.filterParams,
|
|
38
|
-
statusCode: translatedResponse.statusCode,
|
|
39
|
-
response: translatedResponse,
|
|
40
|
-
},
|
|
41
|
-
})
|
|
42
|
-
.catch((err) => console.error(err));
|
|
43
|
-
}
|
|
44
|
-
else {
|
|
45
|
-
console.error(exception);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
return filterRequestParams.response
|
|
49
|
-
.status(translatedResponse.statusCode)
|
|
50
|
-
.json(translatedResponse);
|
|
51
|
-
}
|
|
52
|
-
translate(exception) {
|
|
53
|
-
switch (exception.code) {
|
|
54
|
-
case 'P2002':
|
|
55
|
-
return {
|
|
56
|
-
statusCode: common_1.HttpStatus.CONFLICT,
|
|
57
|
-
message: 'Registro já existente.',
|
|
58
|
-
};
|
|
59
|
-
case 'P2003':
|
|
60
|
-
return {
|
|
61
|
-
statusCode: common_1.HttpStatus.BAD_REQUEST,
|
|
62
|
-
message: 'Falha devido a relacionamento. Verifique se o relacionamento existe ou é valido.',
|
|
63
|
-
};
|
|
64
|
-
case 'P2025':
|
|
65
|
-
return {
|
|
66
|
-
statusCode: common_1.HttpStatus.NOT_FOUND,
|
|
67
|
-
message: 'Registro não encontrado.',
|
|
68
|
-
};
|
|
69
|
-
default:
|
|
70
|
-
console.error(exception);
|
|
71
|
-
return {
|
|
72
|
-
statusCode: common_1.HttpStatus.BAD_REQUEST,
|
|
73
|
-
message: 'Ocorreu um erro desconhecido relacionado aos dados enviados.',
|
|
74
|
-
};
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
};
|
|
78
|
-
exports.PrismaValidationExceptionFilter = PrismaValidationExceptionFilter;
|
|
79
|
-
exports.PrismaValidationExceptionFilter = PrismaValidationExceptionFilter = __decorate([
|
|
80
|
-
(0, common_1.Catch)(client_1.Prisma.PrismaClientKnownRequestError),
|
|
81
|
-
__metadata("design:paramtypes", [ilogging_service_1.ILoggingService])
|
|
82
|
-
], PrismaValidationExceptionFilter);
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { ArgumentsHost } from '@nestjs/common';
|
|
2
|
-
import { BaseExceptionFilter } from '@nestjs/core';
|
|
3
|
-
import { ZodError } from 'zod';
|
|
4
|
-
import { ILoggingService } from '../services/logging/ilogging.service';
|
|
5
|
-
export declare class ZodErrorsFilter extends BaseExceptionFilter {
|
|
6
|
-
private readonly loggingService;
|
|
7
|
-
constructor(loggingService: ILoggingService);
|
|
8
|
-
catch(exception: ZodError, host: ArgumentsHost): import("express").Response<any, Record<string, any>>;
|
|
9
|
-
}
|
|
@@ -1,60 +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
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.ZodErrorsFilter = void 0;
|
|
13
|
-
const common_1 = require("@nestjs/common");
|
|
14
|
-
const core_1 = require("@nestjs/core");
|
|
15
|
-
const zod_1 = require("zod");
|
|
16
|
-
const zod_validation_error_1 = require("zod-validation-error");
|
|
17
|
-
const koala_global_vars_1 = require("../core/koala-global-vars");
|
|
18
|
-
const env_config_1 = require("../core/utils/env.config");
|
|
19
|
-
const filter_request_params_1 = require("../core/utils/filter-request-params");
|
|
20
|
-
const ilogging_service_1 = require("../services/logging/ilogging.service");
|
|
21
|
-
let ZodErrorsFilter = class ZodErrorsFilter extends core_1.BaseExceptionFilter {
|
|
22
|
-
loggingService;
|
|
23
|
-
constructor(loggingService) {
|
|
24
|
-
super();
|
|
25
|
-
this.loggingService = loggingService;
|
|
26
|
-
}
|
|
27
|
-
catch(exception, host) {
|
|
28
|
-
const filterRequestParams = filter_request_params_1.FilterRequestParams.get(host);
|
|
29
|
-
const zodResponse = {
|
|
30
|
-
errors: (0, zod_validation_error_1.fromZodError)(exception).details.map((detail) => `${detail.path} ${detail.message.toLowerCase()}`),
|
|
31
|
-
statusCode: common_1.HttpStatus.BAD_REQUEST,
|
|
32
|
-
message: 'Dados enviados inválidos',
|
|
33
|
-
};
|
|
34
|
-
if (!env_config_1.EnvConfig.isEnvTest) {
|
|
35
|
-
this.loggingService
|
|
36
|
-
.report({
|
|
37
|
-
error: exception,
|
|
38
|
-
packageName: koala_global_vars_1.KoalaGlobalVars.appName,
|
|
39
|
-
loggedUsername: filterRequestParams.loggedUserName,
|
|
40
|
-
httpRequest: {
|
|
41
|
-
...filterRequestParams.filterParams,
|
|
42
|
-
statusCode: common_1.HttpStatus.BAD_REQUEST,
|
|
43
|
-
response: zodResponse,
|
|
44
|
-
},
|
|
45
|
-
})
|
|
46
|
-
.catch((err) => console.error(err));
|
|
47
|
-
}
|
|
48
|
-
else {
|
|
49
|
-
console.error(exception);
|
|
50
|
-
}
|
|
51
|
-
return filterRequestParams.response
|
|
52
|
-
.status(common_1.HttpStatus.BAD_REQUEST)
|
|
53
|
-
.send(zodResponse);
|
|
54
|
-
}
|
|
55
|
-
};
|
|
56
|
-
exports.ZodErrorsFilter = ZodErrorsFilter;
|
|
57
|
-
exports.ZodErrorsFilter = ZodErrorsFilter = __decorate([
|
|
58
|
-
(0, common_1.Catch)(zod_1.ZodError),
|
|
59
|
-
__metadata("design:paramtypes", [ilogging_service_1.ILoggingService])
|
|
60
|
-
], ZodErrorsFilter);
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
export interface LoggingReportProps {
|
|
2
|
-
loggedUsername: string;
|
|
3
|
-
packageName: string;
|
|
4
|
-
error: Error;
|
|
5
|
-
httpRequest?: {
|
|
6
|
-
method: string;
|
|
7
|
-
endpoint: string;
|
|
8
|
-
queryParams?: string;
|
|
9
|
-
payload?: object;
|
|
10
|
-
statusCode: number;
|
|
11
|
-
response?: object;
|
|
12
|
-
};
|
|
13
|
-
}
|
|
14
|
-
export declare abstract class ILoggingService {
|
|
15
|
-
abstract report(data: LoggingReportProps): Promise<void>;
|
|
16
|
-
}
|
|
@@ -1,20 +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.LoggingService = void 0;
|
|
10
|
-
const common_1 = require("@nestjs/common");
|
|
11
|
-
const consola_1 = require("consola");
|
|
12
|
-
let LoggingService = class LoggingService {
|
|
13
|
-
async report(data) {
|
|
14
|
-
consola_1.default.error(data.error);
|
|
15
|
-
}
|
|
16
|
-
};
|
|
17
|
-
exports.LoggingService = LoggingService;
|
|
18
|
-
exports.LoggingService = LoggingService = __decorate([
|
|
19
|
-
(0, common_1.Injectable)()
|
|
20
|
-
], LoggingService);
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export declare abstract class IRedisService {
|
|
2
|
-
abstract isConnected: boolean;
|
|
3
|
-
abstract getCache(key: string): Promise<string | null>;
|
|
4
|
-
abstract setCache(key: string, ttlSecondsCache: number, payload: any): Promise<void>;
|
|
5
|
-
abstract deleteCache(key: string): Promise<void>;
|
|
6
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { OnModuleDestroy } from '@nestjs/common';
|
|
2
|
-
import { EnvService } from '../../env/env.service';
|
|
3
|
-
import { IRedisService } from './iredis.service';
|
|
4
|
-
export declare class RedisService implements IRedisService, OnModuleDestroy {
|
|
5
|
-
private readonly redisClient;
|
|
6
|
-
private readonly environment;
|
|
7
|
-
get isConnected(): boolean;
|
|
8
|
-
constructor(env: EnvService);
|
|
9
|
-
onModuleDestroy(): void;
|
|
10
|
-
getCache(key: string): Promise<string | null>;
|
|
11
|
-
setCache(key: string, ttlSecondsCache: number, payload: any): Promise<void>;
|
|
12
|
-
deleteCache(key: string): Promise<void>;
|
|
13
|
-
private getKeyCache;
|
|
14
|
-
}
|
|
@@ -1,65 +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
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.RedisService = void 0;
|
|
13
|
-
const common_1 = require("@nestjs/common");
|
|
14
|
-
const ioredis_1 = require("ioredis");
|
|
15
|
-
const env_config_1 = require("../../core/utils/env.config");
|
|
16
|
-
const env_service_1 = require("../../env/env.service");
|
|
17
|
-
let RedisService = class RedisService {
|
|
18
|
-
redisClient;
|
|
19
|
-
environment;
|
|
20
|
-
get isConnected() {
|
|
21
|
-
return !!this.redisClient;
|
|
22
|
-
}
|
|
23
|
-
constructor(env) {
|
|
24
|
-
if (!env_config_1.EnvConfig.isEnvTest) {
|
|
25
|
-
const redisUrl = env.get('REDIS_CONNECTION_STRING');
|
|
26
|
-
if (redisUrl) {
|
|
27
|
-
const url = new URL(redisUrl);
|
|
28
|
-
this.environment = env.get('NODE_ENV');
|
|
29
|
-
this.redisClient = new ioredis_1.default({
|
|
30
|
-
host: url.hostname,
|
|
31
|
-
port: Number(url.port),
|
|
32
|
-
password: url.password,
|
|
33
|
-
username: url.username,
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
onModuleDestroy() {
|
|
39
|
-
this.redisClient.disconnect();
|
|
40
|
-
}
|
|
41
|
-
async getCache(key) {
|
|
42
|
-
if (env_config_1.EnvConfig.isEnvTest) {
|
|
43
|
-
return '';
|
|
44
|
-
}
|
|
45
|
-
return await this.redisClient.get(this.getKeyCache(key));
|
|
46
|
-
}
|
|
47
|
-
async setCache(key, ttlSecondsCache, payload) {
|
|
48
|
-
if (!env_config_1.EnvConfig.isEnvTest) {
|
|
49
|
-
await this.redisClient.set(this.getKeyCache(key), JSON.stringify(payload), 'EX', ttlSecondsCache);
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
async deleteCache(key) {
|
|
53
|
-
if (!env_config_1.EnvConfig.isEnvTest) {
|
|
54
|
-
await this.redisClient.del(this.getKeyCache(key));
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
getKeyCache(key) {
|
|
58
|
-
return `${this.environment}:app:${key}`;
|
|
59
|
-
}
|
|
60
|
-
};
|
|
61
|
-
exports.RedisService = RedisService;
|
|
62
|
-
exports.RedisService = RedisService = __decorate([
|
|
63
|
-
(0, common_1.Injectable)(),
|
|
64
|
-
__metadata("design:paramtypes", [env_service_1.EnvService])
|
|
65
|
-
], RedisService);
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { IRedisService } from '../redis/iredis.service';
|
|
2
|
-
import { IRedLockService } from './ired-lock.service';
|
|
3
|
-
export declare class RedLockService implements IRedLockService {
|
|
4
|
-
private readonly redisService;
|
|
5
|
-
constructor(redisService: IRedisService);
|
|
6
|
-
acquiredLock(key: string, ttlSecondsLock: number): Promise<boolean>;
|
|
7
|
-
releaseLock(key: string): Promise<void>;
|
|
8
|
-
private getLockKey;
|
|
9
|
-
}
|
|
@@ -1,46 +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
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.RedLockService = void 0;
|
|
13
|
-
const common_1 = require("@nestjs/common");
|
|
14
|
-
const env_config_1 = require("../../core/utils/env.config");
|
|
15
|
-
const iredis_service_1 = require("../redis/iredis.service");
|
|
16
|
-
let RedLockService = class RedLockService {
|
|
17
|
-
redisService;
|
|
18
|
-
constructor(redisService) {
|
|
19
|
-
this.redisService = redisService;
|
|
20
|
-
}
|
|
21
|
-
async acquiredLock(key, ttlSecondsLock) {
|
|
22
|
-
if (env_config_1.EnvConfig.isEnvTest || !this.redisService.isConnected) {
|
|
23
|
-
return true;
|
|
24
|
-
}
|
|
25
|
-
const lockKey = this.getLockKey(key);
|
|
26
|
-
const canLock = await this.redisService.getCache(lockKey);
|
|
27
|
-
if (canLock) {
|
|
28
|
-
return false;
|
|
29
|
-
}
|
|
30
|
-
await this.redisService.setCache(lockKey, ttlSecondsLock, 'RedLockService');
|
|
31
|
-
return true;
|
|
32
|
-
}
|
|
33
|
-
async releaseLock(key) {
|
|
34
|
-
if (!env_config_1.EnvConfig.isEnvTest && this.redisService.isConnected) {
|
|
35
|
-
await this.redisService.deleteCache(this.getLockKey(key));
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
getLockKey(key) {
|
|
39
|
-
return `redLock:${key}`;
|
|
40
|
-
}
|
|
41
|
-
};
|
|
42
|
-
exports.RedLockService = RedLockService;
|
|
43
|
-
exports.RedLockService = RedLockService = __decorate([
|
|
44
|
-
(0, common_1.Injectable)(),
|
|
45
|
-
__metadata("design:paramtypes", [iredis_service_1.IRedisService])
|
|
46
|
-
], RedLockService);
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { Type } from '@nestjs/common';
|
|
2
|
-
interface KoalaAppTestDependenciesConfig {
|
|
3
|
-
dependencies: any[];
|
|
4
|
-
}
|
|
5
|
-
export declare class KoalaAppTestDependencies {
|
|
6
|
-
private readonly _config;
|
|
7
|
-
constructor(_config: KoalaAppTestDependenciesConfig);
|
|
8
|
-
get<T>(objectType: Type<T>): T;
|
|
9
|
-
}
|
|
10
|
-
export {};
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.KoalaAppTestDependencies = void 0;
|
|
4
|
-
class KoalaAppTestDependencies {
|
|
5
|
-
_config;
|
|
6
|
-
constructor(_config) {
|
|
7
|
-
this._config = _config;
|
|
8
|
-
}
|
|
9
|
-
get(objectType) {
|
|
10
|
-
return this._config.dependencies.find((dependency) => dependency instanceof objectType);
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
exports.KoalaAppTestDependencies = KoalaAppTestDependencies;
|
package/test/koala-app-test.d.ts
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { CanActivate, INestApplication, Type } from '@nestjs/common';
|
|
2
|
-
import { BaseExceptionFilter } from '@nestjs/core';
|
|
3
|
-
import { PrismaTransactionalClient } from '../core/database/prisma-transactional-client';
|
|
4
|
-
export declare class KoalaAppTest {
|
|
5
|
-
private readonly app;
|
|
6
|
-
private _guards;
|
|
7
|
-
private _globalExceptionFilter;
|
|
8
|
-
private _prismaValidationExceptionFilter;
|
|
9
|
-
private _domainExceptionFilter;
|
|
10
|
-
private _zodExceptionFilter;
|
|
11
|
-
constructor(app: INestApplication<any>);
|
|
12
|
-
addGlobalGuard(Guard: Type<CanActivate>): this;
|
|
13
|
-
addCustomGlobalExceptionFilter(filter: BaseExceptionFilter): this;
|
|
14
|
-
addCustomPrismaValidationExceptionFilter(filter: BaseExceptionFilter): this;
|
|
15
|
-
addCustomDomainExceptionFilter(filter: BaseExceptionFilter): this;
|
|
16
|
-
addCustomZodExceptionFilter(filter: BaseExceptionFilter): this;
|
|
17
|
-
enableCors(): this;
|
|
18
|
-
setAppName(name: string): this;
|
|
19
|
-
setInternalUserName(name: string): this;
|
|
20
|
-
setDbTransactionContext(transactionContext: Type<PrismaTransactionalClient>): this;
|
|
21
|
-
build(): INestApplication<any>;
|
|
22
|
-
}
|