UNPKG

@underpostnet/underpost

Version:

Underpost Platform — end-to-end CI/CD and application-delivery toolchain CLI. Covers bare metal, Kubernetes, K3s, kubeadm, LXD, container/image orchestration, secrets, databases, cron jobs, monitoring, SSH, runners, PWA + Workbox delivery, and release orc

36 lines (31 loc) 917 B
import { loggerFactory } from '../../server/logger.js'; import { UserService } from './user.service.js'; const logger = loggerFactory(import.meta); const handleRequest = (serviceMethod) => async (req, res, options) => { try { const result = await serviceMethod(req, res, options); if (res.headersSent) { return; } if (result instanceof Buffer) { return res.status(200).end(result); } return res.status(200).json({ status: 'success', data: result, }); } catch (error) { logger.error(error, error.stack); return res.status(400).json({ status: 'error', message: error.message, }); } }; class UserController { static post = handleRequest(UserService.post); static get = handleRequest(UserService.get); static delete = handleRequest(UserService.delete); static put = handleRequest(UserService.put); } export { UserController };