import { SafeNSoundError } from '#util/error.js'; import Joi from 'joi'; export class RegisterDto { static schema = new Joi.object({ username: Joi.string().required(), email: Joi.string().email().required(), password: Joi.string().required(), type: Joi.string().valid('user', 'monitor', 'admin').required() }); username; email; password; type = 'user'; static async create(data) { const obj = new RegisterDto(); for (const key of Object.keys(data)) { if (key in obj) { obj[key] = data[key]; } } return await RegisterDto.schema.validateAsync(obj); } }