import RSVP from 'rsvp'; import Service, { inject as service } from '@ember/service'; import { isEmpty } from '@ember/utils'; export default Service.extend({ session: service('session'), store: service(), privilegeInfoData: service(), fcm: service(), loadCurrentUser() { return new RSVP.Promise((resolve, reject) => { const accessToken = this.get('session.data.authenticated.access_token'); if(!isEmpty(accessToken)) { return this.store.queryRecord('core-user', { me: true, include: 'core-tenant,core-locale,core-user-group,core-privilege-info,user-managements,fcm-tokens' }).then(user => { this.set('currentUser', user); let userGroupId = user.get("coreUserGroup").get("id"); if (userGroupId != null && userGroupId != undefined) { let filter = '{ "group_id" : " ' + userGroupId + '"}'; filter = JSON.parse(filter); let privilegeInfo = this.privilegeInfoData.getList({ include: 'core-user-group,core-function-info', filter:filter }); this.set('currentPrivilegeInfo', privilegeInfo); } this.fcm.registerToken(user); resolve(); }, reject); } resolve(); }); }, });