3 var _ = require('lodash');
4 var SquareOdbc = require('../../models').SquareOdbc;
5 var util = require('util');
7 // Get list of square_odbcs
8 exports.index = function(req, res) {
9 var attributes = ['name', 'description'];
10 var per_page = req.query.per_page ? parseInt(req.query.per_page, 10) : 100;
11 var page = req.query.page ? parseInt(req.query.page, 10) : 0;
16 offset: page * per_page
19 _.forIn(req.query, function(value, key) {
25 query.order = util.format('%s %s', req.query.sort_by, req.query.sort_order || 'ASC') || null;
31 attributes.forEach(function(attribute) {
34 $like: '%' + value + '%'
37 query.where.$or.push(tmp);
44 query.where[key].$like = '%' + value + '%';
49 .findAndCountAll(query)
50 .then(function(result) {
52 var total_pages = Math.ceil(result.count / per_page);
53 var next_page = total_pages > (query.offset + 1) ? util.format('%s://%s%s?page=%d', req.protocol, req.headers.host, req.baseUrl, page + 1) : null;
54 var previous_page = page > 0 ? util.format('%s://%s%s?page=%d', req.protocol, req.headers.host, req.baseUrl, page - 1) : null;
56 res.status(200).send({
60 previous_page: previous_page,
61 total_pages: total_pages
65 .catch(function(err) {
66 res.status(500).send({
67 error: 'Something blew up!'
72 exports.odbcValidation = function(req, res) {
73 console.log(req.body);
80 .then(function(square_odbcs) {
82 return res.sendStatus(404);
84 return res.send(square_odbcs);
86 .catch(function(err) {
87 return handleError(res, err);
91 // Get a single square_odbc
92 exports.show = function(req, res) {
94 .findById(req.params.id)
95 .then(function(square_odbc) {
97 return res.sendStatus(404);
99 return res.send(square_odbc);
101 .catch(function(err) {
102 return handleError(res, err);
106 // Creates a new square_odbc in the DB.
107 exports.create = function(req, res) {
110 .then(function(square_odbc) {
111 return res.status(201).send(square_odbc);
113 .catch(function(err) {
114 return handleError(res, err);
118 // Updates an existing square_odbc in the DB.
119 exports.update = function(req, res) {
129 .then(function(square_odbcs) {
131 return res.sendStatus(404);
133 if (square_odbcs.length > 0) {
134 return res.status(500).send({
135 message: 'MESSAGE_EXIST_ODBC'
142 .findById(req.params.id)
143 .then(function(square_odbc) {
145 return res.sendStatus(404);
147 var updated = _.merge(square_odbc, req.body);
150 return res.status(200).send(square_odbc);
152 .catch(function(err) {
153 return handleError(res, err);
156 .catch(function(err) {
157 return handleError(res, err);
160 .catch(function(err) {
161 return handleError(res, err);
165 // Deletes a square_odbc from the DB.
166 exports.destroy = function(req, res) {
173 .then(function(square_odbc) {
175 return res.sendStatus(404);
177 square_odbc.destroy()
179 return res.sendStatus(204);
181 .catch(function(err) {
182 return handleError(res, err);
185 .catch(function(err) {
186 return handleError(res, err);
190 // Deletes a square_project from the DB.
191 exports.bulkDestroy = function(req, res) {
197 individualHooks: true
200 return res.sendStatus(204);
202 .catch(function(err) {
203 return handleError(res, err);
207 function handleError(res, err) {
208 return res.status(500).send(err);