import Joi from '@hapi/joi'; export default class IdValidate { private static id = Joi.string().pattern(new RegExp('[0-9a-f]{24}')).length(24); static get () { return this.id; } static valid (id) { return this.id.validate(id).error === undefined; } static parameter () { // :id url parameter return ':id([0-9a-f]{24})'; } static stringify (data) { Object.keys(data).forEach(key => { if (data[key] !== null && data[key].hasOwnProperty('_bsontype') && data[key]._bsontype === 'ObjectID') { data[key] = data[key].toString(); } }); return data; } }