hummingbird-me/kitsu-web

View on GitHub
app/controllers/settings/linked-accounts.js

Summary

Maintainability
A
3 hrs
Test Coverage
F
0%
import Controller from '@ember/controller';
import { get } from '@ember/object';
import { inject as service } from '@ember/service';
import { task, taskGroup } from 'ember-concurrency';

export default Controller.extend({
  facebook: service(),
  facebookTasks: taskGroup().drop(),

  connectFacebook: task(function* () {
    yield get(this, 'facebook').connect(get(this, 'session.account')).catch(() => {
      get(this, 'session.account').rollbackAttributes();
    });
  }).group('facebookTasks'),

  disconnectFacebook: task(function* () {
    yield get(this, 'facebook').disconnect(get(this, 'session.account')).catch(() => {
      get(this, 'session.account').rollbackAttributes();
    });
  }).group('facebookTasks'),
});