Files

51 lines
1.4 KiB
JavaScript

import Ember from 'ember';
import SessionService from 'ember-simple-auth/services/session';
const {
observer,
} = Ember;
export default SessionService.extend({
/*
* Services
*/
dataStore: Ember.inject.service('store'),
userId: Ember.computed.alias('session.authenticated.user_id'),
email: Ember.computed.alias('session.authenticated.email'),
token: Ember.computed.alias('session.authenticated.token'),
settings: Ember.computed.alias('session.authenticated.settings'),
notificationChannel: Ember.computed.alias('settings.notificationChannel'),
discourseUrl: Ember.computed.alias('settings.discourseUrl'),
discourseEnabled: Ember.computed.alias('settings.discourseEnabled'),
currentUser: Ember.computed('isAuthenticated', function() {
if (this.get('isAuthenticated')) {
return this.get('dataStore').find('user', this.get('session.authenticated.user_id'));
} else {
return null;
}
}),
fullStoryInitialized: false,
isMobileDevice: Ember.computed(function() {
return /iPad|iPhone|iPod|Android/.test(navigator.userAgent);
}),
actualUser: null,
actualUserObserver: observer('isAuthenticated', function() {
if (this.get('isAuthenticated')) {
this.get('dataStore').find('user', this.get('session.authenticated.user_id')).then((user) => {
this.set('actualUser', user);
});
} else {
this.set('actualUser', null);
}
}),
});