@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
60 lines (57 loc) • 1.7 kB
JavaScript
import { loggerFactory } from '../../server/logger.js';
import { FileService } from './file.service.js';
const logger = loggerFactory(import.meta);
class FileController {
static post = async (req, res, options) => {
try {
return res.status(200).json({
status: 'success',
data: await FileService.post(req, res, options),
});
} catch (error) {
logger.error(error, error.stack);
return res.status(400).json({
status: 'error',
message: error.message,
});
}
};
static get = async (req, res, options) => {
try {
if (req && req.headers && req.headers.origin) {
res.set('Access-Control-Allow-Origin', req.headers.origin);
} else res.setHeader('Access-Control-Allow-Origin', '*');
res.setHeader('Cross-Origin-Resource-Policy', 'cross-origin');
const result = await FileService.get(req, res, options);
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,
});
}
};
static delete = async (req, res, options) => {
try {
const result = await FileService.delete(req, res, options);
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,
});
}
};
}
export { FileController };