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:
David Litvak Bruno
2017-11-09 11:24:07 +01:00
committed by GitHub
parent b7aff5901c
commit 1515d09dc2
3 changed files with 10 additions and 5 deletions

View File

@@ -0,0 +1,3 @@
module.exports = (response) => {
return response.locals.settings.editorialFeatures && response.locals.currentApi.id === 'cpa'
}

View File

@@ -11,6 +11,7 @@ const {
const attachEntryState = require('../lib/entry-state')
const enhanceBreadcrumb = require('../lib/enhance-breadcrumb')
const shouldAttachEntryState = require('../lib/should-attach-entry-state')
const { updateCookie } = require('../lib/cookies')
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)
// 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))
}
@@ -66,7 +67,7 @@ module.exports.getCourse = async (request, response, next) => {
updateCookie(response, 'visitedLessons', visitedLessons)
// 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)
}
@@ -127,7 +128,7 @@ module.exports.getLesson = async (request, response, next) => {
updateCookie(response, 'visitedLessons', visitedLessons)
// 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)
}

View File

@@ -5,7 +5,8 @@
const url = require('url')
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
@@ -27,7 +28,7 @@ module.exports.getLandingPage = async (request, response, next) => {
)
// 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)
}