import Ember from 'ember';

export function initialize(appInstance) {
  appInstance.lookup('service:session').reopen({
    isAdmin: Ember.computed('jwt', function() {
      const isAdmin = this.get('jwt.is_admin');
      return (typeof isAdmin === 'boolean') ? isAdmin : false;
    }),

    jwt: Ember.computed('data.authenticated.access_token', function() {
      const accessToken = this.get('data.authenticated.access_token');
      if (!Ember.isBlank(accessToken)) {
        let parts = accessToken.split('.'),
          json = window.atob(parts[1]),
          hash = JSON.parse(json);

        return this.set('jwt', hash);
      }
      return {};
    })
  });
}

export default {
  name: 'extend-session',
  initialize
};