From d494e01d6b931d7903bd773af4c682b3d05239d9 Mon Sep 17 00:00:00 2001 From: Kevin Ansfield Date: Fri, 21 Jan 2022 15:50:31 +0000 Subject: [PATCH] Updated to handle email events refs https://github.com/TryGhost/Team/issues/1277 - if email events were passed through the parser they had blank actions and objects - added `opened`, `received`, and `failed to receive` actions for email events - changed object to equal `an email` for any email events --- .../gh-member-activity-event-parser.js | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/ghost/admin/app/components/gh-member-activity-event-parser.js b/ghost/admin/app/components/gh-member-activity-event-parser.js index a604abc3da..7ecc0f42f4 100644 --- a/ghost/admin/app/components/gh-member-activity-event-parser.js +++ b/ghost/admin/app/components/gh-member-activity-event-parser.js @@ -15,6 +15,7 @@ export default class EventTimeline extends Component { let object = this.getObject(event); let info = this.getInfo(event); let timestamp = moment(event.data.created_at).fromNow(); + return { member_id: event.data.member_id, icon, @@ -63,6 +64,18 @@ export default class EventTimeline extends Component { return 'changed'; } + + if (event.type === 'email_opened_event') { + return 'opened'; + } + + if (event.type === 'email_delivered_event') { + return 'received'; + } + + if (event.type === 'email_failed_event') { + return 'failed to receive'; + } } getObject(event) { @@ -74,6 +87,10 @@ export default class EventTimeline extends Component { return 'their subscription'; } + if (event.type.match?.(/^email_/)) { + return 'an email'; + } + return ''; }