diff --git a/common/app/routes/Hikes/components/Lecture.jsx b/common/app/routes/Hikes/components/Lecture.jsx index 3b37f2736f..1f37b854c5 100644 --- a/common/app/routes/Hikes/components/Lecture.jsx +++ b/common/app/routes/Hikes/components/Lecture.jsx @@ -41,7 +41,7 @@ export default contain( render() { const { title, challengeSeed } = this.props.currentHike; - const [ id ] = challengeSeed; + const [ id ] = challengeSeed || ['1']; return ( diff --git a/common/app/routes/Hikes/flux/Actions.js b/common/app/routes/Hikes/flux/Actions.js index 86af76c462..1d22c91744 100644 --- a/common/app/routes/Hikes/flux/Actions.js +++ b/common/app/routes/Hikes/flux/Actions.js @@ -67,10 +67,11 @@ export default Actions({ return instance.setCurrentHike(potentialHike); } } - service.read('hikes', { dashedName }, null, (err, hike) => { + service.read('hikes', { dashedName }, null, (err, hikes) => { if (err) { debug('error occurred fetching hike', err); } + const [hike] = hikes; return instance.setCurrentHike(hike); }); }); diff --git a/server/services/hikes.js b/server/services/hikes.js index 0238e11355..10b5221729 100644 --- a/server/services/hikes.js +++ b/server/services/hikes.js @@ -1,3 +1,8 @@ +import debugFactory from 'debug'; +import assign from 'object.assign'; + +const debug = debugFactory('freecc:services:hikes'); + export default function hikesService(app) { const Challenge = app.models.Challenge; @@ -8,6 +13,14 @@ export default function hikesService(app) { where: { challengeType: '6' }, order: 'difficulty ASC' }; + + debug('params', params); + if (params) { + assign(query.where, { + dashedName: { like: params.dashedName, options: 'i' } + }); + } + debug('query', query); Challenge.find(query, (err, hikes) => { if (err) { return cb(err);