diff --git a/addon/services/app-cache.js b/addon/services/app-cache.js index 4aaab00..3a1ba75 100644 --- a/addon/services/app-cache.js +++ b/addon/services/app-cache.js @@ -13,7 +13,8 @@ export default class AppCacheService extends Service { get cachePrefix() { const userId = this.currentUser.id ?? 'anon'; - return `${userId}:${this.currentUser.companyId}:`; + const companyId = this.currentUser.companyId ?? 'no-org'; + return `${userId}:${companyId}:`; } @action setEmberData(key, value, except = []) { diff --git a/addon/services/current-user.js b/addon/services/current-user.js index 8434877..b174a9c 100644 --- a/addon/services/current-user.js +++ b/addon/services/current-user.js @@ -65,14 +65,9 @@ export default class CurrentUserService extends Service.extend(Evented) { async load() { if (this.session.isAuthenticated) { const user = await this.store.findRecord('user', 'me'); - const snapshot = await this.getUserSnapshot(user); - this.set('user', user); - this.set('userSnapshot', snapshot); - this.trigger('user.loaded', user); - - // Set permissions - this.permissions = this.getUserPermissions(user); + // set user + this.setUser(user); // Load preferences await this.loadPreferences(); @@ -91,25 +86,9 @@ export default class CurrentUserService extends Service.extend(Evented) { try { const user = await this.store.queryRecord('user', { me: true }); - const snapshot = await this.getUserSnapshot(user); - - // Set current user - this.set('user', user); - this.set('userSnapshot', snapshot); - this.trigger('user.loaded', user); - - // Set permissions - this.permissions = this.getUserPermissions(user); - // Set environment from user option - this.theme.setEnvironment(); - - // Set locale - if (user.locale) { - this.setLocale(user.locale); - } else { - await this.loadLocale(); - } + // set user + this.setUser(user); // Load user whois data await this.loadWhois(); @@ -309,4 +288,26 @@ export default class CurrentUserService extends Service.extend(Evented) { return defaultValue; } + + async setUser(user) { + const snapshot = await this.getUserSnapshot(user); + + // Set current user + this.set('user', user); + this.set('userSnapshot', snapshot); + this.trigger('user.loaded', user); + + // Set permissions + this.permissions = this.getUserPermissions(user); + + // Set environment from user option + this.theme.setEnvironment(); + + // Set locale + if (user.locale) { + this.setLocale(user.locale); + } else { + await this.loadLocale(); + } + } } diff --git a/package.json b/package.json index fc7e85e..d22efcb 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@fleetbase/ember-core", - "version": "0.3.10", + "version": "0.3.11", "description": "Provides all the core services, decorators and utilities for building a Fleetbase extension for the Console.", "keywords": [ "fleetbase-core",