app.patch('/api/check/:index', function (req, res) { data = require('./data.json'); var index = req.params.index; data[index].checked = !data[index].checked; fs.writeFile( "data.json", JSON.stringify( data ), "utf8", function() { res.send({success: true}); } ); });
it("should set the body to undefined if optional and unspecified", (done) => { let api = _.cloneDeep(spec.samples.petStore); api.paths["/pets/{PetName}"].patch.parameters[0].required = false; swagger(api, (err, middleware) => { let express = helper.express(middleware.metadata(), middleware.parseRequest()); helper.supertest(express) .patch("/api/pets/fido") .end(helper.checkSpyResults(done)); express.patch("/api/pets/fido", helper.spy((req, res, next) => { expect(req.body).to.equal(undefined); })); }); });
app.patch('/api/todos/:id', (req, res) => { const todo = todos.find(todo => todo.id == req.params.id); if (!todo) return res.sendStatus(404); todo.completed = !todo.completed; res.json(todo); });
app.patch('/memories/:id', (req, res) => { const query = 'UPDATE memory SET year = ?, month = ?, day = ?, message = ?, updated_at = CURRENT_TIMESTAMP WHERE id = ?'; const params = [req.body.year, req.body.month, req.body.day, req.body.message, req.params.id]; connection.query(query, params, (error, result) => { res.send({ ok: true, }); }); });
it("should set all req.swagger properties when the API has no basePath", (done) => { swagger(spec.samples.petStoreNoBasePath, (err, middleware) => { let express = helper.express(middleware.metadata()); helper.supertest(express) .patch("/pets/fido") .end(helper.checkSpyResults(done)); express.patch("/pets/fido", helper.spy((req, res, next) => { expect(req.swagger).to.deep.equal({ api: spec.samples.petStoreNoBasePath, pathName: "/pets/{PetName}", path: spec.samples.petPath, operation: spec.samples.petPatchOperation, params: spec.samples.petPatchParams, security: spec.samples.petPatchSecurity }); })); }); });
app.patch('/api/products/:id', (req, res) => { const product = products.find(product => product.id === parseInt(req.params.id)); if (!product) return res.status(404).json({ message: 'Not Found' }); product.name = req.body.name; product.price = req.body.price; res.json(product); });
it("should throw an error if the body param is invalid", (done) => { swagger(spec.samples.petStore, (err, middleware) => { let express = helper.express(middleware.metadata(), middleware.parseRequest()); helper.supertest(express) .patch("/api/pets/fido") .send({ Name: "Fido", Type: "kitty kat" }) .end(helper.checkSpyResults(done)); express.patch("/api/pets/fido", helper.spy((req, res, next) => { assert(false, "This middleware should NOT get called"); })); express.use("/api/pets/fido", helper.spy((err, req, res, next) => { expect(err).to.be.an.instanceOf(Error); expect(err.message).to.contain('The "PetData" body parameter is invalid ({"Name":"Fido","Type":"kitty kat"})'); })); }); });
//---------PATCH route (UPDATE)--------------------- app.patch('/users/:id', (req, res) => { let id = req.params.id; let firstName = req.body.firstName; User.findByIdAndUpdate(id, { $set: { firstName: firstName } }, { new: true }).then(updatedUser => { res.send('User updated by id through PATCH'); }); });
app.patch( '/shows/:showId/episodes', authenticatedRoute, (req, res, next) => { const { markAs, episodeIds } = req.body; // Convert our URL param back to a number. const showId = Number(req.params.showId); req.user.toggleEpisodes({ markAs, showId, episodeIds }, (err, result) => { if (err) { return next(err); } return res.json({ ok: true }); }); } );
it("should set the body to its default if optional and unspecified", (done) => { let api = _.cloneDeep(spec.samples.petStore); let petParam = api.paths["/pets/{PetName}"].patch.parameters[0]; petParam.required = false; petParam.schema.default = { Name: "Fido", Type: "dog" }; swagger(api, (err, middleware) => { let express = helper.express(middleware.metadata(), middleware.parseRequest()); helper.supertest(express) .patch("/api/pets/fido") .end(helper.checkSpyResults(done)); express.patch("/api/pets/fido", helper.spy((req, res, next) => { expect(req.body).to.deep.equal({ Name: "Fido", Type: "dog" }); })); }); });
app.patch('/api/todos/:id', (req, res) => { let {id} = req.params; let {completed} = req.body; updateTodo(id, {completed}, res); });
app.patch('/api/articles/:id', function (req, res, next) { const { title, body } = req.body; const id = req.params.id; const date = new Date().toISOString(); db.run('update Articles set updated=?, title=?, body=? where id=?', date, title, body, id, function (err) { if (err) { console.error('Error updating data:', err); res.status(500).end(); return; } const date = new Date().toISOString(); res.send({updated: date}) res.end(); }); })
app.patch('/employee/:id',(req, res)=>{ var id = req.params.id; var body = _.pick(req.body, ['name', 'age', 'gender']); if(!ObjectID.isValid(id)){ res.status(404).send(); } employee.findByIdAndUpdate(id, {$set: body}, {new: true}).then( (employee)=>{ if(!employee){ res.status(404).send(); } res.send(employee); }, (error) =>{ res.send(error); } ).catch((e)=>{ res.status(404).send(); }); });
it("should parse the body param", (done) => { swagger(spec.samples.petStore, (err, middleware) => { let express = helper.express(middleware.metadata(), middleware.parseRequest()); helper.supertest(express) .patch("/api/pets/fido") .send({ Name: "Fido", Type: "dog" }) .end(helper.checkSpyResults(done)); express.patch("/api/pets/fido", helper.spy((req, res, next) => { expect(req.body).to.deep.equal({ Name: "Fido", Type: "dog" }); })); }); });
app.patch('/', (req, res) => { res.send('patch'); });