2d7ce2137efc70740b8d99e5fc0e9b95a950d9ce
[motion.git] / server / api / report_queue / report_queue.controller.js
1 'use strict';
2
3 var _ = require('lodash');
4 var ReportQueue = require('../../models').ReportQueue;
5
6 // Get list of report_queues
7 exports.index = function(req, res) {
8   ReportQueue
9     .findAll()
10     .then(function(report_queues) {
11       return res.status(200).send(report_queues);
12     })
13     .catch(function(err) {
14       return handleError(res, err);
15     });
16 };
17
18 // Get a single report_queue
19 exports.show = function(req, res) {
20   ReportQueue
21     .findById(req.params.id)
22     .then(function(report_queue) {
23       if (!report_queue) {
24         return res.sendStatus(404);
25       }
26       return res.send(report_queue);
27     })
28     .catch(function(err) {
29       return handleError(res, err);
30     });
31 };
32
33 // Creates a new report_queue in the DB.
34 exports.create = function(req, res) {
35   ReportQueue
36     .create(req.body)
37     .then(function(report_queue) {
38       return res.status(201).send(report_queue);
39     })
40     .catch(function(err) {
41       return handleError(res, err);
42     });
43 };
44
45 // Updates an existing report_queue in the DB.
46 exports.update = function(req, res) {
47   if (req.body.id) {
48     delete req.body.id;
49   }
50   ReportQueue
51     .findById(req.params.id)
52     .then(function(report_queue) {
53       if (!report_queue) {
54         return res.sendStatus(404);
55       }
56       var updated = _.merge(report_queue, req.body);
57       updated.save()
58         .then(function() {
59           return res.status(200).send(report_queue);
60         })
61         .catch(function(err) {
62           return handleError(res, err);
63         });
64     })
65     .catch(function(err) {
66       return handleError(res, err);
67     });
68 };
69
70 // Deletes a report_queue from the DB.
71 exports.destroy = function(req, res) {
72   ReportQueue
73     .findById(req.params.id)
74     .then(function(report_queue) {
75       if (!report_queue) {
76         return res.sendStatus(404);
77       }
78       report_queue.destroy()
79         .then(function() {
80           return res.sendStatus(204);
81         })
82         .catch(function(err) {
83           return handleError(res, err);
84         });
85     })
86     .catch(function(err) {
87       return handleError(res, err);
88     });
89 };
90
91 function handleError(res, err) {
92   return res.status(500).send(err);
93 }