plutin 1.2.3 → 1.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +286 -27
- package/dist/index.d.ts +286 -27
- package/dist/{index.js → index.mjs} +1 -1
- package/package.json +5 -4
- package/dist/base-controller-68008870.d.ts +0 -46
- package/dist/core/decorators/controller-http-decorator.cjs +0 -310
- package/dist/core/decorators/controller-http-decorator.cjs.map +0 -1
- package/dist/core/decorators/controller-http-decorator.d.cts +0 -13
- package/dist/core/decorators/controller-http-decorator.d.ts +0 -13
- package/dist/core/decorators/controller-http-decorator.js +0 -285
- package/dist/core/decorators/controller-http-decorator.js.map +0 -1
- package/dist/core/decorators/dependency-container.cjs +0 -95
- package/dist/core/decorators/dependency-container.cjs.map +0 -1
- package/dist/core/decorators/dependency-container.d.cts +0 -22
- package/dist/core/decorators/dependency-container.d.ts +0 -22
- package/dist/core/decorators/dependency-container.js +0 -71
- package/dist/core/decorators/dependency-container.js.map +0 -1
- package/dist/core/entities/aggregate-root.cjs +0 -99
- package/dist/core/entities/aggregate-root.cjs.map +0 -1
- package/dist/core/entities/aggregate-root.d.cts +0 -8
- package/dist/core/entities/aggregate-root.d.ts +0 -8
- package/dist/core/entities/aggregate-root.js +0 -74
- package/dist/core/entities/aggregate-root.js.map +0 -1
- package/dist/core/entities/common-dto.cjs +0 -19
- package/dist/core/entities/common-dto.cjs.map +0 -1
- package/dist/core/entities/common-dto.d.cts +0 -10
- package/dist/core/entities/common-dto.d.ts +0 -10
- package/dist/core/entities/common-dto.js +0 -1
- package/dist/core/entities/common-dto.js.map +0 -1
- package/dist/core/entities/domain-event.cjs +0 -19
- package/dist/core/entities/domain-event.cjs.map +0 -1
- package/dist/core/entities/domain-event.d.cts +0 -6
- package/dist/core/entities/domain-event.d.ts +0 -6
- package/dist/core/entities/domain-event.js +0 -1
- package/dist/core/entities/domain-event.js.map +0 -1
- package/dist/core/entities/entity.cjs +0 -92
- package/dist/core/entities/entity.cjs.map +0 -1
- package/dist/core/entities/entity.d.cts +0 -18
- package/dist/core/entities/entity.d.ts +0 -18
- package/dist/core/entities/entity.js +0 -67
- package/dist/core/entities/entity.js.map +0 -1
- package/dist/core/entities/optional.cjs +0 -19
- package/dist/core/entities/optional.cjs.map +0 -1
- package/dist/core/entities/optional.d.cts +0 -3
- package/dist/core/entities/optional.d.ts +0 -3
- package/dist/core/entities/optional.js +0 -1
- package/dist/core/entities/optional.js.map +0 -1
- package/dist/core/entities/unique-entity-id.cjs +0 -50
- package/dist/core/entities/unique-entity-id.cjs.map +0 -1
- package/dist/core/entities/unique-entity-id.d.cts +0 -9
- package/dist/core/entities/unique-entity-id.d.ts +0 -9
- package/dist/core/entities/unique-entity-id.js +0 -27
- package/dist/core/entities/unique-entity-id.js.map +0 -1
- package/dist/core/entities/value-object.cjs +0 -40
- package/dist/core/entities/value-object.cjs.map +0 -1
- package/dist/core/entities/value-object.d.cts +0 -6
- package/dist/core/entities/value-object.d.ts +0 -6
- package/dist/core/entities/value-object.js +0 -17
- package/dist/core/entities/value-object.js.map +0 -1
- package/dist/core/entities/watched-list.cjs +0 -121
- package/dist/core/entities/watched-list.cjs.map +0 -1
- package/dist/core/entities/watched-list.d.cts +0 -27
- package/dist/core/entities/watched-list.d.ts +0 -27
- package/dist/core/entities/watched-list.js +0 -98
- package/dist/core/entities/watched-list.js.map +0 -1
- package/dist/core/entities/watched-list.test.cjs +0 -186
- package/dist/core/entities/watched-list.test.cjs.map +0 -1
- package/dist/core/entities/watched-list.test.d.cts +0 -2
- package/dist/core/entities/watched-list.test.d.ts +0 -2
- package/dist/core/entities/watched-list.test.js +0 -185
- package/dist/core/entities/watched-list.test.js.map +0 -1
- package/dist/core/errors/api-common-error.cjs +0 -38
- package/dist/core/errors/api-common-error.cjs.map +0 -1
- package/dist/core/errors/api-common-error.d.cts +0 -28
- package/dist/core/errors/api-common-error.d.ts +0 -28
- package/dist/core/errors/api-common-error.js +0 -13
- package/dist/core/errors/api-common-error.js.map +0 -1
- package/dist/core/errors/application-error.cjs +0 -54
- package/dist/core/errors/application-error.cjs.map +0 -1
- package/dist/core/errors/application-error.d.cts +0 -8
- package/dist/core/errors/application-error.d.ts +0 -8
- package/dist/core/errors/application-error.js +0 -33
- package/dist/core/errors/application-error.js.map +0 -1
- package/dist/core/errors/conflict-error.cjs +0 -56
- package/dist/core/errors/conflict-error.cjs.map +0 -1
- package/dist/core/errors/conflict-error.d.cts +0 -13
- package/dist/core/errors/conflict-error.d.ts +0 -13
- package/dist/core/errors/conflict-error.js +0 -35
- package/dist/core/errors/conflict-error.js.map +0 -1
- package/dist/core/errors/domain-error.cjs +0 -54
- package/dist/core/errors/domain-error.cjs.map +0 -1
- package/dist/core/errors/domain-error.d.cts +0 -8
- package/dist/core/errors/domain-error.d.ts +0 -8
- package/dist/core/errors/domain-error.js +0 -33
- package/dist/core/errors/domain-error.js.map +0 -1
- package/dist/core/errors/http-client-error.cjs +0 -54
- package/dist/core/errors/http-client-error.cjs.map +0 -1
- package/dist/core/errors/http-client-error.d.cts +0 -8
- package/dist/core/errors/http-client-error.d.ts +0 -8
- package/dist/core/errors/http-client-error.js +0 -33
- package/dist/core/errors/http-client-error.js.map +0 -1
- package/dist/core/errors/infra-error.cjs +0 -54
- package/dist/core/errors/infra-error.cjs.map +0 -1
- package/dist/core/errors/infra-error.d.cts +0 -8
- package/dist/core/errors/infra-error.d.ts +0 -8
- package/dist/core/errors/infra-error.js +0 -33
- package/dist/core/errors/infra-error.js.map +0 -1
- package/dist/core/errors/validation-error.cjs +0 -55
- package/dist/core/errors/validation-error.cjs.map +0 -1
- package/dist/core/errors/validation-error.d.cts +0 -8
- package/dist/core/errors/validation-error.d.ts +0 -8
- package/dist/core/errors/validation-error.js +0 -34
- package/dist/core/errors/validation-error.js.map +0 -1
- package/dist/core/http/base-controller.cjs +0 -295
- package/dist/core/http/base-controller.cjs.map +0 -1
- package/dist/core/http/base-controller.d.cts +0 -1
- package/dist/core/http/base-controller.d.ts +0 -1
- package/dist/core/http/base-controller.js +0 -270
- package/dist/core/http/base-controller.js.map +0 -1
- package/dist/core/http/dto-response.cjs +0 -19
- package/dist/core/http/dto-response.cjs.map +0 -1
- package/dist/core/http/dto-response.d.cts +0 -10
- package/dist/core/http/dto-response.d.ts +0 -10
- package/dist/core/http/dto-response.js +0 -1
- package/dist/core/http/dto-response.js.map +0 -1
- package/dist/core/http/error-notifier.cjs +0 -19
- package/dist/core/http/error-notifier.cjs.map +0 -1
- package/dist/core/http/error-notifier.d.cts +0 -1
- package/dist/core/http/error-notifier.d.ts +0 -1
- package/dist/core/http/error-notifier.js +0 -1
- package/dist/core/http/error-notifier.js.map +0 -1
- package/dist/core/http/get-take-and-skip.cjs +0 -40
- package/dist/core/http/get-take-and-skip.cjs.map +0 -1
- package/dist/core/http/get-take-and-skip.d.cts +0 -6
- package/dist/core/http/get-take-and-skip.d.ts +0 -6
- package/dist/core/http/get-take-and-skip.js +0 -17
- package/dist/core/http/get-take-and-skip.js.map +0 -1
- package/dist/core/http/health-connections.cjs +0 -42
- package/dist/core/http/health-connections.cjs.map +0 -1
- package/dist/core/http/health-connections.d.cts +0 -16
- package/dist/core/http/health-connections.d.ts +0 -16
- package/dist/core/http/health-connections.js +0 -23
- package/dist/core/http/health-connections.js.map +0 -1
- package/dist/core/http/http.cjs +0 -19
- package/dist/core/http/http.cjs.map +0 -1
- package/dist/core/http/http.d.cts +0 -10
- package/dist/core/http/http.d.ts +0 -10
- package/dist/core/http/http.js +0 -1
- package/dist/core/http/http.js.map +0 -1
- package/dist/core/http/pagination.cjs +0 -19
- package/dist/core/http/pagination.cjs.map +0 -1
- package/dist/core/http/pagination.d.cts +0 -9
- package/dist/core/http/pagination.d.ts +0 -9
- package/dist/core/http/pagination.js +0 -1
- package/dist/core/http/pagination.js.map +0 -1
- package/dist/core/http/validator.cjs +0 -19
- package/dist/core/http/validator.cjs.map +0 -1
- package/dist/core/http/validator.d.cts +0 -11
- package/dist/core/http/validator.d.ts +0 -11
- package/dist/core/http/validator.js +0 -1
- package/dist/core/http/validator.js.map +0 -1
- package/dist/infra/adapters/http/express-adapter.cjs +0 -139
- package/dist/infra/adapters/http/express-adapter.cjs.map +0 -1
- package/dist/infra/adapters/http/express-adapter.d.cts +0 -15
- package/dist/infra/adapters/http/express-adapter.d.ts +0 -15
- package/dist/infra/adapters/http/express-adapter.js +0 -106
- package/dist/infra/adapters/http/express-adapter.js.map +0 -1
- package/dist/infra/adapters/http/fastify-adapter.cjs +0 -124
- package/dist/infra/adapters/http/fastify-adapter.cjs.map +0 -1
- package/dist/infra/adapters/http/fastify-adapter.d.cts +0 -14
- package/dist/infra/adapters/http/fastify-adapter.d.ts +0 -14
- package/dist/infra/adapters/http/fastify-adapter.js +0 -91
- package/dist/infra/adapters/http/fastify-adapter.js.map +0 -1
- package/dist/infra/adapters/http/response-error-code.cjs +0 -35
- package/dist/infra/adapters/http/response-error-code.cjs.map +0 -1
- package/dist/infra/adapters/http/response-error-code.d.cts +0 -6
- package/dist/infra/adapters/http/response-error-code.d.ts +0 -6
- package/dist/infra/adapters/http/response-error-code.js +0 -10
- package/dist/infra/adapters/http/response-error-code.js.map +0 -1
- package/dist/infra/adapters/http/validate-controller-metadata.cjs +0 -42
- package/dist/infra/adapters/http/validate-controller-metadata.cjs.map +0 -1
- package/dist/infra/adapters/http/validate-controller-metadata.d.cts +0 -11
- package/dist/infra/adapters/http/validate-controller-metadata.d.ts +0 -11
- package/dist/infra/adapters/http/validate-controller-metadata.js +0 -19
- package/dist/infra/adapters/http/validate-controller-metadata.js.map +0 -1
- package/dist/infra/adapters/notifications/discord.cjs +0 -90
- package/dist/infra/adapters/notifications/discord.cjs.map +0 -1
- package/dist/infra/adapters/notifications/discord.d.cts +0 -14
- package/dist/infra/adapters/notifications/discord.d.ts +0 -14
- package/dist/infra/adapters/notifications/discord.js +0 -65
- package/dist/infra/adapters/notifications/discord.js.map +0 -1
- package/dist/infra/adapters/notifications/in-memory.cjs +0 -44
- package/dist/infra/adapters/notifications/in-memory.cjs.map +0 -1
- package/dist/infra/adapters/notifications/in-memory.d.cts +0 -8
- package/dist/infra/adapters/notifications/in-memory.d.ts +0 -8
- package/dist/infra/adapters/notifications/in-memory.js +0 -21
- package/dist/infra/adapters/notifications/in-memory.js.map +0 -1
- package/dist/infra/adapters/notifications/notification-factory.cjs +0 -219
- package/dist/infra/adapters/notifications/notification-factory.cjs.map +0 -1
- package/dist/infra/adapters/notifications/notification-factory.d.cts +0 -18
- package/dist/infra/adapters/notifications/notification-factory.d.ts +0 -18
- package/dist/infra/adapters/notifications/notification-factory.js +0 -184
- package/dist/infra/adapters/notifications/notification-factory.js.map +0 -1
- package/dist/infra/adapters/notifications/sentry.cjs +0 -129
- package/dist/infra/adapters/notifications/sentry.cjs.map +0 -1
- package/dist/infra/adapters/notifications/sentry.d.cts +0 -13
- package/dist/infra/adapters/notifications/sentry.d.ts +0 -13
- package/dist/infra/adapters/notifications/sentry.js +0 -96
- package/dist/infra/adapters/notifications/sentry.js.map +0 -1
- package/dist/infra/adapters/validators/zod/index.cjs +0 -179
- package/dist/infra/adapters/validators/zod/index.cjs.map +0 -1
- package/dist/infra/adapters/validators/zod/index.d.cts +0 -19
- package/dist/infra/adapters/validators/zod/index.d.ts +0 -19
- package/dist/infra/adapters/validators/zod/index.js +0 -154
- package/dist/infra/adapters/validators/zod/index.js.map +0 -1
- package/dist/infra/adapters/validators/zod/zod-map-error.cjs +0 -79
- package/dist/infra/adapters/validators/zod/zod-map-error.cjs.map +0 -1
- package/dist/infra/adapters/validators/zod/zod-map-error.d.cts +0 -15
- package/dist/infra/adapters/validators/zod/zod-map-error.d.ts +0 -15
- package/dist/infra/adapters/validators/zod/zod-map-error.js +0 -60
- package/dist/infra/adapters/validators/zod/zod-map-error.js.map +0 -1
- package/dist/infra/adapters/validators/zod/zod-validator.cjs +0 -178
- package/dist/infra/adapters/validators/zod/zod-validator.cjs.map +0 -1
- package/dist/infra/adapters/validators/zod/zod-validator.d.cts +0 -13
- package/dist/infra/adapters/validators/zod/zod-validator.d.ts +0 -13
- package/dist/infra/adapters/validators/zod/zod-validator.js +0 -153
- package/dist/infra/adapters/validators/zod/zod-validator.js.map +0 -1
- package/dist/infra/env/index.cjs +0 -467
- package/dist/infra/env/index.cjs.map +0 -1
- package/dist/infra/env/index.d.cts +0 -26
- package/dist/infra/env/index.d.ts +0 -26
- package/dist/infra/env/index.js +0 -452
- package/dist/infra/env/index.js.map +0 -1
- /package/dist/{index.js.map → index.mjs.map} +0 -0
|
@@ -1,295 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
7
|
-
var __export = (target, all) => {
|
|
8
|
-
for (var name in all)
|
|
9
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
-
};
|
|
11
|
-
var __copyProps = (to, from, except, desc) => {
|
|
12
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
-
for (let key of __getOwnPropNames(from))
|
|
14
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
-
}
|
|
17
|
-
return to;
|
|
18
|
-
};
|
|
19
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
20
|
-
|
|
21
|
-
// src/core/http/base-controller.ts
|
|
22
|
-
var base_controller_exports = {};
|
|
23
|
-
__export(base_controller_exports, {
|
|
24
|
-
BaseController: () => BaseController
|
|
25
|
-
});
|
|
26
|
-
module.exports = __toCommonJS(base_controller_exports);
|
|
27
|
-
|
|
28
|
-
// src/core/decorators/dependency-container.ts
|
|
29
|
-
var import_reflect_metadata = require("reflect-metadata");
|
|
30
|
-
var DependencyContainer = class {
|
|
31
|
-
static {
|
|
32
|
-
__name(this, "DependencyContainer");
|
|
33
|
-
}
|
|
34
|
-
static registry = /* @__PURE__ */ new Map();
|
|
35
|
-
static singletons = /* @__PURE__ */ new Map();
|
|
36
|
-
static register(token, myClass, options) {
|
|
37
|
-
this.registry.set(token, {
|
|
38
|
-
type: "class",
|
|
39
|
-
myClass,
|
|
40
|
-
singleton: options.singleton
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
static registerValue(token, value) {
|
|
44
|
-
this.registry.set(token, {
|
|
45
|
-
type: "value",
|
|
46
|
-
value
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
static resolve(target) {
|
|
50
|
-
const injectMetadata = Reflect.getOwnMetadata("inject:params", target) || {};
|
|
51
|
-
const paramCount = Object.keys(injectMetadata).length;
|
|
52
|
-
const params = Array.from({
|
|
53
|
-
length: paramCount
|
|
54
|
-
}, (_, index) => {
|
|
55
|
-
const token = injectMetadata[index];
|
|
56
|
-
if (!token) {
|
|
57
|
-
throw new Error(`Missing @Inject token for parameter index ${index} in ${target.name}`);
|
|
58
|
-
}
|
|
59
|
-
return this.resolveToken(token);
|
|
60
|
-
});
|
|
61
|
-
return new target(...params);
|
|
62
|
-
}
|
|
63
|
-
static resolveToken(token) {
|
|
64
|
-
const registration = this.registry.get(token);
|
|
65
|
-
if (!registration) {
|
|
66
|
-
throw new Error(`"${token}" not registered. Please register it in the container.`);
|
|
67
|
-
}
|
|
68
|
-
if (registration.type === "value") {
|
|
69
|
-
return registration.value;
|
|
70
|
-
}
|
|
71
|
-
const { myClass, singleton } = registration;
|
|
72
|
-
if (singleton) {
|
|
73
|
-
if (!this.singletons.has(token)) {
|
|
74
|
-
const instance = this.resolve(myClass);
|
|
75
|
-
this.singletons.set(token, instance);
|
|
76
|
-
}
|
|
77
|
-
return this.singletons.get(token);
|
|
78
|
-
}
|
|
79
|
-
return this.resolve(myClass);
|
|
80
|
-
}
|
|
81
|
-
};
|
|
82
|
-
|
|
83
|
-
// src/core/errors/api-common-error.ts
|
|
84
|
-
var ApiErrorEnum = /* @__PURE__ */ function(ApiErrorEnum2) {
|
|
85
|
-
ApiErrorEnum2["DOMAIN"] = "ERR001";
|
|
86
|
-
ApiErrorEnum2["APPLICATION"] = "ERR002";
|
|
87
|
-
ApiErrorEnum2["INFRA"] = "ERR003";
|
|
88
|
-
ApiErrorEnum2["HTTP_CLIENT"] = "ERR004";
|
|
89
|
-
ApiErrorEnum2["VALIDATOR"] = "ERR005";
|
|
90
|
-
return ApiErrorEnum2;
|
|
91
|
-
}({});
|
|
92
|
-
|
|
93
|
-
// src/core/errors/application-error.ts
|
|
94
|
-
var ApplicationError = class extends Error {
|
|
95
|
-
static {
|
|
96
|
-
__name(this, "ApplicationError");
|
|
97
|
-
}
|
|
98
|
-
props;
|
|
99
|
-
constructor(message) {
|
|
100
|
-
super(message);
|
|
101
|
-
this.props = {
|
|
102
|
-
code: 400,
|
|
103
|
-
errorCode: ApiErrorEnum.APPLICATION,
|
|
104
|
-
message,
|
|
105
|
-
occurredAt: /* @__PURE__ */ new Date()
|
|
106
|
-
};
|
|
107
|
-
}
|
|
108
|
-
};
|
|
109
|
-
|
|
110
|
-
// src/core/errors/conflict-error.ts
|
|
111
|
-
var ConflictError = class extends Error {
|
|
112
|
-
static {
|
|
113
|
-
__name(this, "ConflictError");
|
|
114
|
-
}
|
|
115
|
-
props;
|
|
116
|
-
conflictProps;
|
|
117
|
-
constructor(conflictProps) {
|
|
118
|
-
super("Resource already exists.");
|
|
119
|
-
this.conflictProps = conflictProps;
|
|
120
|
-
this.props = {
|
|
121
|
-
code: 409,
|
|
122
|
-
errorCode: ApiErrorEnum.APPLICATION,
|
|
123
|
-
message: this.message,
|
|
124
|
-
occurredAt: /* @__PURE__ */ new Date()
|
|
125
|
-
};
|
|
126
|
-
}
|
|
127
|
-
};
|
|
128
|
-
|
|
129
|
-
// src/core/errors/domain-error.ts
|
|
130
|
-
var DomainError = class extends Error {
|
|
131
|
-
static {
|
|
132
|
-
__name(this, "DomainError");
|
|
133
|
-
}
|
|
134
|
-
props;
|
|
135
|
-
constructor(message) {
|
|
136
|
-
super(message);
|
|
137
|
-
this.props = {
|
|
138
|
-
code: 400,
|
|
139
|
-
errorCode: ApiErrorEnum.DOMAIN,
|
|
140
|
-
message,
|
|
141
|
-
occurredAt: /* @__PURE__ */ new Date()
|
|
142
|
-
};
|
|
143
|
-
}
|
|
144
|
-
};
|
|
145
|
-
|
|
146
|
-
// src/core/errors/infra-error.ts
|
|
147
|
-
var InfraError = class extends Error {
|
|
148
|
-
static {
|
|
149
|
-
__name(this, "InfraError");
|
|
150
|
-
}
|
|
151
|
-
props;
|
|
152
|
-
constructor(message) {
|
|
153
|
-
super(message);
|
|
154
|
-
this.props = {
|
|
155
|
-
code: 400,
|
|
156
|
-
errorCode: ApiErrorEnum.INFRA,
|
|
157
|
-
message,
|
|
158
|
-
occurredAt: /* @__PURE__ */ new Date()
|
|
159
|
-
};
|
|
160
|
-
}
|
|
161
|
-
};
|
|
162
|
-
|
|
163
|
-
// src/core/errors/validation-error.ts
|
|
164
|
-
var ValidationError = class extends Error {
|
|
165
|
-
static {
|
|
166
|
-
__name(this, "ValidationError");
|
|
167
|
-
}
|
|
168
|
-
props;
|
|
169
|
-
constructor(errors) {
|
|
170
|
-
super("Validation Error");
|
|
171
|
-
this.props = {
|
|
172
|
-
code: 400,
|
|
173
|
-
errorCode: ApiErrorEnum.VALIDATOR,
|
|
174
|
-
message: "Validation Error",
|
|
175
|
-
occurredAt: /* @__PURE__ */ new Date(),
|
|
176
|
-
errors
|
|
177
|
-
};
|
|
178
|
-
}
|
|
179
|
-
};
|
|
180
|
-
|
|
181
|
-
// src/core/http/base-controller.ts
|
|
182
|
-
var import_reflect_metadata2 = require("reflect-metadata");
|
|
183
|
-
var BaseController = class {
|
|
184
|
-
static {
|
|
185
|
-
__name(this, "BaseController");
|
|
186
|
-
}
|
|
187
|
-
errorNotifier;
|
|
188
|
-
constructor() {
|
|
189
|
-
this.errorNotifier = DependencyContainer.resolveToken("IErrorNotifier");
|
|
190
|
-
}
|
|
191
|
-
success(dto) {
|
|
192
|
-
return {
|
|
193
|
-
code: 200,
|
|
194
|
-
data: {
|
|
195
|
-
data: dto
|
|
196
|
-
}
|
|
197
|
-
};
|
|
198
|
-
}
|
|
199
|
-
noContent() {
|
|
200
|
-
return {
|
|
201
|
-
code: 204,
|
|
202
|
-
data: void 0
|
|
203
|
-
};
|
|
204
|
-
}
|
|
205
|
-
created(dto) {
|
|
206
|
-
return {
|
|
207
|
-
code: 201,
|
|
208
|
-
data: dto ? {
|
|
209
|
-
data: dto
|
|
210
|
-
} : void 0
|
|
211
|
-
};
|
|
212
|
-
}
|
|
213
|
-
paginated(dto) {
|
|
214
|
-
return {
|
|
215
|
-
code: 200,
|
|
216
|
-
data: dto
|
|
217
|
-
};
|
|
218
|
-
}
|
|
219
|
-
buildContextError(request) {
|
|
220
|
-
return {
|
|
221
|
-
env: process.env.ENVIRONMENT,
|
|
222
|
-
request: {
|
|
223
|
-
body: request.body,
|
|
224
|
-
headers: request.headers,
|
|
225
|
-
params: request.params,
|
|
226
|
-
query: request.query
|
|
227
|
-
}
|
|
228
|
-
};
|
|
229
|
-
}
|
|
230
|
-
async failure(error, context) {
|
|
231
|
-
if (error instanceof ConflictError) {
|
|
232
|
-
return {
|
|
233
|
-
code: error.props.code,
|
|
234
|
-
data: {
|
|
235
|
-
message: error.message,
|
|
236
|
-
errorCode: error.props.errorCode,
|
|
237
|
-
occurredAt: error.props.occurredAt,
|
|
238
|
-
items: Array.isArray(error.conflictProps) ? error.conflictProps : [
|
|
239
|
-
error.conflictProps
|
|
240
|
-
]
|
|
241
|
-
}
|
|
242
|
-
};
|
|
243
|
-
}
|
|
244
|
-
if (error instanceof DomainError || error instanceof ApplicationError || error instanceof InfraError) {
|
|
245
|
-
return {
|
|
246
|
-
code: error.props.code,
|
|
247
|
-
data: {
|
|
248
|
-
message: error.message,
|
|
249
|
-
errorCode: error.props.errorCode,
|
|
250
|
-
occurredAt: error.props.occurredAt
|
|
251
|
-
}
|
|
252
|
-
};
|
|
253
|
-
}
|
|
254
|
-
if (error instanceof ValidationError) {
|
|
255
|
-
return {
|
|
256
|
-
code: error.props.code,
|
|
257
|
-
data: {
|
|
258
|
-
message: error.props.message,
|
|
259
|
-
errorCode: error.props.errorCode,
|
|
260
|
-
occurredAt: error.props.occurredAt,
|
|
261
|
-
errors: error.props.errors
|
|
262
|
-
}
|
|
263
|
-
};
|
|
264
|
-
}
|
|
265
|
-
if (process.env.SHOULD_NOTIFY_ERROR) {
|
|
266
|
-
await this.errorNotifier.notify(error, context);
|
|
267
|
-
}
|
|
268
|
-
return {
|
|
269
|
-
code: 500,
|
|
270
|
-
data: {
|
|
271
|
-
code: 500,
|
|
272
|
-
message: "Server failed. Contact the administrator!"
|
|
273
|
-
}
|
|
274
|
-
};
|
|
275
|
-
}
|
|
276
|
-
async execute(request) {
|
|
277
|
-
const routeMetadata = Reflect.getMetadata("route", this.constructor);
|
|
278
|
-
if (!routeMetadata) {
|
|
279
|
-
throw new InfraError("Route metadata not found.");
|
|
280
|
-
}
|
|
281
|
-
const middlewares = routeMetadata.middlewares || [];
|
|
282
|
-
let processedRequest = request;
|
|
283
|
-
if (middlewares.length) {
|
|
284
|
-
for (const middleware of middlewares) {
|
|
285
|
-
processedRequest = await middleware(processedRequest);
|
|
286
|
-
}
|
|
287
|
-
}
|
|
288
|
-
return await this.handle(processedRequest);
|
|
289
|
-
}
|
|
290
|
-
};
|
|
291
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
292
|
-
0 && (module.exports = {
|
|
293
|
-
BaseController
|
|
294
|
-
});
|
|
295
|
-
//# sourceMappingURL=base-controller.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/core/http/base-controller.ts","../../../src/core/decorators/dependency-container.ts","../../../src/core/errors/api-common-error.ts","../../../src/core/errors/application-error.ts","../../../src/core/errors/conflict-error.ts","../../../src/core/errors/domain-error.ts","../../../src/core/errors/infra-error.ts","../../../src/core/errors/validation-error.ts"],"sourcesContent":["import { DependencyContainer } from '../../core/decorators/dependency-container'\nimport ApplicationError from '../../core/errors/application-error'\nimport ConflictError from '../../core/errors/conflict-error'\nimport DomainError from '../../core/errors/domain-error'\nimport InfraError from '../../core/errors/infra-error'\nimport ValidationError from '../../core/errors/validation-error'\nimport { MiddlewareFunction } from '../../infra/adapters/validators/zod/zod-validator'\n\nimport { IErrorNotifier } from './error-notifier'\n\nimport 'reflect-metadata'\n\ntype AnyObject = Record<string, any>\n\nexport type Request = {\n body: AnyObject\n params: AnyObject\n headers: AnyObject\n query: AnyObject\n}\n\nexport type Response = {\n code: number\n data: any\n}\n\nexport type ContextError = {\n env: string\n user?: {\n id?: string\n name?: string\n email?: string\n }\n request?: {\n method?: string\n requestId?: string\n url?: string\n headers?: any\n query?: any\n body?: any\n params?: any\n }\n}\n\nexport abstract class BaseController {\n protected readonly errorNotifier: IErrorNotifier\n\n abstract handle<T>(request: T | Request): Promise<Response>\n\n constructor() {\n this.errorNotifier = DependencyContainer.resolveToken('IErrorNotifier')\n }\n\n protected success<T>(dto?: T): Response {\n return {\n code: 200,\n data: { data: dto },\n }\n }\n\n protected noContent(): Response {\n return {\n code: 204,\n data: undefined,\n }\n }\n\n protected created<T>(dto?: T): Response {\n return {\n code: 201,\n data: dto ? { data: dto } : undefined,\n }\n }\n\n protected paginated<T>(dto?: T): Response {\n return {\n code: 200,\n data: dto,\n }\n }\n\n protected buildContextError(request: Request): ContextError {\n return {\n env: process.env.ENVIRONMENT as string,\n request: {\n body: request.body,\n headers: request.headers,\n params: request.params,\n query: request.query,\n },\n }\n }\n\n public async failure(error: Error, context: ContextError): Promise<Response> {\n if (error instanceof ConflictError) {\n return {\n code: error.props.code,\n data: {\n message: error.message,\n errorCode: error.props.errorCode,\n occurredAt: error.props.occurredAt,\n items: Array.isArray(error.conflictProps)\n ? error.conflictProps\n : [error.conflictProps],\n },\n }\n }\n\n if (\n error instanceof DomainError ||\n error instanceof ApplicationError ||\n error instanceof InfraError\n ) {\n return {\n code: error.props.code,\n data: {\n message: error.message,\n errorCode: error.props.errorCode,\n occurredAt: error.props.occurredAt,\n },\n }\n }\n\n if (error instanceof ValidationError) {\n return {\n code: error.props.code,\n data: {\n message: error.props.message,\n errorCode: error.props.errorCode,\n occurredAt: error.props.occurredAt,\n errors: error.props.errors,\n },\n }\n }\n\n if (process.env.SHOULD_NOTIFY_ERROR) {\n await this.errorNotifier.notify(error, context)\n }\n\n return {\n code: 500,\n data: {\n code: 500,\n message: 'Server failed. Contact the administrator!',\n },\n }\n }\n\n public async execute(request: Request): Promise<Response> {\n const routeMetadata = Reflect.getMetadata('route', this.constructor)\n\n if (!routeMetadata) {\n throw new InfraError('Route metadata not found.')\n }\n\n const middlewares: MiddlewareFunction[] = routeMetadata.middlewares || []\n\n let processedRequest = request\n\n if (middlewares.length) {\n for (const middleware of middlewares) {\n processedRequest = await middleware(processedRequest)\n }\n }\n\n return await this.handle(processedRequest)\n }\n}\n","import 'reflect-metadata'\n\ntype Class<T = any> = new (...args: any[]) => T\n\ntype Registration =\n | { type: 'class'; myClass: Class; singleton: boolean }\n | { type: 'value'; value: any }\n\nexport class DependencyContainer {\n static registry = new Map<string, Registration>()\n static singletons = new Map<string, any>()\n\n static register<T>(\n token: string,\n myClass: Class<T>,\n options: { singleton: boolean }\n ) {\n this.registry.set(token, {\n type: 'class',\n myClass,\n singleton: options.singleton,\n })\n }\n\n static registerValue<T>(token: string, value: T) {\n this.registry.set(token, { type: 'value', value })\n }\n\n static resolve<T>(target: Class<T>): T {\n const injectMetadata: Record<number, string> =\n Reflect.getOwnMetadata('inject:params', target) || {}\n\n const paramCount = Object.keys(injectMetadata).length\n\n const params = Array.from({ length: paramCount }, (_, index) => {\n const token = injectMetadata[index]\n if (!token) {\n throw new Error(\n `Missing @Inject token for parameter index ${index} in ${target.name}`\n )\n }\n return this.resolveToken(token)\n })\n\n return new target(...params)\n }\n\n static resolveToken(token: string): any {\n const registration = this.registry.get(token)\n\n if (!registration) {\n throw new Error(\n `\"${token}\" not registered. Please register it in the container.`\n )\n }\n\n if (registration.type === 'value') {\n return registration.value\n }\n\n const { myClass, singleton } = registration\n\n if (singleton) {\n if (!this.singletons.has(token)) {\n const instance = this.resolve(myClass)\n this.singletons.set(token, instance)\n }\n return this.singletons.get(token)\n }\n\n return this.resolve(myClass)\n }\n}\n\nexport function Inject(token: string): ParameterDecorator {\n return (\n target: object,\n _propertyKey: string | symbol | undefined,\n parameterIndex: number\n ): void => {\n const constructor =\n typeof target === 'function' ? target : target.constructor\n\n const existingInjectedParams: Record<number, string> =\n Reflect.getOwnMetadata('inject:params', constructor) || {}\n\n existingInjectedParams[parameterIndex] = token\n\n Reflect.defineMetadata('inject:params', existingInjectedParams, constructor)\n }\n}\n","export type PropertiesError = {\n receivedValue?: any\n type: string\n message: string\n property: string | number | undefined\n propertyType?: string\n path?: string\n}\n\nexport type CommonError = {\n location: string\n propertyErrors?: PropertiesError[]\n}\n\nexport type ApiCommonError = {\n code: number\n occurredAt: Date\n message: string\n errorCode: string\n errors?: CommonError[]\n}\n\nexport enum ApiErrorEnum {\n DOMAIN = 'ERR001',\n APPLICATION = 'ERR002',\n INFRA = 'ERR003',\n HTTP_CLIENT = 'ERR004',\n VALIDATOR = 'ERR005',\n}\n","import { type ApiCommonError, ApiErrorEnum } from './api-common-error'\n\nexport default class ApplicationError extends Error {\n props: ApiCommonError\n\n constructor(message: string) {\n super(message)\n this.props = {\n code: 400,\n errorCode: ApiErrorEnum.APPLICATION,\n message,\n occurredAt: new Date(),\n }\n }\n}\n","import { type ApiCommonError, ApiErrorEnum } from './api-common-error'\n\ntype ConflictProps = { id: string; [key: string]: unknown }\n\nexport default class ConflictError<T extends ConflictProps> extends Error {\n props: ApiCommonError\n conflictProps: T | T[]\n\n constructor(conflictProps: T | T[]) {\n super('Resource already exists.')\n this.conflictProps = conflictProps\n this.props = {\n code: 409,\n errorCode: ApiErrorEnum.APPLICATION,\n message: this.message,\n occurredAt: new Date(),\n }\n }\n}\n","import { type ApiCommonError, ApiErrorEnum } from './api-common-error'\n\nexport default class DomainError extends Error {\n props: ApiCommonError\n\n constructor(message: string) {\n super(message)\n this.props = {\n code: 400,\n errorCode: ApiErrorEnum.DOMAIN,\n message,\n occurredAt: new Date(),\n }\n }\n}\n","import { type ApiCommonError, ApiErrorEnum } from './api-common-error'\n\nexport default class InfraError extends Error {\n props: ApiCommonError\n\n constructor(message: string) {\n super(message)\n this.props = {\n code: 400,\n errorCode: ApiErrorEnum.INFRA,\n message,\n occurredAt: new Date(),\n }\n }\n}\n","import {\n type ApiCommonError,\n ApiErrorEnum,\n type CommonError,\n} from './api-common-error'\n\nexport default class ValidationError extends Error {\n props: ApiCommonError\n\n constructor(errors: CommonError[]) {\n super('Validation Error')\n this.props = {\n code: 400,\n errorCode: ApiErrorEnum.VALIDATOR,\n message: 'Validation Error',\n occurredAt: new Date(),\n errors,\n }\n }\n}\n"],"mappings":"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","names":["DependencyContainer","registry","Map","singletons","register","token","myClass","options","set","type","singleton","registerValue","value","resolve","target","injectMetadata","Reflect","getOwnMetadata","paramCount","Object","keys","length","params","Array","from","_","index","Error","name","resolveToken","registration","get","has","instance","ApiErrorEnum","ApplicationError","Error","props","constructor","message","code","errorCode","ApiErrorEnum","APPLICATION","occurredAt","Date","ConflictError","Error","props","conflictProps","constructor","code","errorCode","ApiErrorEnum","APPLICATION","message","occurredAt","Date","DomainError","Error","props","constructor","message","code","errorCode","ApiErrorEnum","DOMAIN","occurredAt","Date","InfraError","Error","props","constructor","message","code","errorCode","ApiErrorEnum","INFRA","occurredAt","Date","ValidationError","Error","props","constructor","errors","code","errorCode","ApiErrorEnum","VALIDATOR","message","occurredAt","Date","import_reflect_metadata","BaseController","errorNotifier","constructor","DependencyContainer","resolveToken","success","dto","code","data","noContent","undefined","created","paginated","buildContextError","request","env","process","ENVIRONMENT","body","headers","params","query","failure","error","context","ConflictError","props","message","errorCode","occurredAt","items","Array","isArray","conflictProps","DomainError","ApplicationError","InfraError","ValidationError","errors","SHOULD_NOTIFY_ERROR","notify","execute","routeMetadata","Reflect","getMetadata","middlewares","processedRequest","length","middleware","handle"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { B as BaseController, C as ContextError, R as Request, a as Response } from '../../base-controller-68008870.js';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { B as BaseController, C as ContextError, R as Request, a as Response } from '../../base-controller-68008870.js';
|
|
@@ -1,270 +0,0 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
-
|
|
4
|
-
// src/core/decorators/dependency-container.ts
|
|
5
|
-
import "reflect-metadata";
|
|
6
|
-
var DependencyContainer = class {
|
|
7
|
-
static {
|
|
8
|
-
__name(this, "DependencyContainer");
|
|
9
|
-
}
|
|
10
|
-
static registry = /* @__PURE__ */ new Map();
|
|
11
|
-
static singletons = /* @__PURE__ */ new Map();
|
|
12
|
-
static register(token, myClass, options) {
|
|
13
|
-
this.registry.set(token, {
|
|
14
|
-
type: "class",
|
|
15
|
-
myClass,
|
|
16
|
-
singleton: options.singleton
|
|
17
|
-
});
|
|
18
|
-
}
|
|
19
|
-
static registerValue(token, value) {
|
|
20
|
-
this.registry.set(token, {
|
|
21
|
-
type: "value",
|
|
22
|
-
value
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
static resolve(target) {
|
|
26
|
-
const injectMetadata = Reflect.getOwnMetadata("inject:params", target) || {};
|
|
27
|
-
const paramCount = Object.keys(injectMetadata).length;
|
|
28
|
-
const params = Array.from({
|
|
29
|
-
length: paramCount
|
|
30
|
-
}, (_, index) => {
|
|
31
|
-
const token = injectMetadata[index];
|
|
32
|
-
if (!token) {
|
|
33
|
-
throw new Error(`Missing @Inject token for parameter index ${index} in ${target.name}`);
|
|
34
|
-
}
|
|
35
|
-
return this.resolveToken(token);
|
|
36
|
-
});
|
|
37
|
-
return new target(...params);
|
|
38
|
-
}
|
|
39
|
-
static resolveToken(token) {
|
|
40
|
-
const registration = this.registry.get(token);
|
|
41
|
-
if (!registration) {
|
|
42
|
-
throw new Error(`"${token}" not registered. Please register it in the container.`);
|
|
43
|
-
}
|
|
44
|
-
if (registration.type === "value") {
|
|
45
|
-
return registration.value;
|
|
46
|
-
}
|
|
47
|
-
const { myClass, singleton } = registration;
|
|
48
|
-
if (singleton) {
|
|
49
|
-
if (!this.singletons.has(token)) {
|
|
50
|
-
const instance = this.resolve(myClass);
|
|
51
|
-
this.singletons.set(token, instance);
|
|
52
|
-
}
|
|
53
|
-
return this.singletons.get(token);
|
|
54
|
-
}
|
|
55
|
-
return this.resolve(myClass);
|
|
56
|
-
}
|
|
57
|
-
};
|
|
58
|
-
|
|
59
|
-
// src/core/errors/api-common-error.ts
|
|
60
|
-
var ApiErrorEnum = /* @__PURE__ */ function(ApiErrorEnum2) {
|
|
61
|
-
ApiErrorEnum2["DOMAIN"] = "ERR001";
|
|
62
|
-
ApiErrorEnum2["APPLICATION"] = "ERR002";
|
|
63
|
-
ApiErrorEnum2["INFRA"] = "ERR003";
|
|
64
|
-
ApiErrorEnum2["HTTP_CLIENT"] = "ERR004";
|
|
65
|
-
ApiErrorEnum2["VALIDATOR"] = "ERR005";
|
|
66
|
-
return ApiErrorEnum2;
|
|
67
|
-
}({});
|
|
68
|
-
|
|
69
|
-
// src/core/errors/application-error.ts
|
|
70
|
-
var ApplicationError = class extends Error {
|
|
71
|
-
static {
|
|
72
|
-
__name(this, "ApplicationError");
|
|
73
|
-
}
|
|
74
|
-
props;
|
|
75
|
-
constructor(message) {
|
|
76
|
-
super(message);
|
|
77
|
-
this.props = {
|
|
78
|
-
code: 400,
|
|
79
|
-
errorCode: ApiErrorEnum.APPLICATION,
|
|
80
|
-
message,
|
|
81
|
-
occurredAt: /* @__PURE__ */ new Date()
|
|
82
|
-
};
|
|
83
|
-
}
|
|
84
|
-
};
|
|
85
|
-
|
|
86
|
-
// src/core/errors/conflict-error.ts
|
|
87
|
-
var ConflictError = class extends Error {
|
|
88
|
-
static {
|
|
89
|
-
__name(this, "ConflictError");
|
|
90
|
-
}
|
|
91
|
-
props;
|
|
92
|
-
conflictProps;
|
|
93
|
-
constructor(conflictProps) {
|
|
94
|
-
super("Resource already exists.");
|
|
95
|
-
this.conflictProps = conflictProps;
|
|
96
|
-
this.props = {
|
|
97
|
-
code: 409,
|
|
98
|
-
errorCode: ApiErrorEnum.APPLICATION,
|
|
99
|
-
message: this.message,
|
|
100
|
-
occurredAt: /* @__PURE__ */ new Date()
|
|
101
|
-
};
|
|
102
|
-
}
|
|
103
|
-
};
|
|
104
|
-
|
|
105
|
-
// src/core/errors/domain-error.ts
|
|
106
|
-
var DomainError = class extends Error {
|
|
107
|
-
static {
|
|
108
|
-
__name(this, "DomainError");
|
|
109
|
-
}
|
|
110
|
-
props;
|
|
111
|
-
constructor(message) {
|
|
112
|
-
super(message);
|
|
113
|
-
this.props = {
|
|
114
|
-
code: 400,
|
|
115
|
-
errorCode: ApiErrorEnum.DOMAIN,
|
|
116
|
-
message,
|
|
117
|
-
occurredAt: /* @__PURE__ */ new Date()
|
|
118
|
-
};
|
|
119
|
-
}
|
|
120
|
-
};
|
|
121
|
-
|
|
122
|
-
// src/core/errors/infra-error.ts
|
|
123
|
-
var InfraError = class extends Error {
|
|
124
|
-
static {
|
|
125
|
-
__name(this, "InfraError");
|
|
126
|
-
}
|
|
127
|
-
props;
|
|
128
|
-
constructor(message) {
|
|
129
|
-
super(message);
|
|
130
|
-
this.props = {
|
|
131
|
-
code: 400,
|
|
132
|
-
errorCode: ApiErrorEnum.INFRA,
|
|
133
|
-
message,
|
|
134
|
-
occurredAt: /* @__PURE__ */ new Date()
|
|
135
|
-
};
|
|
136
|
-
}
|
|
137
|
-
};
|
|
138
|
-
|
|
139
|
-
// src/core/errors/validation-error.ts
|
|
140
|
-
var ValidationError = class extends Error {
|
|
141
|
-
static {
|
|
142
|
-
__name(this, "ValidationError");
|
|
143
|
-
}
|
|
144
|
-
props;
|
|
145
|
-
constructor(errors) {
|
|
146
|
-
super("Validation Error");
|
|
147
|
-
this.props = {
|
|
148
|
-
code: 400,
|
|
149
|
-
errorCode: ApiErrorEnum.VALIDATOR,
|
|
150
|
-
message: "Validation Error",
|
|
151
|
-
occurredAt: /* @__PURE__ */ new Date(),
|
|
152
|
-
errors
|
|
153
|
-
};
|
|
154
|
-
}
|
|
155
|
-
};
|
|
156
|
-
|
|
157
|
-
// src/core/http/base-controller.ts
|
|
158
|
-
import "reflect-metadata";
|
|
159
|
-
var BaseController = class {
|
|
160
|
-
static {
|
|
161
|
-
__name(this, "BaseController");
|
|
162
|
-
}
|
|
163
|
-
errorNotifier;
|
|
164
|
-
constructor() {
|
|
165
|
-
this.errorNotifier = DependencyContainer.resolveToken("IErrorNotifier");
|
|
166
|
-
}
|
|
167
|
-
success(dto) {
|
|
168
|
-
return {
|
|
169
|
-
code: 200,
|
|
170
|
-
data: {
|
|
171
|
-
data: dto
|
|
172
|
-
}
|
|
173
|
-
};
|
|
174
|
-
}
|
|
175
|
-
noContent() {
|
|
176
|
-
return {
|
|
177
|
-
code: 204,
|
|
178
|
-
data: void 0
|
|
179
|
-
};
|
|
180
|
-
}
|
|
181
|
-
created(dto) {
|
|
182
|
-
return {
|
|
183
|
-
code: 201,
|
|
184
|
-
data: dto ? {
|
|
185
|
-
data: dto
|
|
186
|
-
} : void 0
|
|
187
|
-
};
|
|
188
|
-
}
|
|
189
|
-
paginated(dto) {
|
|
190
|
-
return {
|
|
191
|
-
code: 200,
|
|
192
|
-
data: dto
|
|
193
|
-
};
|
|
194
|
-
}
|
|
195
|
-
buildContextError(request) {
|
|
196
|
-
return {
|
|
197
|
-
env: process.env.ENVIRONMENT,
|
|
198
|
-
request: {
|
|
199
|
-
body: request.body,
|
|
200
|
-
headers: request.headers,
|
|
201
|
-
params: request.params,
|
|
202
|
-
query: request.query
|
|
203
|
-
}
|
|
204
|
-
};
|
|
205
|
-
}
|
|
206
|
-
async failure(error, context) {
|
|
207
|
-
if (error instanceof ConflictError) {
|
|
208
|
-
return {
|
|
209
|
-
code: error.props.code,
|
|
210
|
-
data: {
|
|
211
|
-
message: error.message,
|
|
212
|
-
errorCode: error.props.errorCode,
|
|
213
|
-
occurredAt: error.props.occurredAt,
|
|
214
|
-
items: Array.isArray(error.conflictProps) ? error.conflictProps : [
|
|
215
|
-
error.conflictProps
|
|
216
|
-
]
|
|
217
|
-
}
|
|
218
|
-
};
|
|
219
|
-
}
|
|
220
|
-
if (error instanceof DomainError || error instanceof ApplicationError || error instanceof InfraError) {
|
|
221
|
-
return {
|
|
222
|
-
code: error.props.code,
|
|
223
|
-
data: {
|
|
224
|
-
message: error.message,
|
|
225
|
-
errorCode: error.props.errorCode,
|
|
226
|
-
occurredAt: error.props.occurredAt
|
|
227
|
-
}
|
|
228
|
-
};
|
|
229
|
-
}
|
|
230
|
-
if (error instanceof ValidationError) {
|
|
231
|
-
return {
|
|
232
|
-
code: error.props.code,
|
|
233
|
-
data: {
|
|
234
|
-
message: error.props.message,
|
|
235
|
-
errorCode: error.props.errorCode,
|
|
236
|
-
occurredAt: error.props.occurredAt,
|
|
237
|
-
errors: error.props.errors
|
|
238
|
-
}
|
|
239
|
-
};
|
|
240
|
-
}
|
|
241
|
-
if (process.env.SHOULD_NOTIFY_ERROR) {
|
|
242
|
-
await this.errorNotifier.notify(error, context);
|
|
243
|
-
}
|
|
244
|
-
return {
|
|
245
|
-
code: 500,
|
|
246
|
-
data: {
|
|
247
|
-
code: 500,
|
|
248
|
-
message: "Server failed. Contact the administrator!"
|
|
249
|
-
}
|
|
250
|
-
};
|
|
251
|
-
}
|
|
252
|
-
async execute(request) {
|
|
253
|
-
const routeMetadata = Reflect.getMetadata("route", this.constructor);
|
|
254
|
-
if (!routeMetadata) {
|
|
255
|
-
throw new InfraError("Route metadata not found.");
|
|
256
|
-
}
|
|
257
|
-
const middlewares = routeMetadata.middlewares || [];
|
|
258
|
-
let processedRequest = request;
|
|
259
|
-
if (middlewares.length) {
|
|
260
|
-
for (const middleware of middlewares) {
|
|
261
|
-
processedRequest = await middleware(processedRequest);
|
|
262
|
-
}
|
|
263
|
-
}
|
|
264
|
-
return await this.handle(processedRequest);
|
|
265
|
-
}
|
|
266
|
-
};
|
|
267
|
-
export {
|
|
268
|
-
BaseController
|
|
269
|
-
};
|
|
270
|
-
//# sourceMappingURL=base-controller.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/core/decorators/dependency-container.ts","../../../src/core/errors/api-common-error.ts","../../../src/core/errors/application-error.ts","../../../src/core/errors/conflict-error.ts","../../../src/core/errors/domain-error.ts","../../../src/core/errors/infra-error.ts","../../../src/core/errors/validation-error.ts","../../../src/core/http/base-controller.ts"],"sourcesContent":["import 'reflect-metadata'\n\ntype Class<T = any> = new (...args: any[]) => T\n\ntype Registration =\n | { type: 'class'; myClass: Class; singleton: boolean }\n | { type: 'value'; value: any }\n\nexport class DependencyContainer {\n static registry = new Map<string, Registration>()\n static singletons = new Map<string, any>()\n\n static register<T>(\n token: string,\n myClass: Class<T>,\n options: { singleton: boolean }\n ) {\n this.registry.set(token, {\n type: 'class',\n myClass,\n singleton: options.singleton,\n })\n }\n\n static registerValue<T>(token: string, value: T) {\n this.registry.set(token, { type: 'value', value })\n }\n\n static resolve<T>(target: Class<T>): T {\n const injectMetadata: Record<number, string> =\n Reflect.getOwnMetadata('inject:params', target) || {}\n\n const paramCount = Object.keys(injectMetadata).length\n\n const params = Array.from({ length: paramCount }, (_, index) => {\n const token = injectMetadata[index]\n if (!token) {\n throw new Error(\n `Missing @Inject token for parameter index ${index} in ${target.name}`\n )\n }\n return this.resolveToken(token)\n })\n\n return new target(...params)\n }\n\n static resolveToken(token: string): any {\n const registration = this.registry.get(token)\n\n if (!registration) {\n throw new Error(\n `\"${token}\" not registered. Please register it in the container.`\n )\n }\n\n if (registration.type === 'value') {\n return registration.value\n }\n\n const { myClass, singleton } = registration\n\n if (singleton) {\n if (!this.singletons.has(token)) {\n const instance = this.resolve(myClass)\n this.singletons.set(token, instance)\n }\n return this.singletons.get(token)\n }\n\n return this.resolve(myClass)\n }\n}\n\nexport function Inject(token: string): ParameterDecorator {\n return (\n target: object,\n _propertyKey: string | symbol | undefined,\n parameterIndex: number\n ): void => {\n const constructor =\n typeof target === 'function' ? target : target.constructor\n\n const existingInjectedParams: Record<number, string> =\n Reflect.getOwnMetadata('inject:params', constructor) || {}\n\n existingInjectedParams[parameterIndex] = token\n\n Reflect.defineMetadata('inject:params', existingInjectedParams, constructor)\n }\n}\n","export type PropertiesError = {\n receivedValue?: any\n type: string\n message: string\n property: string | number | undefined\n propertyType?: string\n path?: string\n}\n\nexport type CommonError = {\n location: string\n propertyErrors?: PropertiesError[]\n}\n\nexport type ApiCommonError = {\n code: number\n occurredAt: Date\n message: string\n errorCode: string\n errors?: CommonError[]\n}\n\nexport enum ApiErrorEnum {\n DOMAIN = 'ERR001',\n APPLICATION = 'ERR002',\n INFRA = 'ERR003',\n HTTP_CLIENT = 'ERR004',\n VALIDATOR = 'ERR005',\n}\n","import { type ApiCommonError, ApiErrorEnum } from './api-common-error'\n\nexport default class ApplicationError extends Error {\n props: ApiCommonError\n\n constructor(message: string) {\n super(message)\n this.props = {\n code: 400,\n errorCode: ApiErrorEnum.APPLICATION,\n message,\n occurredAt: new Date(),\n }\n }\n}\n","import { type ApiCommonError, ApiErrorEnum } from './api-common-error'\n\ntype ConflictProps = { id: string; [key: string]: unknown }\n\nexport default class ConflictError<T extends ConflictProps> extends Error {\n props: ApiCommonError\n conflictProps: T | T[]\n\n constructor(conflictProps: T | T[]) {\n super('Resource already exists.')\n this.conflictProps = conflictProps\n this.props = {\n code: 409,\n errorCode: ApiErrorEnum.APPLICATION,\n message: this.message,\n occurredAt: new Date(),\n }\n }\n}\n","import { type ApiCommonError, ApiErrorEnum } from './api-common-error'\n\nexport default class DomainError extends Error {\n props: ApiCommonError\n\n constructor(message: string) {\n super(message)\n this.props = {\n code: 400,\n errorCode: ApiErrorEnum.DOMAIN,\n message,\n occurredAt: new Date(),\n }\n }\n}\n","import { type ApiCommonError, ApiErrorEnum } from './api-common-error'\n\nexport default class InfraError extends Error {\n props: ApiCommonError\n\n constructor(message: string) {\n super(message)\n this.props = {\n code: 400,\n errorCode: ApiErrorEnum.INFRA,\n message,\n occurredAt: new Date(),\n }\n }\n}\n","import {\n type ApiCommonError,\n ApiErrorEnum,\n type CommonError,\n} from './api-common-error'\n\nexport default class ValidationError extends Error {\n props: ApiCommonError\n\n constructor(errors: CommonError[]) {\n super('Validation Error')\n this.props = {\n code: 400,\n errorCode: ApiErrorEnum.VALIDATOR,\n message: 'Validation Error',\n occurredAt: new Date(),\n errors,\n }\n }\n}\n","import { DependencyContainer } from '../../core/decorators/dependency-container'\nimport ApplicationError from '../../core/errors/application-error'\nimport ConflictError from '../../core/errors/conflict-error'\nimport DomainError from '../../core/errors/domain-error'\nimport InfraError from '../../core/errors/infra-error'\nimport ValidationError from '../../core/errors/validation-error'\nimport { MiddlewareFunction } from '../../infra/adapters/validators/zod/zod-validator'\n\nimport { IErrorNotifier } from './error-notifier'\n\nimport 'reflect-metadata'\n\ntype AnyObject = Record<string, any>\n\nexport type Request = {\n body: AnyObject\n params: AnyObject\n headers: AnyObject\n query: AnyObject\n}\n\nexport type Response = {\n code: number\n data: any\n}\n\nexport type ContextError = {\n env: string\n user?: {\n id?: string\n name?: string\n email?: string\n }\n request?: {\n method?: string\n requestId?: string\n url?: string\n headers?: any\n query?: any\n body?: any\n params?: any\n }\n}\n\nexport abstract class BaseController {\n protected readonly errorNotifier: IErrorNotifier\n\n abstract handle<T>(request: T | Request): Promise<Response>\n\n constructor() {\n this.errorNotifier = DependencyContainer.resolveToken('IErrorNotifier')\n }\n\n protected success<T>(dto?: T): Response {\n return {\n code: 200,\n data: { data: dto },\n }\n }\n\n protected noContent(): Response {\n return {\n code: 204,\n data: undefined,\n }\n }\n\n protected created<T>(dto?: T): Response {\n return {\n code: 201,\n data: dto ? { data: dto } : undefined,\n }\n }\n\n protected paginated<T>(dto?: T): Response {\n return {\n code: 200,\n data: dto,\n }\n }\n\n protected buildContextError(request: Request): ContextError {\n return {\n env: process.env.ENVIRONMENT as string,\n request: {\n body: request.body,\n headers: request.headers,\n params: request.params,\n query: request.query,\n },\n }\n }\n\n public async failure(error: Error, context: ContextError): Promise<Response> {\n if (error instanceof ConflictError) {\n return {\n code: error.props.code,\n data: {\n message: error.message,\n errorCode: error.props.errorCode,\n occurredAt: error.props.occurredAt,\n items: Array.isArray(error.conflictProps)\n ? error.conflictProps\n : [error.conflictProps],\n },\n }\n }\n\n if (\n error instanceof DomainError ||\n error instanceof ApplicationError ||\n error instanceof InfraError\n ) {\n return {\n code: error.props.code,\n data: {\n message: error.message,\n errorCode: error.props.errorCode,\n occurredAt: error.props.occurredAt,\n },\n }\n }\n\n if (error instanceof ValidationError) {\n return {\n code: error.props.code,\n data: {\n message: error.props.message,\n errorCode: error.props.errorCode,\n occurredAt: error.props.occurredAt,\n errors: error.props.errors,\n },\n }\n }\n\n if (process.env.SHOULD_NOTIFY_ERROR) {\n await this.errorNotifier.notify(error, context)\n }\n\n return {\n code: 500,\n data: {\n code: 500,\n message: 'Server failed. Contact the administrator!',\n },\n }\n }\n\n public async execute(request: Request): Promise<Response> {\n const routeMetadata = Reflect.getMetadata('route', this.constructor)\n\n if (!routeMetadata) {\n throw new InfraError('Route metadata not found.')\n }\n\n const middlewares: MiddlewareFunction[] = routeMetadata.middlewares || []\n\n let processedRequest = request\n\n if (middlewares.length) {\n for (const middleware of middlewares) {\n processedRequest = await middleware(processedRequest)\n }\n }\n\n return await this.handle(processedRequest)\n }\n}\n"],"mappings":"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","names":["DependencyContainer","registry","Map","singletons","register","token","myClass","options","set","type","singleton","registerValue","value","resolve","target","injectMetadata","Reflect","getOwnMetadata","paramCount","Object","keys","length","params","Array","from","_","index","Error","name","resolveToken","registration","get","has","instance","ApiErrorEnum","ApplicationError","Error","props","constructor","message","code","errorCode","ApiErrorEnum","APPLICATION","occurredAt","Date","ConflictError","Error","props","conflictProps","constructor","code","errorCode","ApiErrorEnum","APPLICATION","message","occurredAt","Date","DomainError","Error","props","constructor","message","code","errorCode","ApiErrorEnum","DOMAIN","occurredAt","Date","InfraError","Error","props","constructor","message","code","errorCode","ApiErrorEnum","INFRA","occurredAt","Date","ValidationError","Error","props","constructor","errors","code","errorCode","ApiErrorEnum","VALIDATOR","message","occurredAt","Date","BaseController","errorNotifier","constructor","DependencyContainer","resolveToken","success","dto","code","data","noContent","undefined","created","paginated","buildContextError","request","env","process","ENVIRONMENT","body","headers","params","query","failure","error","context","ConflictError","props","message","errorCode","occurredAt","items","Array","isArray","conflictProps","DomainError","ApplicationError","InfraError","ValidationError","errors","SHOULD_NOTIFY_ERROR","notify","execute","routeMetadata","Reflect","getMetadata","middlewares","processedRequest","length","middleware","handle"]}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __copyProps = (to, from, except, desc) => {
|
|
7
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
8
|
-
for (let key of __getOwnPropNames(from))
|
|
9
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
10
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
11
|
-
}
|
|
12
|
-
return to;
|
|
13
|
-
};
|
|
14
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
15
|
-
|
|
16
|
-
// src/core/http/dto-response.ts
|
|
17
|
-
var dto_response_exports = {};
|
|
18
|
-
module.exports = __toCommonJS(dto_response_exports);
|
|
19
|
-
//# sourceMappingURL=dto-response.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/core/http/dto-response.ts"],"sourcesContent":["export type DtoResponsePagination = {\n count: number\n query: { page: string; size: string }\n withPagination: boolean\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;;","names":[]}
|