Editing and removing events
This commit is contained in:
parent
908125d847
commit
0835281b5c
@ -1,4 +1,5 @@
|
|||||||
class Event {
|
class Event {
|
||||||
|
id
|
||||||
date
|
date
|
||||||
latitude
|
latitude
|
||||||
longitude
|
longitude
|
||||||
|
|||||||
@ -12,7 +12,57 @@ router.post('/', async (req, res) => {
|
|||||||
let collection = req.db.collection('vehicles');
|
let collection = req.db.collection('vehicles');
|
||||||
await collection.updateOne({ number }, { $push: { events: event } });
|
await collection.updateOne({ number }, { $push: { events: event } });
|
||||||
let vehicle = await collection.findOne({ number });
|
let vehicle = await collection.findOne({ number });
|
||||||
|
if(vehicle) {
|
||||||
res.send({ success: true, data: vehicle });
|
res.send({ success: true, data: vehicle });
|
||||||
|
} else {
|
||||||
|
res.status(204).send(makeError('There is no vehicle with such plate number'));
|
||||||
|
}
|
||||||
|
} catch(ex) {
|
||||||
|
res.send(makeError(ex.message));
|
||||||
|
console.error(ex);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
router.delete('/', async (req, res) => {
|
||||||
|
const { eventId } = req.body;
|
||||||
|
|
||||||
|
try {
|
||||||
|
let collection = req.db.collection('vehicles');
|
||||||
|
let vehicle = await collection.findOne({ 'events.id': eventId });
|
||||||
|
if(vehicle) {
|
||||||
|
let index = vehicle.events.findIndex(e => e.id == eventId);
|
||||||
|
if(index >= 0) {
|
||||||
|
vehicle.events.splice(index, 1);
|
||||||
|
await collection.updateOne({ number: vehicle.number }, { $set: { events: vehicle.events } });
|
||||||
|
}
|
||||||
|
res.send({ success: true, data: vehicle });
|
||||||
|
} else {
|
||||||
|
res.send(makeError('There is no vehicle with such event'));
|
||||||
|
}
|
||||||
|
} catch(ex) {
|
||||||
|
res.send(makeError(ex.message));
|
||||||
|
console.error(ex);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
router.put('/', async (req, res) => {
|
||||||
|
const { event } = req.body;
|
||||||
|
|
||||||
|
try {
|
||||||
|
let collection = req.db.collection('vehicles');
|
||||||
|
let vehicle = await collection.findOne({ 'events.id': event.id });
|
||||||
|
if(vehicle) {
|
||||||
|
let index = vehicle.events.findIndex(e => e.id == event.id);
|
||||||
|
if(index >= 0) {
|
||||||
|
vehicle.events[index] = event;
|
||||||
|
await collection.updateOne({ number: vehicle.number }, { $set: { events: vehicle.events } });
|
||||||
|
res.send({ success: true, data: vehicle });
|
||||||
|
} else {
|
||||||
|
res.send(makeError('Event not found'));
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
res.send(makeError('There is no vehicle with such event'));
|
||||||
|
}
|
||||||
} catch(ex) {
|
} catch(ex) {
|
||||||
res.send(makeError(ex.message));
|
res.send(makeError(ex.message));
|
||||||
console.error(ex);
|
console.error(ex);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user