fix: 🐛 Fix errors with REST API for events & cars #203
Tim Izzo tim@octree.ch
Wed, 27 Oct 2021 09:49:40 +0200
2 files changed,
27 insertions(+),
11 deletions(-)
M
backend/api/car/controllers/car.js
→
backend/api/car/controllers/car.js
@@ -3,18 +3,29 @@
module.exports = { async create(ctx) { const car = await strapi.services.car.create(ctx.request.body); - return strapi.services.car.sanitize(car); + if (car) return strapi.services.car.sanitize(car); + else return ctx.badRequest('No car found'); }, async update(ctx) { const {id} = ctx.params; - const car = await strapi.services.car.update({id}, ctx.request.body); - return strapi.services.car.sanitize(car); + + try { + const car = await strapi.services.car.update({id}, ctx.request.body); + return strapi.services.car.sanitize(car); + } catch (error) { + return ctx.badRequest('No car found'); + } }, async delete(ctx) { const {id} = ctx.params; - const car = await strapi.services.car.delete({id}); - return strapi.services.car.sanitize(car); + + try { + const car = await strapi.services.car.delete({id}); + return strapi.services.car.sanitize(car); + } catch (error) { + return ctx.badRequest('No car found'); + } }, };
M
backend/api/event/controllers/event.js
→
backend/api/event/controllers/event.js
@@ -4,7 +4,8 @@ module.exports = {
async findOne(ctx) { const uuid = ctx.params._uuid || ctx.params.uuid; const event = await strapi.services.event.findOne({uuid}); - return strapi.services.event.sanitize(event); + if (event) return strapi.services.event.sanitize(event); + else return ctx.badRequest('No event found'); }, async create(ctx) {@@ -21,10 +22,14 @@ async update(ctx) {
const uuid = ctx.params._uuid || ctx.params.uuid; const eventUpdate = ctx.request.body; - const updatedEvent = await strapi.services.event.update( - {uuid}, - eventUpdate - ); - return strapi.services.event.sanitize(updatedEvent); + try { + const updatedEvent = await strapi.services.event.update( + {uuid}, + eventUpdate + ); + return strapi.services.event.sanitize(updatedEvent); + } catch (error) { + return ctx.badRequest('No event found'); + } }, };