@atlantjs/arch 2.6.3 → 3.0.0

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 (151) hide show
  1. package/@tool-box/tests/builders/errors/dummies/failure.dummy.d.ts +3 -0
  2. package/{tests → @tool-box/tests}/builders/errors/dummies/failure.dummy.js +1 -1
  3. package/@tool-box/tests/builders/generic/dummies/uuid.dummy.d.ts +3 -0
  4. package/{tests → @tool-box/tests}/builders/generic/dummies/uuid.dummy.js +1 -1
  5. package/{tests → @tool-box/tests}/create-fake-usecase.d.ts +1 -1
  6. package/@tool-box/tests/faker/faker.d.ts +0 -0
  7. package/@tool-box/tests/faker/faker.js +1 -0
  8. package/@tool-box/utils/datatypes/boolean-utils.d.ts +8 -0
  9. package/@tool-box/utils/datatypes/boolean-utils.js +19 -0
  10. package/{utils → @tool-box/utils}/ducts/common.d.ts +2 -2
  11. package/{utils → @tool-box/utils}/ducts/common.js +3 -3
  12. package/{utils → @tool-box/utils}/ducts/optional-type.d.ts +5 -5
  13. package/{utils → @tool-box/utils}/ducts/optional-type.js +11 -11
  14. package/{utils → @tool-box/utils}/ducts/return-type.d.ts +3 -3
  15. package/{utils → @tool-box/utils}/ducts/return-type.js +14 -14
  16. package/{utils → @tool-box/utils}/http-client/http-client-response.d.ts +3 -3
  17. package/{utils → @tool-box/utils}/http-client/http-client-response.get-header.failure.d.ts +1 -1
  18. package/{utils → @tool-box/utils}/http-client/http-client-response.get-header.failure.js +1 -1
  19. package/{utils → @tool-box/utils}/http-client/http-client-response.js +2 -2
  20. package/@tool-box/utils/randoms/random-value.d.ts +5 -0
  21. package/@tool-box/utils/randoms/random-value.js +25 -0
  22. package/arch/modules/application/databases/database.factory.abstract.d.ts +3 -0
  23. package/arch/modules/application/databases/database.helper.abstract.d.ts +4 -0
  24. package/arch/modules/application/databases/database.helper.abstract.js +6 -0
  25. package/{objects/arch/application/errors → arch/modules/application/failures}/failure.abstract.d.ts +1 -1
  26. package/{objects/arch/application/errors → arch/modules/application/failures}/failure.abstract.js +3 -3
  27. package/arch/modules/application/failures/unknown-failure.d.ts +15 -0
  28. package/{objects/arch/application/errors/unknown-application-error.js → arch/modules/application/failures/unknown-failure.js} +3 -3
  29. package/arch/modules/application/injections.abstract.d.ts +11 -0
  30. package/arch/modules/application/injections.abstract.js +45 -0
  31. package/arch/modules/application/injections.abstract.type.d.ts +17 -0
  32. package/arch/modules/domain/entities/$array.abstract.d.ts +2 -0
  33. package/arch/modules/domain/entities/$array.abstract.js +6 -0
  34. package/arch/modules/domain/entities/$date.abstract.d.ts +2 -0
  35. package/{tests/faker/faker.js → arch/modules/domain/entities/$date.abstract.js} +3 -3
  36. package/{objects/datatypes → arch/modules/domain}/entities/$number.abstract.js +1 -1
  37. package/arch/modules/domain/entities/$object.abstract.d.ts +2 -0
  38. package/arch/modules/domain/entities/$object.abstract.js +6 -0
  39. package/arch/modules/domain/entities/solid.abstract.d.ts +4 -0
  40. package/arch/modules/domain/entities/solid.abstract.js +2 -0
  41. package/{objects/arch/infrastructure → arch/modules/domain/enums}/http-status-codes.enum.d.ts +0 -116
  42. package/{objects/arch/infrastructure → arch/modules/domain/enums}/http-status-codes.enum.js +0 -116
  43. package/{objects/arch/domain/middleware-handler.absctract.d.ts → arch/modules/domain/middlewares/middleware.handler.absctract.d.ts} +1 -1
  44. package/arch/modules/domain/providers/provider.abstract.d.ts +2 -0
  45. package/arch/modules/domain/providers/provider.abstract.js +6 -0
  46. package/arch/modules/domain/solid.abstract.d.ts +4 -0
  47. package/arch/modules/domain/solid.abstract.js +2 -0
  48. package/{objects/arch/domain → arch/modules/domain/usecases}/usecase.abstract.d.ts +1 -1
  49. package/{objects/arch/infrastructure → arch/modules/infrastructure/controllers}/controller.abstract.d.ts +3 -3
  50. package/{objects/arch/infrastructure → arch/modules/infrastructure/controllers}/controller.abstract.js +2 -2
  51. package/arch/modules/infrastructure/controllers/payloads/payload.abstract.d.ts +2 -0
  52. package/arch/modules/infrastructure/controllers/payloads/payload.abstract.js +6 -0
  53. package/arch/modules/infrastructure/controllers/payloads/validators/validator.abstract.d.ts +2 -0
  54. package/arch/modules/infrastructure/controllers/payloads/validators/validator.abstract.js +6 -0
  55. package/arch/modules/infrastructure/controllers/responses/response.abstract.d.ts +4 -0
  56. package/{objects/arch/infrastructure → arch/modules/infrastructure/repositories/entities}/entity.abstract.d.ts +1 -1
  57. package/index.d.ts +30 -32
  58. package/index.js +56 -57
  59. package/package.json +8 -1
  60. package/setup/dependency-injections/container.d.ts +11 -0
  61. package/setup/dependency-injections/container.js +14 -0
  62. package/setup/dependency-injections/default-container.d.ts +4 -0
  63. package/setup/dependency-injections/default-container.js +20 -0
  64. package/setup/dependency-injections/di-container.abstract.d.ts +30 -0
  65. package/setup/dependency-injections/di-container.abstract.js +45 -0
  66. package/setup/dependency-injections/di-container.d.ts +3 -0
  67. package/setup/dependency-injections/di-container.js +6 -0
  68. package/setup/dependency-injections/index.d.ts +3 -0
  69. package/setup/dependency-injections/index.js +15 -0
  70. package/setup/env/env-vars.d.ts +7 -0
  71. package/setup/env/env-vars.js +28 -0
  72. package/setup/env/load-envs.d.ts +1 -0
  73. package/setup/env/load-envs.js +30 -0
  74. package/setup/index.d.ts +5 -0
  75. package/setup/index.js +37 -0
  76. package/setup/server/body-parser-middleware.d.ts +9 -0
  77. package/setup/server/body-parser-middleware.js +31 -0
  78. package/setup/server/cors-middleware.d.ts +10 -0
  79. package/setup/server/cors-middleware.js +38 -0
  80. package/setup/server/default-error-handler-middleware.d.ts +8 -0
  81. package/setup/server/default-error-handler-middleware.js +45 -0
  82. package/setup/server/server.d.ts +6 -0
  83. package/setup/server/server.js +61 -0
  84. package/tsconfig.tsbuildinfo +1 -1
  85. package/configs/env/env-vars.d.ts +0 -3
  86. package/configs/env/env-vars.js +0 -20
  87. package/external-files/biome.json +0 -47
  88. package/external-files/typescript/tsconfig-backend.json +0 -3
  89. package/external-files/typescript/tsconfig-default.json +0 -45
  90. package/external-files/typescript/tsconfig-frontend.json +0 -3
  91. package/external-files/typescript/tsconfig-lib.json +0 -6
  92. package/external-files/typescript/tsconfig-mobile.json +0 -3
  93. package/objects/arch/application/errors/unknown-application-error.d.ts +0 -15
  94. package/objects/arch/application/injections.abstract.d.ts +0 -4
  95. package/objects/arch/application/injections.abstract.js +0 -6
  96. package/objects/arch/application/injections.abstract.type.d.ts +0 -22
  97. package/objects/arch/domain/solid.abstract.d.ts +0 -4
  98. package/objects/arch/infrastructure/response.abstract.d.ts +0 -4
  99. package/tests/builders/errors/dummies/failure.dummy.d.ts +0 -3
  100. package/tests/builders/generic/dummies/uuid.dummy.d.ts +0 -3
  101. package/tests/faker/faker.d.ts +0 -2
  102. package/utils/randoms/random-enum-value.d.ts +0 -2
  103. package/utils/randoms/random-enum-value.js +0 -20
  104. package/utils/randoms/random-number.d.ts +0 -6
  105. package/utils/randoms/random-number.js +0 -6
  106. package/{tests → @tool-box/tests}/builders/errors/failure.builder.d.ts +0 -0
  107. package/{tests → @tool-box/tests}/builders/errors/failure.builder.js +1 -1
  108. /package/{tests → @tool-box/tests}/builders/generic/uuid.builder.d.ts +0 -0
  109. /package/{tests → @tool-box/tests}/builders/generic/uuid.builder.js +0 -0
  110. /package/{tests → @tool-box/tests}/create-fake-usecase.js +0 -0
  111. /package/{tests → @tool-box/tests}/entity-builder.util.d.ts +0 -0
  112. /package/{tests → @tool-box/tests}/entity-builder.util.js +0 -0
  113. /package/{utils → @tool-box/utils}/arrays/extended-map.d.ts +0 -0
  114. /package/{utils → @tool-box/utils}/arrays/extended-map.js +0 -0
  115. /package/{utils → @tool-box/utils}/datatypes/generic-types.d.ts +0 -0
  116. /package/{utils → @tool-box/utils}/datatypes/generic-types.js +0 -0
  117. /package/{utils → @tool-box/utils}/datatypes/string-utils.d.ts +0 -0
  118. /package/{utils → @tool-box/utils}/datatypes/string-utils.js +0 -0
  119. /package/{utils → @tool-box/utils}/http-client/http-client-exception.d.ts +0 -0
  120. /package/{utils → @tool-box/utils}/http-client/http-client-exception.js +0 -0
  121. /package/{utils → @tool-box/utils}/http-client/http-client-request.d.ts +0 -0
  122. /package/{utils → @tool-box/utils}/http-client/http-client-request.js +0 -0
  123. /package/{utils → @tool-box/utils}/http-client/http-client.d.ts +0 -0
  124. /package/{utils → @tool-box/utils}/http-client/http-client.js +0 -0
  125. /package/{utils → @tool-box/utils}/type-guard/guardian-exception.d.ts +0 -0
  126. /package/{utils → @tool-box/utils}/type-guard/guardian-exception.js +0 -0
  127. /package/{utils → @tool-box/utils}/type-guard/guardian.d.ts +0 -0
  128. /package/{utils → @tool-box/utils}/type-guard/guardian.js +0 -0
  129. /package/{utils → @tool-box/utils}/type-guard/guardian.type.d.ts +0 -0
  130. /package/{utils → @tool-box/utils}/type-guard/guardian.type.js +0 -0
  131. /package/{objects/arch/application/errors/failure.abstract.type.js → arch/modules/application/databases/database.factory.abstract.js} +0 -0
  132. /package/{objects/arch/application/errors → arch/modules/application/failures}/failure.abstract.type.d.ts +0 -0
  133. /package/{objects/arch/application/injections.abstract.type.js → arch/modules/application/failures/failure.abstract.type.js} +0 -0
  134. /package/{objects/arch/domain/solid.abstract.js → arch/modules/application/injections.abstract.type.js} +0 -0
  135. /package/{objects/datatypes → arch/modules/domain}/entities/$boolean.abstract.d.ts +0 -0
  136. /package/{objects/datatypes → arch/modules/domain}/entities/$boolean.abstract.js +0 -0
  137. /package/{objects/datatypes → arch/modules/domain}/entities/$number.abstract.d.ts +0 -0
  138. /package/{objects/datatypes → arch/modules/domain}/entities/$string.abstract.d.ts +0 -0
  139. /package/{objects/datatypes → arch/modules/domain}/entities/$string.abstract.js +0 -0
  140. /package/{objects/datatypes → arch/modules/domain}/entities/uuid.abstract.d.ts +0 -0
  141. /package/{objects/datatypes → arch/modules/domain}/entities/uuid.abstract.js +0 -0
  142. /package/{objects/configs → arch/modules/domain}/enums/node-envs.enum.d.ts +0 -0
  143. /package/{objects/configs → arch/modules/domain}/enums/node-envs.enum.js +0 -0
  144. /package/{objects/arch/domain/middleware-handler.absctract.js → arch/modules/domain/middlewares/middleware.handler.absctract.js} +0 -0
  145. /package/{objects/arch/domain → arch/modules/domain/repositories}/repository.abstract.d.ts +0 -0
  146. /package/{objects/arch/domain → arch/modules/domain/repositories}/repository.abstract.js +0 -0
  147. /package/{objects/arch/domain → arch/modules/domain/services}/service.abstract.d.ts +0 -0
  148. /package/{objects/arch/domain → arch/modules/domain/services}/service.abstract.js +0 -0
  149. /package/{objects/arch/domain → arch/modules/domain/usecases}/usecase.abstract.js +0 -0
  150. /package/{objects/arch/infrastructure → arch/modules/infrastructure/controllers/responses}/response.abstract.js +0 -0
  151. /package/{objects/arch/infrastructure → arch/modules/infrastructure/repositories/entities}/entity.abstract.js +0 -0
