@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.
@@ -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(`/${prefix || ""}/${routeMetadata.path}`);
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: 403,
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: 403,
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bool-ts/core",
3
- "version": "1.5.0",
3
+ "version": "1.5.2",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
@@ -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(`/${prefix || ""}/${routeMetadata.path}`);
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) => controllerCreator(controllerConstructor, routerGroup, options.prefix));
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: 403,
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: 403,
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,