Skip to content

Commit

Permalink
jobs store fetching
Browse files Browse the repository at this point in the history
  • Loading branch information
Berkeley Martinez authored and Berkeley Martinez committed Jul 25, 2015
1 parent a45863c commit 41274fa
Show file tree
Hide file tree
Showing 5 changed files with 38 additions and 4 deletions.
2 changes: 1 addition & 1 deletion common/app/routes/Jobs/components/Jobs.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { Grid, Row } from 'react-bootstrap';
export default contain(
{
store: 'jobsStore',
actions: 'jobActions'
fetchAction: 'jobActions.getJobs'
},
React.createClass({
displayName: 'Jobs',
Expand Down
18 changes: 17 additions & 1 deletion common/app/routes/Jobs/flux/Actions.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,27 @@
import { Actions } from 'thundercats';
import debugFactory from 'debug';

const debug = debugFactory('freecc:jobs:actions');

export default Actions({
setJobs: null,
getJob(id) {
return { id };
},
getJobs(params) {
return { params };
}
})
.refs({ displayName: 'JobsActions' });
.refs({ displayName: 'JobActions' })
.init(({ instance: jobActions, args: [services] }) => {
jobActions.getJobs.subscribe(() => {
services.read('job', null, null, (err, jobs) => {
if (err) {
debug('job services experienced an issue', err);
jobActions.setJobs({ jobs: [] });
}
jobActions.setJobs({ jobs });
});
});
return jobActions;
});
6 changes: 4 additions & 2 deletions common/app/routes/Jobs/flux/Store.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
import { Store } from 'thundercats';

const { setter } = Store;

export default Store()
.refs({ displayName: 'JobsStore' })
.init(({ instance: jobsStore, args: [cat] }) => {
let jobsActions = cat.getActions('JobsActions');
jobsStore.register(jobsActions.getJob);
let jobActions = cat.getActions('JobActions');
jobsStore.register(setter(jobActions.setJobs));
});
4 changes: 4 additions & 0 deletions server/boot/a-services.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,15 @@
import Fetchr from 'fetchr';
import getHikesService from '../services/hikes';
import getJobServices from '../services/job';
import getUserServices from '../services/user';

export default function bootServices(app) {
const hikesService = getHikesService(app);
const jobServices = getJobServices(app);
const userServices = getUserServices(app);

Fetchr.registerFetcher(hikesService);
Fetchr.registerFetcher(jobServices);
Fetchr.registerFetcher(userServices);
app.use('/services', Fetchr.middleware());
}
12 changes: 12 additions & 0 deletions server/services/job.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
export default function getJobServices(app) {
const { Job } = app.models;

return {
name: 'job',
read: (req, resource, params, config, cb) => {
Job.find({}, (err, jobs) => {
cb(err, jobs);
});
}
};
}

0 comments on commit 41274fa

Please sign in to comment.