package/index.js CHANGED
@@ -1,63 +1,62 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.InjectionsAbstract = exports.HttpClient = exports.Guardian = exports.randomNumber = exports.randomEnumValueExcept = exports.randomEnumValue = exports.Failure = exports.Success = exports.Optional = exports.Nothing = exports.Something = exports.ExtendedMap = exports.EntityBuilder = exports.CreateFakeUsecase = exports.UuidBuilder = exports.FailureBuilder = exports.UuidAbstract = exports.$boolean = exports.$number = exports.$string = exports.NodeEnvs = exports.ResponseAbstract = exports.HttpStatusCodes = exports.RepositoryAbstract = exports.ServiceAbstract = exports.EntityAbstract = exports.ControllerAbstract = exports.UsecaseAbstract = exports.UnknownApplicationFailure = exports.FailureAbstract = exports.IAM_MOVINGAPP_REALM_PUBLIC_KEY_RS256 = exports.ENVIRONMENT = void 0;
4
- require("./utils/datatypes/string-utils");
5
- var env_vars_1 = require("./configs/env/env-vars");
6
- Object.defineProperty(exports, "ENVIRONMENT", { enumerable: true, get: function () { return env_vars_1.ENVIRONMENT; } });
7
- Object.defineProperty(exports, "IAM_MOVINGAPP_REALM_PUBLIC_KEY_RS256", { enumerable: true, get: function () { return env_vars_1.IAM_MOVINGAPP_REALM_PUBLIC_KEY_RS256; } });
8
- var failure_abstract_1 = require("./objects/arch/application/errors/failure.abstract");
3
+ exports.diContainer = exports.initializeAtlantjs = exports.isProdOrHomolog = exports.CORS_ALLOWED_ORIGINS = exports.LOAD_MODULES = exports.APP_PORT = exports.IAM_MOVINGAPP_REALM_PUBLIC_KEY_RS256 = exports.ENVIRONMENT = exports.EntityAbstract = exports.ResponseAbstract = exports.ValidatorAbstract = exports.PayloadAbstract = exports.ControllerAbstract = exports.UsecaseAbstract = exports.ServiceAbstract = exports.RepositoryAbstract = exports.ProviderAbstract = exports.MiddlewareHandlerAbstract = exports.NodeEnvs = exports.HttpStatusCodes = exports.UuidAbstract = exports.$string = exports.$object = exports.$number = exports.$date = exports.$boolean = exports.$array = exports.InjectionsAbstract = exports.UnknownFailure = exports.FailureAbstract = exports.DatabaseHelperAbstract = void 0;
4
+ require("#/utils/datatypes/string-utils");
5
+ require("#/utils/datatypes/boolean-utils");
6
+ var database_helper_abstract_1 = require("./arch/modules/application/databases/database.helper.abstract");
7
+ Object.defineProperty(exports, "DatabaseHelperAbstract", { enumerable: true, get: function () { return database_helper_abstract_1.DatabaseHelperAbstract; } });
8
+ var failure_abstract_1 = require("./arch/modules/application/failures/failure.abstract");
9
9
  Object.defineProperty(exports, "FailureAbstract", { enumerable: true, get: function () { return failure_abstract_1.FailureAbstract; } });
