From ea65ae3a11e03fa66f809be89f86baabf627ad82 Mon Sep 17 00:00:00 2001 From: Rory& Date: Mon, 2 Jun 2025 12:16:30 +0200 Subject: Try to fix auth --- src/dto/AlarmDto.js | 27 +++++++++++++++++++++++++++ src/dto/auth/AuthDto.js | 11 +---------- 2 files changed, 28 insertions(+), 10 deletions(-) create mode 100644 src/dto/AlarmDto.js (limited to 'src/dto') diff --git a/src/dto/AlarmDto.js b/src/dto/AlarmDto.js new file mode 100644 index 0000000..281311d --- /dev/null +++ b/src/dto/AlarmDto.js @@ -0,0 +1,27 @@ +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); + } +} diff --git a/src/dto/auth/AuthDto.js b/src/dto/auth/AuthDto.js index 22e2620..0a4c8dd 100644 --- a/src/dto/auth/AuthDto.js +++ b/src/dto/auth/AuthDto.js @@ -23,15 +23,6 @@ export class AuthDto { } } - try { - return await AuthDto.schema.validateAsync(obj); - } catch (e) { - console.log(e); - throw new SafeNSoundError({ - errCode: 'JOI_VALIDATION_ERROR', - message: e.message, - validation_details: e.details - }); - } + return await AuthDto.schema.validateAsync(obj); } } -- cgit 1.5.1