From 5e0289626958f8521fbe592a4eb6fb1460bc2a79 Mon Sep 17 00:00:00 2001 From: Berkeley Martinez Date: Tue, 14 Jul 2015 21:38:19 -0700 Subject: [PATCH] update loading hike directly loads lecture --- common/app/routes/Hikes/components/Lecture.jsx | 2 +- common/app/routes/Hikes/flux/Actions.js | 3 ++- server/services/hikes.js | 13 +++++++++++++ 3 files changed, 16 insertions(+), 2 deletions(-) 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);