UNPKG

jsm-core

Version:
47 lines (46 loc) 1.8 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.validateRouteID = exports.phoneNumberValidator = exports.objectIdValidator = void 0; const joi_1 = __importDefault(require("joi")); const jsm_exceptions_1 = __importDefault(require("jsm-exceptions")); const jsm_utilities_1 = require("jsm-utilities"); const node_1 = require("jsm-utilities/dist/node"); const objectIdValidator = (value, helpers) => { if (!(0, node_1.isObjectIdValid)(value)) { return helpers.error('string.pattern.base', { value }); } // Return the value unchanged if it is valid return value; }; exports.objectIdValidator = objectIdValidator; const phoneNumberValidator = (value, helpers) => { if (!(0, jsm_utilities_1.isValidAlgerianPhoneNumber)(value)) { return helpers.error('string.pattern.base', { value }); } // Return the value unchanged if it is valid return value; }; exports.phoneNumberValidator = phoneNumberValidator; /** * @description * @param {Jsm.Core.Users.Api.Users.ChangeRole.Request['data']} body * @returns {Joi.ValidationResult<Jsm.Core.Users.Api.Users.ChangeRole.Request['data']>} */ const validateRouteID = (body) => { if (!body) throw new jsm_exceptions_1.default.ValidationException('Body data object is required'); const schema = joi_1.default.object({ /** * @description Add your validation logic here */ id: joi_1.default.string().custom(exports.objectIdValidator).required(), }); return schema.validate(body, { abortEarly: false, allowUnknown: true }); }; exports.validateRouteID = validateRouteID;