@elsikora/nestjs-crud-automator 1.18.0-dev.1 → 1.19.0-dev.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 (160) hide show
  1. package/dist/cjs/class/index.d.ts +1 -0
  2. package/dist/cjs/class/utility/dto/exception/details/foreign-key-violation.class.d.ts +11 -0
  3. package/dist/cjs/class/utility/dto/exception/details/foreign-key-violation.class.js +142 -0
  4. package/dist/cjs/class/utility/dto/exception/details/foreign-key-violation.class.js.map +1 -0
  5. package/dist/cjs/class/utility/dto/exception/details/index.d.ts +2 -0
  6. package/dist/cjs/class/utility/dto/exception/details/unique-violation.class.d.ts +9 -0
  7. package/dist/cjs/class/utility/dto/exception/details/unique-violation.class.js +114 -0
  8. package/dist/cjs/class/utility/dto/exception/details/unique-violation.class.js.map +1 -0
  9. package/dist/cjs/class/utility/dto/exception/index.d.ts +1 -0
  10. package/dist/cjs/decorator/api/function/create.decorator.js +28 -2
  11. package/dist/cjs/decorator/api/function/create.decorator.js.map +1 -1
  12. package/dist/cjs/decorator/api/function/delete.decorator.js +20 -2
  13. package/dist/cjs/decorator/api/function/delete.decorator.js.map +1 -1
  14. package/dist/cjs/decorator/api/function/get-list.decorator.js +11 -2
  15. package/dist/cjs/decorator/api/function/get-list.decorator.js.map +1 -1
  16. package/dist/cjs/decorator/api/function/get-many.decorator.js +11 -2
  17. package/dist/cjs/decorator/api/function/get-many.decorator.js.map +1 -1
  18. package/dist/cjs/decorator/api/function/get.decorator.js +11 -2
  19. package/dist/cjs/decorator/api/function/get.decorator.js.map +1 -1
  20. package/dist/cjs/decorator/api/function/update.decorator.js +28 -2
  21. package/dist/cjs/decorator/api/function/update.decorator.js.map +1 -1
  22. package/dist/cjs/decorator/api/method.decorator.js +6 -0
  23. package/dist/cjs/decorator/api/method.decorator.js.map +1 -1
  24. package/dist/cjs/decorator/api/service.decorator.js +2 -0
  25. package/dist/cjs/decorator/api/service.decorator.js.map +1 -1
  26. package/dist/cjs/enum/utility/exception-details/index.d.ts +1 -0
  27. package/dist/cjs/enum/utility/exception-details/type.enum.d.ts +4 -0
  28. package/dist/cjs/enum/utility/exception-details/type.enum.js +8 -0
  29. package/dist/cjs/enum/utility/exception-details/type.enum.js.map +1 -0
  30. package/dist/cjs/factory/api/controller.factory.js +4 -8
  31. package/dist/cjs/factory/api/controller.factory.js.map +1 -1
  32. package/dist/cjs/index.js +18 -0
  33. package/dist/cjs/index.js.map +1 -1
  34. package/dist/cjs/interceptor/correlation-id-response-body.interceptor.js +42 -10
  35. package/dist/cjs/interceptor/correlation-id-response-body.interceptor.js.map +1 -1
  36. package/dist/cjs/package.json +1 -1
  37. package/dist/cjs/utility/api/controller/apply-decorators.utility.js +3 -3
  38. package/dist/cjs/utility/api/controller/apply-decorators.utility.js.map +1 -1
  39. package/dist/cjs/utility/api/controller/apply-metadata.utility.js +4 -1
  40. package/dist/cjs/utility/api/controller/apply-metadata.utility.js.map +1 -1
  41. package/dist/cjs/utility/api/controller/get-list/transform-filter.utility.js +1 -1
  42. package/dist/cjs/utility/api/controller/get-list/transform-filter.utility.js.map +1 -1
  43. package/dist/cjs/utility/api/controller/write-dto-swagger.utility.js +4 -1
  44. package/dist/cjs/utility/api/controller/write-dto-swagger.utility.js.map +1 -1
  45. package/dist/cjs/utility/api/filter-order-by-from-entity.utility.js +1 -1
  46. package/dist/cjs/utility/api/filter-order-by-from-entity.utility.js.map +1 -1
  47. package/dist/cjs/utility/database/index.d.ts +1 -0
  48. package/dist/cjs/utility/database/typeorm/get/foreign-key-violation-details.utility.d.ts +16 -0
  49. package/dist/cjs/utility/database/typeorm/get/foreign-key-violation-details.utility.js +105 -0
  50. package/dist/cjs/utility/database/typeorm/get/foreign-key-violation-details.utility.js.map +1 -0
  51. package/dist/cjs/utility/database/typeorm/get/index.d.ts +2 -0
  52. package/dist/cjs/utility/database/typeorm/get/unique-violation-details.utility.d.ts +14 -0
  53. package/dist/cjs/utility/database/typeorm/get/unique-violation-details.utility.js +90 -0
  54. package/dist/cjs/utility/database/typeorm/get/unique-violation-details.utility.js.map +1 -0
  55. package/dist/cjs/utility/database/typeorm/index.d.ts +6 -0
  56. package/dist/cjs/utility/database/typeorm/is/entity/index.d.ts +2 -0
  57. package/dist/cjs/utility/database/typeorm/is/entity/metadata-not-found.utility.d.ts +7 -0
  58. package/dist/cjs/utility/database/typeorm/is/entity/metadata-not-found.utility.js +27 -0
  59. package/dist/cjs/utility/database/typeorm/is/entity/metadata-not-found.utility.js.map +1 -0
  60. package/dist/cjs/utility/database/typeorm/is/entity/not-found.utility.d.ts +6 -0
  61. package/dist/cjs/utility/database/typeorm/is/entity/not-found.utility.js +26 -0
  62. package/dist/cjs/utility/database/typeorm/is/entity/not-found.utility.js.map +1 -0
  63. package/dist/cjs/utility/database/typeorm/is/foreign-key-violation.utility.d.ts +7 -0
  64. package/dist/cjs/utility/database/typeorm/is/foreign-key-violation.utility.js +91 -0
  65. package/dist/cjs/utility/database/typeorm/is/foreign-key-violation.utility.js.map +1 -0
  66. package/dist/cjs/utility/database/typeorm/is/index.d.ts +3 -0
  67. package/dist/cjs/utility/database/typeorm/is/unique-violation.utility.d.ts +7 -0
  68. package/dist/cjs/utility/database/typeorm/is/unique-violation.utility.js +81 -0
  69. package/dist/cjs/utility/database/typeorm/is/unique-violation.utility.js.map +1 -0
  70. package/dist/cjs/utility/dto/generate-exception.utility.js +33 -10
  71. package/dist/cjs/utility/dto/generate-exception.utility.js.map +1 -1
  72. package/dist/cjs/utility/format-unknown-for-log.utility.d.ts +6 -0
  73. package/dist/cjs/utility/format-unknown-for-log.utility.js +31 -0
  74. package/dist/cjs/utility/format-unknown-for-log.utility.js.map +1 -0
  75. package/dist/cjs/utility/index.d.ts +2 -0
  76. package/dist/cjs/utility/logger.utility.js +1 -1
  77. package/dist/cjs/utility/logger.utility.js.map +1 -1
  78. package/dist/esm/class/index.d.ts +1 -0
  79. package/dist/esm/class/utility/dto/exception/details/foreign-key-violation.class.d.ts +11 -0
  80. package/dist/esm/class/utility/dto/exception/details/foreign-key-violation.class.js +140 -0
  81. package/dist/esm/class/utility/dto/exception/details/foreign-key-violation.class.js.map +1 -0
  82. package/dist/esm/class/utility/dto/exception/details/index.d.ts +2 -0
  83. package/dist/esm/class/utility/dto/exception/details/unique-violation.class.d.ts +9 -0
  84. package/dist/esm/class/utility/dto/exception/details/unique-violation.class.js +112 -0
  85. package/dist/esm/class/utility/dto/exception/details/unique-violation.class.js.map +1 -0
  86. package/dist/esm/class/utility/dto/exception/index.d.ts +1 -0
  87. package/dist/esm/decorator/api/function/create.decorator.js +29 -3
  88. package/dist/esm/decorator/api/function/create.decorator.js.map +1 -1
  89. package/dist/esm/decorator/api/function/delete.decorator.js +21 -3
  90. package/dist/esm/decorator/api/function/delete.decorator.js.map +1 -1
  91. package/dist/esm/decorator/api/function/get-list.decorator.js +12 -3
  92. package/dist/esm/decorator/api/function/get-list.decorator.js.map +1 -1
  93. package/dist/esm/decorator/api/function/get-many.decorator.js +12 -3
  94. package/dist/esm/decorator/api/function/get-many.decorator.js.map +1 -1
  95. package/dist/esm/decorator/api/function/get.decorator.js +12 -3
  96. package/dist/esm/decorator/api/function/get.decorator.js.map +1 -1
  97. package/dist/esm/decorator/api/function/update.decorator.js +29 -3
  98. package/dist/esm/decorator/api/function/update.decorator.js.map +1 -1
  99. package/dist/esm/decorator/api/method.decorator.js +7 -1
  100. package/dist/esm/decorator/api/method.decorator.js.map +1 -1
  101. package/dist/esm/decorator/api/property/boolean.decorator.js +1 -1
  102. package/dist/esm/decorator/api/property/date.decorator.js +1 -1
  103. package/dist/esm/decorator/api/property/number.decorator.js +2 -2
  104. package/dist/esm/decorator/api/property/object.decorator.js +1 -1
  105. package/dist/esm/decorator/api/property/uuid.decorator.js +1 -1
  106. package/dist/esm/decorator/api/service.decorator.js +2 -0
  107. package/dist/esm/decorator/api/service.decorator.js.map +1 -1
  108. package/dist/esm/enum/utility/exception-details/index.d.ts +1 -0
  109. package/dist/esm/enum/utility/exception-details/type.enum.d.ts +4 -0
  110. package/dist/esm/enum/utility/exception-details/type.enum.js +8 -0
  111. package/dist/esm/enum/utility/exception-details/type.enum.js.map +1 -0
  112. package/dist/esm/factory/api/controller.factory.js +4 -8
  113. package/dist/esm/factory/api/controller.factory.js.map +1 -1
  114. package/dist/esm/index.js +9 -0
  115. package/dist/esm/index.js.map +1 -1
  116. package/dist/esm/interceptor/correlation-id-response-body.interceptor.js +42 -10
  117. package/dist/esm/interceptor/correlation-id-response-body.interceptor.js.map +1 -1
  118. package/dist/esm/package.json +1 -1
  119. package/dist/esm/utility/api/controller/apply-decorators.utility.js +3 -3
  120. package/dist/esm/utility/api/controller/apply-decorators.utility.js.map +1 -1
  121. package/dist/esm/utility/api/controller/apply-metadata.utility.js +4 -1
  122. package/dist/esm/utility/api/controller/apply-metadata.utility.js.map +1 -1
  123. package/dist/esm/utility/api/controller/get-list/transform-filter.utility.js +1 -1
  124. package/dist/esm/utility/api/controller/get-list/transform-filter.utility.js.map +1 -1
  125. package/dist/esm/utility/api/controller/write-dto-swagger.utility.js +4 -1
  126. package/dist/esm/utility/api/controller/write-dto-swagger.utility.js.map +1 -1
  127. package/dist/esm/utility/api/filter-order-by-from-entity.utility.js +1 -1
  128. package/dist/esm/utility/api/filter-order-by-from-entity.utility.js.map +1 -1
  129. package/dist/esm/utility/database/index.d.ts +1 -0
  130. package/dist/esm/utility/database/typeorm/get/foreign-key-violation-details.utility.d.ts +16 -0
  131. package/dist/esm/utility/database/typeorm/get/foreign-key-violation-details.utility.js +103 -0
  132. package/dist/esm/utility/database/typeorm/get/foreign-key-violation-details.utility.js.map +1 -0
  133. package/dist/esm/utility/database/typeorm/get/index.d.ts +2 -0
  134. package/dist/esm/utility/database/typeorm/get/unique-violation-details.utility.d.ts +14 -0
  135. package/dist/esm/utility/database/typeorm/get/unique-violation-details.utility.js +88 -0
  136. package/dist/esm/utility/database/typeorm/get/unique-violation-details.utility.js.map +1 -0
  137. package/dist/esm/utility/database/typeorm/index.d.ts +6 -0
  138. package/dist/esm/utility/database/typeorm/is/entity/index.d.ts +2 -0
  139. package/dist/esm/utility/database/typeorm/is/entity/metadata-not-found.utility.d.ts +7 -0
  140. package/dist/esm/utility/database/typeorm/is/entity/metadata-not-found.utility.js +25 -0
  141. package/dist/esm/utility/database/typeorm/is/entity/metadata-not-found.utility.js.map +1 -0
  142. package/dist/esm/utility/database/typeorm/is/entity/not-found.utility.d.ts +6 -0
  143. package/dist/esm/utility/database/typeorm/is/entity/not-found.utility.js +24 -0
  144. package/dist/esm/utility/database/typeorm/is/entity/not-found.utility.js.map +1 -0
  145. package/dist/esm/utility/database/typeorm/is/foreign-key-violation.utility.d.ts +7 -0
  146. package/dist/esm/utility/database/typeorm/is/foreign-key-violation.utility.js +89 -0
  147. package/dist/esm/utility/database/typeorm/is/foreign-key-violation.utility.js.map +1 -0
  148. package/dist/esm/utility/database/typeorm/is/index.d.ts +3 -0
  149. package/dist/esm/utility/database/typeorm/is/unique-violation.utility.d.ts +7 -0
  150. package/dist/esm/utility/database/typeorm/is/unique-violation.utility.js +79 -0
  151. package/dist/esm/utility/database/typeorm/is/unique-violation.utility.js.map +1 -0
  152. package/dist/esm/utility/dto/generate-exception.utility.js +33 -10
  153. package/dist/esm/utility/dto/generate-exception.utility.js.map +1 -1
  154. package/dist/esm/utility/format-unknown-for-log.utility.d.ts +6 -0
  155. package/dist/esm/utility/format-unknown-for-log.utility.js +29 -0
  156. package/dist/esm/utility/format-unknown-for-log.utility.js.map +1 -0
  157. package/dist/esm/utility/index.d.ts +2 -0
  158. package/dist/esm/utility/logger.utility.js +1 -1
  159. package/dist/esm/utility/logger.utility.js.map +1 -1
  160. package/package.json +24 -24
