Ghost/ghost/admin/app/mixins/unauthenticated-route-mixin.js
Kevin Ansfield 9adbcd1fd0 Match service/controller import to ember-modules-codemod style for consistency
no issue

Automated tools, code generators, and editor integrations are increasingly standardising on the import style used in `ember-modules-codemod`. Our import style differed a little with regards to service/controller injection imports which meant we were starting to see inconsistent naming.
2017-10-30 09:38:01 +00:00

36 lines
1.2 KiB
JavaScript

import Mixin from '@ember/object/mixin';
import {inject as service} from '@ember/service';
export default Mixin.create({
ajax: service(),
ghostPaths: service(),
session: service(),
routeIfAlreadyAuthenticated: 'posts',
beforeModel() {
let authUrl = this.get('ghostPaths.url').api('authentication', 'setup');
// check the state of the setup process via the API
return this.get('ajax').request(authUrl).then((result) => {
let [setup] = result.setup;
if (setup.status !== true) {
this.transitionTo('setup');
} else {
// NOTE: this is the same as ESA's UnauthenticatedRouteMixin,
// adding that mixin to this and calling _super wasn't calling
// the ESA mixin's beforeModel method
if (this.get('session').get('isAuthenticated')) {
let routeIfAlreadyAuthenticated = this.get('routeIfAlreadyAuthenticated');
return this.transitionTo(routeIfAlreadyAuthenticated);
} else {
return this._super(...arguments);
}
}
});
}
});