Ghost/ghost/admin/app/services/config.js
Kevin Ansfield ec760ca2f6 🐛 fix double slashes in URLs (#506)
no issue

- update `config` service normalise blogUrl to non-trailing slash to match previous API behaviour
- fixes double slashes appearing in places around the app
- fixes "Redirect URI Mismatch" errors when using Ghost OAuth due to the double slashes
2017-01-26 13:45:11 +01:00

44 lines
1.3 KiB
JavaScript

import Ember from 'ember';
import Service from 'ember-service';
import computed from 'ember-computed';
import injectService from 'ember-service/inject';
import {isBlank} from 'ember-utils';
// ember-cli-shims doesn't export _ProxyMixin ot testing
const {_ProxyMixin} = Ember;
export default Service.extend(_ProxyMixin, {
ajax: injectService(),
ghostPaths: injectService(),
content: {},
fetch() {
let configUrl = this.get('ghostPaths.url').api('configuration');
return this.get('ajax').request(configUrl).then((config) => {
// normalize blogUrl to non-trailing-slash
let [{blogUrl}] = config.configuration;
config.configuration[0].blogUrl = blogUrl.replace(/\/$/, '');
this.set('content', config.configuration[0]);
});
},
availableTimezones: computed(function () {
let timezonesUrl = this.get('ghostPaths.url').api('configuration', 'timezones');
return this.get('ajax').request(timezonesUrl).then((configTimezones) => {
let [timezonesObj] = configTimezones.configuration;
timezonesObj = timezonesObj.timezones;
return timezonesObj;
});
}),
ghostOAuth: computed('ghostAuthId', function () {
return !isBlank(this.get('ghostAuthId'));
})
});