Ghost/ghost/admin/app/routes/settings/integrations/zapier.js
Kevin Ansfield 75abe76346 Migrated route objects to native class syntax
no issue

- ran the `ember-native-class-codemod` codemod to convert just the route classes to native class syntax and performed some minor manual cleanup
  - modern Ember uses native classes rather than EmberObject-based objects, this brings us closer to normalizing our code style across the codebase
- skipped the Application route as that requires deeper testing with a replacement for the `ShortcutsRoute` mixin
2022-01-17 10:06:57 +00:00

41 lines
1.2 KiB
JavaScript

import AdminRoute from 'ghost-admin/routes/admin';
import {inject as service} from '@ember/service';
export default class ZapierRoute extends AdminRoute {
@service router;
@service config;
constructor() {
super(...arguments);
this.router.on('routeWillChange', () => {
if (this.controller) {
this.controller.set('selectedApiKey', null);
this.controller.set('isApiKeyRegenerated', false);
}
});
}
beforeModel() {
super.beforeModel(...arguments);
if (this.config.get('hostSettings.limits.customIntegrations.disabled')) {
return this.transitionTo('settings.integrations');
}
}
model(params, transition) {
// use the integrations controller to fetch all integrations and pick
// out the one we want. Allows navigation back to integrations screen
// without a loading state
return this
.controllerFor('settings.integrations')
.integrationModelHook('slug', 'zapier', this, transition);
}
buildRouteInfoMetadata() {
return {
titleToken: 'Zapier'
};
}
}