diff --git a/core/frontend/services/routing/EmailRouter.js b/core/frontend/services/routing/EmailRouter.js index 15ab83d426..6c360bf5a0 100644 --- a/core/frontend/services/routing/EmailRouter.js +++ b/core/frontend/services/routing/EmailRouter.js @@ -26,7 +26,7 @@ class EmailRouter extends ParentRouter { this.router().use(this._prepareContext.bind(this)); // REGISTER: actual email route - this.mountRoute(urlUtils.urlJoin(this.route.value, ':slug', ':options?'), controllers.email); + this.mountRoute(urlUtils.urlJoin(this.route.value, ':uuid', ':options?'), controllers.email); } /** diff --git a/core/frontend/services/routing/controllers/email-post.js b/core/frontend/services/routing/controllers/email-post.js index 77d32ec6da..804aeecb33 100644 --- a/core/frontend/services/routing/controllers/email-post.js +++ b/core/frontend/services/routing/controllers/email-post.js @@ -17,7 +17,7 @@ module.exports = function emailPostController(req, res, next) { const api = require('../../proxy').api[res.locals.apiVersion]; const params = { - slug: req.params.slug, + uuid: req.params.uuid, include: 'authors,tags', context: { member: res.locals.member diff --git a/core/server/api/canary/email-post.js b/core/server/api/canary/email-post.js index 93ac1b4d46..da971498e9 100644 --- a/core/server/api/canary/email-post.js +++ b/core/server/api/canary/email-post.js @@ -12,7 +12,7 @@ module.exports = { 'include' ], data: [ - 'slug' + 'uuid' ], validation: { options: { @@ -21,7 +21,7 @@ module.exports = { } }, data: { - slug: { + uuid: { required: true } } diff --git a/test/regression/site/email_routes.test.js b/test/regression/site/email_routes.test.js index 7ce2449d07..d1374ca343 100644 --- a/test/regression/site/email_routes.test.js +++ b/test/regression/site/email_routes.test.js @@ -56,7 +56,7 @@ describe('Frontend Routing: Email Routes', function () { }); it('should display email_only post', async function () { - const res = await request.get(`/email/${emailPosts[0].get('slug')}/`) + const res = await request.get(`/email/${emailPosts[0].get('uuid')}/`) .expect('Content-Type', /html/) .expect(200); @@ -71,7 +71,12 @@ describe('Frontend Routing: Email Routes', function () { }); it('404s for draft email only post', function () { - return request.get(`/email/${emailPosts[1].get('slug')}/`) + return request.get(`/email/${emailPosts[1].get('uuid')}/`) + .expect(404); + }); + + it('404s known slug', function () { + return request.get(`/email/${emailPosts[0].get('slug')}/`) .expect(404); });