@@ -0,0 +1,112 @@
1
+ import { __decorate, __metadata } from '../../../../../external/tslib/tslib.es6.js';
2
+ import { ApiPropertyEnum } from '../../../../../decorator/api/property/enum.decorator.js';
3
+ import { ApiPropertyString } from '../../../../../decorator/api/property/string.decorator.js';
4
+ import '../../../../../enum/decorator/api/action.enum.js';
5
+ import '../../../../../enum/decorator/api/authentication-type.enum.js';
6
+ import '../../../../../enum/decorator/api/controller/load-relations-strategy.enum.js';
7
+ import '../../../../../enum/decorator/api/controller/request-transformer-type.enum.js';
8
+ import '../../../../../enum/decorator/api/dto-type.enum.js';
9
+ import '../../../../../enum/decorator/api/function/type.enum.js';
10
+ import '../../../../../enum/decorator/api/on-type.enum.js';
11
+ import '../../../../../enum/decorator/api/property/data-type.enum.js';
12
+ import '../../../../../enum/decorator/api/property/date/identifier.enum.js';
13
+ import '../../../../../enum/decorator/api/property/date/type.enum.js';
14
+ import '../../../../../enum/decorator/api/property/desribe-type.enum.js';
15
+ import '../../../../../enum/decorator/api/property/number-type.enum.js';
16
+ import { EApiPropertyStringType } from '../../../../../enum/decorator/api/property/string-type.enum.js';
17
+ import '../../../../../enum/decorator/api/route-type.enum.js';
18
+ import { EApiExceptionDetailsType } from '../../../../../enum/utility/exception-details/type.enum.js';
19
+
20
+ const DETAILS_ENTITY = { name: "ErrorDetails" };
21
+ const DETAILS_MIN_LENGTH = 0;
22
+ const DETAILS_MAX_LENGTH_IDENTIFIER = 128;
23
+ const DETAILS_MAX_LENGTH_DETAIL = 1024;
24
+ const DETAILS_PATTERN_IDENTIFIER = String.raw `/^[\s\S]{0,128}$/`;
25
+ const DETAILS_PATTERN_DETAIL = String.raw `/^[\s\S]{0,1024}$/`;
26
+ class ExceptionDetailsUniqueViolationDTO {
27
+ constraint;
28
+ detail;
29
+ field;
30
+ table;
31
+ type = EApiExceptionDetailsType.UNIQUE_VIOLATION;
32
+ value;
33
+ }
34
+ __decorate([
35
+ ApiPropertyString({
36
+ entity: DETAILS_ENTITY,
37
+ exampleValue: "UQ_user_login",
38
+ format: EApiPropertyStringType.STRING,
39
+ isRequired: false,
40
+ isResponse: true,
41
+ maxLength: DETAILS_MAX_LENGTH_IDENTIFIER,
42
+ minLength: DETAILS_MIN_LENGTH,
43
+ pattern: DETAILS_PATTERN_IDENTIFIER,
44
+ }),
45
+ __metadata("design:type", String)
46
+ ], ExceptionDetailsUniqueViolationDTO.prototype, "constraint", void 0);
47
+ __decorate([
48
+ ApiPropertyString({
49
+ entity: DETAILS_ENTITY,
50
+ exampleValue: "Key (login)=(jack) already exists.",
51
+ format: EApiPropertyStringType.STRING,
52
+ isRequired: false,
53
+ isResponse: true,
54
+ maxLength: DETAILS_MAX_LENGTH_DETAIL,
55
+ minLength: DETAILS_MIN_LENGTH,
56
+ pattern: DETAILS_PATTERN_DETAIL,
57
+ }),
58
+ __metadata("design:type", String)
59
+ ], ExceptionDetailsUniqueViolationDTO.prototype, "detail", void 0);
60
+ __decorate([
61
+ ApiPropertyString({
62
+ entity: DETAILS_ENTITY,
63
+ exampleValue: "login",
64
+ format: EApiPropertyStringType.STRING,
65
+ isRequired: false,
66
+ isResponse: true,
67
+ maxLength: DETAILS_MAX_LENGTH_IDENTIFIER,
68
+ minLength: DETAILS_MIN_LENGTH,
69
+ pattern: DETAILS_PATTERN_IDENTIFIER,
70
+ }),
71
+ __metadata("design:type", String)
72
+ ], ExceptionDetailsUniqueViolationDTO.prototype, "field", void 0);
73
+ __decorate([
74
+ ApiPropertyString({
75
+ entity: DETAILS_ENTITY,
76
+ exampleValue: "user",
77
+ format: EApiPropertyStringType.STRING,
78
+ isRequired: false,
79
+ isResponse: true,
80
+ maxLength: DETAILS_MAX_LENGTH_IDENTIFIER,
81
+ minLength: DETAILS_MIN_LENGTH,
82
+ pattern: DETAILS_PATTERN_IDENTIFIER,
83
+ }),
84
+ __metadata("design:type", String)
85
+ ], ExceptionDetailsUniqueViolationDTO.prototype, "table", void 0);
86
+ __decorate([
87
+ ApiPropertyEnum({
88
+ entity: DETAILS_ENTITY,
89
+ enum: EApiExceptionDetailsType,
90
+ enumName: "EApiExceptionDetailsType",
91
+ exampleValue: EApiExceptionDetailsType.UNIQUE_VIOLATION,
92
+ isRequired: true,
93
+ isResponse: true,
94
+ }),
95
+ __metadata("design:type", String)
96
+ ], ExceptionDetailsUniqueViolationDTO.prototype, "type", void 0);
97
+ __decorate([
98
+ ApiPropertyString({
99
+ entity: DETAILS_ENTITY,
100
+ exampleValue: "jack",
101
+ format: EApiPropertyStringType.STRING,
102
+ isRequired: false,
103
+ isResponse: true,
104
+ maxLength: DETAILS_MAX_LENGTH_DETAIL,
105
+ minLength: DETAILS_MIN_LENGTH,
106
+ pattern: DETAILS_PATTERN_DETAIL,
107
+ }),
108
+ __metadata("design:type", String)
109
+ ], ExceptionDetailsUniqueViolationDTO.prototype, "value", void 0);
110
+
111
+ export { ExceptionDetailsUniqueViolationDTO };
112
+ //# sourceMappingURL=unique-violation.class.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unique-violation.class.js","sources":["../../../../../../../../src/class/utility/dto/exception/details/unique-violation.class.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export * from './details/index';
@@ -3,7 +3,14 @@ import { EApiFunctionType } from '../../../enum/decorator/api/function/type.enum
3
3
  import { EApiSubscriberOnType } from '../../../enum/decorator/api/on-type.enum.js';
