@tomisakae/syosetu-api
Version:
Enterprise-grade Fastify TypeScript API for Syosetu.com data extraction using official API and web scraping. Run instantly with 'npx @tomisakae/syosetu-api'
36 lines • 1.38 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.sendInternalError = exports.sendNotFound = exports.sendValidationError = exports.sendError = exports.sendSuccess = void 0;
const sendSuccess = (reply, data, message, statusCode = 200) => {
const response = {
success: true,
data,
...(message && { message }),
timestamp: new Date().toISOString(),
};
void reply.status(statusCode).send(response);
};
exports.sendSuccess = sendSuccess;
const sendError = (reply, error, statusCode = 500, details) => {
const response = {
success: false,
error,
timestamp: new Date().toISOString(),
...(details && { details }),
};
void reply.status(statusCode).send(response);
};
exports.sendError = sendError;
const sendValidationError = (reply, errors) => {
(0, exports.sendError)(reply, 'Validation failed', 400, { validationErrors: errors });
};
exports.sendValidationError = sendValidationError;
const sendNotFound = (reply, resource = 'Resource') => {
(0, exports.sendError)(reply, `${resource} not found`, 404);
};
exports.sendNotFound = sendNotFound;
const sendInternalError = (reply, message = 'Internal server error') => {
(0, exports.sendError)(reply, message, 500);
};
exports.sendInternalError = sendInternalError;
//# sourceMappingURL=response.js.map