0
Fork 0
mirror of https://github.com/TryGhost/Ghost.git synced 2025-02-17 23:44:39 -05:00

Moved parse-member-event helper to class syntax

no issue

- Added feature service in it
This commit is contained in:
Simon Backx 2022-08-25 16:42:19 +02:00
parent 4ac1a2c21e
commit 6e2579ec9d

View file

@ -1,15 +1,20 @@
import Helper from '@ember/component/helper';
import moment from 'moment'; import moment from 'moment';
import {getNonDecimal, getSymbol} from 'ghost-admin/utils/currency'; import {getNonDecimal, getSymbol} from 'ghost-admin/utils/currency';
import {inject as service} from '@ember/service';
export default function parseMemberEvent(event, hasMultipleNewsletters) { export default class ParseMemberEventHelper extends Helper {
@service feature;
compute([event, hasMultipleNewsletters]) {
const subject = event.data.member.name || event.data.member.email; const subject = event.data.member.name || event.data.member.email;
const icon = getIcon(event); const icon = this.getIcon(event);
const action = getAction(event, hasMultipleNewsletters); const action = this.getAction(event, hasMultipleNewsletters);
const info = getInfo(event); const info = this.getInfo(event);
const join = getJoin(event); const join = this.getJoin(event);
const object = getObject(event); const object = this.getObject(event);
const url = getURL(event); const url = this.getURL(event);
const timestamp = moment(event.data.created_at); const timestamp = moment(event.data.created_at);
return { return {
@ -29,8 +34,7 @@ export default function parseMemberEvent(event, hasMultipleNewsletters) {
} }
/* internal helper functions */ /* internal helper functions */
getIcon(event) {
function getIcon(event) {
let icon; let icon;
if (event.type === 'signup_event') { if (event.type === 'signup_event') {
@ -80,7 +84,7 @@ function getIcon(event) {
return 'event-' + icon; return 'event-' + icon;
} }
function getAction(event, hasMultipleNewsletters) { getAction(event, hasMultipleNewsletters) {
if (event.type === 'signup_event') { if (event.type === 'signup_event') {
return 'signed up'; return 'signed up';
} }
@ -155,7 +159,7 @@ function getAction(event, hasMultipleNewsletters) {
* -> do this by returning 'on' in getJoin() * -> do this by returning 'on' in getJoin()
* This string is not added when action and object are in a separete table column, or when the getObject/getURL is empty * This string is not added when action and object are in a separete table column, or when the getObject/getURL is empty
*/ */
function getJoin(event) { getJoin(event) {
if (event.type === 'signup_event' || event.type === 'subscription_event') { if (event.type === 'signup_event' || event.type === 'subscription_event') {
if (event.data.attribution?.title) { if (event.data.attribution?.title) {
return 'on'; return 'on';
@ -174,7 +178,7 @@ function getJoin(event) {
/** /**
* Clickable object, shown between action and info, or in a separate column in some views * Clickable object, shown between action and info, or in a separate column in some views
*/ */
function getObject(event) { getObject(event) {
if (event.type === 'signup_event' || event.type === 'subscription_event') { if (event.type === 'signup_event' || event.type === 'subscription_event') {
if (event.data.attribution?.title) { if (event.data.attribution?.title) {
return event.data.attribution.title; return event.data.attribution.title;
@ -190,7 +194,7 @@ function getObject(event) {
return ''; return '';
} }
function getInfo(event) { getInfo(event) {
if (event.type === 'subscription_event') { if (event.type === 'subscription_event') {
let mrrDelta = getNonDecimal(event.data.mrr_delta, event.data.currency); let mrrDelta = getNonDecimal(event.data.mrr_delta, event.data.currency);
if (mrrDelta === 0) { if (mrrDelta === 0) {
@ -206,7 +210,7 @@ function getInfo(event) {
/** /**
* Make the object clickable * Make the object clickable
*/ */
function getURL(event) { getURL(event) {
if (event.type === 'comment_event') { if (event.type === 'comment_event') {
if (event.data.post) { if (event.data.post) {
return event.data.post.url; return event.data.post.url;
@ -220,3 +224,5 @@ function getURL(event) {
} }
return; return;
} }
}