import Route from '@ember/routing/route'; import { inject as service } from '@ember/service'; import AuthenticatedRouteMixin from 'ember-simple-auth/mixins/authenticated-route-mixin'; export default Route.extend(AuthenticatedRouteMixin, { userAliasData: service(), userAliasDetailData: service(), userManagementData: service(), session: service(), sessionAccount: service(), router: service(), async beforeModel() { return this.sessionAccount.loadCurrentUser(); }, init() { this._super(...arguments); }, async model() { let currentUser = this.sessionAccount.currentUser; if (currentUser == null || currentUser == undefined) { this.router.transitionTo("login"); } let filter = "{\"userManagement\" : {\"eq\" : \"" + currentUser.id + "\"} }"; filter = JSON.parse(filter); let result = await this.userAliasData.getList({ filter: filter, include: "user-management,user-alias-details" }); if (result == null || result == undefined) { this.router.transitionTo("home.index"); } if (result.length <= 0) { this.router.transitionTo("home.index"); } let userAlias = result.get("firstObject"); this.userAliasData.getData(userAlias.id, { include: "user-management,user-alias-details" }).then(async response => { await this.userAliasDetailData.getList({include: 'user-management', filter:{"userAlias" : { "eq" : response.id}}}).then(responseDetail => { responseDetail.forEach(itemDetail => { itemDetail.get("userManagement").then(async itemUser => { if (itemUser != null) { let responseUser = await this.userManagementData.getData(itemUser.id, {include: "dealer"}); itemDetail.set("userManagement", responseUser); } }); }); }); }); return userAlias; }, });