mirror of
https://github.com/TryGhost/Ghost.git
synced 2025-01-06 22:40:14 -05:00
Refactored method urlFor
to use versionType instead of admin: true
no issue - Updated urlFor to work with versionType instead of admin:true - Updated tests to use the correct method call
This commit is contained in:
parent
a49bbfb9d6
commit
dd151f3713
6 changed files with 28 additions and 29 deletions
|
@ -44,7 +44,7 @@ function initialiseServices() {
|
||||||
scheduling.init({
|
scheduling.init({
|
||||||
schedulerUrl: config.get('scheduling').schedulerUrl,
|
schedulerUrl: config.get('scheduling').schedulerUrl,
|
||||||
active: config.get('scheduling').active,
|
active: config.get('scheduling').active,
|
||||||
apiUrl: urlService.utils.urlFor('api', {version: 'deprecated'}, true),
|
apiUrl: urlService.utils.urlFor('api', {version: 'deprecated', versionType: 'content'}, true),
|
||||||
internalPath: config.get('paths').internalSchedulingPath,
|
internalPath: config.get('paths').internalSchedulingPath,
|
||||||
contentPath: config.getContentPath('scheduling')
|
contentPath: config.getContentPath('scheduling')
|
||||||
})
|
})
|
||||||
|
|
|
@ -327,8 +327,7 @@ function urlFor(context, data, absolute) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (data && data.version) {
|
if (data && data.version) {
|
||||||
let versionType = data.admin ? 'admin' : 'content';
|
apiPath = getApiPath({version: data.version, type: data.versionType});
|
||||||
apiPath = getApiPath({version: data.version, type: versionType});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (absolute) {
|
if (absolute) {
|
||||||
|
|
|
@ -39,7 +39,7 @@ module.exports = function setupParentApp(options = {}) {
|
||||||
// API
|
// API
|
||||||
// @TODO: finish refactoring the API app
|
// @TODO: finish refactoring the API app
|
||||||
// @TODO: decide what to do with these paths - config defaults? config overrides?
|
// @TODO: decide what to do with these paths - config defaults? config overrides?
|
||||||
parentApp.use(urlUtils.getApiPath({version: 'deprecated', type: 'content'}), require('./api/v0.1/app')());
|
parentApp.use(urlUtils.getApiPath({version: 'deprecated'}), require('./api/v0.1/app')());
|
||||||
parentApp.use(urlUtils.getApiPath({version: 'active', type: 'content'}), require('./api/v2/content/app')());
|
parentApp.use(urlUtils.getApiPath({version: 'active', type: 'content'}), require('./api/v2/content/app')());
|
||||||
parentApp.use(urlUtils.getApiPath({version: 'active', type: 'admin'}), require('./api/v2/admin/app')());
|
parentApp.use(urlUtils.getApiPath({version: 'active', type: 'admin'}), require('./api/v2/admin/app')());
|
||||||
|
|
||||||
|
|
|
@ -26,7 +26,7 @@ function servePublicFile(file, type, maxAge) {
|
||||||
|
|
||||||
if (type === 'text/xsl' || type === 'text/plain' || type === 'application/javascript') {
|
if (type === 'text/xsl' || type === 'text/plain' || type === 'application/javascript') {
|
||||||
buf = buf.toString().replace(blogRegex, urlService.utils.urlFor('home', true).replace(/\/$/, ''));
|
buf = buf.toString().replace(blogRegex, urlService.utils.urlFor('home', true).replace(/\/$/, ''));
|
||||||
buf = buf.toString().replace(apiRegex, urlService.utils.urlFor('api', {cors: true, version: 'deprecated'}, true));
|
buf = buf.toString().replace(apiRegex, urlService.utils.urlFor('api', {cors: true, version: 'deprecated', versionType: 'content'}, true));
|
||||||
}
|
}
|
||||||
content = {
|
content = {
|
||||||
headers: {
|
headers: {
|
||||||
|
|
|
@ -27,7 +27,7 @@ describe('Ghost Ajax Helper', function () {
|
||||||
ghostSdk.init({
|
ghostSdk.init({
|
||||||
clientId: '',
|
clientId: '',
|
||||||
clientSecret: '',
|
clientSecret: '',
|
||||||
url: urlService.utils.urlFor('api', {cors: true, version: 'deprecated'}, true)
|
url: urlService.utils.urlFor('api', {cors: true, version: 'deprecated', versionType: 'content'}, true)
|
||||||
});
|
});
|
||||||
|
|
||||||
ghostSdk.url.api().should.equal('//testblog.com/ghost/api/v0.1/');
|
ghostSdk.url.api().should.equal('//testblog.com/ghost/api/v0.1/');
|
||||||
|
@ -41,7 +41,7 @@ describe('Ghost Ajax Helper', function () {
|
||||||
ghostSdk.init({
|
ghostSdk.init({
|
||||||
clientId: '',
|
clientId: '',
|
||||||
clientSecret: '',
|
clientSecret: '',
|
||||||
url: urlService.utils.urlFor('api', {cors: true, version: 'deprecated'}, true)
|
url: urlService.utils.urlFor('api', {cors: true, version: 'deprecated', versionType: 'content'}, true)
|
||||||
});
|
});
|
||||||
|
|
||||||
ghostSdk.url.api().should.equal('https://testblog.com/ghost/api/v0.1/');
|
ghostSdk.url.api().should.equal('https://testblog.com/ghost/api/v0.1/');
|
||||||
|
@ -58,7 +58,7 @@ describe('Ghost Ajax Helper', function () {
|
||||||
ghostSdk.init({
|
ghostSdk.init({
|
||||||
clientId: '',
|
clientId: '',
|
||||||
clientSecret: '',
|
clientSecret: '',
|
||||||
url: urlService.utils.urlFor('api', {cors: true, version: 'deprecated'}, true)
|
url: urlService.utils.urlFor('api', {cors: true, version: 'deprecated', versionType: 'content'}, true)
|
||||||
});
|
});
|
||||||
|
|
||||||
ghostSdk.url.api().should.equal('https://admin.testblog.com/ghost/api/v0.1/');
|
ghostSdk.url.api().should.equal('https://admin.testblog.com/ghost/api/v0.1/');
|
||||||
|
@ -68,7 +68,7 @@ describe('Ghost Ajax Helper', function () {
|
||||||
ghostSdk.init({
|
ghostSdk.init({
|
||||||
clientId: '',
|
clientId: '',
|
||||||
clientSecret: '',
|
clientSecret: '',
|
||||||
url: urlService.utils.urlFor('api', {cors: true, version: 'deprecated'}, true)
|
url: urlService.utils.urlFor('api', {cors: true, version: 'deprecated', versionType: 'content'}, true)
|
||||||
});
|
});
|
||||||
|
|
||||||
ghostSdk.url.api('a/', '/b', '/c/').should.equal('//testblog.com/ghost/api/v0.1/a/b/c/');
|
ghostSdk.url.api('a/', '/b', '/c/').should.equal('//testblog.com/ghost/api/v0.1/a/b/c/');
|
||||||
|
@ -78,7 +78,7 @@ describe('Ghost Ajax Helper', function () {
|
||||||
ghostSdk.init({
|
ghostSdk.init({
|
||||||
clientId: 'ghost-frontend',
|
clientId: 'ghost-frontend',
|
||||||
clientSecret: 'notasecret',
|
clientSecret: 'notasecret',
|
||||||
url: urlService.utils.urlFor('api', {cors: true, version: 'deprecated'}, true)
|
url: urlService.utils.urlFor('api', {cors: true, version: 'deprecated', versionType: 'content'}, true)
|
||||||
});
|
});
|
||||||
|
|
||||||
ghostSdk.url.api().should.equal('//testblog.com/ghost/api/v0.1/?client_id=ghost-frontend&client_secret=notasecret');
|
ghostSdk.url.api().should.equal('//testblog.com/ghost/api/v0.1/?client_id=ghost-frontend&client_secret=notasecret');
|
||||||
|
@ -88,7 +88,7 @@ describe('Ghost Ajax Helper', function () {
|
||||||
ghostSdk.init({
|
ghostSdk.init({
|
||||||
clientId: 'ghost-frontend',
|
clientId: 'ghost-frontend',
|
||||||
clientSecret: 'notasecret',
|
clientSecret: 'notasecret',
|
||||||
url: urlService.utils.urlFor('api', {cors: true, version: 'deprecated'}, true)
|
url: urlService.utils.urlFor('api', {cors: true, version: 'deprecated', versionType: 'content'}, true)
|
||||||
});
|
});
|
||||||
|
|
||||||
var rendered = ghostSdk.url.api({a: 'string', b: 5, c: 'en coded'});
|
var rendered = ghostSdk.url.api({a: 'string', b: 5, c: 'en coded'});
|
||||||
|
@ -126,7 +126,7 @@ describe('Ghost Ajax Helper', function () {
|
||||||
ghostSdk.init({
|
ghostSdk.init({
|
||||||
clientId: 'ghost-frontend',
|
clientId: 'ghost-frontend',
|
||||||
clientSecret: 'notasecret',
|
clientSecret: 'notasecret',
|
||||||
url: urlService.utils.urlFor('api', {cors: true, version: 'deprecated'}, true)
|
url: urlService.utils.urlFor('api', {cors: true, version: 'deprecated', versionType: 'content'}, true)
|
||||||
});
|
});
|
||||||
|
|
||||||
var rendered = ghostSdk.url.api('posts/', '/tags/', '/count', {include: 'tags,tests', page: 2});
|
var rendered = ghostSdk.url.api('posts/', '/tags/', '/count', {include: 'tags,tests', page: 2});
|
||||||
|
@ -146,7 +146,7 @@ describe('Ghost Ajax Helper', function () {
|
||||||
ghostSdk.init({
|
ghostSdk.init({
|
||||||
clientId: 'ghost-frontend',
|
clientId: 'ghost-frontend',
|
||||||
clientSecret: 'notasecret',
|
clientSecret: 'notasecret',
|
||||||
url: urlService.utils.urlFor('api', {version: 'deprecated'}, true)
|
url: urlService.utils.urlFor('api', {version: 'deprecated', versionType: 'content'}, true)
|
||||||
});
|
});
|
||||||
|
|
||||||
var rendered = ghostSdk.url.api('posts/', '/tags/', '/count', {include: 'tags,tests', page: 2});
|
var rendered = ghostSdk.url.api('posts/', '/tags/', '/count', {include: 'tags,tests', page: 2});
|
||||||
|
@ -165,7 +165,7 @@ describe('Ghost Ajax Helper', function () {
|
||||||
ghostSdk.init({
|
ghostSdk.init({
|
||||||
clientId: 'ghost-frontend',
|
clientId: 'ghost-frontend',
|
||||||
clientSecret: 'notasecret',
|
clientSecret: 'notasecret',
|
||||||
url: urlService.utils.urlFor('api', {version: 'deprecated'}, true)
|
url: urlService.utils.urlFor('api', {version: 'deprecated', versionType: 'content'}, true)
|
||||||
});
|
});
|
||||||
|
|
||||||
var rendered = ghostSdk.url.api('posts/', '/tags/', '/count', {include: 'tags,tests', page: 2});
|
var rendered = ghostSdk.url.api('posts/', '/tags/', '/count', {include: 'tags,tests', page: 2});
|
||||||
|
@ -185,7 +185,7 @@ describe('Ghost Ajax Helper', function () {
|
||||||
ghostSdk.init({
|
ghostSdk.init({
|
||||||
clientId: 'ghost-frontend',
|
clientId: 'ghost-frontend',
|
||||||
clientSecret: 'notasecret',
|
clientSecret: 'notasecret',
|
||||||
url: urlService.utils.urlFor('api', {cors: true, version: 'deprecated'}, true)
|
url: urlService.utils.urlFor('api', {cors: true, version: 'deprecated', versionType: 'content'}, true)
|
||||||
});
|
});
|
||||||
|
|
||||||
var rendered = ghostSdk.url.api('posts', {limit: 3}),
|
var rendered = ghostSdk.url.api('posts', {limit: 3}),
|
||||||
|
|
|
@ -446,7 +446,7 @@ describe('Url', function () {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
urlService.utils.urlFor('api', {version: 'deprecated'}, true).should.eql('https://something.de/ghost/api/v0.1/');
|
urlService.utils.urlFor('api', {version: 'deprecated', versionType: 'content'}, true).should.eql('https://something.de/ghost/api/v0.1/');
|
||||||
});
|
});
|
||||||
|
|
||||||
it('api: url has subdir', function () {
|
it('api: url has subdir', function () {
|
||||||
|
@ -454,11 +454,11 @@ describe('Url', function () {
|
||||||
url: 'http://my-ghost-blog.com/blog'
|
url: 'http://my-ghost-blog.com/blog'
|
||||||
});
|
});
|
||||||
|
|
||||||
urlService.utils.urlFor('api', {version: 'deprecated'}, true).should.eql('http://my-ghost-blog.com/blog/ghost/api/v0.1/');
|
urlService.utils.urlFor('api', {version: 'deprecated', versionType: 'content'}, true).should.eql('http://my-ghost-blog.com/blog/ghost/api/v0.1/');
|
||||||
});
|
});
|
||||||
|
|
||||||
it('api: relative path is correct', function () {
|
it('api: relative path is correct', function () {
|
||||||
urlService.utils.urlFor('api', {version: 'deprecated'}).should.eql('/ghost/api/v0.1/');
|
urlService.utils.urlFor('api', {version: 'deprecated', versionType: 'content'}).should.eql('/ghost/api/v0.1/');
|
||||||
});
|
});
|
||||||
|
|
||||||
it('api: relative path with subdir is correct', function () {
|
it('api: relative path with subdir is correct', function () {
|
||||||
|
@ -466,7 +466,7 @@ describe('Url', function () {
|
||||||
url: 'http://my-ghost-blog.com/blog'
|
url: 'http://my-ghost-blog.com/blog'
|
||||||
});
|
});
|
||||||
|
|
||||||
urlService.utils.urlFor('api', {version: 'deprecated'}).should.eql('/blog/ghost/api/v0.1/');
|
urlService.utils.urlFor('api', {version: 'deprecated', versionType: 'content'}).should.eql('/blog/ghost/api/v0.1/');
|
||||||
});
|
});
|
||||||
|
|
||||||
it('api: should return http if config.url is http', function () {
|
it('api: should return http if config.url is http', function () {
|
||||||
|
@ -474,7 +474,7 @@ describe('Url', function () {
|
||||||
url: 'http://my-ghost-blog.com'
|
url: 'http://my-ghost-blog.com'
|
||||||
});
|
});
|
||||||
|
|
||||||
urlService.utils.urlFor('api', {version: 'deprecated'}, true).should.eql('http://my-ghost-blog.com/ghost/api/v0.1/');
|
urlService.utils.urlFor('api', {version: 'deprecated', versionType: 'content'}, true).should.eql('http://my-ghost-blog.com/ghost/api/v0.1/');
|
||||||
});
|
});
|
||||||
|
|
||||||
it('api: should return https if config.url is https', function () {
|
it('api: should return https if config.url is https', function () {
|
||||||
|
@ -482,7 +482,7 @@ describe('Url', function () {
|
||||||
url: 'https://my-ghost-blog.com'
|
url: 'https://my-ghost-blog.com'
|
||||||
});
|
});
|
||||||
|
|
||||||
urlService.utils.urlFor('api', {version: 'deprecated'}, true).should.eql('https://my-ghost-blog.com/ghost/api/v0.1/');
|
urlService.utils.urlFor('api', {version: 'deprecated', versionType: 'content'}, true).should.eql('https://my-ghost-blog.com/ghost/api/v0.1/');
|
||||||
});
|
});
|
||||||
|
|
||||||
it('api: with cors, blog url is http: should return no protocol', function () {
|
it('api: with cors, blog url is http: should return no protocol', function () {
|
||||||
|
@ -490,7 +490,7 @@ describe('Url', function () {
|
||||||
url: 'http://my-ghost-blog.com'
|
url: 'http://my-ghost-blog.com'
|
||||||
});
|
});
|
||||||
|
|
||||||
urlService.utils.urlFor('api', {cors: true, version: 'deprecated'}, true).should.eql('//my-ghost-blog.com/ghost/api/v0.1/');
|
urlService.utils.urlFor('api', {cors: true, version: 'deprecated', versionType: 'content'}, true).should.eql('//my-ghost-blog.com/ghost/api/v0.1/');
|
||||||
});
|
});
|
||||||
|
|
||||||
it('api: with cors, admin url is http: cors should return no protocol', function () {
|
it('api: with cors, admin url is http: cors should return no protocol', function () {
|
||||||
|
@ -501,7 +501,7 @@ describe('Url', function () {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
urlService.utils.urlFor('api', {cors: true, version: 'deprecated'}, true).should.eql('//admin.ghost.example/ghost/api/v0.1/');
|
urlService.utils.urlFor('api', {cors: true, version: 'deprecated', versionType: 'content'}, true).should.eql('//admin.ghost.example/ghost/api/v0.1/');
|
||||||
});
|
});
|
||||||
|
|
||||||
it('api: with cors, admin url is https: should return with protocol', function () {
|
it('api: with cors, admin url is https: should return with protocol', function () {
|
||||||
|
@ -512,7 +512,7 @@ describe('Url', function () {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
urlService.utils.urlFor('api', {cors: true, version: 'deprecated'}, true).should.eql('https://admin.ghost.example/ghost/api/v0.1/');
|
urlService.utils.urlFor('api', {cors: true, version: 'deprecated', versionType: 'content'}, true).should.eql('https://admin.ghost.example/ghost/api/v0.1/');
|
||||||
});
|
});
|
||||||
|
|
||||||
it('api: with cors, blog url is https: should return with protocol', function () {
|
it('api: with cors, blog url is https: should return with protocol', function () {
|
||||||
|
@ -520,7 +520,7 @@ describe('Url', function () {
|
||||||
url: 'https://my-ghost-blog.com'
|
url: 'https://my-ghost-blog.com'
|
||||||
});
|
});
|
||||||
|
|
||||||
urlService.utils.urlFor('api', {cors: true, version: 'deprecated'}, true).should.eql('https://my-ghost-blog.com/ghost/api/v0.1/');
|
urlService.utils.urlFor('api', {cors: true, version: 'deprecated', versionType: 'content'}, true).should.eql('https://my-ghost-blog.com/ghost/api/v0.1/');
|
||||||
});
|
});
|
||||||
|
|
||||||
it('api: with stable version, blog url is https: should return stable content api path', function () {
|
it('api: with stable version, blog url is https: should return stable content api path', function () {
|
||||||
|
@ -528,7 +528,7 @@ describe('Url', function () {
|
||||||
url: 'https://my-ghost-blog.com'
|
url: 'https://my-ghost-blog.com'
|
||||||
});
|
});
|
||||||
|
|
||||||
urlService.utils.urlFor('api', {cors: true, version: "deprecated"}, true).should.eql('https://my-ghost-blog.com/ghost/api/v0.1/');
|
urlService.utils.urlFor('api', {cors: true, version: "deprecated", versionType: 'content'}, true).should.eql('https://my-ghost-blog.com/ghost/api/v0.1/');
|
||||||
});
|
});
|
||||||
|
|
||||||
it('api: with stable version and admin true, blog url is https: should return stable admin api path', function () {
|
it('api: with stable version and admin true, blog url is https: should return stable admin api path', function () {
|
||||||
|
@ -536,7 +536,7 @@ describe('Url', function () {
|
||||||
url: 'https://my-ghost-blog.com'
|
url: 'https://my-ghost-blog.com'
|
||||||
});
|
});
|
||||||
|
|
||||||
urlService.utils.urlFor('api', {cors: true, version: "deprecated", admin: true}, true).should.eql('https://my-ghost-blog.com/ghost/api/v0.1/');
|
urlService.utils.urlFor('api', {cors: true, version: "deprecated", versionType: 'admin'}, true).should.eql('https://my-ghost-blog.com/ghost/api/v0.1/');
|
||||||
});
|
});
|
||||||
|
|
||||||
it('api: with active version, blog url is https: should return active content api path', function () {
|
it('api: with active version, blog url is https: should return active content api path', function () {
|
||||||
|
@ -544,7 +544,7 @@ describe('Url', function () {
|
||||||
url: 'https://my-ghost-blog.com'
|
url: 'https://my-ghost-blog.com'
|
||||||
});
|
});
|
||||||
|
|
||||||
urlService.utils.urlFor('api', {cors: true, version: "active"}, true).should.eql('https://my-ghost-blog.com/ghost/api/v2/content/');
|
urlService.utils.urlFor('api', {cors: true, version: "active", versionType: 'content'}, true).should.eql('https://my-ghost-blog.com/ghost/api/v2/content/');
|
||||||
});
|
});
|
||||||
|
|
||||||
it('api: with active version and admin true, blog url is https: should return active admin api path', function () {
|
it('api: with active version and admin true, blog url is https: should return active admin api path', function () {
|
||||||
|
@ -552,7 +552,7 @@ describe('Url', function () {
|
||||||
url: 'https://my-ghost-blog.com'
|
url: 'https://my-ghost-blog.com'
|
||||||
});
|
});
|
||||||
|
|
||||||
urlService.utils.urlFor('api', {cors: true, version: "active", admin: true}, true).should.eql('https://my-ghost-blog.com/ghost/api/v2/admin/');
|
urlService.utils.urlFor('api', {cors: true, version: "active", versionType: 'admin'}, true).should.eql('https://my-ghost-blog.com/ghost/api/v2/admin/');
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue