warrior-code-api
Version:
API for Warrior-Code.
63 lines (47 loc) • 1.2 kB
JavaScript
;
const Boom = require('boom');
const mongoose = require('mongoose');
const Code = mongoose.models.Code;
/**
* Get the list of campaigns for the current user.
*/
module.exports.index = (request, reply) => {
let userId = request.auth.credentials._id;
Code.find({'user': userId}).then(reply);
};
/**
* Show an existing campaign.
*/
module.exports.show = (request, reply) => {
let userId = request.auth.credentials._id;
let codeId = request.params.id;
Code.findOne({_id: codeId, user: userId}).then(reply);
};
/**
* Create a new campaign.
*/
module.exports.create = (request, reply) => {
let userId = request.auth.credentials._id;
let code = new Code(request.payload);
code.save((err, code) => {
if (err) {
console.error(err);
if (err.errors.campaign && err.errors.campaign.name === 'CastError') {
return reply(Boom.notFound('Campaign not found'));
}
return reply(Boom.wrap(err, 400));
}
reply(code);
});
};
/**
* Update an existing campaign.
*/
module.exports.update = (request, reply) => {
};
/**
* Delete an existing campaign.
* Administrators only.
*/
module.exports.delete = (request, reply) => {
};