From 744fa8e7d93c111d95d6a3366e9bc57de15f5dd0 Mon Sep 17 00:00:00 2001 From: kainpets Date: Wed, 11 Oct 2023 14:38:32 +0200 Subject: [PATCH] add with-metada middleware to routeSpec --- .../src/generators/lib/parse-routes-in-package.ts | 6 ------ packages/nextlove/src/with-route-spec/index.ts | 11 +++++++++-- .../with-route-spec/middlewares/with-metadata.ts | 13 +++++++++++++ 3 files changed, 22 insertions(+), 8 deletions(-) create mode 100644 packages/nextlove/src/with-route-spec/middlewares/with-metadata.ts diff --git a/packages/nextlove/src/generators/lib/parse-routes-in-package.ts b/packages/nextlove/src/generators/lib/parse-routes-in-package.ts index d3018ae11..a6ffd882a 100644 --- a/packages/nextlove/src/generators/lib/parse-routes-in-package.ts +++ b/packages/nextlove/src/generators/lib/parse-routes-in-package.ts @@ -36,12 +36,6 @@ export const parseRoutesInPackage = async (opts: { filepaths.map(async (p) => { const { default: routeFn } = await require(path.resolve(p)) - if (routeFn) { - if (routeFn._routeSpec?.dontIncludeInOpenApi) { - return - } - } - if (routeFn) { if (!routeFn._setupParams) { console.warn( diff --git a/packages/nextlove/src/with-route-spec/index.ts b/packages/nextlove/src/with-route-spec/index.ts index 76fc2b59e..3ad446458 100644 --- a/packages/nextlove/src/with-route-spec/index.ts +++ b/packages/nextlove/src/with-route-spec/index.ts @@ -9,6 +9,7 @@ import { import withMethods, { HTTPMethods } from "./middlewares/with-methods" import withValidation from "./middlewares/with-validation" import { z } from "zod" +import withMetadata, { MetaData } from "./middlewares/with-metadata" type ParamDef = z.ZodTypeAny | z.ZodEffects @@ -23,6 +24,7 @@ export const checkRouteSpec = < any >[], FormData extends ParamDef = z.ZodTypeAny, + MetaData extends ParamDef = z.ZodTypeAny, Spec extends RouteSpec< AuthType, Methods, @@ -30,7 +32,8 @@ export const checkRouteSpec = < QueryParams, CommonParams, Middlewares, - FormData + FormData, + MetaData > = RouteSpec< AuthType, Methods, @@ -38,7 +41,8 @@ export const checkRouteSpec = < QueryParams, CommonParams, Middlewares, - FormData + FormData, + MetaData > >( spec: Spec @@ -109,6 +113,9 @@ export const createWithRouteSpec: CreateWithRouteSpecFunction = (( shouldValidateGetRequestBody, supportedArrayFormats, }), + withMetadata({ + legacySdkTakesDeviceIdStringParameter: true, + }), userDefinedRouteFn )(req as any, res) } diff --git a/packages/nextlove/src/with-route-spec/middlewares/with-metadata.ts b/packages/nextlove/src/with-route-spec/middlewares/with-metadata.ts new file mode 100644 index 000000000..d77f93956 --- /dev/null +++ b/packages/nextlove/src/with-route-spec/middlewares/with-metadata.ts @@ -0,0 +1,13 @@ +import { z } from "zod" + +const MetaDataSchema = z.object({ + legacySdkTakesDeviceIdStringParameter: z.boolean().optional(), +}) + +export type MetaData = z.infer + +export const withMetadata = (metaData: MetaData) => (next) => (req, res) => { + return next(req, res) +} + +export default withMetadata