northwind-rest-api
Version:
Local REST API Exposing 'Northwind Traders' Database.
26 lines (21 loc) • 821 B
JavaScript
const Joi = require("joi");
const BaseModel = require("./base-model");
class Category extends BaseModel {
constructor(category) {
super(category.id);
this.name = category.name;
this.description = category.description;
this.imageName = category.imageName;
}
static #validationSchema = Joi.object({
id: Joi.number().optional().integer().positive(),
name: Joi.string().required().min(2).max(100),
description: Joi.string().required().min(2).max(100),
imageName: Joi.string().optional().min(5).max(100)
}).error(BaseModel.customErrors);
validate() {
const result = Category.#validationSchema.validate(this, { abortEarly: false });
return result.error?.message;
}
}
module.exports = Category;