Built motion from commit dc14b02d.|2.6.27
[motion2.git] / server / api / intZohoConfiguration / intZohoConfiguration.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 _0xd42b=['status','end','offset','undefined','limit','count','Content-Range','json','apply','reject','save','then','error','name','send','map','rawAttributes','fieldName','type','key','keys','query','filters','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','sort','pick','where','merge','VIRTUAL','options','ZohoConfiguration','includeAll','include','findAll','rows','show','find','catch','create','body','update','params','destroy','getFields','findOne','ZohoField','filter','getSubjects','order','getDescriptions','rimraf','zip-dir','fast-json-patch','request-promise','util','to-csv','lodash','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/utils','../../mysqldb','sendStatus'];(function(_0x3c4062,_0x3767fc){var _0x3f5bf3=function(_0x105e55){while(--_0x105e55){_0x3c4062['push'](_0x3c4062['shift']());}};_0x3f5bf3(++_0x3767fc);}(_0xd42b,0xca));var _0xbd42=function(_0x4e0a03,_0x5eb6b0){_0x4e0a03=_0x4e0a03-0x0;var _0x2478fc=_0xd42b[_0x4e0a03];return _0x2478fc;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xbd42('0x0'));var zipdir=require(_0xbd42('0x1'));var jsonpatch=require(_0xbd42('0x2'));var rp=require(_0xbd42('0x3'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0xbd42('0x4'));var path=require('path');var sox=require('sox');var csv=require(_0xbd42('0x5'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xbd42('0x6'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0xbd42('0x7'));var deskjs=require(_0xbd42('0x8'));var toCsv=require(_0xbd42('0x5'));var querystring=require(_0xbd42('0x9'));var Papa=require(_0xbd42('0xa'));var Redis=require(_0xbd42('0xb'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0xbd42('0xc'));var hardwareService=require(_0xbd42('0xd'));var logger=require('../../config/logger')('api');var utils=require(_0xbd42('0xe'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0xbd42('0xf'))['db'];function respondWithStatusCode(_0xa9be46,_0x517608){_0x517608=_0x517608||0xcc;return function(_0x10cf26){if(_0x10cf26){return _0xa9be46[_0xbd42('0x10')](_0x517608);}return _0xa9be46[_0xbd42('0x11')](_0x517608)[_0xbd42('0x12')]();};}function respondWithResult(_0x25ef46,_0x23f75b){_0x23f75b=_0x23f75b||0xc8;return function(_0x546c77){if(_0x546c77){return _0x25ef46[_0xbd42('0x11')](_0x23f75b)['json'](_0x546c77);}};}function respondWithFilteredResult(_0x237143,_0x425875){return function(_0x395ea3){if(_0x395ea3){var _0x23c7ce=typeof _0x425875[_0xbd42('0x13')]===_0xbd42('0x14')&&typeof _0x425875[_0xbd42('0x15')]===_0xbd42('0x14');var _0x3aba95=_0x395ea3[_0xbd42('0x16')];var _0x1d7e0e=_0x23c7ce?0x0:_0x425875[_0xbd42('0x13')];var _0x1bd4e1=_0x23c7ce?_0x395ea3[_0xbd42('0x16')]:_0x425875['offset']+_0x425875['limit'];var _0x384e74;if(_0x1bd4e1>=_0x3aba95){_0x1bd4e1=_0x3aba95;_0x384e74=0xc8;}else{_0x384e74=0xce;}_0x237143[_0xbd42('0x11')](_0x384e74);return _0x237143['set'](_0xbd42('0x17'),_0x1d7e0e+'-'+_0x1bd4e1+'/'+_0x3aba95)[_0xbd42('0x18')](_0x395ea3);}return null;};}function patchUpdates(_0x2c66a7){return function(_0x74b20a){try{jsonpatch[_0xbd42('0x19')](_0x74b20a,_0x2c66a7,!![]);}catch(_0x1f5cf6){return BPromise[_0xbd42('0x1a')](_0x1f5cf6);}return _0x74b20a[_0xbd42('0x1b')]();};}function saveUpdates(_0x385a96,_0x2b525c){return function(_0x24987e){if(_0x24987e){return _0x24987e['update'](_0x385a96)[_0xbd42('0x1c')](function(_0x558eb0){return _0x558eb0;});}return null;};}function removeEntity(_0x491fff,_0x547e2d){return function(_0x1a265d){if(_0x1a265d){return _0x1a265d['destroy']()[_0xbd42('0x1c')](function(){_0x491fff[_0xbd42('0x11')](0xcc)[_0xbd42('0x12')]();});}};}function handleEntityNotFound(_0xd6c75,_0x3364ea){return function(_0x23e23f){if(!_0x23e23f){_0xd6c75[_0xbd42('0x10')](0x194);}return _0x23e23f;};}function handleError(_0x565616,_0xc40722){_0xc40722=_0xc40722||0x1f4;return function(_0x25170f){logger[_0xbd42('0x1d')](_0x25170f['stack']);if(_0x25170f[_0xbd42('0x1e')]){delete _0x25170f[_0xbd42('0x1e')];}_0x565616[_0xbd42('0x11')](_0xc40722)[_0xbd42('0x1f')](_0x25170f);};}exports['index']=function(_0x229273,_0x5d84e5){var _0x3e4655={},_0x511405={},_0x2a3b1e={'count':0x0,'rows':[]};var _0x309fb3=_[_0xbd42('0x20')](db['ZohoConfiguration'][_0xbd42('0x21')],function(_0x252f33){return{'name':_0x252f33[_0xbd42('0x22')],'type':_0x252f33[_0xbd42('0x23')][_0xbd42('0x24')]};});_0x511405['model']=_[_0xbd42('0x20')](_0x309fb3,'name');_0x511405['query']=_[_0xbd42('0x25')](_0x229273[_0xbd42('0x26')]);_0x511405[_0xbd42('0x27')]=_[_0xbd42('0x28')](_0x511405[_0xbd42('0x29')],_0x511405['query']);_0x3e4655[_0xbd42('0x2a')]=_[_0xbd42('0x28')](_0x511405['model'],qs[_0xbd42('0x2b')](_0x229273[_0xbd42('0x26')][_0xbd42('0x2b')]));_0x3e4655[_0xbd42('0x2a')]=_0x3e4655[_0xbd42('0x2a')][_0xbd42('0x2c')]?_0x3e4655[_0xbd42('0x2a')]:_0x511405['model'];if(!_0x229273['query'][_0xbd42('0x2d')](_0xbd42('0x2e'))){_0x3e4655[_0xbd42('0x15')]=qs[_0xbd42('0x15')](_0x229273[_0xbd42('0x26')][_0xbd42('0x15')]);_0x3e4655[_0xbd42('0x13')]=qs[_0xbd42('0x13')](_0x229273[_0xbd42('0x26')][_0xbd42('0x13')]);}_0x3e4655['order']=qs[_0xbd42('0x2f')](_0x229273['query'][_0xbd42('0x2f')]);_0x3e4655['where']=qs['filters'](_[_0xbd42('0x30')](_0x229273[_0xbd42('0x26')],_0x511405[_0xbd42('0x27')]),_0x309fb3);if(_0x229273['query']['filter']){_0x3e4655[_0xbd42('0x31')]=_[_0xbd42('0x32')](_0x3e4655[_0xbd42('0x31')],{'$or':_[_0xbd42('0x20')](_0x309fb3,function(_0x26767c){if(_0x26767c['type']!==_0xbd42('0x33')){var _0x5458c7={};_0x5458c7[_0x26767c['name']]={'$like':'%'+_0x229273[_0xbd42('0x26')]['filter']+'%'};return _0x5458c7;}})});}_0x3e4655=_[_0xbd42('0x32')]({},_0x3e4655,_0x229273[_0xbd42('0x34')]);var _0x2a0009={'where':_0x3e4655[_0xbd42('0x31')]};return db[_0xbd42('0x35')]['count'](_0x2a0009)['then'](function(_0x23147a){_0x2a3b1e[_0xbd42('0x16')]=_0x23147a;if(_0x229273['query'][_0xbd42('0x36')]){_0x3e4655[_0xbd42('0x37')]=[{'all':!![]}];}return db[_0xbd42('0x35')][_0xbd42('0x38')](_0x3e4655);})['then'](function(_0x1a8d2f){_0x2a3b1e[_0xbd42('0x39')]=_0x1a8d2f;return _0x2a3b1e;})['then'](respondWithFilteredResult(_0x5d84e5,_0x3e4655))['catch'](handleError(_0x5d84e5,null));};exports[_0xbd42('0x3a')]=function(_0x1903d7,_0x568c95){var _0x1b52a0={'raw':![],'where':{'id':_0x1903d7['params']['id']}},_0x213ec0={};_0x213ec0[_0xbd42('0x29')]=_[_0xbd42('0x25')](db[_0xbd42('0x35')]['rawAttributes']);_0x213ec0[_0xbd42('0x26')]=_[_0xbd42('0x25')](_0x1903d7['query']);_0x213ec0[_0xbd42('0x27')]=_[_0xbd42('0x28')](_0x213ec0['model'],_0x213ec0[_0xbd42('0x26')]);_0x1b52a0[_0xbd42('0x2a')]=_[_0xbd42('0x28')](_0x213ec0[_0xbd42('0x29')],qs[_0xbd42('0x2b')](_0x1903d7[_0xbd42('0x26')][_0xbd42('0x2b')]));_0x1b52a0[_0xbd42('0x2a')]=_0x1b52a0[_0xbd42('0x2a')][_0xbd42('0x2c')]?_0x1b52a0[_0xbd42('0x2a')]:_0x213ec0['model'];if(_0x1903d7['query'][_0xbd42('0x36')]){_0x1b52a0['include']=[{'all':!![]}];}_0x1b52a0=_[_0xbd42('0x32')]({},_0x1b52a0,_0x1903d7[_0xbd42('0x34')]);return db[_0xbd42('0x35')][_0xbd42('0x3b')](_0x1b52a0)[_0xbd42('0x1c')](handleEntityNotFound(_0x568c95,null))[_0xbd42('0x1c')](respondWithResult(_0x568c95,null))[_0xbd42('0x3c')](handleError(_0x568c95,null));};exports[_0xbd42('0x3d')]=function(_0x16255f,_0x5d4fd1){return db[_0xbd42('0x35')][_0xbd42('0x3d')](_0x16255f[_0xbd42('0x3e')],{})[_0xbd42('0x1c')](respondWithResult(_0x5d4fd1,0xc9))[_0xbd42('0x3c')](handleError(_0x5d4fd1,null));};exports[_0xbd42('0x3f')]=function(_0x2cad6d,_0x5e6a77){if(_0x2cad6d['body']['id']){delete _0x2cad6d[_0xbd42('0x3e')]['id'];}return db[_0xbd42('0x35')][_0xbd42('0x3b')]({'where':{'id':_0x2cad6d[_0xbd42('0x40')]['id']}})[_0xbd42('0x1c')](handleEntityNotFound(_0x5e6a77,null))[_0xbd42('0x1c')](saveUpdates(_0x2cad6d['body'],null))['then'](respondWithResult(_0x5e6a77,null))[_0xbd42('0x3c')](handleError(_0x5e6a77,null));};exports[_0xbd42('0x41')]=function(_0x23fd1b,_0x394e54){return db['ZohoConfiguration']['find']({'where':{'id':_0x23fd1b[_0xbd42('0x40')]['id']}})[_0xbd42('0x1c')](handleEntityNotFound(_0x394e54,null))[_0xbd42('0x1c')](removeEntity(_0x394e54,null))[_0xbd42('0x3c')](handleError(_0x394e54,null));};exports[_0xbd42('0x42')]=function(_0xf0102b,_0x59f6f1,_0x3c1d92){var _0x315005={};var _0x19fe9b={};var _0x40a2e7;var _0x51f118;return db[_0xbd42('0x35')][_0xbd42('0x43')]({'where':{'id':_0xf0102b[_0xbd42('0x40')]['id']}})[_0xbd42('0x1c')](handleEntityNotFound(_0x59f6f1,null))[_0xbd42('0x1c')](function(_0xc68d92){if(_0xc68d92){_0x40a2e7=_0xc68d92;_0x19fe9b[_0xbd42('0x29')]=_[_0xbd42('0x25')](db[_0xbd42('0x44')]['rawAttributes']);_0x19fe9b[_0xbd42('0x26')]=_[_0xbd42('0x25')](_0xf0102b[_0xbd42('0x26')]);_0x19fe9b[_0xbd42('0x27')]=_[_0xbd42('0x28')](_0x19fe9b['model'],_0x19fe9b[_0xbd42('0x26')]);_0x315005[_0xbd42('0x2a')]=_[_0xbd42('0x28')](_0x19fe9b['model'],qs[_0xbd42('0x2b')](_0xf0102b['query'][_0xbd42('0x2b')]));_0x315005[_0xbd42('0x2a')]=_0x315005[_0xbd42('0x2a')][_0xbd42('0x2c')]?_0x315005[_0xbd42('0x2a')]:_0x19fe9b[_0xbd42('0x29')];_0x315005['order']=qs[_0xbd42('0x2f')](_0xf0102b[_0xbd42('0x26')][_0xbd42('0x2f')]);_0x315005[_0xbd42('0x31')]=qs[_0xbd42('0x27')](_['pick'](_0xf0102b[_0xbd42('0x26')],_0x19fe9b[_0xbd42('0x27')]));if(_0xf0102b[_0xbd42('0x26')]['filter']){_0x315005[_0xbd42('0x31')]=_[_0xbd42('0x32')](_0x315005[_0xbd42('0x31')],{'$or':_[_0xbd42('0x20')](_0x315005[_0xbd42('0x2a')],function(_0x5603ba){var _0x21d330={};_0x21d330[_0x5603ba]={'$like':'%'+_0xf0102b[_0xbd42('0x26')][_0xbd42('0x45')]+'%'};return _0x21d330;})});}_0x315005=_[_0xbd42('0x32')]({},_0x315005,_0xf0102b['options']);return _0x40a2e7['getFields'](_0x315005);}})[_0xbd42('0x1c')](function(_0x593fe5){if(_0x593fe5){_0x51f118=_0x593fe5[_0xbd42('0x2c')];if(!_0xf0102b['query'][_0xbd42('0x2d')](_0xbd42('0x2e'))){_0x315005[_0xbd42('0x15')]=qs['limit'](_0xf0102b[_0xbd42('0x26')][_0xbd42('0x15')]);_0x315005[_0xbd42('0x13')]=qs[_0xbd42('0x13')](_0xf0102b[_0xbd42('0x26')]['offset']);}return _0x40a2e7['getFields'](_0x315005);}})[_0xbd42('0x1c')](function(_0x52fe7a){if(_0x52fe7a){return _0x52fe7a?{'count':_0x51f118,'rows':_0x52fe7a}:null;}})[_0xbd42('0x1c')](respondWithResult(_0x59f6f1,null))[_0xbd42('0x3c')](handleError(_0x59f6f1,null));};exports[_0xbd42('0x46')]=function(_0x336e3b,_0x3f6bc,_0x5add38){var _0x5924f7={};var _0xcb1768={};var _0x35d844;var _0x1469bf;return db[_0xbd42('0x35')][_0xbd42('0x43')]({'where':{'id':_0x336e3b[_0xbd42('0x40')]['id']}})[_0xbd42('0x1c')](handleEntityNotFound(_0x3f6bc,null))[_0xbd42('0x1c')](function(_0x43ba08){if(_0x43ba08){_0x35d844=_0x43ba08;_0xcb1768[_0xbd42('0x29')]=_[_0xbd42('0x25')](db[_0xbd42('0x44')][_0xbd42('0x21')]);_0xcb1768[_0xbd42('0x26')]=_[_0xbd42('0x25')](_0x336e3b[_0xbd42('0x26')]);_0xcb1768[_0xbd42('0x27')]=_[_0xbd42('0x28')](_0xcb1768[_0xbd42('0x29')],_0xcb1768[_0xbd42('0x26')]);_0x5924f7[_0xbd42('0x2a')]=_['intersection'](_0xcb1768['model'],qs[_0xbd42('0x2b')](_0x336e3b[_0xbd42('0x26')][_0xbd42('0x2b')]));_0x5924f7[_0xbd42('0x2a')]=_0x5924f7[_0xbd42('0x2a')][_0xbd42('0x2c')]?_0x5924f7[_0xbd42('0x2a')]:_0xcb1768['model'];_0x5924f7[_0xbd42('0x47')]=qs[_0xbd42('0x2f')](_0x336e3b[_0xbd42('0x26')][_0xbd42('0x2f')]);_0x5924f7['where']=qs[_0xbd42('0x27')](_[_0xbd42('0x30')](_0x336e3b['query'],_0xcb1768[_0xbd42('0x27')]));if(_0x336e3b[_0xbd42('0x26')][_0xbd42('0x45')]){_0x5924f7['where']=_['merge'](_0x5924f7[_0xbd42('0x31')],{'$or':_[_0xbd42('0x20')](_0x5924f7['attributes'],function(_0x5852b3){var _0x5e8a5e={};_0x5e8a5e[_0x5852b3]={'$like':'%'+_0x336e3b[_0xbd42('0x26')]['filter']+'%'};return _0x5e8a5e;})});}_0x5924f7=_[_0xbd42('0x32')]({},_0x5924f7,_0x336e3b[_0xbd42('0x34')]);return _0x35d844[_0xbd42('0x46')](_0x5924f7);}})['then'](function(_0x35c67d){if(_0x35c67d){_0x1469bf=_0x35c67d['length'];if(!_0x336e3b[_0xbd42('0x26')]['hasOwnProperty'](_0xbd42('0x2e'))){_0x5924f7[_0xbd42('0x15')]=qs[_0xbd42('0x15')](_0x336e3b[_0xbd42('0x26')]['limit']);_0x5924f7['offset']=qs[_0xbd42('0x13')](_0x336e3b[_0xbd42('0x26')]['offset']);}return _0x35d844[_0xbd42('0x46')](_0x5924f7);}})[_0xbd42('0x1c')](function(_0x4d9626){if(_0x4d9626){return _0x4d9626?{'count':_0x1469bf,'rows':_0x4d9626}:null;}})[_0xbd42('0x1c')](respondWithResult(_0x3f6bc,null))[_0xbd42('0x3c')](handleError(_0x3f6bc,null));};exports[_0xbd42('0x48')]=function(_0x5e02a8,_0x3a9098,_0x117a3b){var _0x5f330e={};var _0x2d1142={};var _0x32b08e;var _0x40482b;return db[_0xbd42('0x35')]['findOne']({'where':{'id':_0x5e02a8['params']['id']}})[_0xbd42('0x1c')](handleEntityNotFound(_0x3a9098,null))[_0xbd42('0x1c')](function(_0x1de462){if(_0x1de462){_0x32b08e=_0x1de462;_0x2d1142[_0xbd42('0x29')]=_[_0xbd42('0x25')](db[_0xbd42('0x44')][_0xbd42('0x21')]);_0x2d1142[_0xbd42('0x26')]=_[_0xbd42('0x25')](_0x5e02a8[_0xbd42('0x26')]);_0x2d1142[_0xbd42('0x27')]=_[_0xbd42('0x28')](_0x2d1142[_0xbd42('0x29')],_0x2d1142[_0xbd42('0x26')]);_0x5f330e[_0xbd42('0x2a')]=_[_0xbd42('0x28')](_0x2d1142[_0xbd42('0x29')],qs[_0xbd42('0x2b')](_0x5e02a8[_0xbd42('0x26')][_0xbd42('0x2b')]));_0x5f330e[_0xbd42('0x2a')]=_0x5f330e['attributes'][_0xbd42('0x2c')]?_0x5f330e[_0xbd42('0x2a')]:_0x2d1142['model'];_0x5f330e[_0xbd42('0x47')]=qs['sort'](_0x5e02a8['query'][_0xbd42('0x2f')]);_0x5f330e[_0xbd42('0x31')]=qs[_0xbd42('0x27')](_[_0xbd42('0x30')](_0x5e02a8[_0xbd42('0x26')],_0x2d1142[_0xbd42('0x27')]));if(_0x5e02a8[_0xbd42('0x26')][_0xbd42('0x45')]){_0x5f330e[_0xbd42('0x31')]=_[_0xbd42('0x32')](_0x5f330e['where'],{'$or':_[_0xbd42('0x20')](_0x5f330e['attributes'],function(_0x95d17e){var _0x2ccfc8={};_0x2ccfc8[_0x95d17e]={'$like':'%'+_0x5e02a8[_0xbd42('0x26')][_0xbd42('0x45')]+'%'};return _0x2ccfc8;})});}_0x5f330e=_[_0xbd42('0x32')]({},_0x5f330e,_0x5e02a8[_0xbd42('0x34')]);return _0x32b08e[_0xbd42('0x48')](_0x5f330e);}})[_0xbd42('0x1c')](function(_0x5092ae){if(_0x5092ae){_0x40482b=_0x5092ae[_0xbd42('0x2c')];if(!_0x5e02a8[_0xbd42('0x26')][_0xbd42('0x2d')](_0xbd42('0x2e'))){_0x5f330e[_0xbd42('0x15')]=qs[_0xbd42('0x15')](_0x5e02a8[_0xbd42('0x26')][_0xbd42('0x15')]);_0x5f330e[_0xbd42('0x13')]=qs[_0xbd42('0x13')](_0x5e02a8['query'][_0xbd42('0x13')]);}return _0x32b08e['getDescriptions'](_0x5f330e);}})['then'](function(_0x7bf61f){if(_0x7bf61f){return _0x7bf61f?{'count':_0x40482b,'rows':_0x7bf61f}:null;}})[_0xbd42('0x1c')](respondWithResult(_0x3a9098,null))[_0xbd42('0x3c')](handleError(_0x3a9098,null));};