4
4
  import { EErrorStringAction } from '../../../enum/utility/error-string/action.enum.js';
5
5
  import '../../../enum/utility/error-string/composite-action.enum.js';
6
- import { HttpException, InternalServerErrorException } from '@nestjs/common';
6
+ import { EApiExceptionDetailsType } from '../../../enum/utility/exception-details/type.enum.js';
7
+ import { NotFoundException, InternalServerErrorException, BadRequestException, HttpStatus, ConflictException, HttpException } from '@nestjs/common';
8
+ import { DatabaseTypeOrmGetForeignKeyViolationDetails } from '../../../utility/database/typeorm/get/foreign-key-violation-details.utility.js';
9
+ import { DatabaseTypeOrmGetUniqueViolationDetails } from '../../../utility/database/typeorm/get/unique-violation-details.utility.js';
10
+ import { DatabaseTypeOrmIsEntityMetadataNotFound } from '../../../utility/database/typeorm/is/entity/metadata-not-found.utility.js';
11
+ import { DatabaseTypeOrmIsEntityNotFound } from '../../../utility/database/typeorm/is/entity/not-found.utility.js';
12
+ import { DatabaseTypeOrmIsForeignKeyViolation } from '../../../utility/database/typeorm/is/foreign-key-violation.utility.js';
13
+ import { DatabaseTypeOrmIsUniqueViolation } from '../../../utility/database/typeorm/is/unique-violation.utility.js';
7
14
  import { ErrorException } from '../../../utility/error-exception.utility.js';