10
- var unknown_application_error_1 = require("./objects/arch/application/errors/unknown-application-error");
11
- Object.defineProperty(exports, "UnknownApplicationFailure", { enumerable: true, get: function () { return unknown_application_error_1.UnknownApplicationFailure; } });
12
- var usecase_abstract_1 = require("./objects/arch/domain/usecase.abstract");
10
+ var unknown_failure_1 = require("./arch/modules/application/failures/unknown-failure");
11
+ Object.defineProperty(exports, "UnknownFailure", { enumerable: true, get: function () { return unknown_failure_1.UnknownFailure; } });
12
+ var injections_abstract_1 = require("./arch/modules/application/injections.abstract");
13
+ Object.defineProperty(exports, "InjectionsAbstract", { enumerable: true, get: function () { return injections_abstract_1.InjectionsAbstract; } });
14
+ var _array_abstract_1 = require("./arch/modules/domain/entities/$array.abstract");
15
+ Object.defineProperty(exports, "$array", { enumerable: true, get: function () { return _array_abstract_1.$array; } });
16
+ var _boolean_abstract_1 = require("./arch/modules/domain/entities/$boolean.abstract");
17
+ Object.defineProperty(exports, "$boolean", { enumerable: true, get: function () { return _boolean_abstract_1.$boolean; } });
18
+ var _date_abstract_1 = require("./arch/modules/domain/entities/$date.abstract");
19
+ Object.defineProperty(exports, "$date", { enumerable: true, get: function () { return _date_abstract_1.$date; } });
20
+ var _number_abstract_1 = require("./arch/modules/domain/entities/$number.abstract");
21
+ Object.defineProperty(exports, "$number", { enumerable: true, get: function () { return _number_abstract_1.$number; } });
22
+ var _object_abstract_1 = require("./arch/modules/domain/entities/$object.abstract");
23
+ Object.defineProperty(exports, "$object", { enumerable: true, get: function () { return _object_abstract_1.$object; } });
24
+ var _string_abstract_1 = require("./arch/modules/domain/entities/$string.abstract");
25
+ Object.defineProperty(exports, "$string", { enumerable: true, get: function () { return _string_abstract_1.$string; } });
26
+ var uuid_abstract_1 = require("./arch/modules/domain/entities/uuid.abstract");
27
+ Object.defineProperty(exports, "UuidAbstract", { enumerable: true, get: function () { return uuid_abstract_1.UuidAbstract; } });
28
+ var http_status_codes_enum_1 = require("./arch/modules/domain/enums/http-status-codes.enum");
29
+ Object.defineProperty(exports, "HttpStatusCodes", { enumerable: true, get: function () { return http_status_codes_enum_1.HttpStatusCodes; } });
30
+ var node_envs_enum_1 = require("./arch/modules/domain/enums/node-envs.enum");
31
+ Object.defineProperty(exports, "NodeEnvs", { enumerable: true, get: function () { return node_envs_enum_1.NodeEnvs; } });
32
+ var middleware_handler_absctract_1 = require("./arch/modules/domain/middlewares/middleware.handler.absctract");
33
+ Object.defineProperty(exports, "MiddlewareHandlerAbstract", { enumerable: true, get: function () { return middleware_handler_absctract_1.MiddlewareHandlerAbstract; } });
34
+ var provider_abstract_1 = require("./arch/modules/domain/providers/provider.abstract");
35
+ Object.defineProperty(exports, "ProviderAbstract", { enumerable: true, get: function () { return provider_abstract_1.ProviderAbstract; } });
36
+ var repository_abstract_1 = require("./arch/modules/domain/repositories/repository.abstract");
37
+ Object.defineProperty(exports, "RepositoryAbstract", { enumerable: true, get: function () { return repository_abstract_1.RepositoryAbstract; } });
38
+ var service_abstract_1 = require("./arch/modules/domain/services/service.abstract");
39
+ Object.defineProperty(exports, "ServiceAbstract", { enumerable: true, get: function () { return service_abstract_1.ServiceAbstract; } });
40
+ var usecase_abstract_1 = require("./arch/modules/domain/usecases/usecase.abstract");
13
41
  Object.defineProperty(exports, "UsecaseAbstract", { enumerable: true, get: function () { return usecase_abstract_1.UsecaseAbstract; } });
