var thongTinModel = require("../../models/thongTinModel");
var multer = require('multer'); //dùng để upload files
var storage = multer.diskStorage({ destination: function (req, file, callback) { callback(null, '././public/resources/images/avatar/'); }, filename: function (req, file, callback) { let extend = file.originalname.substring(file.originalname.lastIndexOf('.'), file.originalname.length); callback(null, file.fieldname + '-' + Date.now() + extend); console.log("TÊN FILEEEEEE: ", file.originalname); } }); var upload = multer({ storage : storage}).single('avatar');
exports.get= async function (req,res,next) {
var page = req.query.page || 1; if (page < 1) page = 1; var limit = config.limit_yeuthich; var offset = (page - 1) * limit; // Start Index per Page try { var rows = await thongTinModel.page(limit, offset); var count_rows = await thongTinModel.count(); var total = count_rows[0].total; //gọi phần tử thứ 0 trong mảng có tên cột là total var nPages = Math.floor(total / limit); //Math.floor : chuyển đổi thành số if (total % limit > 0) nPages++; var pages = []; for (var i = 1; i <= nPages; i++) { var obj = { value: i }; //có đến tối đa nPage trang thì bỏ vào mảng các trang từ 1 -> nPages pages.push(obj); } res.status(200).json({ "success": true, "total_pages": nPages, "total_results" : total, "page": parseInt(page), //"page_array": pages, "results": rows[0], }); } catch(e){ res.status(404).json({ "success": false, "status_code": 1, //empty "status_message": e }); } };
(Premier Reference Source) Rafael Andres Gonzalez Rivera, Rafael Andres Gonzalez Rivera, Nong Chen, Ajantha Dahanayake - Personalized Information Retrieval and Access - Concepts, Methods and Practices