Skip to content
Snippets Groups Projects
current-user.js 586 B
Newer Older
  • Learn to ignore specific revisions
  • Eugen Ciur's avatar
    Eugen Ciur committed
    import Service from '@ember/service';
    
    import { service } from '@ember/service';
    
    Eugen Ciur's avatar
    Eugen Ciur committed
    
    
    Eugen Ciur's avatar
    Eugen Ciur committed
    export default class CurrentUserService extends Service {
      @service session;
      @service store;
    
    
      user = null;
    
    
    Eugen Ciur's avatar
    Eugen Ciur committed
      async loadCurrentUser() {
    
        let adapter, user;
    
    Eugen Ciur's avatar
    Eugen Ciur committed
        if (this.isAuthenticated && this.user) {
          return this.user;
        }
    
    
    Eugen Ciur's avatar
    Eugen Ciur committed
        if (this.session.isAuthenticated) {
    
          adapter = this.store.adapterFor('user');
          user = await adapter.getCurrentUser();
    
          this.user = user;
    
    Eugen Ciur's avatar
    Eugen Ciur committed
        }
    
    Eugen Ciur's avatar
    Eugen Ciur committed
    
        return this.user;
    
    Eugen Ciur's avatar
    Eugen Ciur committed
      }
    
    
      get isAuthenticated() {
        return this.session.isAuthenticated;
      }