const PAGE_SIZE = 3; let data = [ { id: 1, name: 'Leanne Graham', email: 'Sincere@april.biz', website: 'hildegard.org', }, { id: 2, name: 'Ervin Howell', email: 'Shanna@melissa.tv', website: 'anastasia.net', }, { id: 3, name: 'Clementine Bauch', email: 'Nathan@yesenia.net', website: 'ramiro.info', }, { id: 4, name: 'Patricia Lebsack', email: 'Julianne.OConner@kory.org', website: 'kale.biz', }, { id: 5, name: 'Chelsey Dietrich', email: 'Lucio_Hettinger@annie.ca', website: 'demarco.info', }, { id: 6, name: 'Mrs. Dennis Schulist', email: 'Karley_Dach@jasper.info', website: 'ola.org', }, { id: 7, name: 'Kurtis Weissnat', email: 'Telly.Hoeger@billy.biz', website: 'elvis.io', }, { id: 8, name: 'Nicholas Runolfsdottir V', email: 'Sherwood@rosamond.me', website: 'jacynthe.com', }, { id: 9, name: 'Glenna Reichert', email: 'Chaim_McDermott@dana.io', website: 'conrad.com', }, ]; function uid(len) { len = len || 7; return Math.random() .toString(35) .substr(2, len); } function getData(page) { const start = (page - 1) * PAGE_SIZE; return { status: 'success', total: data.length, page, data: data.slice(start, start + 3), }; } export default { 'GET /api/BLOCK_NAME': (req, res) => { res.json(getData(parseInt(req.query.page, 10) || 1)); }, 'DELETE /api/BLOCK_NAME/:id': (req, res) => { data = data.filter(item => `${item.id}` !== `${req.params.id}`); res.end('ok'); }, 'PATCH /api/BLOCK_NAME/:id': (req, res) => { data.forEach(item => { if (`${item.id}` === `${req.params.id}`) { Object.assign(item, req.body); } }); res.end('ok'); }, 'POST /api/BLOCK_NAME': (req, res) => { data.push({ ...req.body, id: uid(), }); res.end('ok'); }, };