8
15
  import { ErrorString } from '../../../utility/error-string.utility.js';
9
16
  import { LoggerUtility } from '../../../utility/logger.utility.js';
@@ -76,13 +83,32 @@ async function executor(options) {
76
83
  }
77
84
  return result;
78
85
  }
79
- catch (error) {
86
+ catch (caughtError) {
80
87
  const entityInstance = new entity();
81
88
  const errorExecutionContext = {
82
89
  DATA: { eventManager, properties, repository },
83
90
  ENTITY: entityInstance,
84
91
  FUNCTION_TYPE: EApiFunctionType.CREATE,
85
92
  };
93
+ let error = caughtError;
94
+ if (DatabaseTypeOrmIsEntityNotFound(caughtError)) {
95
+ error = new NotFoundException(ErrorString({ entity, type: EErrorStringAction.NOT_FOUND }), { cause: caughtError });
96
+ }
97
+ if (DatabaseTypeOrmIsEntityMetadataNotFound(caughtError)) {
98
+ error = new InternalServerErrorException(ErrorString({ entity, type: EErrorStringAction.DATABASE_ERROR }), { cause: caughtError });
99
+ }
100
+ if (DatabaseTypeOrmIsForeignKeyViolation(caughtError)) {
101
+ const message = ErrorString({ entity, type: EErrorStringAction.DATABASE_CONSTRAINT_VIOLATION });
102
+ const detailsBase = DatabaseTypeOrmGetForeignKeyViolationDetails(caughtError);
103
+ const details = detailsBase ? { ...detailsBase, type: EApiExceptionDetailsType.FOREIGN_KEY_VIOLATION } : { type: EApiExceptionDetailsType.FOREIGN_KEY_VIOLATION };
104
+ error = new BadRequestException({ details, error: "Bad Request", message, statusCode: HttpStatus.BAD_REQUEST }, { cause: caughtError });
105
+ }
106
+ if (DatabaseTypeOrmIsUniqueViolation(caughtError)) {
107
+ const message = ErrorString({ entity, type: EErrorStringAction.DUPLICATE_KEY });
108
+ const detailsBase = DatabaseTypeOrmGetUniqueViolationDetails(caughtError);
109
+ const details = detailsBase ? { ...detailsBase, type: EApiExceptionDetailsType.UNIQUE_VIOLATION } : { type: EApiExceptionDetailsType.UNIQUE_VIOLATION };
110
+ error = new ConflictException({ details, error: "Conflict", message, statusCode: HttpStatus.CONFLICT }, { cause: caughtError });
111
+ }
86
112
  if (error instanceof HttpException) {
87
113
  await ApiSubscriberExecutor.executeFunctionErrorSubscribers(constructor, entityInstance, EApiFunctionType.CREATE, EApiSubscriberOnType.AFTER_ERROR, errorExecutionContext, error);
88
114
  throw error;
@@ -92,7 +118,7 @@ async function executor(options) {
92
118
  throw new InternalServerErrorException(ErrorString({
93
119
  entity: entity,
94
120
  type: EErrorStringAction.CREATING_ERROR,
95
- }));
121
+ }), { cause: caughtError });
96
122
  }
97
123
  }
98
124
 
