backend/api/event/controllers/event.js (view raw)
1'use strict';
2
3module.exports = {
4 async findOne(ctx) {
5 const uuid = ctx.params._uuid || ctx.params.uuid;
6 const event = await strapi.services.event.findOne({uuid});
7 if (event) return strapi.services.event.sanitize(event);
8 else return ctx.badRequest('No event found');
9 },
10
11 async create(ctx) {
12 let event = ctx.request.body;
13 const user = ctx.state.user;
14
15 if (user) event = {...event, users: [user.id]};
16
17 const entity = await strapi.services.event.create(event);
18 return strapi.services.event.sanitize(entity);
19 },
20
21 async update(ctx) {
22 const uuid = ctx.params._uuid || ctx.params.uuid;
23 const eventUpdate = ctx.request.body;
24
25 try {
26 const updatedEvent = await strapi.services.event.update(
27 {uuid},
28 eventUpdate
29 );
30 return strapi.services.event.sanitize(updatedEvent);
31 } catch (error) {
32 strapi.log.error(error);
33 return ctx.badRequest('No event found');
34 }
35 },
36};