-'use strict';
-
-var _ = require('lodash');
-var util = require('util');
-var zendesk = require('node-zendesk');
-
-var ZendeskAccount = require('../../models').ZendeskAccount;
-
-// Get list of zendesk_accounts
-exports.index = function(req, res, next) {
-
- var attributes = ['description', 'name', 'username', 'remoteUri'];
- var per_page = req.query.per_page ? parseInt(req.query.per_page, 10) : 100;
- var page = req.query.page ? parseInt(req.query.page, 10) : 0;
-
- var query = {
- where: {},
- limit: per_page,
- offset: page * per_page
- };
-
- _.forIn(req.query, function(value, key) {
- switch (key) {
- case 'per_page':
- case 'page':
- break;
- case 'sort_by':
- query.order = util.format('%s %s', req.query.sort_by, req.query.sort_order || 'ASC') || null;
- break;
- case 'sort_order':
- break;
- case '$':
- query.where.$or = [];
- attributes.forEach(function(attribute) {
- var tmp = {};
- tmp[attribute] = {
- $like: '%' + value + '%'
- };
-
- query.where.$or.push(tmp);
- });
- break;
- default:
- query.where[key] = {
- $like: {}
- };
- query.where[key].$like = '%' + value + '%';
- }
- });
-
- ZendeskAccount
- .findAndCountAll(query)
- .then(function(result) {
-
- var total_pages = Math.ceil(result.count / per_page);
- 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;
- var previous_page = page > 0 ? util.format('%s://%s%s?page=%d', req.protocol, req.headers.host, req.baseUrl, page - 1) : null;
-
- return res.status(200).send({
- count: result.count,
- rows: result.rows,
- next_page: next_page,
- previous_page: previous_page,
- total_pages: total_pages
- });
-
- })
- .catch(function(err) {
- return res.status(500).send({
- error: 'Something blew up!'
- });
- });
-};
-
-// Get a single zendesk_account
-exports.show = function(req, res) {
- ZendeskAccount
- .findById(req.params.id)
- .then(function(zendesk_account) {
- if (!zendesk_account) {
- return res.sendStatus(404);
- }
- return res.send(zendesk_account);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Creates a new zendesk_account in the DB.
-exports.create = function(req, res) {
- ZendeskAccount
- .create(req.body)
- .then(function(zendesk_account) {
- return res.status(201).send(zendesk_account);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Updates an existing zendesk_account in the DB.
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- ZendeskAccount
- .findById(req.params.id)
- .then(function(zendesk_account) {
- if (!zendesk_account) {
- return res.sendStatus(404);
- }
- var updated = _.merge(zendesk_account, req.body);
- updated.save()
- .then(function() {
- return res.status(200).send(zendesk_account);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Deletes a zendesk_account from the DB.
-exports.destroy = function(req, res) {
- ZendeskAccount
- .findById(req.params.id)
- .then(function(zendesk_account) {
- if (!zendesk_account) {
- return res.sendStatus(404);
- }
- zendesk_account.destroy()
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.bulkDestroy = function(req, res) {
- ZendeskAccount
- .destroy({
- where: {
- id: req.query.id
- },
- individualHooks: true
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.zendeskValidation = function(req, res) {
- var where = {};
- where[req.params.field] = req.body.value;
- ZendeskAccount
- .findAndCountAll({
- where: where
- })
- .then(function(result) {
- if (result.count) {
- return res.status(200).send({
- isValid: false,
- value: req.body.value
- });
- }
- return res.status(200).send({
- isValid: true,
- value: req.body.value
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-
-};
-
-exports.checkAccount = function(req, res) {
- ZendeskAccount
- .findById(req.params.id)
- .then(function(account) {
- var accountZendesk = {
- username: account.username,
- remoteUri: account.remoteUri,
- // debug: true
- };
- if (account.authType === 'password') {
- accountZendesk.password = account.password;
- } else if (account.authType === 'token') {
- accountZendesk.token = account.token;
- // accountZendesk.oauth = true;
- }
- // console.log(accountZendesk);
- var client = zendesk.createClient(accountZendesk);
- client.users.auth(function(err, res2, result) {
- if (err) {
- console.error(err);
- return handleError(res, err);
- }
- // console.log(result);
- if (!result.verified) {
- return res.sendStatus(500);
- }
- return res.sendStatus(204);
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.getFields = function(req, res) {
- ZendeskAccount
- .findById(req.params.id)
- .then(function(account) {
- var accountZendesk = {
- username: account.username,
- remoteUri: account.remoteUri,
- // debug: true
- };
- if (account.authType === 'password') {
- accountZendesk.password = account.password;
- } else if (account.authType === 'token') {
- accountZendesk.token = account.token;
- }
- var client = zendesk.createClient(accountZendesk);
- client.ticketfields.list(function(err, res2, result) {
- if (err) {
- console.error(err);
- return handleError(res, err);
- }
- return res.status(200).send(result);
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-}
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
+var _0xcd10=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x6E\x6F\x64\x65\x2D\x7A\x65\x6E\x64\x65\x73\x6B","\x5A\x65\x6E\x64\x65\x73\x6B\x41\x63\x63\x6F\x75\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x6E\x61\x6D\x65","\x75\x73\x65\x72\x6E\x61\x6D\x65","\x72\x65\x6D\x6F\x74\x65\x55\x72\x69","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x53\x6F\x6D\x65\x74\x68\x69\x6E\x67\x20\x62\x6C\x65\x77\x20\x75\x70\x21","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x7A\x65\x6E\x64\x65\x73\x6B\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x66\x69\x65\x6C\x64","\x76\x61\x6C\x75\x65","\x63\x68\x65\x63\x6B\x41\x63\x63\x6F\x75\x6E\x74","\x61\x75\x74\x68\x54\x79\x70\x65","\x70\x61\x73\x73\x77\x6F\x72\x64","\x74\x6F\x6B\x65\x6E","\x63\x72\x65\x61\x74\x65\x43\x6C\x69\x65\x6E\x74","\x65\x72\x72\x6F\x72","\x76\x65\x72\x69\x66\x69\x65\x64","\x61\x75\x74\x68","\x75\x73\x65\x72\x73","\x67\x65\x74\x46\x69\x65\x6C\x64\x73","\x6C\x69\x73\x74","\x74\x69\x63\x6B\x65\x74\x66\x69\x65\x6C\x64\x73"];_0xcd10[0];var _=require(_0xcd10[1]);var util=require(_0xcd10[2]);var zendesk=require(_0xcd10[3]);var ZendeskAccount=require(_0xcd10[5])[_0xcd10[4]];exports[_0xcd10[6]]=function(_0xd507x5,_0xd507x6,_0xd507x7){var _0xd507x8=[_0xcd10[7],_0xcd10[8],_0xcd10[9],_0xcd10[10]];var _0xd507x9=_0xd507x5[_0xcd10[12]][_0xcd10[11]]?parseInt(_0xd507x5[_0xcd10[12]][_0xcd10[11]],10):100;var _0xd507xa=_0xd507x5[_0xcd10[12]][_0xcd10[13]]?parseInt(_0xd507x5[_0xcd10[12]][_0xcd10[13]],10):0;var _0xd507xb={where:{},limit:_0xd507x9,offset:_0xd507xa*_0xd507x9};_[_0xcd10[27]](_0xd507x5[_0xcd10[12]],function(_0xd507xc,_0xd507xd){switch(_0xd507xd){case _0xcd10[11]:;case _0xcd10[13]:break ;;case _0xcd10[16]:_0xd507xb[_0xcd10[14]]=util[_0xcd10[19]](_0xcd10[15],_0xd507x5[_0xcd10[12]][_0xcd10[16]],_0xd507x5[_0xcd10[12]][_0xcd10[17]]||_0xcd10[18])||null;break ;;case _0xcd10[17]:break ;;case _0xcd10[25]:_0xd507xb[_0xcd10[21]][_0xcd10[20]]=[];_0xd507x8[_0xcd10[24]](function(_0xd507xe){var _0xd507xf={};_0xd507xf[_0xd507xe]={$like:_0xcd10[22]+_0xd507xc+_0xcd10[22]};_0xd507xb[_0xcd10[21]][_0xcd10[20]][_0xcd10[23]](_0xd507xf);});break ;;default:_0xd507xb[_0xcd10[21]][_0xd507xd]={$like:{}};_0xd507xb[_0xcd10[21]][_0xd507xd][_0xcd10[26]]=_0xcd10[22]+_0xd507xc+_0xcd10[22];;}});ZendeskAccount[_0xcd10[42]](_0xd507xb)[_0xcd10[41]](function(_0xd507x11){var _0xd507x12=Math[_0xcd10[33]](_0xd507x11[_0xcd10[32]]/_0xd507x9);var _0xd507x13=_0xd507x12>(_0xd507xb[_0xcd10[34]]+1)?util[_0xcd10[19]](_0xcd10[35],_0xd507x5[_0xcd10[36]],_0xd507x5[_0xcd10[38]][_0xcd10[37]],_0xd507x5[_0xcd10[39]],_0xd507xa+1):null;var _0xd507x14=_0xd507xa>0?util[_0xcd10[19]](_0xcd10[35],_0xd507x5[_0xcd10[36]],_0xd507x5[_0xcd10[38]][_0xcd10[37]],_0xd507x5[_0xcd10[39]],_0xd507xa-1):null;return _0xd507x6[_0xcd10[30]](200)[_0xcd10[29]]({count:_0xd507x11[_0xcd10[32]],rows:_0xd507x11[_0xcd10[40]],next_page:_0xd507x13,previous_page:_0xd507x14,total_pages:_0xd507x12});})[_0xcd10[31]](function(_0xd507x10){return _0xd507x6[_0xcd10[30]](500)[_0xcd10[29]]({error:_0xcd10[28]})});};exports[_0xcd10[43]]=function(_0xd507x5,_0xd507x6){ZendeskAccount[_0xcd10[47]](_0xd507x5[_0xcd10[46]][_0xcd10[45]])[_0xcd10[41]](function(_0xd507x15){if(!_0xd507x15){return _0xd507x6[_0xcd10[44]](404)};return _0xd507x6[_0xcd10[29]](_0xd507x15);})[_0xcd10[31]](function(_0xd507x10){return handleError(_0xd507x6,_0xd507x10)})};exports[_0xcd10[48]]=function(_0xd507x5,_0xd507x6){ZendeskAccount[_0xcd10[48]](_0xd507x5[_0xcd10[49]])[_0xcd10[41]](function(_0xd507x15){return _0xd507x6[_0xcd10[30]](201)[_0xcd10[29]](_0xd507x15)})[_0xcd10[31]](function(_0xd507x10){return handleError(_0xd507x6,_0xd507x10)})};exports[_0xcd10[50]]=function(_0xd507x5,_0xd507x6){if(_0xd507x5[_0xcd10[49]][_0xcd10[45]]){delete _0xd507x5[_0xcd10[49]][_0xcd10[45]]};ZendeskAccount[_0xcd10[47]](_0xd507x5[_0xcd10[46]][_0xcd10[45]])[_0xcd10[41]](function(_0xd507x15){if(!_0xd507x15){return _0xd507x6[_0xcd10[44]](404)};var _0xd507x16=_[_0xcd10[51]](_0xd507x15,_0xd507x5[_0xcd10[49]]);_0xd507x16[_0xcd10[52]]()[_0xcd10[41]](function(){return _0xd507x6[_0xcd10[30]](200)[_0xcd10[29]](_0xd507x15)})[_0xcd10[31]](function(_0xd507x10){return handleError(_0xd507x6,_0xd507x10)});})[_0xcd10[31]](function(_0xd507x10){return handleError(_0xd507x6,_0xd507x10)});};exports[_0xcd10[53]]=function(_0xd507x5,_0xd507x6){ZendeskAccount[_0xcd10[47]](_0xd507x5[_0xcd10[46]][_0xcd10[45]])[_0xcd10[41]](function(_0xd507x15){if(!_0xd507x15){return _0xd507x6[_0xcd10[44]](404)};_0xd507x15[_0xcd10[53]]()[_0xcd10[41]](function(){return _0xd507x6[_0xcd10[44]](204)})[_0xcd10[31]](function(_0xd507x10){return handleError(_0xd507x6,_0xd507x10)});})[_0xcd10[31]](function(_0xd507x10){return handleError(_0xd507x6,_0xd507x10)})};exports[_0xcd10[54]]=function(_0xd507x5,_0xd507x6){ZendeskAccount[_0xcd10[53]]({where:{id:_0xd507x5[_0xcd10[12]][_0xcd10[45]]},individualHooks:true})[_0xcd10[41]](function(){return _0xd507x6[_0xcd10[44]](204)})[_0xcd10[31]](function(_0xd507x10){return handleError(_0xd507x6,_0xd507x10)})};exports[_0xcd10[55]]=function(_0xd507x5,_0xd507x6){var _0xd507x17={};_0xd507x17[_0xd507x5[_0xcd10[46]][_0xcd10[56]]]=_0xd507x5[_0xcd10[49]][_0xcd10[57]];ZendeskAccount[_0xcd10[42]]({where:_0xd507x17})[_0xcd10[41]](function(_0xd507x11){if(_0xd507x11[_0xcd10[32]]){return _0xd507x6[_0xcd10[30]](200)[_0xcd10[29]]({isValid:false,value:_0xd507x5[_0xcd10[49]][_0xcd10[57]]})};return _0xd507x6[_0xcd10[30]](200)[_0xcd10[29]]({isValid:true,value:_0xd507x5[_0xcd10[49]][_0xcd10[57]]});})[_0xcd10[31]](function(_0xd507x10){return handleError(_0xd507x6,_0xd507x10)});};exports[_0xcd10[58]]=function(_0xd507x5,_0xd507x6){ZendeskAccount[_0xcd10[47]](_0xd507x5[_0xcd10[46]][_0xcd10[45]])[_0xcd10[41]](function(_0xd507x18){var _0xd507x19={username:_0xd507x18[_0xcd10[9]],remoteUri:_0xd507x18[_0xcd10[10]]};if(_0xd507x18[_0xcd10[59]]===_0xcd10[60]){_0xd507x19[_0xcd10[60]]=_0xd507x18[_0xcd10[60]]}else {if(_0xd507x18[_0xcd10[59]]===_0xcd10[61]){_0xd507x19[_0xcd10[61]]=_0xd507x18[_0xcd10[61]]}};var _0xd507x1a=zendesk[_0xcd10[62]](_0xd507x19);_0xd507x1a[_0xcd10[66]][_0xcd10[65]](function(_0xd507x10,_0xd507x1b,_0xd507x11){if(_0xd507x10){console[_0xcd10[63]](_0xd507x10);return handleError(_0xd507x6,_0xd507x10);};if(!_0xd507x11[_0xcd10[64]]){return _0xd507x6[_0xcd10[44]](500)};return _0xd507x6[_0xcd10[44]](204);});})[_0xcd10[31]](function(_0xd507x10){return handleError(_0xd507x6,_0xd507x10)})};exports[_0xcd10[67]]=function(_0xd507x5,_0xd507x6){ZendeskAccount[_0xcd10[47]](_0xd507x5[_0xcd10[46]][_0xcd10[45]])[_0xcd10[41]](function(_0xd507x18){var _0xd507x19={username:_0xd507x18[_0xcd10[9]],remoteUri:_0xd507x18[_0xcd10[10]]};if(_0xd507x18[_0xcd10[59]]===_0xcd10[60]){_0xd507x19[_0xcd10[60]]=_0xd507x18[_0xcd10[60]]}else {if(_0xd507x18[_0xcd10[59]]===_0xcd10[61]){_0xd507x19[_0xcd10[61]]=_0xd507x18[_0xcd10[61]]}};var _0xd507x1a=zendesk[_0xcd10[62]](_0xd507x19);_0xd507x1a[_0xcd10[69]][_0xcd10[68]](function(_0xd507x10,_0xd507x1b,_0xd507x11){if(_0xd507x10){console[_0xcd10[63]](_0xd507x10);return handleError(_0xd507x6,_0xd507x10);};return _0xd507x6[_0xcd10[30]](200)[_0xcd10[29]](_0xd507x11);});})[_0xcd10[31]](function(_0xd507x10){return handleError(_0xd507x6,_0xd507x10)})};function handleError(_0xd507x6,_0xd507x10){return _0xd507x6[_0xcd10[30]](500)[_0xcd10[29]](_0xd507x10)}
\ No newline at end of file