@bool-ts/core 1.5.0 → 1.5.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/hooks/factory.js +14 -6
- package/package.json +1 -1
- package/src/hooks/factory.ts +17 -6
package/dist/hooks/factory.js
CHANGED
|
@@ -15,15 +15,16 @@ export const controllerCreator = (controllerConstructor, group, prefix) => {
|
|
|
15
15
|
throw Error("Can not initialize controller.");
|
|
16
16
|
}
|
|
17
17
|
const controllerMetadata = Reflect.getOwnMetadata(controllerKey, controllerConstructor) || {
|
|
18
|
-
prefix: "/"
|
|
18
|
+
prefix: "/",
|
|
19
|
+
httpMetadata: []
|
|
19
20
|
};
|
|
20
21
|
const routesMetadata = (Reflect.getOwnMetadata(controllerHttpKey, controllerConstructor) || []);
|
|
21
|
-
const router = new Router(controllerMetadata.prefix);
|
|
22
|
+
const router = new Router(`/${prefix || ""}/${controllerMetadata.prefix}`);
|
|
22
23
|
routesMetadata.forEach((routeMetadata) => {
|
|
23
24
|
if (typeof routeMetadata.descriptor.value !== "function") {
|
|
24
25
|
return;
|
|
25
26
|
}
|
|
26
|
-
const route = router.route(
|
|
27
|
+
const route = router.route(routeMetadata.path);
|
|
27
28
|
const handler = routeMetadata.descriptor.value.bind(controller);
|
|
28
29
|
const routeArgument = {
|
|
29
30
|
class: controllerConstructor,
|
|
@@ -126,7 +127,7 @@ export const BoolFactory = (target, options) => {
|
|
|
126
127
|
// Controller(s)
|
|
127
128
|
const routerGroup = new RouterGroup();
|
|
128
129
|
controllers &&
|
|
129
|
-
controllers.map((controllerConstructor) => controllerCreator(controllerConstructor, routerGroup, options.prefix));
|
|
130
|
+
controllers.map((controllerConstructor) => controllerCreator(controllerConstructor, routerGroup, `${options.prefix || ""}/${moduleOptions?.prefix || ""}`));
|
|
130
131
|
const allowOrigins = !moduleOptions?.allowOrigins
|
|
131
132
|
? ["*"]
|
|
132
133
|
: typeof moduleOptions.allowOrigins !== "string"
|
|
@@ -183,7 +184,7 @@ export const BoolFactory = (target, options) => {
|
|
|
183
184
|
}
|
|
184
185
|
if (!allowOrigins.includes(origin)) {
|
|
185
186
|
return new Response(JSON.stringify({
|
|
186
|
-
httpCode:
|
|
187
|
+
httpCode: 400,
|
|
187
188
|
message: "Origin not found.",
|
|
188
189
|
data: {
|
|
189
190
|
origin: {
|
|
@@ -192,12 +193,19 @@ export const BoolFactory = (target, options) => {
|
|
|
192
193
|
}
|
|
193
194
|
}
|
|
194
195
|
}), {
|
|
195
|
-
status:
|
|
196
|
+
status: 400,
|
|
196
197
|
statusText: "Invalid origin.",
|
|
197
198
|
headers: resHeaders
|
|
198
199
|
});
|
|
199
200
|
}
|
|
200
201
|
}
|
|
202
|
+
if (request.method.toUpperCase() === "OPTIONS") {
|
|
203
|
+
return new Response(undefined, {
|
|
204
|
+
status: 204,
|
|
205
|
+
statusText: "SUCCESS",
|
|
206
|
+
headers: resHeaders
|
|
207
|
+
});
|
|
208
|
+
}
|
|
201
209
|
if (!allowMethods.includes(request.method.toUpperCase())) {
|
|
202
210
|
throw new HttpClientError({
|
|
203
211
|
httpCode: 405,
|
package/package.json
CHANGED
package/src/hooks/factory.ts
CHANGED
|
@@ -41,17 +41,18 @@ export const controllerCreator = (
|
|
|
41
41
|
}
|
|
42
42
|
|
|
43
43
|
const controllerMetadata: TControllerMetadata = Reflect.getOwnMetadata(controllerKey, controllerConstructor) || {
|
|
44
|
-
prefix: "/"
|
|
44
|
+
prefix: "/",
|
|
45
|
+
httpMetadata: []
|
|
45
46
|
};
|
|
46
47
|
const routesMetadata = (Reflect.getOwnMetadata(controllerHttpKey, controllerConstructor) || []) as THttpMetadata;
|
|
47
|
-
const router = new Router(controllerMetadata.prefix);
|
|
48
|
+
const router = new Router(`/${prefix || ""}/${controllerMetadata.prefix}`);
|
|
48
49
|
|
|
49
50
|
routesMetadata.forEach((routeMetadata) => {
|
|
50
51
|
if (typeof routeMetadata.descriptor.value !== "function") {
|
|
51
52
|
return;
|
|
52
53
|
}
|
|
53
54
|
|
|
54
|
-
const route = router.route(
|
|
55
|
+
const route = router.route(routeMetadata.path);
|
|
55
56
|
const handler = routeMetadata.descriptor.value.bind(controller);
|
|
56
57
|
const routeArgument = {
|
|
57
58
|
class: controllerConstructor,
|
|
@@ -176,7 +177,9 @@ export const BoolFactory = (target: new (...args: any[]) => unknown, options: TB
|
|
|
176
177
|
const routerGroup = new RouterGroup();
|
|
177
178
|
|
|
178
179
|
controllers &&
|
|
179
|
-
controllers.map((controllerConstructor) =>
|
|
180
|
+
controllers.map((controllerConstructor) =>
|
|
181
|
+
controllerCreator(controllerConstructor, routerGroup, `${options.prefix || ""}/${moduleOptions?.prefix || ""}`)
|
|
182
|
+
);
|
|
180
183
|
|
|
181
184
|
const allowOrigins = !moduleOptions?.allowOrigins
|
|
182
185
|
? ["*"]
|
|
@@ -244,7 +247,7 @@ export const BoolFactory = (target: new (...args: any[]) => unknown, options: TB
|
|
|
244
247
|
if (!allowOrigins.includes(origin)) {
|
|
245
248
|
return new Response(
|
|
246
249
|
JSON.stringify({
|
|
247
|
-
httpCode:
|
|
250
|
+
httpCode: 400,
|
|
248
251
|
message: "Origin not found.",
|
|
249
252
|
data: {
|
|
250
253
|
origin: {
|
|
@@ -254,7 +257,7 @@ export const BoolFactory = (target: new (...args: any[]) => unknown, options: TB
|
|
|
254
257
|
}
|
|
255
258
|
}),
|
|
256
259
|
{
|
|
257
|
-
status:
|
|
260
|
+
status: 400,
|
|
258
261
|
statusText: "Invalid origin.",
|
|
259
262
|
headers: resHeaders
|
|
260
263
|
}
|
|
@@ -262,6 +265,14 @@ export const BoolFactory = (target: new (...args: any[]) => unknown, options: TB
|
|
|
262
265
|
}
|
|
263
266
|
}
|
|
264
267
|
|
|
268
|
+
if (request.method.toUpperCase() === "OPTIONS") {
|
|
269
|
+
return new Response(undefined, {
|
|
270
|
+
status: 204,
|
|
271
|
+
statusText: "SUCCESS",
|
|
272
|
+
headers: resHeaders
|
|
273
|
+
});
|
|
274
|
+
}
|
|
275
|
+
|
|
265
276
|
if (!allowMethods.includes(request.method.toUpperCase())) {
|
|
266
277
|
throw new HttpClientError({
|
|
267
278
|
httpCode: 405,
|