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'); }, };