const NotificationErrorService = require("../services/notification_error.service"); const { setResponse, setResponsePaging, checkValidate, } = require("../helpers/utils"); const { insertNotificationSchema, updateNotificationSchema, } = require("../validate/notification.schema"); class NotificationErrorController { static async getAll(req, res) { const queryParams = req.query; const results = await NotificationErrorService.getAllNotification( queryParams ); const response = await setResponsePaging( queryParams, results, "Notification found" ); res.status(response.statusCode).json(response); } static async getById(req, res) { const { id } = req.params; const results = await NotificationErrorService.getNotificationById(id); const response = await setResponse( results, "Notification retrieved successfully" ); return res.status(response.statusCode).json(response); } static async create(req, res) { const { error, value } = await checkValidate(insertNotificationSchema, req); if (error) { return res.status(400).json(setResponse(error, "Validation failed", 400)); } value.userId = req.user.user_id; const results = await NotificationErrorService.createNotificationError( value ); const response = await setResponse(results, "Notification created successfully"); return res.status(response.statusCode).json(response); } static async update(req, res) { const { id } = req.params; const { error, value } = checkValidate(updateNotificationSchema, req) if (error) { return res.status(400).json(setResponse(error, 'Validation failed', 400)); } value.userId = req.user.user_id const results = await NotificationErrorService.updateNotificationError(id, value); const response = await setResponse(results, 'Notification Error User updated successfully') res.status(response.statusCode).json(response); } static async resend(req, res) { try { const { id } = req.params; const results = await NotificationErrorService.resendNotification(id); const response = await setResponse( results, results.message, ); res.status(response.statusCode).json(response); } catch (error) { const response = setResponse(null, error.message, error.statusCode || 500); res.status(response.statusCode).json(response); } } } module.exports = NotificationErrorController;