Ghost/ghost/admin/app/components/gh-members-no-members.js

39 lines
1.1 KiB
JavaScript
Raw Normal View History

import Component from '@ember/component';
import {inject as service} from '@ember/service';
import {task} from 'ember-concurrency';
export default Component.extend({
session: service(),
store: service(),
notifications: service(),
actions: {
addYourself() {
return this.add.perform();
}
},
add: task(function* () {
const member = this.store.createRecord('member', {
email: this.get('session.user.email'),
name: this.get('session.user.name')
});
try {
// NOTE: has to be before member.save() is performed otherwise component is
// destroyed before notification is shown
this.notifications.showNotification('Member added'.htmlSafe(),
{
description: 'You\'ve successfully added yourself as a member.'
}
);
return yield member.save();
} catch (error) {
if (error) {
this.notifications.showAPIError(error, {key: 'member.save'});
}
}
}).drop()
});