mirror of
https://github.com/TryGhost/Ghost.git
synced 2025-02-03 23:00:14 -05:00
ed16998461
refs #6421, #6525 - The configuration API endpoint was a bit of an animal: - It's used currently in two ways, once for general config, another for the about page. - These two things are different, and would require different permissions in future. - There was also both a browse and a read version, even though only browse was used. - The response from the browse was being artificially turned into many objects, when its really just one with multiple keys - The new version treats each type of config as a different single object with several keys - The new version therefore only has a 'read' request - A basic read request with no key will return basic config that any client would need - A read request with the about key returns the about config - A read request with a different key could therefore return some other config
36 lines
883 B
JavaScript
36 lines
883 B
JavaScript
import Ember from 'ember';
|
|
import AuthenticatedRoute from 'ghost/routes/authenticated';
|
|
import styleBody from 'ghost/mixins/style-body';
|
|
|
|
const {
|
|
inject: {service}
|
|
} = Ember;
|
|
|
|
export default AuthenticatedRoute.extend(styleBody, {
|
|
titleToken: 'About',
|
|
|
|
classNames: ['view-about'],
|
|
|
|
ghostPaths: service(),
|
|
ajax: service(),
|
|
|
|
cachedConfig: false,
|
|
|
|
model() {
|
|
let cachedConfig = this.get('cachedConfig');
|
|
let configUrl = this.get('ghostPaths.url').api('configuration', 'about');
|
|
|
|
if (cachedConfig) {
|
|
return cachedConfig;
|
|
}
|
|
|
|
return this.get('ajax').request(configUrl)
|
|
.then((configurationResponse) => {
|
|
let [cachedConfig] = configurationResponse.configuration;
|
|
|
|
this.set('cachedConfig', cachedConfig);
|
|
|
|
return cachedConfig;
|
|
});
|
|
}
|
|
});
|