add initial react app
This commit is contained in:
63
common/app/routes/Bonfires/Actions.js
Normal file
63
common/app/routes/Bonfires/Actions.js
Normal file
@@ -0,0 +1,63 @@
|
||||
var Action = require('thundercats').Action,
|
||||
executeBonfire = require('./executeBonfire'),
|
||||
getModel = require('../../utils/getModel'),
|
||||
debug = require('debug')('freecc:common:bonfires');
|
||||
|
||||
var BonfireActions = Action.createActions([
|
||||
'setUserCode',
|
||||
'testUserCode',
|
||||
'setResults',
|
||||
'setDisplay',
|
||||
'setBonfire',
|
||||
'getBonfire',
|
||||
'handleBonfireError',
|
||||
'openCompletionModal'
|
||||
]);
|
||||
|
||||
BonfireActions
|
||||
.getBonfire
|
||||
.subscribe(function(params) {
|
||||
var Bonfire = getModel('bonfire');
|
||||
var bonfireName = params.bonfireName ?
|
||||
params.bonfireName.replace(/\-/g, ' ') :
|
||||
'meet bonfire';
|
||||
debug('getting bonfire for: ', bonfireName);
|
||||
var regQuery = { name: { like: bonfireName, options: 'i' } };
|
||||
Bonfire.find(
|
||||
{ where: regQuery },
|
||||
function(err, bonfire) {
|
||||
if (err) {
|
||||
return debug('bonfire get err', err);
|
||||
}
|
||||
if (!bonfire || bonfire.length < 1) {
|
||||
return debug('404 no bonfire found for ', bonfireName);
|
||||
}
|
||||
bonfire = bonfire.pop();
|
||||
if (bonfire) {
|
||||
debug(
|
||||
'found bonfire %s for route %s',
|
||||
bonfire.name,
|
||||
bonfireName
|
||||
);
|
||||
}
|
||||
BonfireActions.setBonfire(bonfire);
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
|
||||
BonfireActions
|
||||
.testUserCode
|
||||
.subscribe(function({ userCode, tests }) {
|
||||
debug('test bonfire');
|
||||
executeBonfire(userCode, tests, function(err, { output, results }) {
|
||||
if (err) {
|
||||
debug('error running tests', err);
|
||||
return BonfireActions.setDisplay(err);
|
||||
}
|
||||
BonfireActions.setDisplay(output);
|
||||
BonfireActions.setResults(results);
|
||||
});
|
||||
});
|
||||
|
||||
module.exports = BonfireActions;
|
Reference in New Issue
Block a user