Refactor entry state toggle (#48)
* chore(editorialFeatures): extract editorial features toggle * chore(refactor): rename function to make more contextual sense
This commit is contained in:
committed by
GitHub
parent
b7aff5901c
commit
1515d09dc2
3
lib/should-attach-entry-state.js
Normal file
3
lib/should-attach-entry-state.js
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
module.exports = (response) => {
|
||||||
|
return response.locals.settings.editorialFeatures && response.locals.currentApi.id === 'cpa'
|
||||||
|
}
|
||||||
@@ -11,6 +11,7 @@ const {
|
|||||||
|
|
||||||
const attachEntryState = require('../lib/entry-state')
|
const attachEntryState = require('../lib/entry-state')
|
||||||
const enhanceBreadcrumb = require('../lib/enhance-breadcrumb')
|
const enhanceBreadcrumb = require('../lib/enhance-breadcrumb')
|
||||||
|
const shouldAttachEntryState = require('../lib/should-attach-entry-state')
|
||||||
const { updateCookie } = require('../lib/cookies')
|
const { updateCookie } = require('../lib/cookies')
|
||||||
const { translate } = require('../i18n/i18n')
|
const { translate } = require('../i18n/i18n')
|
||||||
|
|
||||||
@@ -30,7 +31,7 @@ module.exports.getCourses = async (request, response, next) => {
|
|||||||
courses = await getCourses(response.locals.currentLocale.code, response.locals.currentApi.id)
|
courses = await getCourses(response.locals.currentLocale.code, response.locals.currentApi.id)
|
||||||
|
|
||||||
// Attach entry state flags when using preview API
|
// Attach entry state flags when using preview API
|
||||||
if (response.locals.settings.editorialFeatures && response.locals.currentApi.id === 'cpa') {
|
if (shouldAttachEntryState(response)) {
|
||||||
courses = await Promise.all(courses.map(attachEntryState))
|
courses = await Promise.all(courses.map(attachEntryState))
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -66,7 +67,7 @@ module.exports.getCourse = async (request, response, next) => {
|
|||||||
updateCookie(response, 'visitedLessons', visitedLessons)
|
updateCookie(response, 'visitedLessons', visitedLessons)
|
||||||
|
|
||||||
// Attach entry state flags when using preview API
|
// Attach entry state flags when using preview API
|
||||||
if (response.locals.settings.editorialFeatures && response.locals.currentApi.id === 'cpa') {
|
if (shouldAttachEntryState(response)) {
|
||||||
course = await attachEntryState(course)
|
course = await attachEntryState(course)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -127,7 +128,7 @@ module.exports.getLesson = async (request, response, next) => {
|
|||||||
updateCookie(response, 'visitedLessons', visitedLessons)
|
updateCookie(response, 'visitedLessons', visitedLessons)
|
||||||
|
|
||||||
// Attach entry state flags when using preview API
|
// Attach entry state flags when using preview API
|
||||||
if (response.locals.settings.editorialFeatures && response.locals.currentApi.id === 'cpa') {
|
if (shouldAttachEntryState(response)) {
|
||||||
lesson = await attachEntryState(lesson)
|
lesson = await attachEntryState(lesson)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,8 @@
|
|||||||
const url = require('url')
|
const url = require('url')
|
||||||
|
|
||||||
const { getLandingPage } = require('../services/contentful')
|
const { getLandingPage } = require('../services/contentful')
|
||||||
const attachEntryState = require('./../lib/entry-state')
|
const attachEntryState = require('../lib/entry-state')
|
||||||
|
const shouldAttachEntryState = require('../lib/should-attach-entry-state')
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Renders a landing page when `/` route is requested
|
* Renders a landing page when `/` route is requested
|
||||||
@@ -27,7 +28,7 @@ module.exports.getLandingPage = async (request, response, next) => {
|
|||||||
)
|
)
|
||||||
|
|
||||||
// Attach entry state flags when using preview API
|
// Attach entry state flags when using preview API
|
||||||
if (response.locals.settings.editorialFeatures && response.locals.currentApi.id === 'cpa') {
|
if (shouldAttachEntryState(response)) {
|
||||||
landingPage = await attachEntryState(landingPage)
|
landingPage = await attachEntryState(landingPage)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user