14
- var controller_abstract_1 = require("./objects/arch/infrastructure/controller.abstract");
42
+ var controller_abstract_1 = require("./arch/modules/infrastructure/controllers/controller.abstract");
15
43
  Object.defineProperty(exports, "ControllerAbstract", { enumerable: true, get: function () { return controller_abstract_1.ControllerAbstract; } });
16
- var entity_abstract_1 = require("./objects/arch/infrastructure/entity.abstract");
17
- Object.defineProperty(exports, "EntityAbstract", { enumerable: true, get: function () { return entity_abstract_1.EntityAbstract; } });
18
- var service_abstract_1 = require("./objects/arch/domain/service.abstract");
19
- Object.defineProperty(exports, "ServiceAbstract", { enumerable: true, get: function () { return service_abstract_1.ServiceAbstract; } });
20
- var repository_abstract_1 = require("./objects/arch/domain/repository.abstract");
21
- Object.defineProperty(exports, "RepositoryAbstract", { enumerable: true, get: function () { return repository_abstract_1.RepositoryAbstract; } });
22
- var http_status_codes_enum_1 = require("./objects/arch/infrastructure/http-status-codes.enum");
23
- Object.defineProperty(exports, "HttpStatusCodes", { enumerable: true, get: function () { return http_status_codes_enum_1.HttpStatusCodes; } });
24
- var response_abstract_1 = require("./objects/arch/infrastructure/response.abstract");
44
+ var payload_abstract_1 = require("./arch/modules/infrastructure/controllers/payloads/payload.abstract");
45
+ Object.defineProperty(exports, "PayloadAbstract", { enumerable: true, get: function () { return payload_abstract_1.PayloadAbstract; } });
46
+ var validator_abstract_1 = require("./arch/modules/infrastructure/controllers/payloads/validators/validator.abstract");
47
+ Object.defineProperty(exports, "ValidatorAbstract", { enumerable: true, get: function () { return validator_abstract_1.ValidatorAbstract; } });
48
+ var response_abstract_1 = require("./arch/modules/infrastructure/controllers/responses/response.abstract");
25
49
  Object.defineProperty(exports, "ResponseAbstract", { enumerable: true, get: function () { return response_abstract_1.ResponseAbstract; } });
