import config from 'travis/config/environment'; import Ember from 'ember'; export default Ember.Service.extend({ store: Ember.inject.service(), storage: Ember.inject.service(), sessionStorage: Ember.inject.service(), ajax: Ember.inject.service(), state: "signed-out", receivingEnd: location.protocol + "//" + location.host, init: function() { return window.addEventListener('message', (e) => { return this.receiveMessage(e); }); }, token() { return this.get('sessionStorage').getItem('travis.token'); }, endpoint: function() { return config.authEndpoint || config.apiEndpoint; }.property(), signOut: function() { var user; this.get('storage').removeItem('travis.user'); this.get('storage').removeItem('travis.token'); this.get('sessionStorage').clear(); this.set('state', 'signed-out'); this.set('user', void 0); if (user = this.get('currentUser')) { this.get('store').unloadAll('user'); } this.set('currentUser', null); this.sendToApp('afterSignOut'); return Travis.trigger('user:signed_out'); }, signIn(data) { var url; if (data) { return this.autoSignIn(data); } else { this.set('state', 'signing-in'); url = (this.get('endpoint')) + "/auth/post_message?origin=" + this.receivingEnd; return $('