|
|
@@ -1,7 +1,5 @@
|
|
|
// @ts-check
|
|
|
|
|
|
-const { Joi: CelebrateJoi, celebrate, errors } = require('celebrate')
|
|
|
-const { ObjectId } = require('mongodb-legacy')
|
|
|
const { NotFoundError } = require('../Features/Errors/Errors')
|
|
|
const {
|
|
|
validateReq,
|
|
|
@@ -15,29 +13,7 @@ const { isZodErrorLike, fromError } = require('zod-validation-error')
|
|
|
* @typedef {import('express').ErrorRequestHandler} ErrorRequestHandler
|
|
|
*/
|
|
|
|
|
|
-const objectIdValidator = {
|
|
|
- type: 'objectId',
|
|
|
- base: CelebrateJoi.any(),
|
|
|
- messages: {
|
|
|
- 'objectId.invalid': 'needs to be a valid ObjectId',
|
|
|
- },
|
|
|
- coerce(value) {
|
|
|
- return {
|
|
|
- value: typeof value === typeof ObjectId ? value : new ObjectId(value),
|
|
|
- }
|
|
|
- },
|
|
|
- prepare(value, helpers) {
|
|
|
- if (!ObjectId.isValid(value)) {
|
|
|
- return {
|
|
|
- errors: helpers.error('objectId.invalid'),
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
-}
|
|
|
-
|
|
|
-const Joi = CelebrateJoi.extend(objectIdValidator)
|
|
|
const errorMiddleware = [
|
|
|
- errors(),
|
|
|
/** @type {ErrorRequestHandler} */
|
|
|
(err, req, res, next) => {
|
|
|
if (!isZodErrorLike(err)) {
|
|
|
@@ -48,14 +24,6 @@ const errorMiddleware = [
|
|
|
},
|
|
|
]
|
|
|
|
|
|
-/**
|
|
|
- * Validation middleware
|
|
|
- * @deprecated Please use Zod schemas and `validateReq` instead
|
|
|
- */
|
|
|
-function validate(schema) {
|
|
|
- return celebrate(schema, { allowUnknown: true })
|
|
|
-}
|
|
|
-
|
|
|
const validateReqWeb = (req, schema) => {
|
|
|
try {
|
|
|
return validateReq(req, schema)
|
|
|
@@ -69,8 +37,6 @@ const validateReqWeb = (req, schema) => {
|
|
|
}
|
|
|
|
|
|
module.exports = {
|
|
|
- Joi,
|
|
|
- validate,
|
|
|
errorMiddleware,
|
|
|
validateReq: validateReqWeb,
|
|
|
z,
|