26
- var node_envs_enum_1 = require("./objects/configs/enums/node-envs.enum");
27
- Object.defineProperty(exports, "NodeEnvs", { enumerable: true, get: function () { return node_envs_enum_1.NodeEnvs; } });
28
- var _string_abstract_1 = require("./objects/datatypes/entities/$string.abstract");
29
- Object.defineProperty(exports, "$string", { enumerable: true, get: function () { return _string_abstract_1.$string; } });
30
- var _number_abstract_1 = require("./objects/datatypes/entities/$number.abstract");
31
- Object.defineProperty(exports, "$number", { enumerable: true, get: function () { return _number_abstract_1.$number; } });
32
- var _boolean_abstract_1 = require("./objects/datatypes/entities/$boolean.abstract");
33
- Object.defineProperty(exports, "$boolean", { enumerable: true, get: function () { return _boolean_abstract_1.$boolean; } });
34
- var uuid_abstract_1 = require("./objects/datatypes/entities/uuid.abstract");
35
- Object.defineProperty(exports, "UuidAbstract", { enumerable: true, get: function () { return uuid_abstract_1.UuidAbstract; } });
36
- var failure_builder_1 = require("./tests/builders/errors/failure.builder");
37
- Object.defineProperty(exports, "FailureBuilder", { enumerable: true, get: function () { return failure_builder_1.FailureBuilder; } });
38
- var uuid_builder_1 = require("./tests/builders/generic/uuid.builder");
39
- Object.defineProperty(exports, "UuidBuilder", { enumerable: true, get: function () { return uuid_builder_1.UuidBuilder; } });
40
- var create_fake_usecase_1 = require("./tests/create-fake-usecase");
41
- Object.defineProperty(exports, "CreateFakeUsecase", { enumerable: true, get: function () { return create_fake_usecase_1.CreateFakeUsecase; } });
42
- var entity_builder_util_1 = require("./tests/entity-builder.util");
43
- Object.defineProperty(exports, "EntityBuilder", { enumerable: true, get: function () { return entity_builder_util_1.EntityBuilder; } });
44
- var extended_map_1 = require("./utils/arrays/extended-map");
45
- Object.defineProperty(exports, "ExtendedMap", { enumerable: true, get: function () { return extended_map_1.ExtendedMap; } });
46
- var optional_type_1 = require("./utils/ducts/optional-type");
47
- Object.defineProperty(exports, "Something", { enumerable: true, get: function () { return optional_type_1.Something; } });
48
- Object.defineProperty(exports, "Nothing", { enumerable: true, get: function () { return optional_type_1.Nothing; } });
49
- Object.defineProperty(exports, "Optional", { enumerable: true, get: function () { return optional_type_1.Optional; } });
50
- var return_type_1 = require("./utils/ducts/return-type");
51
- Object.defineProperty(exports, "Success", { enumerable: true, get: function () { return return_type_1.Success; } });
52
- Object.defineProperty(exports, "Failure", { enumerable: true, get: function () { return return_type_1.Failure; } });
53
- var random_enum_value_1 = require("./utils/randoms/random-enum-value");
54
- Object.defineProperty(exports, "randomEnumValue", { enumerable: true, get: function () { return random_enum_value_1.randomEnumValue; } });
55
- Object.defineProperty(exports, "randomEnumValueExcept", { enumerable: true, get: function () { return random_enum_value_1.randomEnumValueExcept; } });
56
- var random_number_1 = require("./utils/randoms/random-number");
57
- Object.defineProperty(exports, "randomNumber", { enumerable: true, get: function () { return random_number_1.randomNumber; } });
58
- var guardian_1 = require("./utils/type-guard/guardian");
59
- Object.defineProperty(exports, "Guardian", { enumerable: true, get: function () { return guardian_1.Guardian; } });
60
- var http_client_1 = require("./utils/http-client/http-client");
61
- Object.defineProperty(exports, "HttpClient", { enumerable: true, get: function () { return http_client_1.HttpClient; } });
62
- var injections_abstract_1 = require("./objects/arch/application/injections.abstract");
63
- Object.defineProperty(exports, "InjectionsAbstract", { enumerable: true, get: function () { return injections_abstract_1.InjectionsAbstract; } });
50
+ var entity_abstract_1 = require("./arch/modules/infrastructure/repositories/entities/entity.abstract");
51
+ Object.defineProperty(exports, "EntityAbstract", { enumerable: true, get: function () { return entity_abstract_1.EntityAbstract; } });
52
+ var env_vars_1 = require("./setup/env/env-vars");
53
+ Object.defineProperty(exports, "ENVIRONMENT", { enumerable: true, get: function () { return env_vars_1.ENVIRONMENT; } });
54
+ Object.defineProperty(exports, "IAM_MOVINGAPP_REALM_PUBLIC_KEY_RS256", { enumerable: true, get: function () { return env_vars_1.IAM_MOVINGAPP_REALM_PUBLIC_KEY_RS256; } });
55
+ Object.defineProperty(exports, "APP_PORT", { enumerable: true, get: function () { return env_vars_1.APP_PORT; } });
56
+ Object.defineProperty(exports, "LOAD_MODULES", { enumerable: true, get: function () { return env_vars_1.LOAD_MODULES; } });
57
+ Object.defineProperty(exports, "CORS_ALLOWED_ORIGINS", { enumerable: true, get: function () { return env_vars_1.CORS_ALLOWED_ORIGINS; } });
58
+ Object.defineProperty(exports, "isProdOrHomolog", { enumerable: true, get: function () { return env_vars_1.isProdOrHomolog; } });
59
+ var setup_1 = require("./setup");
60
+ Object.defineProperty(exports, "initializeAtlantjs", { enumerable: true, get: function () { return setup_1.initializeAtlantjs; } });
61
+ var dependency_injections_1 = require("./setup/dependency-injections");
62
+ Object.defineProperty(exports, "diContainer", { enumerable: true, get: function () { return dependency_injections_1.diContainer; } });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlantjs/arch",
3
- "version": "2.6.3",
3
+ "version": "3.0.0",
4
4
  "main": "index.js",
5
5
  "license": "UNLICENSED",
6
6
  "publishConfig": {
@@ -32,12 +32,17 @@
32
32
  "test:unit:cov": "yarn test:unit --coverage --runInBand"
33
33
  },
34
34
  "dependencies": {
35
+ "@atlantjs/auth": "^1.0.0",
35
36
  "@faker-js/faker": "^9.0.3",
36
37
  "axios": "^1.7.7",
37
38
  "class-transformer": "^0.5.1",
39
+ "class-validator": "^0.14.1",
40
+ "cookie-parser": "^1.4.7",
41
+ "cors": "^2.8.5",
38
42
  "dotenv": "^16.4.5",
39
43
  "env-var": "^7.5.0",
40
44
  "express": "^4.21.1",
45
+ "helmet": "^8.0.0",
41
46
  "jsonwebtoken": "^9.0.2",
42
47
  "jwk-to-pem": "^2.0.6",
43
48
  "module-alias": "^2.2.3",
@@ -47,6 +52,8 @@
47
52
  },
