import AuthenticatedRoute from 'ghost-admin/routes/authenticated'; import {inject as service} from '@ember/service'; export default class MembersRoute extends AuthenticatedRoute { @service store; queryParams = { label: {refreshModel: true}, searchParam: {refreshModel: true, replace: true}, paidParam: {refreshModel: true}, orderParam: {refreshModel: true} }; // redirect to posts screen if: // - TODO: members is disabled? // - logged in user isn't owner/admin beforeModel() { super.beforeModel(...arguments); return this.session.user.then((user) => { if (!user.isOwnerOrAdmin) { return this.transitionTo('home'); } }); } model(params) { return this.controllerFor('members').fetchMembersTask.perform(params); } // trigger a background load of members plus labels for filter dropdown setupController(controller) { super.setupController(...arguments); controller.fetchLabelsTask.perform(); } buildRouteInfoMetadata() { return { titleToken: 'Members' }; } }