Skip to content

Instantly share code, notes, and snippets.

@marcosrivasr
Created December 16, 2020 03:43
Show Gist options
  • Save marcosrivasr/c14651dd5b20cbd02bcd8a7894086ce5 to your computer and use it in GitHub Desktop.
Save marcosrivasr/c14651dd5b20cbd02bcd8a7894086ce5 to your computer and use it in GitHub Desktop.
[{"title":"Tarjetas para laptop","price":"9000","quantity":"2","completed":false,"id":"6deae773-e871-4a2f-a45c-7bab58b1ccdc"},{"title":"Pan","price":"4","quantity":"5","completed":false,"id":"c28bf4f2-5b02-449c-a798-901c5a6b0eb9"},{"id":"a51f811f-8349-42f0-bd6d-6cc9e333a7f2","title":"amet tempor aute culpa aliquip proident","price":591.553,"quantity":16,"completed":true},{"id":"ff49efd9-0bc3-4e68-a88e-479c94b370ae","title":"tempor ipsum et est dolore occaecat","price":919.368,"quantity":10,"completed":true},{"id":"3cdca18b-d2db-4e68-82bf-066c1239391c","title":"sint do Lorem nulla exercitation culpa","price":297.143,"quantity":41,"completed":true},{"id":"e29033a3-7542-4c3d-8bcc-a90762e4b921","title":"fugiat proident cillum ad commodo ea","price":559.113,"quantity":74,"completed":false},{"id":"c7981570-ba25-47f3-9e68-4e28fef2b1e1","title":"ex esse minim pariatur culpa Lorem","price":560.205,"quantity":75,"completed":true},{"id":"8a56f182-9963-4e61-a8c9-7f4dbaadfdb3","title":"cupidatat non ipsum eu fugiat velit","price":625.463,"quantity":55,"completed":true},{"id":"a3750546-4d48-4be5-8cab-b97d097f2782","title":"sunt excepteur sunt proident proident nostrud","price":209.968,"quantity":63,"completed":true},{"id":"b4ccf03c-3bcf-4158-9571-fbea384621a6","title":"est magna duis minim ut irure","price":293.203,"quantity":64,"completed":false},{"id":"7b111e0d-4304-4906-85bd-d336f493f13f","title":"nisi est reprehenderit eiusmod cupidatat in","price":535.162,"quantity":78,"completed":false},{"id":"c862970a-0a89-4273-90e6-5fd23f914fbd","title":"amet adipisicing nisi sunt ut eu","price":159.5,"quantity":57,"completed":true},{"id":"1e9f7eb1-2024-45f3-8719-12cdb4881594","title":"sint ex consectetur cillum ea sint","price":992.71,"quantity":5,"completed":true},{"id":"90698c8e-119b-4f9b-84eb-ea0e37ab20f6","title":"veniam quis incididunt adipisicing aute eiusmod","price":588.517,"quantity":15,"completed":false},{"id":"a9d4d796-29cd-4f2d-9090-634ec13e1d4b","title":"nisi dolore incididunt Lorem anim nostrud","price":598.2,"quantity":64,"completed":false},{"id":"2bb15b80-aec3-4a91-9053-04e323f01236","title":"occaecat aute in laboris pariatur cupidatat","price":313.291,"quantity":58,"completed":true},{"id":"d8af217f-f633-4fbd-b9f3-d3779d0d6f11","title":"enim et velit officia eu pariatur","price":628.437,"quantity":10,"completed":true},{"id":"9930e613-e711-41a9-ab49-5b707aa29867","title":"duis aute anim dolore anim velit","price":954.388,"quantity":17,"completed":false},{"id":"31ac9d30-0c80-4be0-a13d-7749d22d849d","title":"enim ullamco ipsum ullamco nostrud dolore","price":400.122,"quantity":11,"completed":false},{"id":"f6a9eef8-0251-40b6-9c1a-c02315d26eee","title":"ad ad est sit officia mollit","price":658.755,"quantity":64,"completed":false},{"id":"c7f4125c-4cd0-4216-8599-7029514502ee","title":"fugiat consectetur cillum consequat aute tempor","price":799.417,"quantity":8,"completed":true},{"id":"8728d78d-9416-42db-b390-e209cacb09ed","title":"esse dolor amet eu proident veniam","price":515.34,"quantity":67,"completed":false},{"id":"50e98e61-4b4c-4421-9311-731c5aa8b617","title":"nisi ex velit do laboris nulla","price":907.638,"quantity":51,"completed":false},{"id":"fb94a9b4-eb5b-4160-ab97-c695d940bf09","title":"enim non deserunt exercitation sint id","price":246.681,"quantity":44,"completed":true},{"id":"fa52b0e1-d26f-489b-b64c-36e00b1d8aa5","title":"non ex Lorem commodo nostrud laboris","price":720.009,"quantity":78,"completed":true},{"id":"964208e5-e16e-4dc3-980f-e5640626a51a","title":"ex magna aliquip nisi eiusmod culpa","price":539.45,"quantity":39,"completed":false},{"id":"e73e30c7-ba7e-4b5d-9e33-3108b09f59fe","title":"proident excepteur aute ex irure incididunt","price":712.631,"quantity":6,"completed":true},{"id":"4e1d1367-2305-4f09-b3e4-7a8409642e40","title":"incididunt labore minim adipisicing occaecat tempor","price":334.195,"quantity":24,"completed":true},{"id":"6aab4677-6672-433d-bc73-690f94253c5c","title":"cillum reprehenderit enim tempor ipsum irure","price":549.189,"quantity":6,"completed":false},{"id":"8c068827-0255-40f3-9eaa-1551b0e168ba","title":"excepteur nisi adipisicing aliqua voluptate laboris","price":806.55,"quantity":5,"completed":true},{"id":"2ddebcb7-0492-48dc-aa7d-a83487cd0c08","title":"excepteur sunt Lorem aliquip pariatur exercitation","price":208.175,"quantity":2,"completed":true},{"id":"ecd28077-e282-4926-8270-8a5f229587f5","title":"culpa minim laborum culpa laborum dolor","price":945.365,"quantity":79,"completed":false},{"id":"51f1774b-31c4-4601-aeb5-66a09ed7e6fc","title":"cupidatat ut ea exercitation tempor irure","price":60.435,"quantity":68,"completed":true},{"id":"1ec8e9b6-b4fc-43ef-8a8e-d5efc562983a","title":"irure incididunt culpa sunt cillum duis","price":775.473,"quantity":9,"completed":false},{"id":"7c2316f8-6cba-4be4-a697-c4878261a05b","title":"velit cillum sint non dolore eiusmod","price":615.118,"quantity":58,"completed":true},{"id":"a9c66b87-b10c-45db-84da-2e9e7e0d689d","title":"id deserunt ipsum labore aute esse","price":20.838,"quantity":61,"completed":true},{"id":"29199a03-f6ad-4a6b-b007-b916b6dc411f","title":"consectetur culpa eu ipsum in sit","price":31.02,"quantity":14,"completed":false},{"id":"6093bc4a-3fa9-4cc3-9597-2e593142fb2e","title":"ipsum fugiat ullamco tempor irure irure","price":178.858,"quantity":42,"completed":true},{"id":"ae6ba542-eb97-46ee-bfd3-d72fba97209f","title":"fugiat laborum dolore ex pariatur sit","price":900.831,"quantity":65,"completed":false},{"id":"f3da4a9f-4222-435b-a302-ce97e8696caa","title":"nulla ut irure sit laboris amet","price":663.467,"quantity":63,"completed":false},{"id":"77fa7c00-bec5-4480-9694-d845ca80831f","title":"reprehenderit veniam aliquip proident in deserunt","price":273.421,"quantity":30,"completed":true},{"id":"96f3f678-25d6-4031-aa64-abdbfd38946a","title":"id Lorem do qui Lorem dolor","price":702.698,"quantity":36,"completed":true},{"id":"30c98058-ce95-4f91-9cbd-e1b40120bfa3","title":"consectetur sunt do velit do ad","price":513.401,"quantity":56,"completed":true},{"id":"5d617d48-7d71-44e4-be28-7b62c7398d9b","title":"qui aliqua nisi ipsum ullamco pariatur","price":643.863,"quantity":37,"completed":false},{"id":"e5c9163c-dbd3-457d-a341-00d440a38db4","title":"officia qui reprehenderit et excepteur anim","price":719.444,"quantity":4,"completed":true},{"id":"9da4f8d6-a750-4967-888e-bbefc976cb1d","title":"laborum velit fugiat et amet fugiat","price":236.201,"quantity":29,"completed":false},{"id":"8ace991e-a4b6-46cd-ad9f-9d10d5c5aa95","title":"eiusmod esse nulla eu aliqua sunt","price":921.309,"quantity":21,"completed":false},{"id":"6081e92c-43ac-4a44-a9e8-0d9c4aa8dded","title":"sunt adipisicing minim mollit exercitation culpa","price":561.009,"quantity":54,"completed":false}]
const express = require('express');
const app = express();
const cors = require('cors');
const {v4: uuidv4} = require('uuid');
const {readFile, writeFile} = require('fs').promises;
app.use(cors());
app.use(express.urlencoded({extended: false}));
app.use(express.json());
let items = [];
app.get('/', (req, res) => {
res.send('Servidor de prueba');
});
app.get('/items', async (req, res) => {
await open();
res.json(items);
});
app.get('/items/:id', (req, res) => {
res.send(`${req.params.id}`);
});
app.put('/items/:id', async (req, res) => {
const id = req.params.id;
await open();
const index = items.findIndex(item => item.id === id);
items[index].completed = !items[index].completed;
await save();
res.json(items[index]);
});
app.delete('/items/:id', async (req, res) => {
const id = req.params.id;
await open();
items = items.filter(item => item.id !== id);
await save();
res.json(items);
});
app.post('/items', async (req, res) => {
const id = uuidv4();
req.body['id'] = id;
await open();
items.unshift(req.body);
await save();
res.json(req.body);
});
async function save(){
const res = await writeFile('data.json', JSON.stringify(items), 'utf-8');
}
async function open(){
const res = await readFile('data.json', 'utf-8');
items = JSON.parse(res);
console.log('open',items);
}
app.listen(3000, () => {
console.log('servidor iniciado...');
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment