From 82f92c7c57cc016817a1a558ab41f1f5704bb783 Mon Sep 17 00:00:00 2001 From: les Date: Sat, 26 Oct 2019 00:27:12 +0200 Subject: [PATCH] [feat] embeddable event widget/iframe --- layouts/error.vue | 4 +- pages/embed/_event_id.vue | 119 +++++++++++++++++++++++++++++++++ server/api/controller/event.js | 5 +- 3 files changed, 124 insertions(+), 4 deletions(-) create mode 100644 pages/embed/_event_id.vue diff --git a/layouts/error.vue b/layouts/error.vue index 6c08605e..1445050e 100644 --- a/layouts/error.vue +++ b/layouts/error.vue @@ -1,6 +1,6 @@ diff --git a/pages/embed/_event_id.vue b/pages/embed/_event_id.vue new file mode 100644 index 00000000..1f598b09 --- /dev/null +++ b/pages/embed/_event_id.vue @@ -0,0 +1,119 @@ + + + \ No newline at end of file diff --git a/server/api/controller/event.js b/server/api/controller/event.js index 3f58f8ac..2a7f1dea 100644 --- a/server/api/controller/event.js +++ b/server/api/controller/event.js @@ -94,8 +94,7 @@ const eventController = { const format = req.params.format || 'json' const is_admin = req.user && req.user.is_admin const id = req.params.event_id - const event = await Event.findByPk(id, { - plain: true, + let event = await Event.findByPk(id, { attributes: { exclude: ['createdAt', 'updatedAt'] }, @@ -109,6 +108,8 @@ const eventController = { }) if (event && (event.is_visible || is_admin)) { + event = event.toJSON() + event.tags = event.tags.map(t => t.tag) if (format === 'json') { res.json(event) } else if (format === 'ics') {