48
53
  "devDependencies": {
49
54
  "@biomejs/biome": "1.8.3",
55
+ "@types/cookie-parser": "^1.4.7",
56
+ "@types/cors": "^2.8.17",
50
57
  "@types/express": "^5.0.0",
51
58
  "@types/jest": "^29.5.12",
52
59
  "@types/jsonwebtoken": "^9.0.7",
@@ -0,0 +1,11 @@
1
+ import { Newable, Abstract } from "../../@tool-box/utils/datatypes/generic-types";
2
+ type ServiceIdentifier<T = unknown> = Newable<T> | Abstract<T>;
3
+ interface ContainerStorage {
4
+ get<T>(type: ServiceIdentifier<T>): T;
5
+ }
6
+ export declare class Container {
7
+ private static storage;
8
+ static useStorage(newStorage: ContainerStorage): void;
9
+ static get<T>(identifier: ServiceIdentifier<T>): T;
10
+ }
11
+ export {};
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Container = void 0;
4
+ const default_container_1 = require("./default-container");
5
+ class Container {
6
+ static useStorage(newStorage) {
7
+ Container.storage = newStorage;
8
+ }
9
+ static get(identifier) {
10
+ return Container.storage.get(identifier);
11
+ }
12
+ }
13
+ exports.Container = Container;
14
+ Container.storage = new default_container_1.DefaultContainer();
@@ -0,0 +1,4 @@
1
+ export declare class DefaultContainer {
2
+ private readonly instances;
3
+ get<T>(type: new (...args: never[]) => T): T;
4
+ }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DefaultContainer = void 0;
4
+ class DefaultContainer {
5
+ constructor() {
6
+ this.instances = [];
7
+ }
8
+ get(type) {
9
+ let instance = this.instances.find((instance) => instance.type === type);
10
+ if (!instance) {
11
+ instance = {
12
+ type,
13
+ object: new type(),
14
+ };
15
+ this.instances.push(instance);
16
+ }
17
+ return instance.object;
18
+ }
19
+ }
20
+ exports.DefaultContainer = DefaultContainer;
@@ -0,0 +1,30 @@
1
+ import { Newable } from "../../@tool-box/utils/datatypes/generic-types";
2
+ import { MiddlewareHandlerAbstract } from "../../arch/modules/domain/middlewares/middleware.handler.absctract";
3
+ import { ProviderAbstract } from "../../arch/modules/domain/providers/provider.abstract";
4
+ import { RepositoryAbstract } from "../../arch/modules/domain/repositories/repository.abstract";
5
+ import { ServiceAbstract } from "../../arch/modules/domain/services/service.abstract";
6
+ import { UsecaseAbstract } from "../../arch/modules/domain/usecases/usecase.abstract";
7
+ import { ControllerAbstract } from "../../arch/modules/infrastructure/controllers/controller.abstract";
8
+ interface BindTo<T> {
9
+ ref: Symbol;
10
+ target: Newable<T>;
11
+ }
12
+ interface Dependencies {
13
+ controllers: ControllerAbstract[];
14
+ middlewares: MiddlewareHandlerAbstract[];
15
+ usecases: BindTo<UsecaseAbstract>[];
16
+ repositories: BindTo<RepositoryAbstract>[];
17
+ providers: BindTo<ProviderAbstract>[];
18
+ services: BindTo<ServiceAbstract>[];
19
+ }
20
+ export declare abstract class DiContainerAbstract {
21
+ protected abstract readonly dependencies: Dependencies;
22
+ constructor();
23
+ private injectProviders;
24
+ private injectServices;
25
+ private injectRepositories;
26
+ private injectUsecases;
27
+ private injectMiddlewares;
28
+ private injectControllers;
29
+ }
30
+ export {};
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DiContainerAbstract = void 0;
4
+ const di_container_1 = require("./di-container");
5
+ class DiContainerAbstract {
6
+ constructor() {
7
+ this.injectControllers();
8
+ this.injectMiddlewares();
9
+ this.injectUsecases();
10
+ this.injectRepositories();
11
+ this.injectServices();
12
+ this.injectProviders();
13
+ }
14
+ injectProviders() {
15
+ this.dependencies.providers.map((dependency) => {
16
+ di_container_1.diContainer.bind(dependency.ref.valueOf).to(dependency.target);
17
+ });
18
+ }
19
+ injectServices() {
20
+ this.dependencies.services.map((dependency) => {
21
+ di_container_1.diContainer.bind(dependency.ref.valueOf).to(dependency.target);
22
+ });
23
+ }
24
+ injectRepositories() {
25
+ this.dependencies.repositories.map((dependency) => {
26
+ di_container_1.diContainer.bind(dependency.ref.valueOf).to(dependency.target);
27
+ });
28
+ }
29
+ injectUsecases() {
30
+ this.dependencies.usecases.map((dependency) => {
31
+ di_container_1.diContainer.bind(dependency.ref.valueOf).to(dependency.target);
32
+ });
33
+ }
34
+ injectMiddlewares() {
35
+ this.dependencies.middlewares.map((dependency) => {
36
+ di_container_1.diContainer.bind(dependency.constructor).toSelf();
37
+ });
38
+ }
39
+ injectControllers() {
40
+ this.dependencies.controllers.map((dependency) => {
41
+ di_container_1.diContainer.bind(dependency.constructor).toSelf();
42
+ });
43
+ }
44
+ }
45
+ exports.DiContainerAbstract = DiContainerAbstract;
@@ -0,0 +1,3 @@
1
+ import { Container } from "inversify";
2
+ declare const diContainer: Container;
3
+ export { diContainer };
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.diContainer = void 0;
4
+ const inversify_1 = require("inversify");
5
+ const diContainer = new inversify_1.Container({ skipBaseClassChecks: true });
6
+ exports.diContainer = diContainer;
@@ -0,0 +1,3 @@
1
+ export declare function startContainer(): void;
2
+ export { Container } from "./container";
3
+ export { diContainer } from "./di-container";
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.diContainer = exports.Container = void 0;
4
+ exports.startContainer = startContainer;
5
+ const container_1 = require("./container");
6
+ const di_container_1 = require("./di-container");
7
+ const routing_controllers_1 = require("routing-controllers");
8
+ function startContainer() {
9
+ container_1.Container.useStorage(di_container_1.diContainer);
10
+ (0, routing_controllers_1.useContainer)(di_container_1.diContainer);
11
+ }
12
+ var container_2 = require("./container");
13
+ Object.defineProperty(exports, "Container", { enumerable: true, get: function () { return container_2.Container; } });
14
+ var di_container_2 = require("./di-container");
15
+ Object.defineProperty(exports, "diContainer", { enumerable: true, get: function () { return di_container_2.diContainer; } });
@@ -0,0 +1,7 @@
1
+ import { NodeEnvs } from "../../arch/modules/domain/enums/node-envs.enum";
2
+ export declare const ENVIRONMENT: NodeEnvs;
3
+ export declare const IAM_MOVINGAPP_REALM_PUBLIC_KEY_RS256: string | undefined;
4
+ export declare const APP_PORT: number;
5
+ export declare const LOAD_MODULES: string[];
6
+ export declare const CORS_ALLOWED_ORIGINS: string;
7
+ export declare const isProdOrHomolog: () => boolean;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.isProdOrHomolog = exports.CORS_ALLOWED_ORIGINS = exports.LOAD_MODULES = exports.APP_PORT = exports.IAM_MOVINGAPP_REALM_PUBLIC_KEY_RS256 = exports.ENVIRONMENT = void 0;
7
+ const node_envs_enum_1 = require("../../arch/modules/domain/enums/node-envs.enum");
8
+ const env_var_1 = __importDefault(require("env-var"));
9
+ exports.ENVIRONMENT = env_var_1.default
10
+ .get("ENVIRONMENT")
11
+ .required()
12
+ .asEnum([
13
+ node_envs_enum_1.NodeEnvs.test,
14
+ node_envs_enum_1.NodeEnvs.development,
15
+ node_envs_enum_1.NodeEnvs.production,
16
+ node_envs_enum_1.NodeEnvs.homolog,
17
+ ]);
18
+ exports.IAM_MOVINGAPP_REALM_PUBLIC_KEY_RS256 = env_var_1.default
19
+ .get("KEYCLOAK_MOVINGAPP_REALM_PUBLIC_KEY_RS256")
20
+ .asString();
21
+ exports.APP_PORT = env_var_1.default.get("APP_PORT").required().asPortNumber();
22
+ exports.LOAD_MODULES = env_var_1.default.get("LOAD_MODULES").required().asArray(",");
23
+ exports.CORS_ALLOWED_ORIGINS = env_var_1.default
24
+ .get("CORS_ALLOWED_ORIGINS")
25
+ .default("*")
26
+ .asString();
27
+ const isProdOrHomolog = () => [node_envs_enum_1.NodeEnvs.homolog, node_envs_enum_1.NodeEnvs.production].includes(exports.ENVIRONMENT);
28
+ exports.isProdOrHomolog = isProdOrHomolog;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const node_fs_1 = __importDefault(require("node:fs"));
7
+ const node_path_1 = __importDefault(require("node:path"));
8
+ const guardian_1 = require("@atlantjs/guardian");
9
+ const dotenv_1 = __importDefault(require("dotenv"));
10
+ const node_envs_enum_1 = require("../../arch/modules/domain/enums/node-envs.enum");
11
+ if (guardian_1.Guardian.isEqual(process.env.ENVIRONMENT, node_envs_enum_1.NodeEnvs.test) &&
12
+ !node_fs_1.default.existsSync(node_path_1.default.join(__dirname, "..", "..", "..", ".env.test"))) {
13
+ console.error("The .env.test file is missing with the variables and their values");
14
+ }
15
+ if (guardian_1.Guardian.isDifferent(process.env.ENVIRONMENT, node_envs_enum_1.NodeEnvs.test) &&
16
+ !node_fs_1.default.existsSync(node_path_1.default.join(__dirname, "..", "..", "..", ".env"))) {
17
+ console.error("The .env file is missing with the variables and their values");
18
+ }
19
+ dotenv_1.default.config({
20
+ path: (() => {
21
+ switch (process.env.ENVIRONMENT) {
22
+ case node_envs_enum_1.NodeEnvs.test:
23
+ return node_path_1.default.join(__dirname, "..", "..", "..", ".env.test");
24
+ case node_envs_enum_1.NodeEnvs.production:
25
+ return node_path_1.default.join(__dirname, "..", "..", "..", "..", ".env");
26
+ default:
27
+ return node_path_1.default.join(__dirname, "..", "..", "..", ".env");
28
+ }
29
+ })(),
30
+ });
@@ -0,0 +1,5 @@
1
+ import "reflect-metadata";
2
+ import "./env/load-envs";
3
+ import { DatabaseFactoryAbstract } from "../arch/modules/application/databases/database.factory.abstract";
4
+ import { DatabaseHelperAbstract } from "../arch/modules/application/databases/database.helper.abstract";
5
+ export declare function initializeAtlantjs(databaseFactories: DatabaseFactoryAbstract[], databaseHelpers: DatabaseHelperAbstract[]): void;
package/setup/index.js ADDED
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.initializeAtlantjs = initializeAtlantjs;
4
+ require("reflect-metadata");
5
+ require("./env/load-envs");
6
+ const dependency_injections_1 = require("./dependency-injections");
7
+ const server_1 = require("./server/server");
8
+ const env_vars_1 = require("./env/env-vars");
9
+ const guardian_1 = require("../@tool-box/utils/type-guard/guardian");
10
+ function initializeAtlantjs(databaseFactories, databaseHelpers) {
11
+ try {
12
+ initializeModules();
13
+ (0, dependency_injections_1.startContainer)();
14
+ server_1.Server.initialize();
15
+ Promise.all([
16
+ databaseFactories.map((databaseFactory) => databaseFactory.create()),
17
+ databaseHelpers.map((databaseFactory) => databaseFactory.connect()),
18
+ ]);
19
+ }
20
+ catch (error) {
21
+ console.error(`❌ Error occurred: ${error}`);
22
+ }
23
+ }
24
+ function initializeModules(modules = env_vars_1.LOAD_MODULES) {
25
+ let processedModules = modules;
26
+ if (typeof modules === "string") {
27
+ processedModules = modules
28
+ .split(",")
29
+ .map((x) => x.trim())
30
+ .filter((x) => guardian_1.Guardian.isNotEmpty(x));
31
+ }
32
+ console.log("\n📦 Loading modules...");
33
+ for (const module of processedModules) {
34
+ require(`#/modules/${module}`);
35
+ }
36
+ console.log("✔️ Load modules", processedModules);
37
+ }
@@ -0,0 +1,9 @@
1
+ import { NextFunction, Request, RequestHandler, Response } from "express";
2
+ export declare class BodyParserMiddleware {
3
+ private readonly plainTextEndpoints;
4
+ private readonly bodyParserJson;
5
+ private readonly bodyParserText;
6
+ static create(): RequestHandler;
7
+ use(request: Request, response: Response, next: NextFunction): void;
8
+ private isPlainTextEndpoint;
9
+ }
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.BodyParserMiddleware = void 0;
7
+ const body_parser_1 = __importDefault(require("body-parser"));
8
+ class BodyParserMiddleware {
9
+ constructor() {
10
+ this.plainTextEndpoints = ["/encrypted-webhook/notification"];
11
+ this.bodyParserJson = body_parser_1.default.json({ limit: "50mb" });
12
+ this.bodyParserText = body_parser_1.default.text({
13
+ type: () => true,
14
+ });
15
+ }
16
+ static create() {
17
+ const middleware = new BodyParserMiddleware();
18
+ return (request, response, next) => middleware.use(request, response, next);
19
+ }
20
+ use(request, response, next) {
21
+ if (this.isPlainTextEndpoint(request.url)) {
22
+ this.bodyParserText(request, response, next);
23
+ return;
24
+ }
25
+ this.bodyParserJson(request, response, next);
26
+ }
27
+ isPlainTextEndpoint(url) {
28
+ return this.plainTextEndpoints.some((endpoint) => url.startsWith(endpoint));
29
+ }
30
+ }
31
+ exports.BodyParserMiddleware = BodyParserMiddleware;
@@ -0,0 +1,10 @@
1
+ import { NextFunction, Request, RequestHandler, Response } from "express";
2
+ export declare class CorsMiddleware {
3
+ private readonly corsSpecs;
4
+ private readonly cors;
5
+ constructor(corsSpecs: string);
6
+ static create(corsSpecs?: string): RequestHandler;
7
+ use(request: Request, response: Response, next: NextFunction): void;
8
+ private parseCorsAllowedOrigins;
9
+ private stringToRegex;
10
+ }
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.CorsMiddleware = void 0;
7
+ const cors_1 = __importDefault(require("cors"));
8
+ const env_vars_1 = require("../env/env-vars");
9
+ class CorsMiddleware {
10
+ constructor(corsSpecs) {
11
+ this.corsSpecs = corsSpecs;
12
+ this.cors = (0, cors_1.default)({
13
+ origin: this.parseCorsAllowedOrigins(),
14
+ credentials: true,
15
+ });
16
+ }
17
+ static create(corsSpecs = env_vars_1.CORS_ALLOWED_ORIGINS) {
18
+ const middleware = new CorsMiddleware(corsSpecs);
19
+ return (request, response, next) => middleware.use(request, response, next);
20
+ }
21
+ use(request, response, next) {
22
+ this.cors(request, response, next);
23
+ }
24
+ parseCorsAllowedOrigins() {
25
+ return this.corsSpecs.split(",").map((corsSpec) => {
26
+ if (corsSpec.startsWith("/")) {
27
+ return this.stringToRegex(corsSpec);
28
+ }
29
+ return corsSpec;
30
+ });
31
+ }
32
+ stringToRegex(expression) {
33
+ const flags = expression.replace(/.*\/([gimy]*)$/, "$1");
34
+ const pattern = expression.replace(new RegExp(`^/(.*?)/${flags}$`), "$1");
35
+ return new RegExp(pattern, flags);
36
+ }
37
+ }
38
+ exports.CorsMiddleware = CorsMiddleware;
@@ -0,0 +1,8 @@
1
+ import { ErrorRequestHandler, NextFunction, Request, Response } from "express";
2
+ export declare class DefaultErrorHandlerMiddleware {
3
+ static create(): ErrorRequestHandler;
4
+ use(error: Error, request: Request, response: Response, next: NextFunction): void;
5
+ private handleError;
6
+ private handleExceptions;
7
+ private logUnhandledError;
8
+ }
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DefaultErrorHandlerMiddleware = void 0;
4
+ const http_status_codes_enum_1 = require("../../arch/modules/domain/enums/http-status-codes.enum");
5
+ const routing_controllers_1 = require("routing-controllers");
6
+ class DefaultErrorHandlerMiddleware {
7
+ static create() {
8
+ const middleware = new DefaultErrorHandlerMiddleware();
9
+ return (error, request, response, next) => middleware.use(error, request, response, next);
10
+ }
11
+ use(error, request, response, next) {
12
+ if (response.headersSent) {
13
+ next(error);
14
+ return;
15
+ }
16
+ this.handleError(error, response);
17
+ }
18
+ handleError(error, response) {
19
+ if (!(error instanceof routing_controllers_1.HttpError)) {
20
+ this.handleExceptions(error, response);
21
+ return;
22
+ }
23
+ if (error.httpCode < http_status_codes_enum_1.HttpStatusCodes.INTERNAL_SERVER_ERROR) {
24
+ response.status(error.httpCode).send(error);
25
+ return;
26
+ }
27
+ response.status(error.httpCode).send({
28
+ code: http_status_codes_enum_1.HttpStatusCodes[error.httpCode].toLocaleLowerCase(),
29
+ message: http_status_codes_enum_1.HttpStatusCodes[error.httpCode],
30
+ });
31
+ }
32
+ handleExceptions(error, response) {
33
+ this.logUnhandledError(error);
34
+ response.status(http_status_codes_enum_1.HttpStatusCodes.INTERNAL_SERVER_ERROR).send({
35
+ code: "internal_error",
36
+ message: "Internal server error",
37
+ });
38
+ }
39
+ logUnhandledError(error) {
40
+ console.error("\nUnhandled request error", {
41
+ error,
42
+ });
43
+ }
44
+ }
45
+ exports.DefaultErrorHandlerMiddleware = DefaultErrorHandlerMiddleware;
@@ -0,0 +1,6 @@
1
+ export declare class Server {
2
+ static readonly instance: import("express-serve-static-core").Express;
3
+ private static readonly routingOptions;
4
+ static initialize(): void;
5
+ private static logFooterDevelopmentMessage;
6
+ }