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 userId = req.user.user_id; const results = await NotificationErrorService.updateNotificationError( id, userId ); const response = await setResponse( results, "Notification Error 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;