2022-03-25 05:54:57 +00:00
|
|
|
import { withValidation } from "next-validations";
|
2022-03-24 23:04:07 +00:00
|
|
|
import { z } from "zod";
|
|
|
|
|
2022-03-30 12:17:55 +00:00
|
|
|
import { baseApiParams } from "./baseApiParams";
|
|
|
|
|
2022-03-24 23:04:07 +00:00
|
|
|
// Extracted out as utility function so can be reused
|
|
|
|
// at different endpoints that require this validation.
|
2022-03-30 12:17:55 +00:00
|
|
|
export const schemaQueryIdParseInt = baseApiParams
|
|
|
|
.extend({
|
2022-03-24 23:04:07 +00:00
|
|
|
id: z
|
|
|
|
.string()
|
|
|
|
.regex(/^\d+$/)
|
|
|
|
.transform((id) => parseInt(id)),
|
|
|
|
})
|
|
|
|
.strict();
|
2022-03-25 05:54:57 +00:00
|
|
|
|
2022-03-30 12:17:55 +00:00
|
|
|
export const withValidQueryIdTransformParseInt = withValidation({
|
2022-03-26 23:58:22 +00:00
|
|
|
schema: schemaQueryIdParseInt,
|
2022-03-25 05:54:57 +00:00
|
|
|
type: "Zod",
|
|
|
|
mode: "query",
|
|
|
|
});
|