@@ -1 +1 @@
1
- {"version":3,"file":"create.decorator.js","sources":["../../../../../../src/decorator/api/function/create.decorator.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create.decorator.js","sources":["../../../../../../src/decorator/api/function/create.decorator.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -15,7 +15,12 @@ import '../../../enum/decorator/api/property/string-type.enum.js';
15
15
  import '../../../enum/decorator/api/route-type.enum.js';
16
16
  import { EErrorStringAction } from '../../../enum/utility/error-string/action.enum.js';
17
17
  import '../../../enum/utility/error-string/composite-action.enum.js';
18
- import { HttpException, InternalServerErrorException } from '@nestjs/common';
18
+ import { EApiExceptionDetailsType } from '../../../enum/utility/exception-details/type.enum.js';
19
+ import { NotFoundException, InternalServerErrorException, BadRequestException, HttpStatus, HttpException } from '@nestjs/common';
20
+ import { DatabaseTypeOrmGetForeignKeyViolationDetails } from '../../../utility/database/typeorm/get/foreign-key-violation-details.utility.js';
21
+ import { DatabaseTypeOrmIsEntityMetadataNotFound } from '../../../utility/database/typeorm/is/entity/metadata-not-found.utility.js';
22
+ import { DatabaseTypeOrmIsEntityNotFound } from '../../../utility/database/typeorm/is/entity/not-found.utility.js';
23
+ import { DatabaseTypeOrmIsForeignKeyViolation } from '../../../utility/database/typeorm/is/foreign-key-violation.utility.js';
19
24
  import { ErrorException } from '../../../utility/error-exception.utility.js';
20
25
  import { ErrorString } from '../../../utility/error-string.utility.js';
21
26
  import { LoggerUtility } from '../../../utility/logger.utility.js';
@@ -105,13 +110,26 @@ async function executor(options) {
105
110
  }
106
111
  return result;
107
112
  }
108
- catch (error) {
113
+ catch (caughtError) {
109
114
  const entityInstance = new entity();
110
115
  const errorExecutionContext = {
111
116
  DATA: { criteria, eventManager, repository },
112
117
  ENTITY: entityInstance,
113
118
  FUNCTION_TYPE: EApiFunctionType.DELETE,
114
119
  };
120
+ let error = caughtError;
121
+ if (DatabaseTypeOrmIsEntityNotFound(caughtError)) {
122
+ error = new NotFoundException(ErrorString({ entity, type: EErrorStringAction.NOT_FOUND }), { cause: caughtError });
123
+ }
124
+ if (DatabaseTypeOrmIsEntityMetadataNotFound(caughtError)) {
125
+ error = new InternalServerErrorException(ErrorString({ entity, type: EErrorStringAction.DATABASE_ERROR }), { cause: caughtError });
126
+ }
127
+ if (DatabaseTypeOrmIsForeignKeyViolation(caughtError)) {
128
+ const message = ErrorString({ entity, type: EErrorStringAction.DATABASE_CONSTRAINT_VIOLATION });
129
+ const detailsBase = DatabaseTypeOrmGetForeignKeyViolationDetails(caughtError);
130
+ const details = detailsBase ? { ...detailsBase, type: EApiExceptionDetailsType.FOREIGN_KEY_VIOLATION } : { type: EApiExceptionDetailsType.FOREIGN_KEY_VIOLATION };
131
+ error = new BadRequestException({ details, error: "Bad Request", message, statusCode: HttpStatus.BAD_REQUEST }, { cause: caughtError });
132
+ }
115
133
  if (error instanceof HttpException) {
116
134
  await ApiSubscriberExecutor.executeFunctionErrorSubscribers(constructor, entityInstance, EApiFunctionType.DELETE, EApiSubscriberOnType.AFTER_ERROR, errorExecutionContext, error);
117
135
  throw error;
@@ -121,7 +139,7 @@ async function executor(options) {
121
139
  throw new InternalServerErrorException(ErrorString({
122
140
  entity: entity,
123
141
  type: EErrorStringAction.DELETING_ERROR,
124
- }));
142
+ }), { cause: caughtError });
125
143
  }
126
144
  }
127
145
 
@@ -1 +1 @@
1
- {"version":3,"file":"delete.decorator.js","sources":["../../../../../../src/decorator/api/function/delete.decorator.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"delete.decorator.js","sources":["../../../../../../src/decorator/api/function/delete.decorator.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -15,7 +15,9 @@ import '../../../enum/decorator/api/property/string-type.enum.js';
15
15
  import '../../../enum/decorator/api/route-type.enum.js';
16
16
  import { EErrorStringAction } from '../../../enum/utility/error-string/action.enum.js';
17
17
  import '../../../enum/utility/error-string/composite-action.enum.js';
18
- import { HttpException, InternalServerErrorException } from '@nestjs/common';
18
+ import { NotFoundException, InternalServerErrorException, HttpException } from '@nestjs/common';
19
+ import { DatabaseTypeOrmIsEntityMetadataNotFound } from '../../../utility/database/typeorm/is/entity/metadata-not-found.utility.js';
20
+ import { DatabaseTypeOrmIsEntityNotFound } from '../../../utility/database/typeorm/is/entity/not-found.utility.js';
19
21
  import { ErrorException } from '../../../utility/error-exception.utility.js';
20
22
  import { ErrorString } from '../../../utility/error-string.utility.js';
21
23
  import { LoggerUtility } from '../../../utility/logger.utility.js';
@@ -111,13 +113,20 @@ async function executor(options) {
111
113
  }
112
114
  return result;
113
115
  }
114
- catch (error) {
116
+ catch (caughtError) {
115
117
  const entityInstance = new entity();
116
118
  const errorExecutionContext = {
117
119
  DATA: { eventManager, properties, repository },
118
120
  ENTITY: entityInstance,
119
121
  FUNCTION_TYPE: EApiFunctionType.GET_LIST,
120
122
  };
123
+ let error = caughtError;
124
+ if (DatabaseTypeOrmIsEntityNotFound(caughtError)) {
125
+ error = new NotFoundException(ErrorString({ entity, type: EErrorStringAction.NOT_FOUND }), { cause: caughtError });
126
+ }
127
+ if (DatabaseTypeOrmIsEntityMetadataNotFound(caughtError)) {
128
+ error = new InternalServerErrorException(ErrorString({ entity, type: EErrorStringAction.DATABASE_ERROR }), { cause: caughtError });
129
+ }
121
130
  if (error instanceof HttpException) {
122
131
  await ApiSubscriberExecutor.executeFunctionErrorSubscribers(constructor, entityInstance, EApiFunctionType.GET_LIST, EApiSubscriberOnType.AFTER_ERROR, errorExecutionContext, error);
123
132
  throw error;
@@ -127,7 +136,7 @@ async function executor(options) {
127
136
  throw new InternalServerErrorException(ErrorString({
128
137
  entity: entity,
129
138
  type: EErrorStringAction.FETCHING_LIST_ERROR,
130
- }));
139
+ }), { cause: caughtError });
131
140
  }
132
141
  }
133
142
 
@@ -1 +1 @@
1
- {"version":3,"file":"get-list.decorator.js","sources":["../../../../../../src/decorator/api/function/get-list.decorator.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAgBA;;;;;;AAMG;AACG,SAAU,kBAAkB,CAA2B,UAAqC,EAAA;AACjG,IAAA,MAAM,EAAE,MAAM,EAAE,GAA8B,UAAU;AAExD,IAAA,OAAO,UAAU,OAAgB,EAAE,YAAoB,EAAE,UAA8B,EAAA;AACtF,QAAA,UAAU,CAAC,KAAK,GAAG,gBAAqD,iBAAmD,EAAE,YAA4B,EAAA;AACxJ,YAAA,MAAM,cAAc,GAAM,IAAI,MAAM,EAAE;AAEtC,YAAA,MAAM,gBAAgB,GAAgF;gBACrG,IAAI,EAAE,EAAE,YAAY,EAAE,iBAAiB,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE;AACtE,gBAAA,MAAM,EAAE,cAAc;gBACtB,aAAa,EAAE,gBAAgB,CAAC,QAAQ;AACxC,gBAAA,MAAM,EAAE,iBAAiB;aACzB;YAED,MAAM,MAAM,GAAmC,MAAM,qBAAqB,CAAC,0BAA0B,CAAC,IAAI,CAAC,WAA6D,EAAE,cAAc,EAAE,gBAAgB,CAAC,QAAQ,EAAE,oBAAoB,CAAC,MAAM,EAAE,gBAAgB,CAAC;YAEnQ,IAAI,MAAM,EAAE;AACX,gBAAA,gBAAgB,CAAC,MAAM,GAAG,MAAM;YACjC;AAEA,YAAA,MAAM,UAAU,GAAkB,IAAI,CAAC,UAAU;YAEjD,IAAI,CAAC,UAAU,EAAE;AAChB,gBAAA,MAAM,qBAAqB,GAA4E;oBACtG,IAAI,EAAE,EAAE,YAAY,EAAE,iBAAiB,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE;AACtE,oBAAA,MAAM,EAAE,cAAc;oBACtB,aAAa,EAAE,gBAAgB,CAAC,QAAQ;iBACxC;gBAED,MAAM,qBAAqB,CAAC,+BAA+B,CAAC,IAAI,CAAC,WAA6D,EAAE,cAAc,EAAE,gBAAgB,CAAC,QAAQ,EAAE,oBAAoB,CAAC,YAAY,EAAE,qBAAqB,EAAE,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;AAE9R,gBAAA,MAAM,cAAc,CAAC,6CAA6C,CAAC;YACpE;YAEA,OAAO,QAAQ,CAAI,EAAE,WAAW,EAAE,IAAI,CAAC,WAA6D,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,gBAAgB,CAAC,MAAM,IAAK,EAAkD,EAAE,UAAU,EAAE,CAAC;AACtO,QAAA,CAAC;AAED,QAAA,OAAO,UAAU;AAClB,IAAA,CAAC;AACF;AAEA;;;;;;AAMG;AACH,SAAS,oBAAoB,CAA2B,UAA4C,EAAE,WAAmB,EAAA;AACxH,IAAA,IAAI,WAAW,KAAK,CAAC,EAAE;AACtB,QAAA,OAAO,CAAC;IACT;AAEA,IAAA,IAAI,UAAU,CAAC,IAAI,EAAE;AACpB,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;IAC/D;AAEA,IAAA,OAAO,CAAC;AACT;AAEA;;;;;;AAMG;AACH,eAAe,QAAQ,CAA2B,OAAiD,EAAA;AAClG,IAAA,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,GAA6C,OAAO;AAEvH,IAAA,IAAI;AACH,QAAA,IAAI,KAAe;AACnB,QAAA,IAAI,UAAkB;QAEtB,IAAI,YAAY,EAAE;YACjB,MAAM,eAAe,GAAkB,YAAY,CAAC,aAAa,CAAI,MAAM,CAAC;AAC5E,YAAA,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG,MAAM,eAAe,CAAC,YAAY,CAAC,UAAU,CAAC;QACrE;aAAO;AACN,YAAA,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG,MAAM,UAAU,CAAC,YAAY,CAAC,UAAU,CAAC;QAChE;AAEA,QAAA,MAAM,MAAM,GAAiC;YAC5C,KAAK,EAAE,KAAK,CAAC,MAAM;YACnB,WAAW,EAAE,oBAAoB,CAAI,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC;YAC9D,KAAK;YACL,UAAU;AACV,YAAA,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;SAC1D;AAED,QAAA,MAAM,gBAAgB,GAA4E;AACjG,YAAA,IAAI,EAAE,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE;YAC9C,MAAM,EAAE,IAAI,MAAM,EAAE;YACpB,aAAa,EAAE,gBAAgB,CAAC,QAAQ;AACxC,YAAA,MAAM,EAAE,MAAM;SACd;QAED,MAAM,WAAW,GAA6C,MAAM,qBAAqB,CAAC,0BAA0B,CAAC,WAAW,EAAE,IAAI,MAAM,EAAE,EAAE,gBAAgB,CAAC,QAAQ,EAAE,oBAAoB,CAAC,KAAK,EAAE,gBAAgB,CAAC;QAExN,IAAI,WAAW,EAAE;AAChB,YAAA,OAAO,WAAW;QACnB;AAEA,QAAA,OAAO,MAAM;IACd;IAAE,OAAO,KAAK,EAAE;AACf,QAAA,MAAM,cAAc,GAAM,IAAI,MAAM,EAAE;AAEtC,QAAA,MAAM,qBAAqB,GAA4E;AACtG,YAAA,IAAI,EAAE,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE;AAC9C,YAAA,MAAM,EAAE,cAAc;YACtB,aAAa,EAAE,gBAAgB,CAAC,QAAQ;SACxC;AAED,QAAA,IAAI,KAAK,YAAY,aAAa,EAAE;YACnC,MAAM,qBAAqB,CAAC,+BAA+B,CAAC,WAAW,EAAE,cAAc,EAAE,gBAAgB,CAAC,QAAQ,EAAE,oBAAoB,CAAC,WAAW,EAAE,qBAAqB,EAAE,KAAK,CAAC;AAEnL,YAAA,MAAM,KAAK;QACZ;AAEA,QAAA,aAAa,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC,CAAA,+BAAA,EAAkC,MAAM,CAAC,IAAI,CAAA,CAAA,CAAG,EAAE,KAAK,CAAC;QAC9G,MAAM,qBAAqB,CAAC,+BAA+B,CAAC,WAAW,EAAE,cAAc,EAAE,gBAAgB,CAAC,QAAQ,EAAE,oBAAoB,CAAC,WAAW,EAAE,qBAAqB,EAAE,KAAc,CAAC;AAE5L,QAAA,MAAM,IAAI,4BAA4B,CACrC,WAAW,CAAC;AACX,YAAA,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,kBAAkB,CAAC,mBAAmB;AAC5C,SAAA,CAAC,CACF;IACF;AACD;;;;"}
1
+ {"version":3,"file":"get-list.decorator.js","sources":["../../../../../../src/decorator/api/function/get-list.decorator.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -15,7 +15,9 @@ import '../../../enum/decorator/api/property/string-type.enum.js';
15
15
  import '../../../enum/decorator/api/route-type.enum.js';
16
16
  import { EErrorStringAction } from '../../../enum/utility/error-string/action.enum.js';
17
17
  import '../../../enum/utility/error-string/composite-action.enum.js';
18
- import { NotFoundException, HttpException, InternalServerErrorException } from '@nestjs/common';
18
+ import { NotFoundException, InternalServerErrorException, HttpException } from '@nestjs/common';
19
+ import { DatabaseTypeOrmIsEntityMetadataNotFound } from '../../../utility/database/typeorm/is/entity/metadata-not-found.utility.js';
20
+ import { DatabaseTypeOrmIsEntityNotFound } from '../../../utility/database/typeorm/is/entity/not-found.utility.js';
19
21
  import { ErrorException } from '../../../utility/error-exception.utility.js';
20
22
  import { ErrorString } from '../../../utility/error-string.utility.js';
21
23
  import { LoggerUtility } from '../../../utility/logger.utility.js';
@@ -91,13 +93,20 @@ async function executor(options) {
91
93
  }
92
94
  return items;
93
95
  }
94
- catch (error) {
96
+ catch (caughtError) {
95
97
  const entityInstance = new entity();
96
98
  const errorExecutionContext = {
97
99
  DATA: { eventManager, properties, repository },
98
100
  ENTITY: entityInstance,
99
101
  FUNCTION_TYPE: EApiFunctionType.GET_MANY,
100
102
  };
103
+ let error = caughtError;
104
+ if (DatabaseTypeOrmIsEntityNotFound(caughtError)) {
105
+ error = new NotFoundException(ErrorString({ entity, type: EErrorStringAction.NOT_FOUND }), { cause: caughtError });
106
+ }
107
+ if (DatabaseTypeOrmIsEntityMetadataNotFound(caughtError)) {
108
+ error = new InternalServerErrorException(ErrorString({ entity, type: EErrorStringAction.DATABASE_ERROR }), { cause: caughtError });
109
+ }
101
110
  if (error instanceof HttpException) {
102
111
  await ApiSubscriberExecutor.executeFunctionErrorSubscribers(constructor, entityInstance, EApiFunctionType.GET_MANY, EApiSubscriberOnType.AFTER_ERROR, errorExecutionContext, error);
103
112
  throw error;
@@ -107,7 +116,7 @@ async function executor(options) {
107
116
  throw new InternalServerErrorException(ErrorString({
108
117
  entity,
109
118
  type: EErrorStringAction.FETCHING_ERROR,
110
- }));
119
+ }), { cause: caughtError });
111
120
  }
112
121
  }
113
122
 
@@ -1 +1 @@
1
- {"version":3,"file":"get-many.decorator.js","sources":["../../../../../../src/decorator/api/function/get-many.decorator.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get-many.decorator.js","sources":["../../../../../../src/decorator/api/function/get-many.decorator.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -15,7 +15,9 @@ import '../../../enum/decorator/api/property/string-type.enum.js';
15
15
  import '../../../enum/decorator/api/route-type.enum.js';
16
16
  import { EErrorStringAction } from '../../../enum/utility/error-string/action.enum.js';
17
17
  import '../../../enum/utility/error-string/composite-action.enum.js';
18
- import { NotFoundException, HttpException, InternalServerErrorException } from '@nestjs/common';
18
+ import { NotFoundException, InternalServerErrorException, HttpException } from '@nestjs/common';
19
+ import { DatabaseTypeOrmIsEntityMetadataNotFound } from '../../../utility/database/typeorm/is/entity/metadata-not-found.utility.js';
20
+ import { DatabaseTypeOrmIsEntityNotFound } from '../../../utility/database/typeorm/is/entity/not-found.utility.js';
19
21
  import { ErrorException } from '../../../utility/error-exception.utility.js';
20
22
  import { ErrorString } from '../../../utility/error-string.utility.js';
21
23
  import { LoggerUtility } from '../../../utility/logger.utility.js';
@@ -91,13 +93,20 @@ async function executor(options) {
91
93
  }
92
94
  return item;
93
95
  }
94
- catch (error) {
96
+ catch (caughtError) {
95
97
  const entityInstance = new entity();
96
98
  const errorExecutionContext = {
97
99
  DATA: { eventManager, properties, repository },
98
100
  ENTITY: entityInstance,
99
101
  FUNCTION_TYPE: EApiFunctionType.GET,
100
102
  };
103
+ let error = caughtError;
104
+ if (DatabaseTypeOrmIsEntityNotFound(caughtError)) {
105
+ error = new NotFoundException(ErrorString({ entity, type: EErrorStringAction.NOT_FOUND }), { cause: caughtError });
106
+ }
107
+ if (DatabaseTypeOrmIsEntityMetadataNotFound(caughtError)) {
108
+ error = new InternalServerErrorException(ErrorString({ entity, type: EErrorStringAction.DATABASE_ERROR }), { cause: caughtError });
109
+ }
101
110
  if (error instanceof HttpException) {
102
111
  await ApiSubscriberExecutor.executeFunctionErrorSubscribers(constructor, entityInstance, EApiFunctionType.GET, EApiSubscriberOnType.AFTER_ERROR, errorExecutionContext, error);
103
112
  throw error;
@@ -107,7 +116,7 @@ async function executor(options) {
107
116
  throw new InternalServerErrorException(ErrorString({
108
117
  entity,
109
118
  type: EErrorStringAction.FETCHING_ERROR,
110
- }));
119
+ }), { cause: caughtError });
111
120
  }
112
121
  }
113
122
 
@@ -1 +1 @@
1
- {"version":3,"file":"get.decorator.js","sources":["../../../../../../src/decorator/api/function/get.decorator.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get.decorator.js","sources":["../../../../../../src/decorator/api/function/get.decorator.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -15,7 +15,14 @@ import '../../../enum/decorator/api/property/string-type.enum.js';
15
15
  import '../../../enum/decorator/api/route-type.enum.js';
16
16
  import { EErrorStringAction } from '../../../enum/utility/error-string/action.enum.js';
17
17
  import '../../../enum/utility/error-string/composite-action.enum.js';
18
- import { HttpException, InternalServerErrorException } from '@nestjs/common';
18
+ import { EApiExceptionDetailsType } from '../../../enum/utility/exception-details/type.enum.js';
19
+ import { NotFoundException, InternalServerErrorException, BadRequestException, HttpStatus, ConflictException, HttpException } from '@nestjs/common';
20
+ import { DatabaseTypeOrmGetForeignKeyViolationDetails } from '../../../utility/database/typeorm/get/foreign-key-violation-details.utility.js';
21
+ import { DatabaseTypeOrmGetUniqueViolationDetails } from '../../../utility/database/typeorm/get/unique-violation-details.utility.js';
22
+ import { DatabaseTypeOrmIsEntityMetadataNotFound } from '../../../utility/database/typeorm/is/entity/metadata-not-found.utility.js';
23
+ import { DatabaseTypeOrmIsEntityNotFound } from '../../../utility/database/typeorm/is/entity/not-found.utility.js';
24
+ import { DatabaseTypeOrmIsForeignKeyViolation } from '../../../utility/database/typeorm/is/foreign-key-violation.utility.js';
25
+ import { DatabaseTypeOrmIsUniqueViolation } from '../../../utility/database/typeorm/is/unique-violation.utility.js';
19
26
  import { ErrorException } from '../../../utility/error-exception.utility.js';
20
27
  import { ErrorString } from '../../../utility/error-string.utility.js';
21
28
  import { LoggerUtility } from '../../../utility/logger.utility.js';
@@ -113,13 +120,32 @@ async function executor(options) {
113
120
  }
114
121
  return result;
115
122
  }
116
- catch (error) {
123
+ catch (caughtError) {
117
124
  const entityInstance = new entity();
118
125
  const errorExecutionContext = {
119
126
  DATA: { criteria, eventManager, properties, repository },
120
127
  ENTITY: entityInstance,
121
128
  FUNCTION_TYPE: EApiFunctionType.UPDATE,
122
129
  };
130
+ let error = caughtError;
131
+ if (DatabaseTypeOrmIsEntityNotFound(caughtError)) {
132
+ error = new NotFoundException(ErrorString({ entity, type: EErrorStringAction.NOT_FOUND }), { cause: caughtError });
133
+ }
134
+ if (DatabaseTypeOrmIsEntityMetadataNotFound(caughtError)) {
135
+ error = new InternalServerErrorException(ErrorString({ entity, type: EErrorStringAction.DATABASE_ERROR }), { cause: caughtError });
136
+ }
137
+ if (DatabaseTypeOrmIsForeignKeyViolation(caughtError)) {
138
+ const message = ErrorString({ entity, type: EErrorStringAction.DATABASE_CONSTRAINT_VIOLATION });
139
+ const detailsBase = DatabaseTypeOrmGetForeignKeyViolationDetails(caughtError);
140
+ const details = detailsBase ? { ...detailsBase, type: EApiExceptionDetailsType.FOREIGN_KEY_VIOLATION } : { type: EApiExceptionDetailsType.FOREIGN_KEY_VIOLATION };
141
+ error = new BadRequestException({ details, error: "Bad Request", message, statusCode: HttpStatus.BAD_REQUEST }, { cause: caughtError });
142
+ }
143
+ if (DatabaseTypeOrmIsUniqueViolation(caughtError)) {
144
+ const message = ErrorString({ entity, type: EErrorStringAction.DUPLICATE_KEY });
145
+ const detailsBase = DatabaseTypeOrmGetUniqueViolationDetails(caughtError);
146
+ const details = detailsBase ? { ...detailsBase, type: EApiExceptionDetailsType.UNIQUE_VIOLATION } : { type: EApiExceptionDetailsType.UNIQUE_VIOLATION };
147
+ error = new ConflictException({ details, error: "Conflict", message, statusCode: HttpStatus.CONFLICT }, { cause: caughtError });
148
+ }
123
149
  if (error instanceof HttpException) {
124
150
  await ApiSubscriberExecutor.executeFunctionErrorSubscribers(constructor, entityInstance, EApiFunctionType.UPDATE, EApiSubscriberOnType.AFTER_ERROR, errorExecutionContext, error);
125
151
  throw error;
@@ -129,7 +155,7 @@ async function executor(options) {
129
155
  throw new InternalServerErrorException(ErrorString({
130
156
  entity: entity,
131
157
  type: EErrorStringAction.UPDATING_ERROR,
132
- }));
158
+ }), { cause: caughtError });
133
159
  }
134
160
  }
135
161
 
@@ -1 +1 @@
1
- {"version":3,"file":"update.decorator.js","sources":["../../../../../../src/decorator/api/function/update.decorator.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update.decorator.js","sources":["../../../../../../src/decorator/api/function/update.decorator.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@ import '../../enum/decorator/api/property/number-type.enum.js';
15
15
  import '../../enum/decorator/api/property/string-type.enum.js';
16
16
  import '../../enum/decorator/api/route-type.enum.js';
17
17
  import { HttpCode, HttpStatus, RequestMethod, Put, Post, Patch, Get, Delete, UseGuards, applyDecorators } from '@nestjs/common';
18
- import { ApiOperation, ApiResponse, ApiUnauthorizedResponse, ApiForbiddenResponse, ApiInternalServerErrorResponse, ApiNotFoundResponse, ApiBadRequestResponse, ApiTooManyRequestsResponse, ApiBearerAuth, ApiSecurity } from '@nestjs/swagger';
18
+ import { ApiOperation, ApiResponse, ApiUnauthorizedResponse, ApiForbiddenResponse, ApiInternalServerErrorResponse, ApiNotFoundResponse, ApiBadRequestResponse, ApiConflictResponse, ApiTooManyRequestsResponse, ApiBearerAuth, ApiSecurity } from '@nestjs/swagger';
19
19
  import { Throttle } from '@nestjs/throttler';
20
20
  import { DtoGenerateException } from '../../utility/dto/generate-exception.utility.js';
21
21
 
@@ -312,6 +312,12 @@ function ApiMethod(options) {
312
312
  type: DtoGenerateException(HttpStatus.BAD_REQUEST),
313
313
  }));
314
314
  }
315
+ if (options.responses.hasConflict) {
316
+ decorators.push(ApiConflictResponse({
317
+ description: "Conflict",
318
+ type: DtoGenerateException(HttpStatus.CONFLICT),
319
+ }));
320
+ }
315
321
  if (options.responses.hasTooManyRequests) {
316
322
  decorators.push(ApiTooManyRequestsResponse({
317
323
  description: "Too Many Requests",