3232916a9a5d9982209085367aeb34d6acc16f7f
[motion2.git] / server / api / intZendeskField / intZendeskField.controller.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0x3e6d=['include','rows','catch','params','find','create','body','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','sendStatus','status','end','json','count','offset','limit','set','reject','save','update','then','error','name','send','index','map','rawAttributes','fieldName','type','key','model','keys','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','pick','filter','where','merge','VIRTUAL','options','ZendeskField','includeAll'];(function(_0x681328,_0x37c52e){var _0x171a6c=function(_0x35ca1b){while(--_0x35ca1b){_0x681328['push'](_0x681328['shift']());}};_0x171a6c(++_0x37c52e);}(_0x3e6d,0x179));var _0xd3e6=function(_0x52ae99,_0x3a7aea){_0x52ae99=_0x52ae99-0x0;var _0x567f82=_0x3e6d[_0x52ae99];return _0x567f82;};'use strict';var pdf=require(_0xd3e6('0x0'));var emlformat=require(_0xd3e6('0x1'));var rimraf=require(_0xd3e6('0x2'));var zipdir=require(_0xd3e6('0x3'));var jsonpatch=require(_0xd3e6('0x4'));var rp=require(_0xd3e6('0x5'));var moment=require(_0xd3e6('0x6'));var BPromise=require('bluebird');var Mustache=require(_0xd3e6('0x7'));var util=require(_0xd3e6('0x8'));var path=require(_0xd3e6('0x9'));var sox=require(_0xd3e6('0xa'));var csv=require(_0xd3e6('0xb'));var ejs=require(_0xd3e6('0xc'));var fs=require('fs');var _=require(_0xd3e6('0xd'));var squel=require(_0xd3e6('0xe'));var crypto=require(_0xd3e6('0xf'));var jsforce=require(_0xd3e6('0x10'));var deskjs=require(_0xd3e6('0x11'));var toCsv=require(_0xd3e6('0xb'));var querystring=require(_0xd3e6('0x12'));var Papa=require(_0xd3e6('0x13'));var Redis=require(_0xd3e6('0x14'));var authService=require(_0xd3e6('0x15'));var qs=require(_0xd3e6('0x16'));var as=require(_0xd3e6('0x17'));var hardwareService=require(_0xd3e6('0x18'));var logger=require(_0xd3e6('0x19'))(_0xd3e6('0x1a'));var utils=require('../../config/utils');var config=require('../../config/environment');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x5b5512,_0x16d666){_0x16d666=_0x16d666||0xcc;return function(_0x20c19f){if(_0x20c19f){return _0x5b5512[_0xd3e6('0x1b')](_0x16d666);}return _0x5b5512[_0xd3e6('0x1c')](_0x16d666)[_0xd3e6('0x1d')]();};}function respondWithResult(_0x3d5d98,_0x4dab52){_0x4dab52=_0x4dab52||0xc8;return function(_0x653602){if(_0x653602){return _0x3d5d98[_0xd3e6('0x1c')](_0x4dab52)[_0xd3e6('0x1e')](_0x653602);}};}function respondWithFilteredResult(_0x380ee2,_0x424d92){return function(_0x5aaa2b){if(_0x5aaa2b){var _0x4b2bf6=_0x5aaa2b[_0xd3e6('0x1f')],_0x70c0b1=_0x424d92['offset'],_0x147756=_0x424d92[_0xd3e6('0x20')]+_0x424d92[_0xd3e6('0x21')],_0x10e00b;if(_0x147756>=_0x4b2bf6){_0x147756=_0x4b2bf6;_0x10e00b=0xc8;}else{_0x10e00b=0xce;}_0x380ee2[_0xd3e6('0x1c')](_0x10e00b);return _0x380ee2[_0xd3e6('0x22')]('Content-Range',_0x70c0b1+'-'+_0x147756+'/'+_0x4b2bf6)['json'](_0x5aaa2b);}return null;};}function patchUpdates(_0x284be9){return function(_0x6498e1){try{jsonpatch['apply'](_0x6498e1,_0x284be9,!![]);}catch(_0x314c14){return BPromise[_0xd3e6('0x23')](_0x314c14);}return _0x6498e1[_0xd3e6('0x24')]();};}function saveUpdates(_0x59f053,_0x565516){return function(_0x56d32b){if(_0x56d32b){return _0x56d32b[_0xd3e6('0x25')](_0x59f053)['then'](function(_0x43fd5f){return _0x43fd5f;});}return null;};}function removeEntity(_0x14f1c7,_0x15ceec){return function(_0x2e4d16){if(_0x2e4d16){return _0x2e4d16['destroy']()[_0xd3e6('0x26')](function(){_0x14f1c7[_0xd3e6('0x1c')](0xcc)['end']();});}};}function handleEntityNotFound(_0x222929,_0x5018a0){return function(_0x17ec27){if(!_0x17ec27){_0x222929[_0xd3e6('0x1b')](0x194);}return _0x17ec27;};}function handleError(_0x2cb8ac,_0x233ac8){_0x233ac8=_0x233ac8||0x1f4;return function(_0x2a9f03){logger[_0xd3e6('0x27')](_0x2a9f03['stack']);if(_0x2a9f03[_0xd3e6('0x28')]){delete _0x2a9f03['name'];}_0x2cb8ac[_0xd3e6('0x1c')](_0x233ac8)[_0xd3e6('0x29')](_0x2a9f03);};}exports[_0xd3e6('0x2a')]=function(_0x26f603,_0x1d7124){var _0x32b26f={},_0x491ca1={},_0x48525d={'count':0x0,'rows':[]};var _0x48f65f=_[_0xd3e6('0x2b')](db['ZendeskField'][_0xd3e6('0x2c')],function(_0x399fde){return{'name':_0x399fde[_0xd3e6('0x2d')],'type':_0x399fde[_0xd3e6('0x2e')][_0xd3e6('0x2f')]};});_0x491ca1[_0xd3e6('0x30')]=_[_0xd3e6('0x2b')](_0x48f65f,_0xd3e6('0x28'));_0x491ca1['query']=_[_0xd3e6('0x31')](_0x26f603[_0xd3e6('0x32')]);_0x491ca1[_0xd3e6('0x33')]=_[_0xd3e6('0x34')](_0x491ca1[_0xd3e6('0x30')],_0x491ca1[_0xd3e6('0x32')]);_0x32b26f[_0xd3e6('0x35')]=_[_0xd3e6('0x34')](_0x491ca1[_0xd3e6('0x30')],qs[_0xd3e6('0x36')](_0x26f603[_0xd3e6('0x32')]['fields']));_0x32b26f[_0xd3e6('0x35')]=_0x32b26f[_0xd3e6('0x35')][_0xd3e6('0x37')]?_0x32b26f['attributes']:_0x491ca1[_0xd3e6('0x30')];if(!_0x26f603[_0xd3e6('0x32')][_0xd3e6('0x38')](_0xd3e6('0x39'))){_0x32b26f['limit']=qs[_0xd3e6('0x21')](_0x26f603[_0xd3e6('0x32')][_0xd3e6('0x21')]);_0x32b26f[_0xd3e6('0x20')]=qs[_0xd3e6('0x20')](_0x26f603[_0xd3e6('0x32')][_0xd3e6('0x20')]);}_0x32b26f['order']=qs[_0xd3e6('0x3a')](_0x26f603[_0xd3e6('0x32')][_0xd3e6('0x3a')]);_0x32b26f['where']=qs['filters'](_[_0xd3e6('0x3b')](_0x26f603['query'],_0x491ca1['filters']),_0x48f65f);if(_0x26f603['query'][_0xd3e6('0x3c')]){_0x32b26f[_0xd3e6('0x3d')]=_[_0xd3e6('0x3e')](_0x32b26f[_0xd3e6('0x3d')],{'$or':_['map'](_0x48f65f,function(_0x3b3b28){if(_0x3b3b28['type']!==_0xd3e6('0x3f')){var _0x2c0cb1={};_0x2c0cb1[_0x3b3b28[_0xd3e6('0x28')]]={'$like':'%'+_0x26f603[_0xd3e6('0x32')][_0xd3e6('0x3c')]+'%'};return _0x2c0cb1;}})});}_0x32b26f=_['merge']({},_0x32b26f,_0x26f603[_0xd3e6('0x40')]);var _0x157718={'where':_0x32b26f[_0xd3e6('0x3d')]};return db[_0xd3e6('0x41')][_0xd3e6('0x1f')](_0x157718)[_0xd3e6('0x26')](function(_0x4ec380){_0x48525d[_0xd3e6('0x1f')]=_0x4ec380;if(_0x26f603['query'][_0xd3e6('0x42')]){_0x32b26f[_0xd3e6('0x43')]=[{'all':!![]}];}return db[_0xd3e6('0x41')]['findAll'](_0x32b26f);})[_0xd3e6('0x26')](function(_0x1a4b89){_0x48525d[_0xd3e6('0x44')]=_0x1a4b89;return _0x48525d;})[_0xd3e6('0x26')](respondWithFilteredResult(_0x1d7124,_0x32b26f))[_0xd3e6('0x45')](handleError(_0x1d7124,null));};exports['show']=function(_0x4536d0,_0x20b31b){var _0x33c242={'raw':!![],'where':{'id':_0x4536d0[_0xd3e6('0x46')]['id']}},_0x3ac452={};_0x3ac452['model']=_['keys'](db['ZendeskField'][_0xd3e6('0x2c')]);_0x3ac452['query']=_['keys'](_0x4536d0[_0xd3e6('0x32')]);_0x3ac452['filters']=_[_0xd3e6('0x34')](_0x3ac452[_0xd3e6('0x30')],_0x3ac452[_0xd3e6('0x32')]);_0x33c242[_0xd3e6('0x35')]=_[_0xd3e6('0x34')](_0x3ac452[_0xd3e6('0x30')],qs[_0xd3e6('0x36')](_0x4536d0['query'][_0xd3e6('0x36')]));_0x33c242[_0xd3e6('0x35')]=_0x33c242[_0xd3e6('0x35')]['length']?_0x33c242[_0xd3e6('0x35')]:_0x3ac452['model'];if(_0x4536d0[_0xd3e6('0x32')][_0xd3e6('0x42')]){_0x33c242[_0xd3e6('0x43')]=[{'all':!![]}];}_0x33c242=_['merge']({},_0x33c242,_0x4536d0[_0xd3e6('0x40')]);return db['ZendeskField'][_0xd3e6('0x47')](_0x33c242)[_0xd3e6('0x26')](handleEntityNotFound(_0x20b31b,null))[_0xd3e6('0x26')](respondWithResult(_0x20b31b,null))['catch'](handleError(_0x20b31b,null));};exports[_0xd3e6('0x48')]=function(_0x2c9f02,_0x5930d2){return db[_0xd3e6('0x41')]['create'](_0x2c9f02[_0xd3e6('0x49')],{})[_0xd3e6('0x26')](respondWithResult(_0x5930d2,0xc9))[_0xd3e6('0x45')](handleError(_0x5930d2,null));};exports['update']=function(_0x4005ea,_0x875db2){if(_0x4005ea[_0xd3e6('0x49')]['id']){delete _0x4005ea[_0xd3e6('0x49')]['id'];}return db[_0xd3e6('0x41')][_0xd3e6('0x47')]({'where':{'id':_0x4005ea[_0xd3e6('0x46')]['id']}})['then'](handleEntityNotFound(_0x875db2,null))[_0xd3e6('0x26')](saveUpdates(_0x4005ea[_0xd3e6('0x49')],null))[_0xd3e6('0x26')](respondWithResult(_0x875db2,null))[_0xd3e6('0x45')](handleError(_0x875db2,null));};exports['destroy']=function(_0x5dc69b,_0x1da2f3){return db[_0xd3e6('0x41')]['find']({'where':{'id':_0x5dc69b[_0xd3e6('0x46')]['id']}})[_0xd3e6('0x26')](handleEntityNotFound(_0x1da2f3,null))[_0xd3e6('0x26')](removeEntity(_0x1da2f3,null))[_0xd3e6('0x45')](handleError(_0x1da2f3,null));};