@dismissible/nestjs-dismissible 0.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/README.md +490 -0
- package/package.json +68 -0
- package/src/api/dismissible-item-response.dto.d.ts +9 -0
- package/src/api/dismissible-item-response.dto.js +40 -0
- package/src/api/dismissible-item-response.dto.js.map +1 -0
- package/src/api/dismissible-item.mapper.d.ts +12 -0
- package/src/api/dismissible-item.mapper.js +30 -0
- package/src/api/dismissible-item.mapper.js.map +1 -0
- package/src/api/dismissible-item.mapper.spec.d.ts +1 -0
- package/src/api/dismissible-item.mapper.spec.js +43 -0
- package/src/api/dismissible-item.mapper.spec.js.map +1 -0
- package/src/api/index.d.ts +4 -0
- package/src/api/index.js +8 -0
- package/src/api/index.js.map +1 -0
- package/src/api/use-cases/api-tags.constants.d.ts +4 -0
- package/src/api/use-cases/api-tags.constants.js +8 -0
- package/src/api/use-cases/api-tags.constants.js.map +1 -0
- package/src/api/use-cases/dismiss/dismiss.controller.d.ts +15 -0
- package/src/api/use-cases/dismiss/dismiss.controller.js +74 -0
- package/src/api/use-cases/dismiss/dismiss.controller.js.map +1 -0
- package/src/api/use-cases/dismiss/dismiss.controller.spec.d.ts +1 -0
- package/src/api/use-cases/dismiss/dismiss.controller.spec.js +37 -0
- package/src/api/use-cases/dismiss/dismiss.controller.spec.js.map +1 -0
- package/src/api/use-cases/dismiss/dismiss.response.dto.d.ts +12 -0
- package/src/api/use-cases/dismiss/dismiss.response.dto.js +12 -0
- package/src/api/use-cases/dismiss/dismiss.response.dto.js.map +1 -0
- package/src/api/use-cases/dismiss/index.d.ts +2 -0
- package/src/api/use-cases/dismiss/index.js +6 -0
- package/src/api/use-cases/dismiss/index.js.map +1 -0
- package/src/api/use-cases/get-or-create/get-or-create.controller.d.ts +15 -0
- package/src/api/use-cases/get-or-create/get-or-create.controller.js +70 -0
- package/src/api/use-cases/get-or-create/get-or-create.controller.js.map +1 -0
- package/src/api/use-cases/get-or-create/get-or-create.controller.spec.d.ts +1 -0
- package/src/api/use-cases/get-or-create/get-or-create.controller.spec.js +32 -0
- package/src/api/use-cases/get-or-create/get-or-create.controller.spec.js.map +1 -0
- package/src/api/use-cases/get-or-create/get-or-create.response.dto.d.ts +12 -0
- package/src/api/use-cases/get-or-create/get-or-create.response.dto.js +12 -0
- package/src/api/use-cases/get-or-create/get-or-create.response.dto.js.map +1 -0
- package/src/api/use-cases/get-or-create/index.d.ts +2 -0
- package/src/api/use-cases/get-or-create/index.js +6 -0
- package/src/api/use-cases/get-or-create/index.js.map +1 -0
- package/src/api/use-cases/index.d.ts +3 -0
- package/src/api/use-cases/index.js +7 -0
- package/src/api/use-cases/index.js.map +1 -0
- package/src/api/use-cases/restore/index.d.ts +2 -0
- package/src/api/use-cases/restore/index.js +6 -0
- package/src/api/use-cases/restore/index.js.map +1 -0
- package/src/api/use-cases/restore/restore.controller.d.ts +15 -0
- package/src/api/use-cases/restore/restore.controller.js +74 -0
- package/src/api/use-cases/restore/restore.controller.js.map +1 -0
- package/src/api/use-cases/restore/restore.controller.spec.d.ts +1 -0
- package/src/api/use-cases/restore/restore.controller.spec.js +37 -0
- package/src/api/use-cases/restore/restore.controller.spec.js.map +1 -0
- package/src/api/use-cases/restore/restore.response.dto.d.ts +12 -0
- package/src/api/use-cases/restore/restore.response.dto.js +12 -0
- package/src/api/use-cases/restore/restore.response.dto.js.map +1 -0
- package/src/api/validation/index.d.ts +2 -0
- package/src/api/validation/index.js +6 -0
- package/src/api/validation/index.js.map +1 -0
- package/src/api/validation/param-validation.pipe.d.ts +11 -0
- package/src/api/validation/param-validation.pipe.js +36 -0
- package/src/api/validation/param-validation.pipe.js.map +1 -0
- package/src/api/validation/param-validation.pipe.spec.d.ts +1 -0
- package/src/api/validation/param-validation.pipe.spec.js +269 -0
- package/src/api/validation/param-validation.pipe.spec.js.map +1 -0
- package/src/api/validation/param.decorators.d.ts +28 -0
- package/src/api/validation/param.decorators.js +36 -0
- package/src/api/validation/param.decorators.js.map +1 -0
- package/src/core/dismissible-core.service.d.ts +56 -0
- package/src/core/dismissible-core.service.js +147 -0
- package/src/core/dismissible-core.service.js.map +1 -0
- package/src/core/dismissible-core.service.spec.d.ts +1 -0
- package/src/core/dismissible-core.service.spec.js +309 -0
- package/src/core/dismissible-core.service.spec.js.map +1 -0
- package/src/core/dismissible.service.d.ts +45 -0
- package/src/core/dismissible.service.js +127 -0
- package/src/core/dismissible.service.js.map +1 -0
- package/src/core/dismissible.service.spec.d.ts +1 -0
- package/src/core/dismissible.service.spec.js +159 -0
- package/src/core/dismissible.service.spec.js.map +1 -0
- package/src/core/hook-runner.service.d.ts +88 -0
- package/src/core/hook-runner.service.js +226 -0
- package/src/core/hook-runner.service.js.map +1 -0
- package/src/core/hook-runner.service.spec.d.ts +1 -0
- package/src/core/hook-runner.service.spec.js +538 -0
- package/src/core/hook-runner.service.spec.js.map +1 -0
- package/src/core/index.d.ts +5 -0
- package/src/core/index.js +9 -0
- package/src/core/index.js.map +1 -0
- package/src/core/lifecycle-hook.interface.d.ts +1 -0
- package/src/core/lifecycle-hook.interface.js +7 -0
- package/src/core/lifecycle-hook.interface.js.map +1 -0
- package/src/core/service-responses.interface.d.ts +28 -0
- package/src/core/service-responses.interface.js +3 -0
- package/src/core/service-responses.interface.js.map +1 -0
- package/src/dismissible.module.d.ts +13 -0
- package/src/dismissible.module.integration.spec.d.ts +1 -0
- package/src/dismissible.module.integration.spec.js +529 -0
- package/src/dismissible.module.integration.spec.js.map +1 -0
- package/src/dismissible.module.js +77 -0
- package/src/dismissible.module.js.map +1 -0
- package/src/events/dismissible.events.d.ts +45 -0
- package/src/events/dismissible.events.js +53 -0
- package/src/events/dismissible.events.js.map +1 -0
- package/src/events/events.constants.d.ts +17 -0
- package/src/events/events.constants.js +17 -0
- package/src/events/events.constants.js.map +1 -0
- package/src/events/index.d.ts +2 -0
- package/src/events/index.js +6 -0
- package/src/events/index.js.map +1 -0
- package/src/exceptions/dismissible.exceptions.d.ts +26 -0
- package/src/exceptions/dismissible.exceptions.js +49 -0
- package/src/exceptions/dismissible.exceptions.js.map +1 -0
- package/src/exceptions/dismissible.exceptions.spec.d.ts +1 -0
- package/src/exceptions/dismissible.exceptions.spec.js +40 -0
- package/src/exceptions/dismissible.exceptions.spec.js.map +1 -0
- package/src/exceptions/index.d.ts +1 -0
- package/src/exceptions/index.js +5 -0
- package/src/exceptions/index.js.map +1 -0
- package/src/index.d.ts +8 -0
- package/src/index.js +12 -0
- package/src/index.js.map +1 -0
- package/src/response/dtos/base-response.dto.d.ts +6 -0
- package/src/response/dtos/base-response.dto.js +18 -0
- package/src/response/dtos/base-response.dto.js.map +1 -0
- package/src/response/dtos/error-response.dto.d.ts +19 -0
- package/src/response/dtos/error-response.dto.js +39 -0
- package/src/response/dtos/error-response.dto.js.map +1 -0
- package/src/response/dtos/index.d.ts +3 -0
- package/src/response/dtos/index.js +7 -0
- package/src/response/dtos/index.js.map +1 -0
- package/src/response/dtos/success-response.dto.d.ts +28 -0
- package/src/response/dtos/success-response.dto.js +34 -0
- package/src/response/dtos/success-response.dto.js.map +1 -0
- package/src/response/http-exception-filter.d.ts +4 -0
- package/src/response/http-exception-filter.js +24 -0
- package/src/response/http-exception-filter.js.map +1 -0
- package/src/response/http-exception-filter.spec.d.ts +1 -0
- package/src/response/http-exception-filter.spec.js +137 -0
- package/src/response/http-exception-filter.spec.js.map +1 -0
- package/src/response/index.d.ts +4 -0
- package/src/response/index.js +8 -0
- package/src/response/index.js.map +1 -0
- package/src/response/response.module.d.ts +2 -0
- package/src/response/response.module.js +17 -0
- package/src/response/response.module.js.map +1 -0
- package/src/response/response.service.d.ts +6 -0
- package/src/response/response.service.js +25 -0
- package/src/response/response.service.js.map +1 -0
- package/src/response/response.service.spec.d.ts +1 -0
- package/src/response/response.service.spec.js +58 -0
- package/src/response/response.service.spec.js.map +1 -0
- package/src/testing/factories.d.ts +14 -0
- package/src/testing/factories.js +58 -0
- package/src/testing/factories.js.map +1 -0
- package/src/testing/index.d.ts +1 -0
- package/src/testing/index.js +5 -0
- package/src/testing/index.js.map +1 -0
- package/src/utils/date/date.service.d.ts +8 -0
- package/src/utils/date/date.service.js +24 -0
- package/src/utils/date/date.service.js.map +1 -0
- package/src/utils/date/date.service.spec.d.ts +1 -0
- package/src/utils/date/date.service.spec.js +83 -0
- package/src/utils/date/date.service.spec.js.map +1 -0
- package/src/utils/date/index.d.ts +1 -0
- package/src/utils/date/index.js +5 -0
- package/src/utils/date/index.js.map +1 -0
- package/src/utils/dismissible.helper.d.ts +4 -0
- package/src/utils/dismissible.helper.js +15 -0
- package/src/utils/dismissible.helper.js.map +1 -0
- package/src/utils/index.d.ts +3 -0
- package/src/utils/index.js +7 -0
- package/src/utils/index.js.map +1 -0
- package/src/validation/dismissible-input.dto.d.ts +21 -0
- package/src/validation/dismissible-input.dto.js +54 -0
- package/src/validation/dismissible-input.dto.js.map +1 -0
- package/src/validation/index.d.ts +1 -0
- package/src/validation/index.js +5 -0
- package/src/validation/index.js.map +1 -0
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DismissibleInputDto = exports.VALIDATION_CONSTANTS = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const class_validator_1 = require("class-validator");
|
|
6
|
+
/**
|
|
7
|
+
* Validation constants for dismissible input fields.
|
|
8
|
+
*/
|
|
9
|
+
exports.VALIDATION_CONSTANTS = {
|
|
10
|
+
/** Maximum length for userId and itemId */
|
|
11
|
+
ID_MAX_LENGTH: 64,
|
|
12
|
+
/** Minimum length for userId and itemId */
|
|
13
|
+
ID_MIN_LENGTH: 1,
|
|
14
|
+
/** Pattern for valid userId and itemId (alphanumeric, dash, underscore) */
|
|
15
|
+
ID_PATTERN: /^[a-zA-Z0-9_-]+$/,
|
|
16
|
+
/** Human-readable description of the ID pattern */
|
|
17
|
+
ID_PATTERN_MESSAGE: 'must contain only alphanumeric characters, dashes, and underscores',
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* DTO for validating dismissible input parameters (userId and itemId).
|
|
21
|
+
* Used at both controller and service layers for defense in depth.
|
|
22
|
+
*/
|
|
23
|
+
class DismissibleInputDto {
|
|
24
|
+
}
|
|
25
|
+
exports.DismissibleInputDto = DismissibleInputDto;
|
|
26
|
+
tslib_1.__decorate([
|
|
27
|
+
(0, class_validator_1.IsString)(),
|
|
28
|
+
(0, class_validator_1.IsNotEmpty)({ message: 'itemId is required' }),
|
|
29
|
+
(0, class_validator_1.MinLength)(exports.VALIDATION_CONSTANTS.ID_MIN_LENGTH, {
|
|
30
|
+
message: `itemId must be at least ${exports.VALIDATION_CONSTANTS.ID_MIN_LENGTH} character`,
|
|
31
|
+
}),
|
|
32
|
+
(0, class_validator_1.MaxLength)(exports.VALIDATION_CONSTANTS.ID_MAX_LENGTH, {
|
|
33
|
+
message: `itemId must be at most ${exports.VALIDATION_CONSTANTS.ID_MAX_LENGTH} characters`,
|
|
34
|
+
}),
|
|
35
|
+
(0, class_validator_1.Matches)(exports.VALIDATION_CONSTANTS.ID_PATTERN, {
|
|
36
|
+
message: `itemId ${exports.VALIDATION_CONSTANTS.ID_PATTERN_MESSAGE}`,
|
|
37
|
+
}),
|
|
38
|
+
tslib_1.__metadata("design:type", String)
|
|
39
|
+
], DismissibleInputDto.prototype, "itemId", void 0);
|
|
40
|
+
tslib_1.__decorate([
|
|
41
|
+
(0, class_validator_1.IsString)(),
|
|
42
|
+
(0, class_validator_1.IsNotEmpty)({ message: 'userId is required' }),
|
|
43
|
+
(0, class_validator_1.MinLength)(exports.VALIDATION_CONSTANTS.ID_MIN_LENGTH, {
|
|
44
|
+
message: `userId must be at least ${exports.VALIDATION_CONSTANTS.ID_MIN_LENGTH} character`,
|
|
45
|
+
}),
|
|
46
|
+
(0, class_validator_1.MaxLength)(exports.VALIDATION_CONSTANTS.ID_MAX_LENGTH, {
|
|
47
|
+
message: `userId must be at most ${exports.VALIDATION_CONSTANTS.ID_MAX_LENGTH} characters`,
|
|
48
|
+
}),
|
|
49
|
+
(0, class_validator_1.Matches)(exports.VALIDATION_CONSTANTS.ID_PATTERN, {
|
|
50
|
+
message: `userId ${exports.VALIDATION_CONSTANTS.ID_PATTERN_MESSAGE}`,
|
|
51
|
+
}),
|
|
52
|
+
tslib_1.__metadata("design:type", String)
|
|
53
|
+
], DismissibleInputDto.prototype, "userId", void 0);
|
|
54
|
+
//# sourceMappingURL=dismissible-input.dto.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dismissible-input.dto.js","sourceRoot":"","sources":["../../../../../libs/dismissible/src/validation/dismissible-input.dto.ts"],"names":[],"mappings":";;;;AAAA,qDAAsF;AAEtF;;GAEG;AACU,QAAA,oBAAoB,GAAG;IAClC,2CAA2C;IAC3C,aAAa,EAAE,EAAE;IACjB,2CAA2C;IAC3C,aAAa,EAAE,CAAC;IAChB,2EAA2E;IAC3E,UAAU,EAAE,kBAAkB;IAC9B,mDAAmD;IACnD,kBAAkB,EAAE,oEAAoE;CAChF,CAAC;AAEX;;;GAGG;AACH,MAAa,mBAAmB;CA0B/B;AA1BD,kDA0BC;AAdC;IAXC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,EAAC,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC;IAC7C,IAAA,2BAAS,EAAC,4BAAoB,CAAC,aAAa,EAAE;QAC7C,OAAO,EAAE,2BAA2B,4BAAoB,CAAC,aAAa,YAAY;KACnF,CAAC;IACD,IAAA,2BAAS,EAAC,4BAAoB,CAAC,aAAa,EAAE;QAC7C,OAAO,EAAE,0BAA0B,4BAAoB,CAAC,aAAa,aAAa;KACnF,CAAC;IACD,IAAA,yBAAO,EAAC,4BAAoB,CAAC,UAAU,EAAE;QACxC,OAAO,EAAE,UAAU,4BAAoB,CAAC,kBAAkB,EAAE;KAC7D,CAAC;;mDACa;AAaf;IAXC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,EAAC,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC;IAC7C,IAAA,2BAAS,EAAC,4BAAoB,CAAC,aAAa,EAAE;QAC7C,OAAO,EAAE,2BAA2B,4BAAoB,CAAC,aAAa,YAAY;KACnF,CAAC;IACD,IAAA,2BAAS,EAAC,4BAAoB,CAAC,aAAa,EAAE;QAC7C,OAAO,EAAE,0BAA0B,4BAAoB,CAAC,aAAa,aAAa;KACnF,CAAC;IACD,IAAA,yBAAO,EAAC,4BAAoB,CAAC,UAAU,EAAE;QACxC,OAAO,EAAE,UAAU,4BAAoB,CAAC,kBAAkB,EAAE;KAC7D,CAAC;;mDACa"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './dismissible-input.dto';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/dismissible/src/validation/index.ts"],"names":[],"mappings":";;;AAAA,kEAAwC"}
|