import { SafeNSoundError } from '#util/error.js'; import Joi from 'joi'; import { AlarmType } from '#db/schemas/index.js'; /** * Generic authentication DTO. */ export class AlarmDto { static schema = new Joi.object({ createdAt: Joi.date().optional(), reason: Joi.string().valid(...Object.values(AlarmType)) }); createdAt; reason; static async create(data) { const obj = new AlarmDto(); for (const key of Object.keys(data)) { if (key in obj) { obj[key] = data[key]; } } return await AlarmDto.schema.validateAsync(obj); } }