const bodyParser = require('body-parser'); const express = require('express'); const { getErrorMessage } = require('../constants/api_constans'); const success = (res, data, msg, param = null) => { var dataJson = data; var data = {}; if (param != null) data[param] = dataJson; else data = dataJson; return res.status(200).json({ success: true, message: msg, data, }); }; const failed = (res, errorCode, message = null) => { const error = getErrorMessage(errorCode); return res.status(error.httpCode).json({ success: false, message: message || error.message, error_code: errorCode, data: null, }); }; const pagination = (page, size) => { let limit = null; let offset = null; if(page == null) page = 1; if(size == null) size = 10; if (page != null) { limit = size ? +size : 5; offset = limit ? 0 + (page - 1) * limit : null; } return { limit, offset, }; } function paginationResponse(model, page, limit, dataKey, resource) { const totalItem = model.count; const currentPage = parseInt(page); const totalPages = Math.ceil(totalItem / limit); return { [dataKey]: resource, pagination: { total_item: totalItem, total_page: totalPages, current_page: currentPage, limit: parseInt(limit), }, }; } const error = (res, errorCode, message = null) => { const error = getErrorMessage(errorCode); return res.status(error.httpCode).json({ success: false, message: message || error.message, error_code: errorCode, data: null, }); }; module.exports = { success, pagination, paginationResponse, failed, error, };