import {NextFunction, Request, Response} from "express"; import {Error, ErrorCodes} from "../../common/entities/Error"; import {Utils} from "../../common/Utils"; import {Message} from "../../common/entities/Message"; export class RenderingMWs { public static renderResult(req:Request, res:Response, next:NextFunction){ if(!req.resultPipe) return next(); return RenderingMWs.renderMessage(res,req.resultPipe); } public static renderSessionUser(req:Request, res:Response, next:NextFunction){ if(!(req.session.user)){ return next(new Error(ErrorCodes.GENERAL_ERROR)); } let user = Utils.clone(req.session.user); delete user.password; RenderingMWs.renderMessage(res,user); } public static renderFile(req:Request, res:Response, next:NextFunction){ if(!req.resultPipe) return next(); return res.sendFile(req.resultPipe); } public static renderOK(req:Request, res:Response, next:NextFunction){ let message = new Message (null,"ok"); res.json(message); } public static renderError(err:any, req:Request, res:Response, next:NextFunction):any{ if(err instanceof Error) { let message = new Message (err,null); return res.json(message); } return next(err); } protected static renderMessage(res:Response, content:T){ let message = new Message (null,content); res.json(message); } }