@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.
Files changed (179) hide show
  1. package/README.md +490 -0
  2. package/package.json +68 -0
  3. package/src/api/dismissible-item-response.dto.d.ts +9 -0
  4. package/src/api/dismissible-item-response.dto.js +40 -0
  5. package/src/api/dismissible-item-response.dto.js.map +1 -0
  6. package/src/api/dismissible-item.mapper.d.ts +12 -0
  7. package/src/api/dismissible-item.mapper.js +30 -0
  8. package/src/api/dismissible-item.mapper.js.map +1 -0
  9. package/src/api/dismissible-item.mapper.spec.d.ts +1 -0
  10. package/src/api/dismissible-item.mapper.spec.js +43 -0
  11. package/src/api/dismissible-item.mapper.spec.js.map +1 -0
  12. package/src/api/index.d.ts +4 -0
  13. package/src/api/index.js +8 -0
  14. package/src/api/index.js.map +1 -0
  15. package/src/api/use-cases/api-tags.constants.d.ts +4 -0
  16. package/src/api/use-cases/api-tags.constants.js +8 -0
  17. package/src/api/use-cases/api-tags.constants.js.map +1 -0
  18. package/src/api/use-cases/dismiss/dismiss.controller.d.ts +15 -0
  19. package/src/api/use-cases/dismiss/dismiss.controller.js +74 -0
  20. package/src/api/use-cases/dismiss/dismiss.controller.js.map +1 -0
  21. package/src/api/use-cases/dismiss/dismiss.controller.spec.d.ts +1 -0
  22. package/src/api/use-cases/dismiss/dismiss.controller.spec.js +37 -0
  23. package/src/api/use-cases/dismiss/dismiss.controller.spec.js.map +1 -0
  24. package/src/api/use-cases/dismiss/dismiss.response.dto.d.ts +12 -0
  25. package/src/api/use-cases/dismiss/dismiss.response.dto.js +12 -0
  26. package/src/api/use-cases/dismiss/dismiss.response.dto.js.map +1 -0
  27. package/src/api/use-cases/dismiss/index.d.ts +2 -0
  28. package/src/api/use-cases/dismiss/index.js +6 -0
  29. package/src/api/use-cases/dismiss/index.js.map +1 -0
  30. package/src/api/use-cases/get-or-create/get-or-create.controller.d.ts +15 -0
  31. package/src/api/use-cases/get-or-create/get-or-create.controller.js +70 -0
  32. package/src/api/use-cases/get-or-create/get-or-create.controller.js.map +1 -0
  33. package/src/api/use-cases/get-or-create/get-or-create.controller.spec.d.ts +1 -0
  34. package/src/api/use-cases/get-or-create/get-or-create.controller.spec.js +32 -0
  35. package/src/api/use-cases/get-or-create/get-or-create.controller.spec.js.map +1 -0
  36. package/src/api/use-cases/get-or-create/get-or-create.response.dto.d.ts +12 -0
  37. package/src/api/use-cases/get-or-create/get-or-create.response.dto.js +12 -0
  38. package/src/api/use-cases/get-or-create/get-or-create.response.dto.js.map +1 -0
  39. package/src/api/use-cases/get-or-create/index.d.ts +2 -0
  40. package/src/api/use-cases/get-or-create/index.js +6 -0
  41. package/src/api/use-cases/get-or-create/index.js.map +1 -0
  42. package/src/api/use-cases/index.d.ts +3 -0
  43. package/src/api/use-cases/index.js +7 -0
  44. package/src/api/use-cases/index.js.map +1 -0
  45. package/src/api/use-cases/restore/index.d.ts +2 -0
  46. package/src/api/use-cases/restore/index.js +6 -0
  47. package/src/api/use-cases/restore/index.js.map +1 -0
  48. package/src/api/use-cases/restore/restore.controller.d.ts +15 -0
  49. package/src/api/use-cases/restore/restore.controller.js +74 -0
  50. package/src/api/use-cases/restore/restore.controller.js.map +1 -0
  51. package/src/api/use-cases/restore/restore.controller.spec.d.ts +1 -0
  52. package/src/api/use-cases/restore/restore.controller.spec.js +37 -0
  53. package/src/api/use-cases/restore/restore.controller.spec.js.map +1 -0
  54. package/src/api/use-cases/restore/restore.response.dto.d.ts +12 -0
  55. package/src/api/use-cases/restore/restore.response.dto.js +12 -0
  56. package/src/api/use-cases/restore/restore.response.dto.js.map +1 -0
  57. package/src/api/validation/index.d.ts +2 -0
  58. package/src/api/validation/index.js +6 -0
  59. package/src/api/validation/index.js.map +1 -0
  60. package/src/api/validation/param-validation.pipe.d.ts +11 -0
  61. package/src/api/validation/param-validation.pipe.js +36 -0
  62. package/src/api/validation/param-validation.pipe.js.map +1 -0
  63. package/src/api/validation/param-validation.pipe.spec.d.ts +1 -0
  64. package/src/api/validation/param-validation.pipe.spec.js +269 -0
  65. package/src/api/validation/param-validation.pipe.spec.js.map +1 -0
  66. package/src/api/validation/param.decorators.d.ts +28 -0
  67. package/src/api/validation/param.decorators.js +36 -0
  68. package/src/api/validation/param.decorators.js.map +1 -0
  69. package/src/core/dismissible-core.service.d.ts +56 -0
  70. package/src/core/dismissible-core.service.js +147 -0
  71. package/src/core/dismissible-core.service.js.map +1 -0
  72. package/src/core/dismissible-core.service.spec.d.ts +1 -0
  73. package/src/core/dismissible-core.service.spec.js +309 -0
  74. package/src/core/dismissible-core.service.spec.js.map +1 -0
  75. package/src/core/dismissible.service.d.ts +45 -0
  76. package/src/core/dismissible.service.js +127 -0
  77. package/src/core/dismissible.service.js.map +1 -0
  78. package/src/core/dismissible.service.spec.d.ts +1 -0
  79. package/src/core/dismissible.service.spec.js +159 -0
  80. package/src/core/dismissible.service.spec.js.map +1 -0
  81. package/src/core/hook-runner.service.d.ts +88 -0
  82. package/src/core/hook-runner.service.js +226 -0
  83. package/src/core/hook-runner.service.js.map +1 -0
  84. package/src/core/hook-runner.service.spec.d.ts +1 -0
  85. package/src/core/hook-runner.service.spec.js +538 -0
  86. package/src/core/hook-runner.service.spec.js.map +1 -0
  87. package/src/core/index.d.ts +5 -0
  88. package/src/core/index.js +9 -0
  89. package/src/core/index.js.map +1 -0
  90. package/src/core/lifecycle-hook.interface.d.ts +1 -0
  91. package/src/core/lifecycle-hook.interface.js +7 -0
  92. package/src/core/lifecycle-hook.interface.js.map +1 -0
  93. package/src/core/service-responses.interface.d.ts +28 -0
  94. package/src/core/service-responses.interface.js +3 -0
  95. package/src/core/service-responses.interface.js.map +1 -0
  96. package/src/dismissible.module.d.ts +13 -0
  97. package/src/dismissible.module.integration.spec.d.ts +1 -0
  98. package/src/dismissible.module.integration.spec.js +529 -0
  99. package/src/dismissible.module.integration.spec.js.map +1 -0
  100. package/src/dismissible.module.js +77 -0
  101. package/src/dismissible.module.js.map +1 -0
  102. package/src/events/dismissible.events.d.ts +45 -0
  103. package/src/events/dismissible.events.js +53 -0
  104. package/src/events/dismissible.events.js.map +1 -0
  105. package/src/events/events.constants.d.ts +17 -0
  106. package/src/events/events.constants.js +17 -0
  107. package/src/events/events.constants.js.map +1 -0
  108. package/src/events/index.d.ts +2 -0
  109. package/src/events/index.js +6 -0
  110. package/src/events/index.js.map +1 -0
  111. package/src/exceptions/dismissible.exceptions.d.ts +26 -0
  112. package/src/exceptions/dismissible.exceptions.js +49 -0
  113. package/src/exceptions/dismissible.exceptions.js.map +1 -0
  114. package/src/exceptions/dismissible.exceptions.spec.d.ts +1 -0
  115. package/src/exceptions/dismissible.exceptions.spec.js +40 -0
  116. package/src/exceptions/dismissible.exceptions.spec.js.map +1 -0
  117. package/src/exceptions/index.d.ts +1 -0
  118. package/src/exceptions/index.js +5 -0
  119. package/src/exceptions/index.js.map +1 -0
  120. package/src/index.d.ts +8 -0
  121. package/src/index.js +12 -0
  122. package/src/index.js.map +1 -0
  123. package/src/response/dtos/base-response.dto.d.ts +6 -0
  124. package/src/response/dtos/base-response.dto.js +18 -0
  125. package/src/response/dtos/base-response.dto.js.map +1 -0
  126. package/src/response/dtos/error-response.dto.d.ts +19 -0
  127. package/src/response/dtos/error-response.dto.js +39 -0
  128. package/src/response/dtos/error-response.dto.js.map +1 -0
  129. package/src/response/dtos/index.d.ts +3 -0
  130. package/src/response/dtos/index.js +7 -0
  131. package/src/response/dtos/index.js.map +1 -0
  132. package/src/response/dtos/success-response.dto.d.ts +28 -0
  133. package/src/response/dtos/success-response.dto.js +34 -0
  134. package/src/response/dtos/success-response.dto.js.map +1 -0
  135. package/src/response/http-exception-filter.d.ts +4 -0
  136. package/src/response/http-exception-filter.js +24 -0
  137. package/src/response/http-exception-filter.js.map +1 -0
  138. package/src/response/http-exception-filter.spec.d.ts +1 -0
  139. package/src/response/http-exception-filter.spec.js +137 -0
  140. package/src/response/http-exception-filter.spec.js.map +1 -0
  141. package/src/response/index.d.ts +4 -0
  142. package/src/response/index.js +8 -0
  143. package/src/response/index.js.map +1 -0
  144. package/src/response/response.module.d.ts +2 -0
  145. package/src/response/response.module.js +17 -0
  146. package/src/response/response.module.js.map +1 -0
  147. package/src/response/response.service.d.ts +6 -0
  148. package/src/response/response.service.js +25 -0
  149. package/src/response/response.service.js.map +1 -0
  150. package/src/response/response.service.spec.d.ts +1 -0
  151. package/src/response/response.service.spec.js +58 -0
  152. package/src/response/response.service.spec.js.map +1 -0
  153. package/src/testing/factories.d.ts +14 -0
  154. package/src/testing/factories.js +58 -0
  155. package/src/testing/factories.js.map +1 -0
  156. package/src/testing/index.d.ts +1 -0
  157. package/src/testing/index.js +5 -0
  158. package/src/testing/index.js.map +1 -0
  159. package/src/utils/date/date.service.d.ts +8 -0
  160. package/src/utils/date/date.service.js +24 -0
  161. package/src/utils/date/date.service.js.map +1 -0
  162. package/src/utils/date/date.service.spec.d.ts +1 -0
  163. package/src/utils/date/date.service.spec.js +83 -0
  164. package/src/utils/date/date.service.spec.js.map +1 -0
  165. package/src/utils/date/index.d.ts +1 -0
  166. package/src/utils/date/index.js +5 -0
  167. package/src/utils/date/index.js.map +1 -0
  168. package/src/utils/dismissible.helper.d.ts +4 -0
  169. package/src/utils/dismissible.helper.js +15 -0
  170. package/src/utils/dismissible.helper.js.map +1 -0
  171. package/src/utils/index.d.ts +3 -0
  172. package/src/utils/index.js +7 -0
  173. package/src/utils/index.js.map +1 -0
  174. package/src/validation/dismissible-input.dto.d.ts +21 -0
  175. package/src/validation/dismissible-input.dto.js +54 -0
  176. package/src/validation/dismissible-input.dto.js.map +1 -0
  177. package/src/validation/index.d.ts +1 -0
  178. package/src/validation/index.js +5 -0
  179. 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,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./dismissible-input.dto"), exports);
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/dismissible/src/validation/index.ts"],"names":[],"mappings":";;;AAAA,kEAAwC"}