plutin 1.3.0 → 1.3.2
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.d.cts +286 -28
- package/dist/index.d.ts +286 -28
- package/dist/{index.js → index.mjs} +1 -1
- package/package.json +4 -3
- 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/replace.cjs +0 -19
- package/dist/core/entities/replace.cjs.map +0 -1
- package/dist/core/entities/replace.d.cts +0 -5
- package/dist/core/entities/replace.d.ts +0 -5
- package/dist/core/entities/replace.js +0 -1
- package/dist/core/entities/replace.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,106 +0,0 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
-
|
|
4
|
-
// src/infra/adapters/http/express-adapter.ts
|
|
5
|
-
import cors from "cors";
|
|
6
|
-
import express from "express";
|
|
7
|
-
|
|
8
|
-
// src/infra/adapters/http/response-error-code.ts
|
|
9
|
-
var ErrorResponseCode = /* @__PURE__ */ function(ErrorResponseCode2) {
|
|
10
|
-
ErrorResponseCode2["NO_CONTENT_BODY"] = "B001";
|
|
11
|
-
ErrorResponseCode2["NO_CONTENT_ERROR"] = "B002";
|
|
12
|
-
return ErrorResponseCode2;
|
|
13
|
-
}({});
|
|
14
|
-
|
|
15
|
-
// src/infra/adapters/http/validate-controller-metadata.ts
|
|
16
|
-
import "reflect-metadata";
|
|
17
|
-
function validateControllerMetadata(controller) {
|
|
18
|
-
const metadata = Reflect.getMetadata("route", controller.constructor);
|
|
19
|
-
if (!metadata) {
|
|
20
|
-
throw new Error(`Controller ${controller.constructor.name} not have metadata. Need to add decorator.`);
|
|
21
|
-
}
|
|
22
|
-
return {
|
|
23
|
-
metadata
|
|
24
|
-
};
|
|
25
|
-
}
|
|
26
|
-
__name(validateControllerMetadata, "validateControllerMetadata");
|
|
27
|
-
|
|
28
|
-
// src/infra/adapters/http/express-adapter.ts
|
|
29
|
-
var ExpressAdapter = class {
|
|
30
|
-
static {
|
|
31
|
-
__name(this, "ExpressAdapter");
|
|
32
|
-
}
|
|
33
|
-
env;
|
|
34
|
-
instance;
|
|
35
|
-
server;
|
|
36
|
-
constructor(env) {
|
|
37
|
-
this.env = env;
|
|
38
|
-
this.instance = express();
|
|
39
|
-
this.instance.use(cors());
|
|
40
|
-
this.instance.use(express.json({
|
|
41
|
-
limit: "10mb"
|
|
42
|
-
}));
|
|
43
|
-
this.instance.use(express.urlencoded({
|
|
44
|
-
limit: "10mb",
|
|
45
|
-
extended: false
|
|
46
|
-
}));
|
|
47
|
-
this.instance.disable("x-powered-by");
|
|
48
|
-
}
|
|
49
|
-
registerRoute(controllerClass) {
|
|
50
|
-
const { metadata } = validateControllerMetadata(controllerClass);
|
|
51
|
-
this.instance[metadata.method](metadata.path, async (request, response) => {
|
|
52
|
-
const requestData = {
|
|
53
|
-
body: request.body,
|
|
54
|
-
params: request.params,
|
|
55
|
-
headers: request.headers,
|
|
56
|
-
query: request.query
|
|
57
|
-
};
|
|
58
|
-
try {
|
|
59
|
-
const output = await controllerClass.execute(requestData);
|
|
60
|
-
response.status(output.code || 204).json(output.data || {
|
|
61
|
-
code: ErrorResponseCode.NO_CONTENT_BODY
|
|
62
|
-
});
|
|
63
|
-
} catch (err) {
|
|
64
|
-
const error = await controllerClass.failure(err, {
|
|
65
|
-
env: this.env.ENVIRONMENT,
|
|
66
|
-
request: {
|
|
67
|
-
body: requestData.body,
|
|
68
|
-
headers: requestData.headers,
|
|
69
|
-
params: request.params,
|
|
70
|
-
query: requestData.query,
|
|
71
|
-
url: metadata.path,
|
|
72
|
-
method: metadata.method
|
|
73
|
-
}
|
|
74
|
-
});
|
|
75
|
-
response.status(error.code).json(error.data || {
|
|
76
|
-
error: ErrorResponseCode.NO_CONTENT_ERROR
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
async startServer(port) {
|
|
82
|
-
return new Promise((resolve) => {
|
|
83
|
-
this.server = this.instance.listen(port, () => {
|
|
84
|
-
console.log(`\u{1F680} Server is running on PORT ${port}`);
|
|
85
|
-
resolve();
|
|
86
|
-
});
|
|
87
|
-
});
|
|
88
|
-
}
|
|
89
|
-
async closeServer() {
|
|
90
|
-
return new Promise((resolve, reject) => {
|
|
91
|
-
if (this.server) {
|
|
92
|
-
this.server.close((err) => {
|
|
93
|
-
if (err)
|
|
94
|
-
return reject(err);
|
|
95
|
-
resolve();
|
|
96
|
-
});
|
|
97
|
-
} else {
|
|
98
|
-
resolve();
|
|
99
|
-
}
|
|
100
|
-
});
|
|
101
|
-
}
|
|
102
|
-
};
|
|
103
|
-
export {
|
|
104
|
-
ExpressAdapter
|
|
105
|
-
};
|
|
106
|
-
//# sourceMappingURL=express-adapter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/infra/adapters/http/express-adapter.ts","../../../../src/infra/adapters/http/response-error-code.ts","../../../../src/infra/adapters/http/validate-controller-metadata.ts"],"sourcesContent":["import cors from 'cors'\nimport express, { Express, Request, Response } from 'express'\n\nimport type { BaseController } from '../../../core/http/base-controller'\nimport type IHttp from '../../../core/http/http'\n\nimport { ErrorResponseCode } from './response-error-code'\nimport { validateControllerMetadata } from './validate-controller-metadata'\n\nexport class ExpressAdapter implements IHttp {\n readonly instance: Express\n private server: any\n\n constructor(readonly env: Record<string, any>) {\n this.instance = express()\n this.instance.use(cors())\n this.instance.use(express.json({ limit: '10mb' }))\n this.instance.use(express.urlencoded({ limit: '10mb', extended: false }))\n this.instance.disable('x-powered-by')\n }\n\n registerRoute(controllerClass: BaseController): void {\n const { metadata } = validateControllerMetadata(controllerClass)\n\n this.instance[metadata.method](\n metadata.path,\n async (request: Request, response: Response) => {\n const requestData = {\n body: request.body,\n params: request.params,\n headers: request.headers,\n query: request.query,\n }\n\n try {\n const output = await controllerClass.execute(requestData)\n response\n .status(output.code || 204)\n .json(output.data || { code: ErrorResponseCode.NO_CONTENT_BODY })\n } catch (err: any) {\n const error = await controllerClass.failure(err, {\n env: this.env.ENVIRONMENT,\n request: {\n body: requestData.body,\n headers: requestData.headers,\n params: request.params,\n query: requestData.query,\n url: metadata.path,\n method: metadata.method,\n },\n })\n response.status(error.code).json(\n error.data || {\n error: ErrorResponseCode.NO_CONTENT_ERROR,\n }\n )\n }\n }\n )\n }\n\n async startServer(port: number): Promise<void> {\n return new Promise((resolve) => {\n this.server = this.instance.listen(port, () => {\n console.log(`🚀 Server is running on PORT ${port}`)\n resolve()\n })\n })\n }\n\n async closeServer(): Promise<void> {\n return new Promise((resolve, reject) => {\n if (this.server) {\n this.server.close((err: any) => {\n if (err) return reject(err)\n resolve()\n })\n } else {\n resolve()\n }\n })\n }\n}\n","export enum ErrorResponseCode {\n NO_CONTENT_BODY = 'B001',\n NO_CONTENT_ERROR = 'B002',\n}\n","import { BaseController } from '../../../core/http/base-controller'\nimport type { MethodType } from '../../../core/http/http'\n\nimport 'reflect-metadata'\n\nexport function validateControllerMetadata(controller: BaseController) {\n const metadata = Reflect.getMetadata('route', controller.constructor) as {\n method: MethodType\n path: string\n }\n\n if (!metadata) {\n throw new Error(\n `Controller ${controller.constructor.name} not have metadata. Need to add decorator.`\n )\n }\n\n return {\n metadata,\n }\n}\n"],"mappings":";;;;AAAA,OAAOA,UAAU;AACjB,OAAOC,aAA6C;;;ACD7C,IAAKC,oBAAAA,yBAAAA,oBAAAA;;;SAAAA;;;;ACGZ,OAAO;AAEA,SAASC,2BAA2BC,YAA0B;AACnE,QAAMC,WAAWC,QAAQC,YAAY,SAASH,WAAWI,WAAW;AAKpE,MAAI,CAACH,UAAU;AACb,UAAM,IAAII,MACR,cAAcL,WAAWI,YAAYE,IAAI,4CAA4C;EAEzF;AAEA,SAAO;IACLL;EACF;AACF;AAfgBF;;;AFIT,IAAMQ,iBAAN,MAAMA;EATb,OASaA;;;;EACFC;EACDC;EAERC,YAAqBC,KAA0B;SAA1BA,MAAAA;AACnB,SAAKH,WAAWI,QAAAA;AAChB,SAAKJ,SAASK,IAAIC,KAAAA,CAAAA;AAClB,SAAKN,SAASK,IAAID,QAAQG,KAAK;MAAEC,OAAO;IAAO,CAAA,CAAA;AAC/C,SAAKR,SAASK,IAAID,QAAQK,WAAW;MAAED,OAAO;MAAQE,UAAU;IAAM,CAAA,CAAA;AACtE,SAAKV,SAASW,QAAQ,cAAA;EACxB;EAEAC,cAAcC,iBAAuC;AACnD,UAAM,EAAEC,SAAQ,IAAKC,2BAA2BF,eAAAA;AAEhD,SAAKb,SAASc,SAASE,MAAM,EAC3BF,SAASG,MACT,OAAOC,SAAkBC,aAAAA;AACvB,YAAMC,cAAc;QAClBC,MAAMH,QAAQG;QACdC,QAAQJ,QAAQI;QAChBC,SAASL,QAAQK;QACjBC,OAAON,QAAQM;MACjB;AAEA,UAAI;AACF,cAAMC,SAAS,MAAMZ,gBAAgBa,QAAQN,WAAAA;AAC7CD,iBACGQ,OAAOF,OAAOG,QAAQ,GAAA,EACtBrB,KAAKkB,OAAOI,QAAQ;UAAED,MAAME,kBAAkBC;QAAgB,CAAA;MACnE,SAASC,KAAU;AACjB,cAAMC,QAAQ,MAAMpB,gBAAgBqB,QAAQF,KAAK;UAC/C7B,KAAK,KAAKA,IAAIgC;UACdjB,SAAS;YACPG,MAAMD,YAAYC;YAClBE,SAASH,YAAYG;YACrBD,QAAQJ,QAAQI;YAChBE,OAAOJ,YAAYI;YACnBY,KAAKtB,SAASG;YACdD,QAAQF,SAASE;UACnB;QACF,CAAA;AACAG,iBAASQ,OAAOM,MAAML,IAAI,EAAErB,KAC1B0B,MAAMJ,QAAQ;UACZI,OAAOH,kBAAkBO;QAC3B,CAAA;MAEJ;IACF,CAAA;EAEJ;EAEA,MAAMC,YAAYC,MAA6B;AAC7C,WAAO,IAAIC,QAAQ,CAACC,YAAAA;AAClB,WAAKxC,SAAS,KAAKD,SAAS0C,OAAOH,MAAM,MAAA;AACvCI,gBAAQC,IAAI,uCAAgCL,IAAAA,EAAM;AAClDE,gBAAAA;MACF,CAAA;IACF,CAAA;EACF;EAEA,MAAMI,cAA6B;AACjC,WAAO,IAAIL,QAAQ,CAACC,SAASK,WAAAA;AAC3B,UAAI,KAAK7C,QAAQ;AACf,aAAKA,OAAO8C,MAAM,CAACf,QAAAA;AACjB,cAAIA;AAAK,mBAAOc,OAAOd,GAAAA;AACvBS,kBAAAA;QACF,CAAA;MACF,OAAO;AACLA,gBAAAA;MACF;IACF,CAAA;EACF;AACF;","names":["cors","express","ErrorResponseCode","validateControllerMetadata","controller","metadata","Reflect","getMetadata","constructor","Error","name","ExpressAdapter","instance","server","constructor","env","express","use","cors","json","limit","urlencoded","extended","disable","registerRoute","controllerClass","metadata","validateControllerMetadata","method","path","request","response","requestData","body","params","headers","query","output","execute","status","code","data","ErrorResponseCode","NO_CONTENT_BODY","err","error","failure","ENVIRONMENT","url","NO_CONTENT_ERROR","startServer","port","Promise","resolve","listen","console","log","closeServer","reject","close"]}
|
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __create = Object.create;
|
|
3
|
-
var __defProp = Object.defineProperty;
|
|
4
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
9
|
-
var __export = (target, all) => {
|
|
10
|
-
for (var name in all)
|
|
11
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
12
|
-
};
|
|
13
|
-
var __copyProps = (to, from, except, desc) => {
|
|
14
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
-
for (let key of __getOwnPropNames(from))
|
|
16
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
17
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
18
|
-
}
|
|
19
|
-
return to;
|
|
20
|
-
};
|
|
21
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
22
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
23
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
24
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
25
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
26
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
27
|
-
mod
|
|
28
|
-
));
|
|
29
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
30
|
-
|
|
31
|
-
// src/infra/adapters/http/fastify-adapter.ts
|
|
32
|
-
var fastify_adapter_exports = {};
|
|
33
|
-
__export(fastify_adapter_exports, {
|
|
34
|
-
FastifyAdapter: () => FastifyAdapter
|
|
35
|
-
});
|
|
36
|
-
module.exports = __toCommonJS(fastify_adapter_exports);
|
|
37
|
-
var import_cors = __toESM(require("@fastify/cors"), 1);
|
|
38
|
-
var import_fastify = __toESM(require("fastify"), 1);
|
|
39
|
-
var import_qs = __toESM(require("qs"), 1);
|
|
40
|
-
|
|
41
|
-
// src/infra/adapters/http/response-error-code.ts
|
|
42
|
-
var ErrorResponseCode = /* @__PURE__ */ function(ErrorResponseCode2) {
|
|
43
|
-
ErrorResponseCode2["NO_CONTENT_BODY"] = "B001";
|
|
44
|
-
ErrorResponseCode2["NO_CONTENT_ERROR"] = "B002";
|
|
45
|
-
return ErrorResponseCode2;
|
|
46
|
-
}({});
|
|
47
|
-
|
|
48
|
-
// src/infra/adapters/http/validate-controller-metadata.ts
|
|
49
|
-
var import_reflect_metadata = require("reflect-metadata");
|
|
50
|
-
function validateControllerMetadata(controller) {
|
|
51
|
-
const metadata = Reflect.getMetadata("route", controller.constructor);
|
|
52
|
-
if (!metadata) {
|
|
53
|
-
throw new Error(`Controller ${controller.constructor.name} not have metadata. Need to add decorator.`);
|
|
54
|
-
}
|
|
55
|
-
return {
|
|
56
|
-
metadata
|
|
57
|
-
};
|
|
58
|
-
}
|
|
59
|
-
__name(validateControllerMetadata, "validateControllerMetadata");
|
|
60
|
-
|
|
61
|
-
// src/infra/adapters/http/fastify-adapter.ts
|
|
62
|
-
var FastifyAdapter = class {
|
|
63
|
-
static {
|
|
64
|
-
__name(this, "FastifyAdapter");
|
|
65
|
-
}
|
|
66
|
-
env;
|
|
67
|
-
instance;
|
|
68
|
-
constructor(env) {
|
|
69
|
-
this.env = env;
|
|
70
|
-
this.instance = (0, import_fastify.default)({
|
|
71
|
-
bodyLimit: 10 * 1024 * 1024,
|
|
72
|
-
querystringParser: (str) => import_qs.default.parse(str)
|
|
73
|
-
});
|
|
74
|
-
this.instance.register(import_cors.default);
|
|
75
|
-
}
|
|
76
|
-
registerRoute(controllerClass) {
|
|
77
|
-
const { metadata } = validateControllerMetadata(controllerClass);
|
|
78
|
-
this.instance[metadata.method](metadata.path, async (request, reply) => {
|
|
79
|
-
const requestData = {
|
|
80
|
-
body: request.body,
|
|
81
|
-
params: request.params,
|
|
82
|
-
headers: request.headers,
|
|
83
|
-
query: request.query
|
|
84
|
-
};
|
|
85
|
-
try {
|
|
86
|
-
const output = await controllerClass.execute(requestData);
|
|
87
|
-
return reply.status(output.code || 200).send(output.data || {
|
|
88
|
-
code: ErrorResponseCode.NO_CONTENT_BODY
|
|
89
|
-
});
|
|
90
|
-
} catch (err) {
|
|
91
|
-
const error = await controllerClass.failure(err, {
|
|
92
|
-
env: this.env.ENVIRONMENT,
|
|
93
|
-
request: {
|
|
94
|
-
body: requestData.body,
|
|
95
|
-
headers: requestData.headers,
|
|
96
|
-
params: request.params,
|
|
97
|
-
query: requestData.query,
|
|
98
|
-
url: metadata.path,
|
|
99
|
-
method: metadata.method
|
|
100
|
-
}
|
|
101
|
-
});
|
|
102
|
-
return reply.status(error.code || 200).send(error.data || {
|
|
103
|
-
code: ErrorResponseCode.NO_CONTENT_ERROR
|
|
104
|
-
});
|
|
105
|
-
}
|
|
106
|
-
});
|
|
107
|
-
}
|
|
108
|
-
async startServer(port) {
|
|
109
|
-
await this.instance.listen({
|
|
110
|
-
port
|
|
111
|
-
});
|
|
112
|
-
if (this.env.NODE_ENV !== "test") {
|
|
113
|
-
console.log(`\u{1F680} Server is running on PORT ${port}`);
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
async closeServer() {
|
|
117
|
-
await this.instance.close();
|
|
118
|
-
}
|
|
119
|
-
};
|
|
120
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
121
|
-
0 && (module.exports = {
|
|
122
|
-
FastifyAdapter
|
|
123
|
-
});
|
|
124
|
-
//# sourceMappingURL=fastify-adapter.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/infra/adapters/http/fastify-adapter.ts","../../../../src/infra/adapters/http/response-error-code.ts","../../../../src/infra/adapters/http/validate-controller-metadata.ts"],"sourcesContent":["import cors from '@fastify/cors'\nimport type IHttp from 'core/http/http'\nimport fastify, { FastifyInstance, FastifyReply, FastifyRequest } from 'fastify'\nimport qs from 'qs'\n\nimport { BaseController, Request } from '../../../core/http/base-controller'\n\nimport { ErrorResponseCode } from './response-error-code'\nimport { validateControllerMetadata } from './validate-controller-metadata'\n\nexport class FastifyAdapter implements IHttp {\n readonly instance: FastifyInstance\n\n constructor(readonly env: Record<string, any>) {\n this.instance = fastify({\n bodyLimit: 10 * 1024 * 1024,\n querystringParser: (str) => qs.parse(str),\n })\n\n this.instance.register(cors)\n }\n\n registerRoute(controllerClass: BaseController): void {\n const { metadata } = validateControllerMetadata(controllerClass)\n\n this.instance[metadata.method](\n metadata.path,\n async (request: FastifyRequest, reply: FastifyReply) => {\n const requestData = {\n body: request.body,\n params: request.params,\n headers: request.headers,\n query: request.query,\n } as Request\n\n try {\n const output = await controllerClass.execute(requestData)\n return reply.status(output.code || 200).send(\n output.data || {\n code: ErrorResponseCode.NO_CONTENT_BODY,\n }\n )\n } catch (err: any) {\n const error = await controllerClass.failure(err, {\n env: this.env.ENVIRONMENT,\n request: {\n body: requestData.body,\n headers: requestData.headers,\n params: request.params,\n query: requestData.query,\n url: metadata.path,\n method: metadata.method,\n },\n })\n return reply.status(error.code || 200).send(\n error.data || {\n code: ErrorResponseCode.NO_CONTENT_ERROR,\n }\n )\n }\n }\n )\n }\n\n async startServer(port: number): Promise<void> {\n await this.instance.listen({ port })\n\n if (this.env.NODE_ENV !== 'test') {\n console.log(`🚀 Server is running on PORT ${port}`)\n }\n }\n\n async closeServer() {\n await this.instance.close()\n }\n}\n","export enum ErrorResponseCode {\n NO_CONTENT_BODY = 'B001',\n NO_CONTENT_ERROR = 'B002',\n}\n","import { BaseController } from '../../../core/http/base-controller'\nimport type { MethodType } from '../../../core/http/http'\n\nimport 'reflect-metadata'\n\nexport function validateControllerMetadata(controller: BaseController) {\n const metadata = Reflect.getMetadata('route', controller.constructor) as {\n method: MethodType\n path: string\n }\n\n if (!metadata) {\n throw new Error(\n `Controller ${controller.constructor.name} not have metadata. Need to add decorator.`\n )\n }\n\n return {\n metadata,\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;kBAAiB;AAEjB,qBAAuE;AACvE,gBAAe;;;ACHR,IAAKA,oBAAAA,yBAAAA,oBAAAA;;;SAAAA;;;;ACGZ,8BAAO;AAEA,SAASC,2BAA2BC,YAA0B;AACnE,QAAMC,WAAWC,QAAQC,YAAY,SAASH,WAAWI,WAAW;AAKpE,MAAI,CAACH,UAAU;AACb,UAAM,IAAII,MACR,cAAcL,WAAWI,YAAYE,IAAI,4CAA4C;EAEzF;AAEA,SAAO;IACLL;EACF;AACF;AAfgBF;;;AFKT,IAAMQ,iBAAN,MAAMA;EAVb,OAUaA;;;;EACFC;EAETC,YAAqBC,KAA0B;SAA1BA,MAAAA;AACnB,SAAKF,eAAWG,eAAAA,SAAQ;MACtBC,WAAW,KAAK,OAAO;MACvBC,mBAAmB,CAACC,QAAQC,UAAAA,QAAGC,MAAMF,GAAAA;IACvC,CAAA;AAEA,SAAKN,SAASS,SAASC,YAAAA,OAAAA;EACzB;EAEAC,cAAcC,iBAAuC;AACnD,UAAM,EAAEC,SAAQ,IAAKC,2BAA2BF,eAAAA;AAEhD,SAAKZ,SAASa,SAASE,MAAM,EAC3BF,SAASG,MACT,OAAOC,SAAyBC,UAAAA;AAC9B,YAAMC,cAAc;QAClBC,MAAMH,QAAQG;QACdC,QAAQJ,QAAQI;QAChBC,SAASL,QAAQK;QACjBC,OAAON,QAAQM;MACjB;AAEA,UAAI;AACF,cAAMC,SAAS,MAAMZ,gBAAgBa,QAAQN,WAAAA;AAC7C,eAAOD,MAAMQ,OAAOF,OAAOG,QAAQ,GAAA,EAAKC,KACtCJ,OAAOK,QAAQ;UACbF,MAAMG,kBAAkBC;QAC1B,CAAA;MAEJ,SAASC,KAAU;AACjB,cAAMC,QAAQ,MAAMrB,gBAAgBsB,QAAQF,KAAK;UAC/C9B,KAAK,KAAKA,IAAIiC;UACdlB,SAAS;YACPG,MAAMD,YAAYC;YAClBE,SAASH,YAAYG;YACrBD,QAAQJ,QAAQI;YAChBE,OAAOJ,YAAYI;YACnBa,KAAKvB,SAASG;YACdD,QAAQF,SAASE;UACnB;QACF,CAAA;AACA,eAAOG,MAAMQ,OAAOO,MAAMN,QAAQ,GAAA,EAAKC,KACrCK,MAAMJ,QAAQ;UACZF,MAAMG,kBAAkBO;QAC1B,CAAA;MAEJ;IACF,CAAA;EAEJ;EAEA,MAAMC,YAAYC,MAA6B;AAC7C,UAAM,KAAKvC,SAASwC,OAAO;MAAED;IAAK,CAAA;AAElC,QAAI,KAAKrC,IAAIuC,aAAa,QAAQ;AAChCC,cAAQC,IAAI,wCAAiCJ,IAAAA,EAAM;IACrD;EACF;EAEA,MAAMK,cAAc;AAClB,UAAM,KAAK5C,SAAS6C,MAAK;EAC3B;AACF;","names":["ErrorResponseCode","validateControllerMetadata","controller","metadata","Reflect","getMetadata","constructor","Error","name","FastifyAdapter","instance","constructor","env","fastify","bodyLimit","querystringParser","str","qs","parse","register","cors","registerRoute","controllerClass","metadata","validateControllerMetadata","method","path","request","reply","requestData","body","params","headers","query","output","execute","status","code","send","data","ErrorResponseCode","NO_CONTENT_BODY","err","error","failure","ENVIRONMENT","url","NO_CONTENT_ERROR","startServer","port","listen","NODE_ENV","console","log","closeServer","close"]}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import IHttp from '../../../core/http/http.cjs';
|
|
2
|
-
import { FastifyInstance } from 'fastify';
|
|
3
|
-
import { B as BaseController } from '../../../base-controller-68008870.js';
|
|
4
|
-
|
|
5
|
-
declare class FastifyAdapter implements IHttp {
|
|
6
|
-
readonly env: Record<string, any>;
|
|
7
|
-
readonly instance: FastifyInstance;
|
|
8
|
-
constructor(env: Record<string, any>);
|
|
9
|
-
registerRoute(controllerClass: BaseController): void;
|
|
10
|
-
startServer(port: number): Promise<void>;
|
|
11
|
-
closeServer(): Promise<void>;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
export { FastifyAdapter };
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import IHttp from '../../../core/http/http.js';
|
|
2
|
-
import { FastifyInstance } from 'fastify';
|
|
3
|
-
import { B as BaseController } from '../../../base-controller-68008870.js';
|
|
4
|
-
|
|
5
|
-
declare class FastifyAdapter implements IHttp {
|
|
6
|
-
readonly env: Record<string, any>;
|
|
7
|
-
readonly instance: FastifyInstance;
|
|
8
|
-
constructor(env: Record<string, any>);
|
|
9
|
-
registerRoute(controllerClass: BaseController): void;
|
|
10
|
-
startServer(port: number): Promise<void>;
|
|
11
|
-
closeServer(): Promise<void>;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
export { FastifyAdapter };
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
-
|
|
4
|
-
// src/infra/adapters/http/fastify-adapter.ts
|
|
5
|
-
import cors from "@fastify/cors";
|
|
6
|
-
import fastify from "fastify";
|
|
7
|
-
import qs from "qs";
|
|
8
|
-
|
|
9
|
-
// src/infra/adapters/http/response-error-code.ts
|
|
10
|
-
var ErrorResponseCode = /* @__PURE__ */ function(ErrorResponseCode2) {
|
|
11
|
-
ErrorResponseCode2["NO_CONTENT_BODY"] = "B001";
|
|
12
|
-
ErrorResponseCode2["NO_CONTENT_ERROR"] = "B002";
|
|
13
|
-
return ErrorResponseCode2;
|
|
14
|
-
}({});
|
|
15
|
-
|
|
16
|
-
// src/infra/adapters/http/validate-controller-metadata.ts
|
|
17
|
-
import "reflect-metadata";
|
|
18
|
-
function validateControllerMetadata(controller) {
|
|
19
|
-
const metadata = Reflect.getMetadata("route", controller.constructor);
|
|
20
|
-
if (!metadata) {
|
|
21
|
-
throw new Error(`Controller ${controller.constructor.name} not have metadata. Need to add decorator.`);
|
|
22
|
-
}
|
|
23
|
-
return {
|
|
24
|
-
metadata
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
__name(validateControllerMetadata, "validateControllerMetadata");
|
|
28
|
-
|
|
29
|
-
// src/infra/adapters/http/fastify-adapter.ts
|
|
30
|
-
var FastifyAdapter = class {
|
|
31
|
-
static {
|
|
32
|
-
__name(this, "FastifyAdapter");
|
|
33
|
-
}
|
|
34
|
-
env;
|
|
35
|
-
instance;
|
|
36
|
-
constructor(env) {
|
|
37
|
-
this.env = env;
|
|
38
|
-
this.instance = fastify({
|
|
39
|
-
bodyLimit: 10 * 1024 * 1024,
|
|
40
|
-
querystringParser: (str) => qs.parse(str)
|
|
41
|
-
});
|
|
42
|
-
this.instance.register(cors);
|
|
43
|
-
}
|
|
44
|
-
registerRoute(controllerClass) {
|
|
45
|
-
const { metadata } = validateControllerMetadata(controllerClass);
|
|
46
|
-
this.instance[metadata.method](metadata.path, async (request, reply) => {
|
|
47
|
-
const requestData = {
|
|
48
|
-
body: request.body,
|
|
49
|
-
params: request.params,
|
|
50
|
-
headers: request.headers,
|
|
51
|
-
query: request.query
|
|
52
|
-
};
|
|
53
|
-
try {
|
|
54
|
-
const output = await controllerClass.execute(requestData);
|
|
55
|
-
return reply.status(output.code || 200).send(output.data || {
|
|
56
|
-
code: ErrorResponseCode.NO_CONTENT_BODY
|
|
57
|
-
});
|
|
58
|
-
} catch (err) {
|
|
59
|
-
const error = await controllerClass.failure(err, {
|
|
60
|
-
env: this.env.ENVIRONMENT,
|
|
61
|
-
request: {
|
|
62
|
-
body: requestData.body,
|
|
63
|
-
headers: requestData.headers,
|
|
64
|
-
params: request.params,
|
|
65
|
-
query: requestData.query,
|
|
66
|
-
url: metadata.path,
|
|
67
|
-
method: metadata.method
|
|
68
|
-
}
|
|
69
|
-
});
|
|
70
|
-
return reply.status(error.code || 200).send(error.data || {
|
|
71
|
-
code: ErrorResponseCode.NO_CONTENT_ERROR
|
|
72
|
-
});
|
|
73
|
-
}
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
async startServer(port) {
|
|
77
|
-
await this.instance.listen({
|
|
78
|
-
port
|
|
79
|
-
});
|
|
80
|
-
if (this.env.NODE_ENV !== "test") {
|
|
81
|
-
console.log(`\u{1F680} Server is running on PORT ${port}`);
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
async closeServer() {
|
|
85
|
-
await this.instance.close();
|
|
86
|
-
}
|
|
87
|
-
};
|
|
88
|
-
export {
|
|
89
|
-
FastifyAdapter
|
|
90
|
-
};
|
|
91
|
-
//# sourceMappingURL=fastify-adapter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/infra/adapters/http/fastify-adapter.ts","../../../../src/infra/adapters/http/response-error-code.ts","../../../../src/infra/adapters/http/validate-controller-metadata.ts"],"sourcesContent":["import cors from '@fastify/cors'\nimport type IHttp from 'core/http/http'\nimport fastify, { FastifyInstance, FastifyReply, FastifyRequest } from 'fastify'\nimport qs from 'qs'\n\nimport { BaseController, Request } from '../../../core/http/base-controller'\n\nimport { ErrorResponseCode } from './response-error-code'\nimport { validateControllerMetadata } from './validate-controller-metadata'\n\nexport class FastifyAdapter implements IHttp {\n readonly instance: FastifyInstance\n\n constructor(readonly env: Record<string, any>) {\n this.instance = fastify({\n bodyLimit: 10 * 1024 * 1024,\n querystringParser: (str) => qs.parse(str),\n })\n\n this.instance.register(cors)\n }\n\n registerRoute(controllerClass: BaseController): void {\n const { metadata } = validateControllerMetadata(controllerClass)\n\n this.instance[metadata.method](\n metadata.path,\n async (request: FastifyRequest, reply: FastifyReply) => {\n const requestData = {\n body: request.body,\n params: request.params,\n headers: request.headers,\n query: request.query,\n } as Request\n\n try {\n const output = await controllerClass.execute(requestData)\n return reply.status(output.code || 200).send(\n output.data || {\n code: ErrorResponseCode.NO_CONTENT_BODY,\n }\n )\n } catch (err: any) {\n const error = await controllerClass.failure(err, {\n env: this.env.ENVIRONMENT,\n request: {\n body: requestData.body,\n headers: requestData.headers,\n params: request.params,\n query: requestData.query,\n url: metadata.path,\n method: metadata.method,\n },\n })\n return reply.status(error.code || 200).send(\n error.data || {\n code: ErrorResponseCode.NO_CONTENT_ERROR,\n }\n )\n }\n }\n )\n }\n\n async startServer(port: number): Promise<void> {\n await this.instance.listen({ port })\n\n if (this.env.NODE_ENV !== 'test') {\n console.log(`🚀 Server is running on PORT ${port}`)\n }\n }\n\n async closeServer() {\n await this.instance.close()\n }\n}\n","export enum ErrorResponseCode {\n NO_CONTENT_BODY = 'B001',\n NO_CONTENT_ERROR = 'B002',\n}\n","import { BaseController } from '../../../core/http/base-controller'\nimport type { MethodType } from '../../../core/http/http'\n\nimport 'reflect-metadata'\n\nexport function validateControllerMetadata(controller: BaseController) {\n const metadata = Reflect.getMetadata('route', controller.constructor) as {\n method: MethodType\n path: string\n }\n\n if (!metadata) {\n throw new Error(\n `Controller ${controller.constructor.name} not have metadata. Need to add decorator.`\n )\n }\n\n return {\n metadata,\n }\n}\n"],"mappings":";;;;AAAA,OAAOA,UAAU;AAEjB,OAAOC,aAAgE;AACvE,OAAOC,QAAQ;;;ACHR,IAAKC,oBAAAA,yBAAAA,oBAAAA;;;SAAAA;;;;ACGZ,OAAO;AAEA,SAASC,2BAA2BC,YAA0B;AACnE,QAAMC,WAAWC,QAAQC,YAAY,SAASH,WAAWI,WAAW;AAKpE,MAAI,CAACH,UAAU;AACb,UAAM,IAAII,MACR,cAAcL,WAAWI,YAAYE,IAAI,4CAA4C;EAEzF;AAEA,SAAO;IACLL;EACF;AACF;AAfgBF;;;AFKT,IAAMQ,iBAAN,MAAMA;EAVb,OAUaA;;;;EACFC;EAETC,YAAqBC,KAA0B;SAA1BA,MAAAA;AACnB,SAAKF,WAAWG,QAAQ;MACtBC,WAAW,KAAK,OAAO;MACvBC,mBAAmB,CAACC,QAAQC,GAAGC,MAAMF,GAAAA;IACvC,CAAA;AAEA,SAAKN,SAASS,SAASC,IAAAA;EACzB;EAEAC,cAAcC,iBAAuC;AACnD,UAAM,EAAEC,SAAQ,IAAKC,2BAA2BF,eAAAA;AAEhD,SAAKZ,SAASa,SAASE,MAAM,EAC3BF,SAASG,MACT,OAAOC,SAAyBC,UAAAA;AAC9B,YAAMC,cAAc;QAClBC,MAAMH,QAAQG;QACdC,QAAQJ,QAAQI;QAChBC,SAASL,QAAQK;QACjBC,OAAON,QAAQM;MACjB;AAEA,UAAI;AACF,cAAMC,SAAS,MAAMZ,gBAAgBa,QAAQN,WAAAA;AAC7C,eAAOD,MAAMQ,OAAOF,OAAOG,QAAQ,GAAA,EAAKC,KACtCJ,OAAOK,QAAQ;UACbF,MAAMG,kBAAkBC;QAC1B,CAAA;MAEJ,SAASC,KAAU;AACjB,cAAMC,QAAQ,MAAMrB,gBAAgBsB,QAAQF,KAAK;UAC/C9B,KAAK,KAAKA,IAAIiC;UACdlB,SAAS;YACPG,MAAMD,YAAYC;YAClBE,SAASH,YAAYG;YACrBD,QAAQJ,QAAQI;YAChBE,OAAOJ,YAAYI;YACnBa,KAAKvB,SAASG;YACdD,QAAQF,SAASE;UACnB;QACF,CAAA;AACA,eAAOG,MAAMQ,OAAOO,MAAMN,QAAQ,GAAA,EAAKC,KACrCK,MAAMJ,QAAQ;UACZF,MAAMG,kBAAkBO;QAC1B,CAAA;MAEJ;IACF,CAAA;EAEJ;EAEA,MAAMC,YAAYC,MAA6B;AAC7C,UAAM,KAAKvC,SAASwC,OAAO;MAAED;IAAK,CAAA;AAElC,QAAI,KAAKrC,IAAIuC,aAAa,QAAQ;AAChCC,cAAQC,IAAI,wCAAiCJ,IAAAA,EAAM;IACrD;EACF;EAEA,MAAMK,cAAc;AAClB,UAAM,KAAK5C,SAAS6C,MAAK;EAC3B;AACF;","names":["cors","fastify","qs","ErrorResponseCode","validateControllerMetadata","controller","metadata","Reflect","getMetadata","constructor","Error","name","FastifyAdapter","instance","constructor","env","fastify","bodyLimit","querystringParser","str","qs","parse","register","cors","registerRoute","controllerClass","metadata","validateControllerMetadata","method","path","request","reply","requestData","body","params","headers","query","output","execute","status","code","send","data","ErrorResponseCode","NO_CONTENT_BODY","err","error","failure","ENVIRONMENT","url","NO_CONTENT_ERROR","startServer","port","listen","NODE_ENV","console","log","closeServer","close"]}
|
|
@@ -1,35 +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 __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
|
|
20
|
-
// src/infra/adapters/http/response-error-code.ts
|
|
21
|
-
var response_error_code_exports = {};
|
|
22
|
-
__export(response_error_code_exports, {
|
|
23
|
-
ErrorResponseCode: () => ErrorResponseCode
|
|
24
|
-
});
|
|
25
|
-
module.exports = __toCommonJS(response_error_code_exports);
|
|
26
|
-
var ErrorResponseCode = /* @__PURE__ */ function(ErrorResponseCode2) {
|
|
27
|
-
ErrorResponseCode2["NO_CONTENT_BODY"] = "B001";
|
|
28
|
-
ErrorResponseCode2["NO_CONTENT_ERROR"] = "B002";
|
|
29
|
-
return ErrorResponseCode2;
|
|
30
|
-
}({});
|
|
31
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
32
|
-
0 && (module.exports = {
|
|
33
|
-
ErrorResponseCode
|
|
34
|
-
});
|
|
35
|
-
//# sourceMappingURL=response-error-code.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/infra/adapters/http/response-error-code.ts"],"sourcesContent":["export enum ErrorResponseCode {\n NO_CONTENT_BODY = 'B001',\n NO_CONTENT_ERROR = 'B002',\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;;;;;AAAO,IAAKA,oBAAAA,yBAAAA,oBAAAA;;;SAAAA;;","names":["ErrorResponseCode"]}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
// src/infra/adapters/http/response-error-code.ts
|
|
2
|
-
var ErrorResponseCode = /* @__PURE__ */ function(ErrorResponseCode2) {
|
|
3
|
-
ErrorResponseCode2["NO_CONTENT_BODY"] = "B001";
|
|
4
|
-
ErrorResponseCode2["NO_CONTENT_ERROR"] = "B002";
|
|
5
|
-
return ErrorResponseCode2;
|
|
6
|
-
}({});
|
|
7
|
-
export {
|
|
8
|
-
ErrorResponseCode
|
|
9
|
-
};
|
|
10
|
-
//# sourceMappingURL=response-error-code.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/infra/adapters/http/response-error-code.ts"],"sourcesContent":["export enum ErrorResponseCode {\n NO_CONTENT_BODY = 'B001',\n NO_CONTENT_ERROR = 'B002',\n}\n"],"mappings":";AAAO,IAAKA,oBAAAA,yBAAAA,oBAAAA;;;SAAAA;;","names":["ErrorResponseCode"]}
|
|
@@ -1,42 +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/infra/adapters/http/validate-controller-metadata.ts
|
|
22
|
-
var validate_controller_metadata_exports = {};
|
|
23
|
-
__export(validate_controller_metadata_exports, {
|
|
24
|
-
validateControllerMetadata: () => validateControllerMetadata
|
|
25
|
-
});
|
|
26
|
-
module.exports = __toCommonJS(validate_controller_metadata_exports);
|
|
27
|
-
var import_reflect_metadata = require("reflect-metadata");
|
|
28
|
-
function validateControllerMetadata(controller) {
|
|
29
|
-
const metadata = Reflect.getMetadata("route", controller.constructor);
|
|
30
|
-
if (!metadata) {
|
|
31
|
-
throw new Error(`Controller ${controller.constructor.name} not have metadata. Need to add decorator.`);
|
|
32
|
-
}
|
|
33
|
-
return {
|
|
34
|
-
metadata
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
__name(validateControllerMetadata, "validateControllerMetadata");
|
|
38
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
39
|
-
0 && (module.exports = {
|
|
40
|
-
validateControllerMetadata
|
|
41
|
-
});
|
|
42
|
-
//# sourceMappingURL=validate-controller-metadata.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/infra/adapters/http/validate-controller-metadata.ts"],"sourcesContent":["import { BaseController } from '../../../core/http/base-controller'\nimport type { MethodType } from '../../../core/http/http'\n\nimport 'reflect-metadata'\n\nexport function validateControllerMetadata(controller: BaseController) {\n const metadata = Reflect.getMetadata('route', controller.constructor) as {\n method: MethodType\n path: string\n }\n\n if (!metadata) {\n throw new Error(\n `Controller ${controller.constructor.name} not have metadata. Need to add decorator.`\n )\n }\n\n return {\n metadata,\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAGA;;;;;8BAAO;AAEA,SAASA,2BAA2BC,YAA0B;AACnE,QAAMC,WAAWC,QAAQC,YAAY,SAASH,WAAWI,WAAW;AAKpE,MAAI,CAACH,UAAU;AACb,UAAM,IAAII,MACR,cAAcL,WAAWI,YAAYE,IAAI,4CAA4C;EAEzF;AAEA,SAAO;IACLL;EACF;AACF;AAfgBF;","names":["validateControllerMetadata","controller","metadata","Reflect","getMetadata","constructor","Error","name"]}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { B as BaseController } from '../../../base-controller-68008870.js';
|
|
2
|
-
import { MethodType } from '../../../core/http/http.cjs';
|
|
3
|
-
|
|
4
|
-
declare function validateControllerMetadata(controller: BaseController): {
|
|
5
|
-
metadata: {
|
|
6
|
-
method: MethodType;
|
|
7
|
-
path: string;
|
|
8
|
-
};
|
|
9
|
-
};
|
|
10
|
-
|
|
11
|
-
export { validateControllerMetadata };
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { B as BaseController } from '../../../base-controller-68008870.js';
|
|
2
|
-
import { MethodType } from '../../../core/http/http.js';
|
|
3
|
-
|
|
4
|
-
declare function validateControllerMetadata(controller: BaseController): {
|
|
5
|
-
metadata: {
|
|
6
|
-
method: MethodType;
|
|
7
|
-
path: string;
|
|
8
|
-
};
|
|
9
|
-
};
|
|
10
|
-
|
|
11
|
-
export { validateControllerMetadata };
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
-
|
|
4
|
-
// src/infra/adapters/http/validate-controller-metadata.ts
|
|
5
|
-
import "reflect-metadata";
|
|
6
|
-
function validateControllerMetadata(controller) {
|
|
7
|
-
const metadata = Reflect.getMetadata("route", controller.constructor);
|
|
8
|
-
if (!metadata) {
|
|
9
|
-
throw new Error(`Controller ${controller.constructor.name} not have metadata. Need to add decorator.`);
|
|
10
|
-
}
|
|
11
|
-
return {
|
|
12
|
-
metadata
|
|
13
|
-
};
|
|
14
|
-
}
|
|
15
|
-
__name(validateControllerMetadata, "validateControllerMetadata");
|
|
16
|
-
export {
|
|
17
|
-
validateControllerMetadata
|
|
18
|
-
};
|
|
19
|
-
//# sourceMappingURL=validate-controller-metadata.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/infra/adapters/http/validate-controller-metadata.ts"],"sourcesContent":["import { BaseController } from '../../../core/http/base-controller'\nimport type { MethodType } from '../../../core/http/http'\n\nimport 'reflect-metadata'\n\nexport function validateControllerMetadata(controller: BaseController) {\n const metadata = Reflect.getMetadata('route', controller.constructor) as {\n method: MethodType\n path: string\n }\n\n if (!metadata) {\n throw new Error(\n `Controller ${controller.constructor.name} not have metadata. Need to add decorator.`\n )\n }\n\n return {\n metadata,\n }\n}\n"],"mappings":";;;;AAGA,OAAO;AAEA,SAASA,2BAA2BC,YAA0B;AACnE,QAAMC,WAAWC,QAAQC,YAAY,SAASH,WAAWI,WAAW;AAKpE,MAAI,CAACH,UAAU;AACb,UAAM,IAAII,MACR,cAAcL,WAAWI,YAAYE,IAAI,4CAA4C;EAEzF;AAEA,SAAO;IACLL;EACF;AACF;AAfgBF;","names":["validateControllerMetadata","controller","metadata","Reflect","getMetadata","constructor","Error","name"]}
|