module.exports = (router, mongoose, request, species, animal) => {
|
|
router.get('/species', (req, res, next) => {
|
|
species.find({}, (err, result) => {
|
|
if (err) next(err)
|
|
else res.json({ data: result, status: 'ok' })
|
|
})
|
|
})
|
|
|
|
router.get('/animal', (req, res, next) => {
|
|
animal.find({}, (err, result) => {
|
|
if (err) next(err)
|
|
else res.json({ data: result, status: 'ok' })
|
|
})
|
|
})
|
|
|
|
router.get('/animal/childrens/:id', (req, res, next) => {
|
|
animal.find({ $or: [{ father: req.params.id }, { mother: req.params.id }] }, (err, result) => {
|
|
if (err) next(err)
|
|
else res.json({ data: result, status: 'ok' })
|
|
})
|
|
})
|
|
|
|
router.get('/animal/parrents/:id', (req, res, next) => {
|
|
animal.find({ _id: req.params.id }, (err, result) => {
|
|
if (err) next(err)
|
|
else animal.find({ $or: [{ _id: result[0].father }, { _id: result[0].mother }] }, (err, result2) => {
|
|
if (err) next(err)
|
|
else res.json({ data: result2, status: 'ok' })
|
|
})
|
|
})
|
|
})
|
|
|
|
router.get('/animal/:id', (req, res, next) => {
|
|
animal.find({ _id: mongoose.Types.ObjectId(req.params.id) }, (err, result) => {
|
|
if (err) next(err)
|
|
else res.json({ data: result[0], status: 'ok' })
|
|
})
|
|
})
|
|
|
|
router.get('/animal/:specie/:sex', (req, res, next) => {
|
|
animal.find({ specie: req.params.specie, sex: req.params.sex }, (err, result) => {
|
|
if (err) next(err)
|
|
else res.json({ data: result, status: 'ok' })
|
|
})
|
|
})
|
|
|
|
router.post('/animal', (req, res, next) => {
|
|
let s1 = new animal(req.body)
|
|
s1.save((err, doc) => {
|
|
if (err) next(err)
|
|
else res.json(doc)
|
|
})
|
|
})
|
|
|
|
router.put('/animal/:id', (req, res, next) => {
|
|
animal.findOneAndUpdate({ _id: mongoose.Types.ObjectId(req.params.id) }, req.body, { upsert: true }, (err, doc) => {
|
|
if (err) next(err)
|
|
else res.json(doc)
|
|
})
|
|
})
|
|
|
|
router.delete('/animal/:id', (req, res, next) => {
|
|
animal.findOneAndRemove({ _id: mongoose.Types.ObjectId(req.params.id) }, (err) => {
|
|
if (err) next(err)
|
|
else res.json({ status: 'ok' })
|
|
})
|
|
})
|
|
|
|
router.get('/info', (req, res, next) => {
|
|
request('http://arkdedicated.com/dynamicconfig.ini', (error, response, body) => {
|
|
var acc = {}
|
|
body.split("\n").map((x) => {
|
|
let d = x.split("=")
|
|
acc[d[0]] = d[1]
|
|
})
|
|
res.json(acc)
|
|
})
|
|
})
|
|
return router
|
|
}
|