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 if (!uuid) throw new Error('No uuid provided');
7 const event = await strapi.services.event.findOne({uuid});
8 if (event) return strapi.services.event.sanitize(event);
9 else return ctx.badRequest('No event found');
10 },
11
12 async create(ctx) {
13 let event = ctx.request.body;
14 const user = ctx.state.user;
15
16 if (user) event = {...event, users: [user.id]};
17
18 const entity = await strapi.services.event.create(event);
19 return strapi.services.event.sanitize(entity);
20 },
21
22 async update(ctx) {
23 const uuid = ctx.params._uuid || ctx.params.uuid;
24 const eventUpdate = ctx.request.body;
25
26 try {
27 const updatedEvent = await strapi.services.event.update(
28 {uuid},
29 eventUpdate
30 );
31 return strapi.services.event.sanitize(updatedEvent);
32 } catch (error) {
33 return ctx.badRequest('No event found');
34 }
35 },
36};