066d302cfc788239c1df5e26b790aa26b077b66e
[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 _0x1d4e=['findOne','ZohoField','rawAttributes','hasOwnProperty','getSubjects','getDescriptions','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','to-csv','ejs','fs-extra','lodash','squel','crypto','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','save','destroy','then','error','stack','name','send','map','ZohoConfiguration','fieldName','type','model','query','intersection','attributes','fields','length','nolimit','order','sort','where','filters','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','catch','show','params','keys','find','create','body','update','getFields'];(function(_0x160c73,_0x2ee678){var _0xd9302=function(_0x169454){while(--_0x169454){_0x160c73['push'](_0x160c73['shift']());}};_0xd9302(++_0x2ee678);}(_0x1d4e,0x1f2));var _0xe1d4=function(_0x4d2199,_0x38cc32){_0x4d2199=_0x4d2199-0x0;var _0x88743d=_0x1d4e[_0x4d2199];return _0x88743d;};'use strict';var emlformat=require(_0xe1d4('0x0'));var rimraf=require(_0xe1d4('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xe1d4('0x2'));var rp=require(_0xe1d4('0x3'));var moment=require(_0xe1d4('0x4'));var BPromise=require(_0xe1d4('0x5'));var Mustache=require(_0xe1d4('0x6'));var util=require('util');var path=require('path');var sox=require('sox');var csv=require(_0xe1d4('0x7'));var ejs=require(_0xe1d4('0x8'));var fs=require('fs');var fs_extra=require(_0xe1d4('0x9'));var _=require(_0xe1d4('0xa'));var squel=require(_0xe1d4('0xb'));var crypto=require(_0xe1d4('0xc'));var jsforce=require('jsforce');var deskjs=require(_0xe1d4('0xd'));var toCsv=require(_0xe1d4('0x7'));var querystring=require('querystring');var Papa=require(_0xe1d4('0xe'));var Redis=require(_0xe1d4('0xf'));var authService=require(_0xe1d4('0x10'));var qs=require(_0xe1d4('0x11'));var as=require(_0xe1d4('0x12'));var hardwareService=require(_0xe1d4('0x13'));var logger=require(_0xe1d4('0x14'))(_0xe1d4('0x15'));var utils=require(_0xe1d4('0x16'));var config=require('../../config/environment');var licenseUtil=require(_0xe1d4('0x17'));var db=require(_0xe1d4('0x18'))['db'];function respondWithStatusCode(_0x588c4a,_0x41445c){_0x41445c=_0x41445c||0xcc;return function(_0x11baae){if(_0x11baae){return _0x588c4a[_0xe1d4('0x19')](_0x41445c);}return _0x588c4a[_0xe1d4('0x1a')](_0x41445c)[_0xe1d4('0x1b')]();};}function respondWithResult(_0x1ef416,_0x55ab36){_0x55ab36=_0x55ab36||0xc8;return function(_0x366572){if(_0x366572){return _0x1ef416[_0xe1d4('0x1a')](_0x55ab36)[_0xe1d4('0x1c')](_0x366572);}};}function respondWithFilteredResult(_0x2c2bf6,_0x3c7753){return function(_0x48296c){if(_0x48296c){var _0x2cfeef=typeof _0x3c7753[_0xe1d4('0x1d')]===_0xe1d4('0x1e')&&typeof _0x3c7753[_0xe1d4('0x1f')]===_0xe1d4('0x1e');var _0x1d846b=_0x48296c[_0xe1d4('0x20')];var _0x942f4b=_0x2cfeef?0x0:_0x3c7753['offset'];var _0x45adfb=_0x2cfeef?_0x48296c['count']:_0x3c7753[_0xe1d4('0x1d')]+_0x3c7753['limit'];var _0x3929ed;if(_0x45adfb>=_0x1d846b){_0x45adfb=_0x1d846b;_0x3929ed=0xc8;}else{_0x3929ed=0xce;}_0x2c2bf6[_0xe1d4('0x1a')](_0x3929ed);return _0x2c2bf6[_0xe1d4('0x21')](_0xe1d4('0x22'),_0x942f4b+'-'+_0x45adfb+'/'+_0x1d846b)[_0xe1d4('0x1c')](_0x48296c);}return null;};}function patchUpdates(_0x5b30f8){return function(_0x4aabe4){try{jsonpatch[_0xe1d4('0x23')](_0x4aabe4,_0x5b30f8,!![]);}catch(_0x239590){return BPromise['reject'](_0x239590);}return _0x4aabe4[_0xe1d4('0x24')]();};}function saveUpdates(_0x202d6f,_0x9d37c8){return function(_0x26c1ef){if(_0x26c1ef){return _0x26c1ef['update'](_0x202d6f)['then'](function(_0x272193){return _0x272193;});}return null;};}function removeEntity(_0x5779c4,_0x31c6fb){return function(_0x5c6c99){if(_0x5c6c99){return _0x5c6c99[_0xe1d4('0x25')]()[_0xe1d4('0x26')](function(){_0x5779c4[_0xe1d4('0x1a')](0xcc)[_0xe1d4('0x1b')]();});}};}function handleEntityNotFound(_0x1cf4dd,_0x233be6){return function(_0x5ed695){if(!_0x5ed695){_0x1cf4dd['sendStatus'](0x194);}return _0x5ed695;};}function handleError(_0x1e90f6,_0x4f3cf6){_0x4f3cf6=_0x4f3cf6||0x1f4;return function(_0x3df3ca){logger[_0xe1d4('0x27')](_0x3df3ca[_0xe1d4('0x28')]);if(_0x3df3ca[_0xe1d4('0x29')]){delete _0x3df3ca[_0xe1d4('0x29')];}_0x1e90f6[_0xe1d4('0x1a')](_0x4f3cf6)[_0xe1d4('0x2a')](_0x3df3ca);};}exports['index']=function(_0x555293,_0x17d492){var _0x2604a5={},_0x4ad9c7={},_0xa84754={'count':0x0,'rows':[]};var _0x245adb=_[_0xe1d4('0x2b')](db[_0xe1d4('0x2c')]['rawAttributes'],function(_0x412107){return{'name':_0x412107[_0xe1d4('0x2d')],'type':_0x412107[_0xe1d4('0x2e')]['key']};});_0x4ad9c7[_0xe1d4('0x2f')]=_[_0xe1d4('0x2b')](_0x245adb,_0xe1d4('0x29'));_0x4ad9c7[_0xe1d4('0x30')]=_['keys'](_0x555293[_0xe1d4('0x30')]);_0x4ad9c7['filters']=_[_0xe1d4('0x31')](_0x4ad9c7[_0xe1d4('0x2f')],_0x4ad9c7['query']);_0x2604a5[_0xe1d4('0x32')]=_[_0xe1d4('0x31')](_0x4ad9c7[_0xe1d4('0x2f')],qs[_0xe1d4('0x33')](_0x555293['query']['fields']));_0x2604a5[_0xe1d4('0x32')]=_0x2604a5['attributes'][_0xe1d4('0x34')]?_0x2604a5[_0xe1d4('0x32')]:_0x4ad9c7['model'];if(!_0x555293[_0xe1d4('0x30')]['hasOwnProperty'](_0xe1d4('0x35'))){_0x2604a5['limit']=qs[_0xe1d4('0x1f')](_0x555293['query'][_0xe1d4('0x1f')]);_0x2604a5[_0xe1d4('0x1d')]=qs[_0xe1d4('0x1d')](_0x555293[_0xe1d4('0x30')][_0xe1d4('0x1d')]);}_0x2604a5[_0xe1d4('0x36')]=qs['sort'](_0x555293[_0xe1d4('0x30')][_0xe1d4('0x37')]);_0x2604a5[_0xe1d4('0x38')]=qs[_0xe1d4('0x39')](_[_0xe1d4('0x3a')](_0x555293[_0xe1d4('0x30')],_0x4ad9c7['filters']),_0x245adb);if(_0x555293[_0xe1d4('0x30')][_0xe1d4('0x3b')]){_0x2604a5[_0xe1d4('0x38')]=_[_0xe1d4('0x3c')](_0x2604a5[_0xe1d4('0x38')],{'$or':_[_0xe1d4('0x2b')](_0x245adb,function(_0x12983c){if(_0x12983c[_0xe1d4('0x2e')]!==_0xe1d4('0x3d')){var _0x5c4ada={};_0x5c4ada[_0x12983c['name']]={'$like':'%'+_0x555293[_0xe1d4('0x30')][_0xe1d4('0x3b')]+'%'};return _0x5c4ada;}})});}_0x2604a5=_[_0xe1d4('0x3c')]({},_0x2604a5,_0x555293[_0xe1d4('0x3e')]);var _0x3586a5={'where':_0x2604a5[_0xe1d4('0x38')]};return db[_0xe1d4('0x2c')][_0xe1d4('0x20')](_0x3586a5)['then'](function(_0x3dbc8e){_0xa84754[_0xe1d4('0x20')]=_0x3dbc8e;if(_0x555293[_0xe1d4('0x30')][_0xe1d4('0x3f')]){_0x2604a5[_0xe1d4('0x40')]=[{'all':!![]}];}return db[_0xe1d4('0x2c')][_0xe1d4('0x41')](_0x2604a5);})[_0xe1d4('0x26')](function(_0x28b9c8){_0xa84754[_0xe1d4('0x42')]=_0x28b9c8;return _0xa84754;})[_0xe1d4('0x26')](respondWithFilteredResult(_0x17d492,_0x2604a5))[_0xe1d4('0x43')](handleError(_0x17d492,null));};exports[_0xe1d4('0x44')]=function(_0x4a9e90,_0x395879){var _0x5313a0={'raw':![],'where':{'id':_0x4a9e90[_0xe1d4('0x45')]['id']}},_0x5316a8={};_0x5316a8['model']=_[_0xe1d4('0x46')](db[_0xe1d4('0x2c')]['rawAttributes']);_0x5316a8[_0xe1d4('0x30')]=_['keys'](_0x4a9e90['query']);_0x5316a8[_0xe1d4('0x39')]=_['intersection'](_0x5316a8[_0xe1d4('0x2f')],_0x5316a8[_0xe1d4('0x30')]);_0x5313a0[_0xe1d4('0x32')]=_['intersection'](_0x5316a8[_0xe1d4('0x2f')],qs[_0xe1d4('0x33')](_0x4a9e90[_0xe1d4('0x30')][_0xe1d4('0x33')]));_0x5313a0[_0xe1d4('0x32')]=_0x5313a0[_0xe1d4('0x32')][_0xe1d4('0x34')]?_0x5313a0[_0xe1d4('0x32')]:_0x5316a8['model'];if(_0x4a9e90['query']['includeAll']){_0x5313a0[_0xe1d4('0x40')]=[{'all':!![]}];}_0x5313a0=_[_0xe1d4('0x3c')]({},_0x5313a0,_0x4a9e90[_0xe1d4('0x3e')]);return db[_0xe1d4('0x2c')][_0xe1d4('0x47')](_0x5313a0)[_0xe1d4('0x26')](handleEntityNotFound(_0x395879,null))[_0xe1d4('0x26')](respondWithResult(_0x395879,null))[_0xe1d4('0x43')](handleError(_0x395879,null));};exports['create']=function(_0xd8d297,_0x47c405){return db[_0xe1d4('0x2c')][_0xe1d4('0x48')](_0xd8d297[_0xe1d4('0x49')],{})['then'](respondWithResult(_0x47c405,0xc9))['catch'](handleError(_0x47c405,null));};exports[_0xe1d4('0x4a')]=function(_0x494501,_0x5aede9){if(_0x494501[_0xe1d4('0x49')]['id']){delete _0x494501[_0xe1d4('0x49')]['id'];}return db[_0xe1d4('0x2c')][_0xe1d4('0x47')]({'where':{'id':_0x494501[_0xe1d4('0x45')]['id']}})[_0xe1d4('0x26')](handleEntityNotFound(_0x5aede9,null))['then'](saveUpdates(_0x494501['body'],null))[_0xe1d4('0x26')](respondWithResult(_0x5aede9,null))[_0xe1d4('0x43')](handleError(_0x5aede9,null));};exports['destroy']=function(_0x784e2d,_0x37411e){return db['ZohoConfiguration'][_0xe1d4('0x47')]({'where':{'id':_0x784e2d[_0xe1d4('0x45')]['id']}})[_0xe1d4('0x26')](handleEntityNotFound(_0x37411e,null))[_0xe1d4('0x26')](removeEntity(_0x37411e,null))[_0xe1d4('0x43')](handleError(_0x37411e,null));};exports[_0xe1d4('0x4b')]=function(_0x4d5c83,_0xadcfde,_0x2191a8){var _0x549cf6={};var _0x55bdf2={};var _0x1dc138;var _0x202eab;return db[_0xe1d4('0x2c')][_0xe1d4('0x4c')]({'where':{'id':_0x4d5c83['params']['id']}})[_0xe1d4('0x26')](handleEntityNotFound(_0xadcfde,null))['then'](function(_0x33b2ca){if(_0x33b2ca){_0x1dc138=_0x33b2ca;_0x55bdf2[_0xe1d4('0x2f')]=_[_0xe1d4('0x46')](db[_0xe1d4('0x4d')][_0xe1d4('0x4e')]);_0x55bdf2['query']=_[_0xe1d4('0x46')](_0x4d5c83[_0xe1d4('0x30')]);_0x55bdf2['filters']=_[_0xe1d4('0x31')](_0x55bdf2[_0xe1d4('0x2f')],_0x55bdf2[_0xe1d4('0x30')]);_0x549cf6[_0xe1d4('0x32')]=_['intersection'](_0x55bdf2[_0xe1d4('0x2f')],qs['fields'](_0x4d5c83[_0xe1d4('0x30')]['fields']));_0x549cf6[_0xe1d4('0x32')]=_0x549cf6['attributes'][_0xe1d4('0x34')]?_0x549cf6[_0xe1d4('0x32')]:_0x55bdf2[_0xe1d4('0x2f')];_0x549cf6[_0xe1d4('0x36')]=qs[_0xe1d4('0x37')](_0x4d5c83[_0xe1d4('0x30')][_0xe1d4('0x37')]);_0x549cf6[_0xe1d4('0x38')]=qs[_0xe1d4('0x39')](_['pick'](_0x4d5c83['query'],_0x55bdf2[_0xe1d4('0x39')]));if(_0x4d5c83['query']['filter']){_0x549cf6[_0xe1d4('0x38')]=_[_0xe1d4('0x3c')](_0x549cf6[_0xe1d4('0x38')],{'$or':_['map'](_0x549cf6[_0xe1d4('0x32')],function(_0x34aa51){var _0x1d5270={};_0x1d5270[_0x34aa51]={'$like':'%'+_0x4d5c83[_0xe1d4('0x30')][_0xe1d4('0x3b')]+'%'};return _0x1d5270;})});}_0x549cf6=_[_0xe1d4('0x3c')]({},_0x549cf6,_0x4d5c83[_0xe1d4('0x3e')]);return _0x1dc138[_0xe1d4('0x4b')](_0x549cf6);}})[_0xe1d4('0x26')](function(_0x27b944){if(_0x27b944){_0x202eab=_0x27b944[_0xe1d4('0x34')];if(!_0x4d5c83[_0xe1d4('0x30')][_0xe1d4('0x4f')](_0xe1d4('0x35'))){_0x549cf6['limit']=qs[_0xe1d4('0x1f')](_0x4d5c83[_0xe1d4('0x30')][_0xe1d4('0x1f')]);_0x549cf6[_0xe1d4('0x1d')]=qs[_0xe1d4('0x1d')](_0x4d5c83[_0xe1d4('0x30')][_0xe1d4('0x1d')]);}return _0x1dc138[_0xe1d4('0x4b')](_0x549cf6);}})[_0xe1d4('0x26')](function(_0x589c87){if(_0x589c87){return _0x589c87?{'count':_0x202eab,'rows':_0x589c87}:null;}})['then'](respondWithResult(_0xadcfde,null))[_0xe1d4('0x43')](handleError(_0xadcfde,null));};exports[_0xe1d4('0x50')]=function(_0x5179bd,_0x3a2736,_0x5e4da3){var _0x580427={};var _0x27d715={};var _0x50a22b;var _0x369835;return db[_0xe1d4('0x2c')][_0xe1d4('0x4c')]({'where':{'id':_0x5179bd[_0xe1d4('0x45')]['id']}})[_0xe1d4('0x26')](handleEntityNotFound(_0x3a2736,null))[_0xe1d4('0x26')](function(_0x2cd782){if(_0x2cd782){_0x50a22b=_0x2cd782;_0x27d715[_0xe1d4('0x2f')]=_['keys'](db['ZohoField'][_0xe1d4('0x4e')]);_0x27d715['query']=_[_0xe1d4('0x46')](_0x5179bd['query']);_0x27d715[_0xe1d4('0x39')]=_[_0xe1d4('0x31')](_0x27d715[_0xe1d4('0x2f')],_0x27d715['query']);_0x580427[_0xe1d4('0x32')]=_[_0xe1d4('0x31')](_0x27d715['model'],qs[_0xe1d4('0x33')](_0x5179bd['query'][_0xe1d4('0x33')]));_0x580427[_0xe1d4('0x32')]=_0x580427[_0xe1d4('0x32')]['length']?_0x580427[_0xe1d4('0x32')]:_0x27d715[_0xe1d4('0x2f')];_0x580427[_0xe1d4('0x36')]=qs[_0xe1d4('0x37')](_0x5179bd[_0xe1d4('0x30')][_0xe1d4('0x37')]);_0x580427['where']=qs[_0xe1d4('0x39')](_[_0xe1d4('0x3a')](_0x5179bd[_0xe1d4('0x30')],_0x27d715[_0xe1d4('0x39')]));if(_0x5179bd['query'][_0xe1d4('0x3b')]){_0x580427[_0xe1d4('0x38')]=_[_0xe1d4('0x3c')](_0x580427[_0xe1d4('0x38')],{'$or':_['map'](_0x580427[_0xe1d4('0x32')],function(_0x26b9c1){var _0x46fd2={};_0x46fd2[_0x26b9c1]={'$like':'%'+_0x5179bd[_0xe1d4('0x30')][_0xe1d4('0x3b')]+'%'};return _0x46fd2;})});}_0x580427=_[_0xe1d4('0x3c')]({},_0x580427,_0x5179bd[_0xe1d4('0x3e')]);return _0x50a22b[_0xe1d4('0x50')](_0x580427);}})[_0xe1d4('0x26')](function(_0x607539){if(_0x607539){_0x369835=_0x607539[_0xe1d4('0x34')];if(!_0x5179bd['query']['hasOwnProperty'](_0xe1d4('0x35'))){_0x580427[_0xe1d4('0x1f')]=qs[_0xe1d4('0x1f')](_0x5179bd[_0xe1d4('0x30')][_0xe1d4('0x1f')]);_0x580427['offset']=qs[_0xe1d4('0x1d')](_0x5179bd[_0xe1d4('0x30')][_0xe1d4('0x1d')]);}return _0x50a22b[_0xe1d4('0x50')](_0x580427);}})[_0xe1d4('0x26')](function(_0x2918ee){if(_0x2918ee){return _0x2918ee?{'count':_0x369835,'rows':_0x2918ee}:null;}})[_0xe1d4('0x26')](respondWithResult(_0x3a2736,null))[_0xe1d4('0x43')](handleError(_0x3a2736,null));};exports[_0xe1d4('0x51')]=function(_0x13c84b,_0x33a576,_0x271345){var _0x4b7e42={};var _0x17a2c4={};var _0x39715b;var _0x451738;return db[_0xe1d4('0x2c')][_0xe1d4('0x4c')]({'where':{'id':_0x13c84b['params']['id']}})[_0xe1d4('0x26')](handleEntityNotFound(_0x33a576,null))[_0xe1d4('0x26')](function(_0x2d538c){if(_0x2d538c){_0x39715b=_0x2d538c;_0x17a2c4[_0xe1d4('0x2f')]=_[_0xe1d4('0x46')](db[_0xe1d4('0x4d')][_0xe1d4('0x4e')]);_0x17a2c4[_0xe1d4('0x30')]=_['keys'](_0x13c84b[_0xe1d4('0x30')]);_0x17a2c4[_0xe1d4('0x39')]=_['intersection'](_0x17a2c4[_0xe1d4('0x2f')],_0x17a2c4[_0xe1d4('0x30')]);_0x4b7e42[_0xe1d4('0x32')]=_[_0xe1d4('0x31')](_0x17a2c4[_0xe1d4('0x2f')],qs['fields'](_0x13c84b[_0xe1d4('0x30')][_0xe1d4('0x33')]));_0x4b7e42[_0xe1d4('0x32')]=_0x4b7e42[_0xe1d4('0x32')]['length']?_0x4b7e42[_0xe1d4('0x32')]:_0x17a2c4[_0xe1d4('0x2f')];_0x4b7e42['order']=qs[_0xe1d4('0x37')](_0x13c84b['query'][_0xe1d4('0x37')]);_0x4b7e42['where']=qs['filters'](_[_0xe1d4('0x3a')](_0x13c84b[_0xe1d4('0x30')],_0x17a2c4[_0xe1d4('0x39')]));if(_0x13c84b[_0xe1d4('0x30')][_0xe1d4('0x3b')]){_0x4b7e42[_0xe1d4('0x38')]=_[_0xe1d4('0x3c')](_0x4b7e42[_0xe1d4('0x38')],{'$or':_['map'](_0x4b7e42[_0xe1d4('0x32')],function(_0x3bb4fb){var _0x5d9043={};_0x5d9043[_0x3bb4fb]={'$like':'%'+_0x13c84b['query'][_0xe1d4('0x3b')]+'%'};return _0x5d9043;})});}_0x4b7e42=_[_0xe1d4('0x3c')]({},_0x4b7e42,_0x13c84b[_0xe1d4('0x3e')]);return _0x39715b[_0xe1d4('0x51')](_0x4b7e42);}})[_0xe1d4('0x26')](function(_0x4931aa){if(_0x4931aa){_0x451738=_0x4931aa[_0xe1d4('0x34')];if(!_0x13c84b['query']['hasOwnProperty']('nolimit')){_0x4b7e42[_0xe1d4('0x1f')]=qs[_0xe1d4('0x1f')](_0x13c84b[_0xe1d4('0x30')][_0xe1d4('0x1f')]);_0x4b7e42[_0xe1d4('0x1d')]=qs['offset'](_0x13c84b['query']['offset']);}return _0x39715b[_0xe1d4('0x51')](_0x4b7e42);}})[_0xe1d4('0x26')](function(_0xf21854){if(_0xf21854){return _0xf21854?{'count':_0x451738,'rows':_0xf21854}:null;}})[_0xe1d4('0x26')](respondWithResult(_0x33a576,null))[_0xe1d4('0x43')](handleError(_0x33a576,null));};