thrilled-be-core
Version:
Core Express backend package with middleware, logging, security, and base application setup
141 lines (140 loc) • 3.68 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ApiResponse = void 0;
class ApiResponse {
/**
* Send success response
*/
static success(res, message = 'Success', data, meta) {
const response = {
success: true,
message,
statusCode: 200,
...(data !== undefined && { data }),
...(meta && { meta }),
};
return res.status(200).json(response);
}
/**
* Send created response
*/
static created(res, message = 'Created successfully', data) {
const response = {
success: true,
message,
statusCode: 201,
...(data !== undefined && { data }),
};
return res.status(201).json(response);
}
/**
* Send no content response
*/
static noContent(res) {
return res.status(204).send();
}
/**
* Send bad request error
*/
static badRequest(res, message = 'Bad request', errors) {
const response = {
success: false,
message,
statusCode: 400,
...(errors && { errors }),
};
return res.status(400).json(response);
}
/**
* Send unauthorized error
*/
static unauthorized(res, message = 'Unauthorized') {
const response = {
success: false,
message,
statusCode: 401,
};
return res.status(401).json(response);
}
/**
* Send forbidden error
*/
static forbidden(res, message = 'Forbidden') {
const response = {
success: false,
message,
statusCode: 403,
};
return res.status(403).json(response);
}
/**
* Send not found error
*/
static notFound(res, message = 'Not found') {
const response = {
success: false,
message,
statusCode: 404,
};
return res.status(404).json(response);
}
/**
* Send conflict error
*/
static conflict(res, message = 'Conflict') {
const response = {
success: false,
message,
statusCode: 409,
};
return res.status(409).json(response);
}
/**
* Send internal server error
*/
static serverError(res, message = 'Internal server error') {
const response = {
success: false,
message,
statusCode: 500,
};
return res.status(500).json(response);
}
/**
* Send custom error response
*/
static error(res, statusCode, message, errors) {
const response = {
success: false,
message,
statusCode,
...(errors && { errors }),
};
return res.status(statusCode).json(response);
}
/**
* Send custom response (for backward compatibility)
*/
static custom(res, statusCode, message, data, meta) {
if (statusCode >= 200 && statusCode < 300) {
const response = {
success: true,
message,
statusCode,
...(data !== undefined && { data }),
...(meta && { meta }),
};
return res.status(statusCode).json(response);
}
else {
const response = {
success: false,
message,
statusCode,
...(meta && { meta }),
};
return res.status(statusCode).json(response);
}
}
}
exports.ApiResponse = ApiResponse;