Built motion from commit 013e4bb4.|2.6.18
[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 _0xa2d2=['../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','then','error','name','send','index','map','ZohoConfiguration','rawAttributes','fieldName','type','key','query','filters','attributes','model','fields','length','hasOwnProperty','nolimit','order','sort','pick','filter','where','merge','VIRTUAL','options','includeAll','include','findAll','catch','show','keys','find','create','body','update','destroy','params','findOne','ZohoField','intersection','getFields','getSubjects','getDescriptions','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch'];(function(_0x504a10,_0x23456b){var _0x55384f=function(_0x12aa56){while(--_0x12aa56){_0x504a10['push'](_0x504a10['shift']());}};_0x55384f(++_0x23456b);}(_0xa2d2,0x1e6));var _0x2a2d=function(_0x2373b8,_0x545a08){_0x2373b8=_0x2373b8-0x0;var _0xbfef30=_0xa2d2[_0x2373b8];return _0xbfef30;};'use strict';var emlformat=require(_0x2a2d('0x0'));var rimraf=require(_0x2a2d('0x1'));var zipdir=require(_0x2a2d('0x2'));var jsonpatch=require(_0x2a2d('0x3'));var rp=require(_0x2a2d('0x4'));var moment=require(_0x2a2d('0x5'));var BPromise=require(_0x2a2d('0x6'));var Mustache=require(_0x2a2d('0x7'));var util=require(_0x2a2d('0x8'));var path=require(_0x2a2d('0x9'));var sox=require(_0x2a2d('0xa'));var csv=require(_0x2a2d('0xb'));var ejs=require(_0x2a2d('0xc'));var fs=require('fs');var fs_extra=require(_0x2a2d('0xd'));var _=require(_0x2a2d('0xe'));var squel=require(_0x2a2d('0xf'));var crypto=require(_0x2a2d('0x10'));var jsforce=require(_0x2a2d('0x11'));var deskjs=require(_0x2a2d('0x12'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0x2a2d('0x13'));var Redis=require(_0x2a2d('0x14'));var authService=require(_0x2a2d('0x15'));var qs=require(_0x2a2d('0x16'));var as=require(_0x2a2d('0x17'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x2a2d('0x18'))('api');var utils=require(_0x2a2d('0x19'));var config=require(_0x2a2d('0x1a'));var licenseUtil=require(_0x2a2d('0x1b'));var db=require(_0x2a2d('0x1c'))['db'];function respondWithStatusCode(_0x2b5abb,_0x48e140){_0x48e140=_0x48e140||0xcc;return function(_0x418e5c){if(_0x418e5c){return _0x2b5abb[_0x2a2d('0x1d')](_0x48e140);}return _0x2b5abb[_0x2a2d('0x1e')](_0x48e140)[_0x2a2d('0x1f')]();};}function respondWithResult(_0x2ade34,_0x2360c7){_0x2360c7=_0x2360c7||0xc8;return function(_0x247f8a){if(_0x247f8a){return _0x2ade34[_0x2a2d('0x1e')](_0x2360c7)[_0x2a2d('0x20')](_0x247f8a);}};}function respondWithFilteredResult(_0x36f7fc,_0x429e7f){return function(_0x201d5b){if(_0x201d5b){var _0x31e126=typeof _0x429e7f[_0x2a2d('0x21')]===_0x2a2d('0x22')&&typeof _0x429e7f[_0x2a2d('0x23')]==='undefined';var _0x5ee119=_0x201d5b[_0x2a2d('0x24')];var _0x4f0bb7=_0x31e126?0x0:_0x429e7f[_0x2a2d('0x21')];var _0x5a8760=_0x31e126?_0x201d5b[_0x2a2d('0x24')]:_0x429e7f['offset']+_0x429e7f[_0x2a2d('0x23')];var _0x2fe472;if(_0x5a8760>=_0x5ee119){_0x5a8760=_0x5ee119;_0x2fe472=0xc8;}else{_0x2fe472=0xce;}_0x36f7fc[_0x2a2d('0x1e')](_0x2fe472);return _0x36f7fc[_0x2a2d('0x25')](_0x2a2d('0x26'),_0x4f0bb7+'-'+_0x5a8760+'/'+_0x5ee119)[_0x2a2d('0x20')](_0x201d5b);}return null;};}function patchUpdates(_0x27d91f){return function(_0x100cbb){try{jsonpatch[_0x2a2d('0x27')](_0x100cbb,_0x27d91f,!![]);}catch(_0x2bd34d){return BPromise['reject'](_0x2bd34d);}return _0x100cbb['save']();};}function saveUpdates(_0x415550,_0x49864e){return function(_0x9050e7){if(_0x9050e7){return _0x9050e7['update'](_0x415550)['then'](function(_0x1902a1){return _0x1902a1;});}return null;};}function removeEntity(_0x1b695c,_0x47d00c){return function(_0x4744a0){if(_0x4744a0){return _0x4744a0['destroy']()[_0x2a2d('0x28')](function(){_0x1b695c['status'](0xcc)[_0x2a2d('0x1f')]();});}};}function handleEntityNotFound(_0x11e4c7,_0x1627ef){return function(_0xa4c9ce){if(!_0xa4c9ce){_0x11e4c7[_0x2a2d('0x1d')](0x194);}return _0xa4c9ce;};}function handleError(_0x5cce42,_0x3852a6){_0x3852a6=_0x3852a6||0x1f4;return function(_0x256964){logger[_0x2a2d('0x29')](_0x256964['stack']);if(_0x256964[_0x2a2d('0x2a')]){delete _0x256964['name'];}_0x5cce42[_0x2a2d('0x1e')](_0x3852a6)[_0x2a2d('0x2b')](_0x256964);};}exports[_0x2a2d('0x2c')]=function(_0xcc6cd2,_0x34e7da){var _0x6a1386={},_0x5b9f9b={},_0x2df70a={'count':0x0,'rows':[]};var _0xbb4d40=_[_0x2a2d('0x2d')](db[_0x2a2d('0x2e')][_0x2a2d('0x2f')],function(_0x41d616){return{'name':_0x41d616[_0x2a2d('0x30')],'type':_0x41d616[_0x2a2d('0x31')][_0x2a2d('0x32')]};});_0x5b9f9b['model']=_[_0x2a2d('0x2d')](_0xbb4d40,_0x2a2d('0x2a'));_0x5b9f9b[_0x2a2d('0x33')]=_['keys'](_0xcc6cd2['query']);_0x5b9f9b[_0x2a2d('0x34')]=_['intersection'](_0x5b9f9b['model'],_0x5b9f9b[_0x2a2d('0x33')]);_0x6a1386[_0x2a2d('0x35')]=_['intersection'](_0x5b9f9b[_0x2a2d('0x36')],qs['fields'](_0xcc6cd2[_0x2a2d('0x33')][_0x2a2d('0x37')]));_0x6a1386[_0x2a2d('0x35')]=_0x6a1386[_0x2a2d('0x35')][_0x2a2d('0x38')]?_0x6a1386[_0x2a2d('0x35')]:_0x5b9f9b[_0x2a2d('0x36')];if(!_0xcc6cd2[_0x2a2d('0x33')][_0x2a2d('0x39')](_0x2a2d('0x3a'))){_0x6a1386[_0x2a2d('0x23')]=qs[_0x2a2d('0x23')](_0xcc6cd2['query'][_0x2a2d('0x23')]);_0x6a1386[_0x2a2d('0x21')]=qs[_0x2a2d('0x21')](_0xcc6cd2[_0x2a2d('0x33')][_0x2a2d('0x21')]);}_0x6a1386[_0x2a2d('0x3b')]=qs[_0x2a2d('0x3c')](_0xcc6cd2['query'][_0x2a2d('0x3c')]);_0x6a1386['where']=qs[_0x2a2d('0x34')](_[_0x2a2d('0x3d')](_0xcc6cd2['query'],_0x5b9f9b[_0x2a2d('0x34')]),_0xbb4d40);if(_0xcc6cd2[_0x2a2d('0x33')][_0x2a2d('0x3e')]){_0x6a1386[_0x2a2d('0x3f')]=_[_0x2a2d('0x40')](_0x6a1386[_0x2a2d('0x3f')],{'$or':_[_0x2a2d('0x2d')](_0xbb4d40,function(_0xdbb512){if(_0xdbb512[_0x2a2d('0x31')]!==_0x2a2d('0x41')){var _0x45c963={};_0x45c963[_0xdbb512[_0x2a2d('0x2a')]]={'$like':'%'+_0xcc6cd2[_0x2a2d('0x33')][_0x2a2d('0x3e')]+'%'};return _0x45c963;}})});}_0x6a1386=_[_0x2a2d('0x40')]({},_0x6a1386,_0xcc6cd2[_0x2a2d('0x42')]);var _0x5a6681={'where':_0x6a1386[_0x2a2d('0x3f')]};return db[_0x2a2d('0x2e')]['count'](_0x5a6681)[_0x2a2d('0x28')](function(_0x841196){_0x2df70a[_0x2a2d('0x24')]=_0x841196;if(_0xcc6cd2[_0x2a2d('0x33')][_0x2a2d('0x43')]){_0x6a1386[_0x2a2d('0x44')]=[{'all':!![]}];}return db[_0x2a2d('0x2e')][_0x2a2d('0x45')](_0x6a1386);})['then'](function(_0x1ec71a){_0x2df70a['rows']=_0x1ec71a;return _0x2df70a;})[_0x2a2d('0x28')](respondWithFilteredResult(_0x34e7da,_0x6a1386))[_0x2a2d('0x46')](handleError(_0x34e7da,null));};exports[_0x2a2d('0x47')]=function(_0x2d18f9,_0x2548b4){var _0x3e2aae={'raw':![],'where':{'id':_0x2d18f9['params']['id']}},_0x3fbb99={};_0x3fbb99[_0x2a2d('0x36')]=_[_0x2a2d('0x48')](db[_0x2a2d('0x2e')]['rawAttributes']);_0x3fbb99[_0x2a2d('0x33')]=_[_0x2a2d('0x48')](_0x2d18f9[_0x2a2d('0x33')]);_0x3fbb99[_0x2a2d('0x34')]=_['intersection'](_0x3fbb99['model'],_0x3fbb99['query']);_0x3e2aae['attributes']=_['intersection'](_0x3fbb99['model'],qs[_0x2a2d('0x37')](_0x2d18f9[_0x2a2d('0x33')][_0x2a2d('0x37')]));_0x3e2aae[_0x2a2d('0x35')]=_0x3e2aae[_0x2a2d('0x35')][_0x2a2d('0x38')]?_0x3e2aae[_0x2a2d('0x35')]:_0x3fbb99[_0x2a2d('0x36')];if(_0x2d18f9[_0x2a2d('0x33')][_0x2a2d('0x43')]){_0x3e2aae[_0x2a2d('0x44')]=[{'all':!![]}];}_0x3e2aae=_['merge']({},_0x3e2aae,_0x2d18f9['options']);return db['ZohoConfiguration'][_0x2a2d('0x49')](_0x3e2aae)['then'](handleEntityNotFound(_0x2548b4,null))[_0x2a2d('0x28')](respondWithResult(_0x2548b4,null))[_0x2a2d('0x46')](handleError(_0x2548b4,null));};exports['create']=function(_0x4077c3,_0x59dff0){return db['ZohoConfiguration'][_0x2a2d('0x4a')](_0x4077c3[_0x2a2d('0x4b')],{})[_0x2a2d('0x28')](respondWithResult(_0x59dff0,0xc9))[_0x2a2d('0x46')](handleError(_0x59dff0,null));};exports[_0x2a2d('0x4c')]=function(_0x39da39,_0x164eea){if(_0x39da39[_0x2a2d('0x4b')]['id']){delete _0x39da39[_0x2a2d('0x4b')]['id'];}return db[_0x2a2d('0x2e')]['find']({'where':{'id':_0x39da39['params']['id']}})['then'](handleEntityNotFound(_0x164eea,null))[_0x2a2d('0x28')](saveUpdates(_0x39da39[_0x2a2d('0x4b')],null))['then'](respondWithResult(_0x164eea,null))['catch'](handleError(_0x164eea,null));};exports[_0x2a2d('0x4d')]=function(_0x444364,_0x19aabf){return db['ZohoConfiguration'][_0x2a2d('0x49')]({'where':{'id':_0x444364[_0x2a2d('0x4e')]['id']}})[_0x2a2d('0x28')](handleEntityNotFound(_0x19aabf,null))[_0x2a2d('0x28')](removeEntity(_0x19aabf,null))[_0x2a2d('0x46')](handleError(_0x19aabf,null));};exports['getFields']=function(_0x4352d8,_0x5255d7,_0x366d8f){var _0x1a2257={};var _0x320710={};var _0x4b93e2;var _0x57ce29;return db[_0x2a2d('0x2e')][_0x2a2d('0x4f')]({'where':{'id':_0x4352d8[_0x2a2d('0x4e')]['id']}})[_0x2a2d('0x28')](handleEntityNotFound(_0x5255d7,null))[_0x2a2d('0x28')](function(_0x22d8dc){if(_0x22d8dc){_0x4b93e2=_0x22d8dc;_0x320710[_0x2a2d('0x36')]=_[_0x2a2d('0x48')](db[_0x2a2d('0x50')]['rawAttributes']);_0x320710['query']=_[_0x2a2d('0x48')](_0x4352d8[_0x2a2d('0x33')]);_0x320710[_0x2a2d('0x34')]=_['intersection'](_0x320710['model'],_0x320710[_0x2a2d('0x33')]);_0x1a2257['attributes']=_[_0x2a2d('0x51')](_0x320710[_0x2a2d('0x36')],qs[_0x2a2d('0x37')](_0x4352d8[_0x2a2d('0x33')][_0x2a2d('0x37')]));_0x1a2257[_0x2a2d('0x35')]=_0x1a2257[_0x2a2d('0x35')][_0x2a2d('0x38')]?_0x1a2257['attributes']:_0x320710['model'];_0x1a2257[_0x2a2d('0x3b')]=qs[_0x2a2d('0x3c')](_0x4352d8[_0x2a2d('0x33')][_0x2a2d('0x3c')]);_0x1a2257[_0x2a2d('0x3f')]=qs[_0x2a2d('0x34')](_[_0x2a2d('0x3d')](_0x4352d8[_0x2a2d('0x33')],_0x320710[_0x2a2d('0x34')]));if(_0x4352d8[_0x2a2d('0x33')]['filter']){_0x1a2257[_0x2a2d('0x3f')]=_[_0x2a2d('0x40')](_0x1a2257[_0x2a2d('0x3f')],{'$or':_[_0x2a2d('0x2d')](_0x1a2257[_0x2a2d('0x35')],function(_0x117048){var _0x443279={};_0x443279[_0x117048]={'$like':'%'+_0x4352d8[_0x2a2d('0x33')][_0x2a2d('0x3e')]+'%'};return _0x443279;})});}_0x1a2257=_['merge']({},_0x1a2257,_0x4352d8[_0x2a2d('0x42')]);return _0x4b93e2[_0x2a2d('0x52')](_0x1a2257);}})[_0x2a2d('0x28')](function(_0x30ac2a){if(_0x30ac2a){_0x57ce29=_0x30ac2a[_0x2a2d('0x38')];if(!_0x4352d8[_0x2a2d('0x33')]['hasOwnProperty'](_0x2a2d('0x3a'))){_0x1a2257['limit']=qs[_0x2a2d('0x23')](_0x4352d8[_0x2a2d('0x33')][_0x2a2d('0x23')]);_0x1a2257[_0x2a2d('0x21')]=qs[_0x2a2d('0x21')](_0x4352d8[_0x2a2d('0x33')][_0x2a2d('0x21')]);}return _0x4b93e2[_0x2a2d('0x52')](_0x1a2257);}})[_0x2a2d('0x28')](function(_0x56a4da){if(_0x56a4da){return _0x56a4da?{'count':_0x57ce29,'rows':_0x56a4da}:null;}})[_0x2a2d('0x28')](respondWithResult(_0x5255d7,null))[_0x2a2d('0x46')](handleError(_0x5255d7,null));};exports[_0x2a2d('0x53')]=function(_0x37472f,_0x294e2b,_0x58a0ed){var _0x778bd2={};var _0x361f32={};var _0x444b75;var _0x8520b3;return db[_0x2a2d('0x2e')][_0x2a2d('0x4f')]({'where':{'id':_0x37472f[_0x2a2d('0x4e')]['id']}})[_0x2a2d('0x28')](handleEntityNotFound(_0x294e2b,null))[_0x2a2d('0x28')](function(_0x51a8e0){if(_0x51a8e0){_0x444b75=_0x51a8e0;_0x361f32[_0x2a2d('0x36')]=_[_0x2a2d('0x48')](db['ZohoField'][_0x2a2d('0x2f')]);_0x361f32['query']=_[_0x2a2d('0x48')](_0x37472f[_0x2a2d('0x33')]);_0x361f32[_0x2a2d('0x34')]=_[_0x2a2d('0x51')](_0x361f32[_0x2a2d('0x36')],_0x361f32['query']);_0x778bd2['attributes']=_['intersection'](_0x361f32['model'],qs[_0x2a2d('0x37')](_0x37472f[_0x2a2d('0x33')]['fields']));_0x778bd2[_0x2a2d('0x35')]=_0x778bd2['attributes'][_0x2a2d('0x38')]?_0x778bd2[_0x2a2d('0x35')]:_0x361f32[_0x2a2d('0x36')];_0x778bd2[_0x2a2d('0x3b')]=qs[_0x2a2d('0x3c')](_0x37472f[_0x2a2d('0x33')][_0x2a2d('0x3c')]);_0x778bd2[_0x2a2d('0x3f')]=qs['filters'](_[_0x2a2d('0x3d')](_0x37472f[_0x2a2d('0x33')],_0x361f32[_0x2a2d('0x34')]));if(_0x37472f[_0x2a2d('0x33')][_0x2a2d('0x3e')]){_0x778bd2[_0x2a2d('0x3f')]=_[_0x2a2d('0x40')](_0x778bd2[_0x2a2d('0x3f')],{'$or':_['map'](_0x778bd2[_0x2a2d('0x35')],function(_0x817f1c){var _0x365d0b={};_0x365d0b[_0x817f1c]={'$like':'%'+_0x37472f['query'][_0x2a2d('0x3e')]+'%'};return _0x365d0b;})});}_0x778bd2=_[_0x2a2d('0x40')]({},_0x778bd2,_0x37472f['options']);return _0x444b75[_0x2a2d('0x53')](_0x778bd2);}})[_0x2a2d('0x28')](function(_0xaff02f){if(_0xaff02f){_0x8520b3=_0xaff02f[_0x2a2d('0x38')];if(!_0x37472f[_0x2a2d('0x33')][_0x2a2d('0x39')](_0x2a2d('0x3a'))){_0x778bd2[_0x2a2d('0x23')]=qs[_0x2a2d('0x23')](_0x37472f[_0x2a2d('0x33')][_0x2a2d('0x23')]);_0x778bd2['offset']=qs[_0x2a2d('0x21')](_0x37472f['query'][_0x2a2d('0x21')]);}return _0x444b75[_0x2a2d('0x53')](_0x778bd2);}})[_0x2a2d('0x28')](function(_0x2c5452){if(_0x2c5452){return _0x2c5452?{'count':_0x8520b3,'rows':_0x2c5452}:null;}})[_0x2a2d('0x28')](respondWithResult(_0x294e2b,null))[_0x2a2d('0x46')](handleError(_0x294e2b,null));};exports[_0x2a2d('0x54')]=function(_0x51ef61,_0x3a73ba,_0x2d7f6e){var _0x50f3aa={};var _0x5f2e9c={};var _0xcbb2ce;var _0x2dd1c9;return db['ZohoConfiguration'][_0x2a2d('0x4f')]({'where':{'id':_0x51ef61[_0x2a2d('0x4e')]['id']}})[_0x2a2d('0x28')](handleEntityNotFound(_0x3a73ba,null))[_0x2a2d('0x28')](function(_0x2acf0e){if(_0x2acf0e){_0xcbb2ce=_0x2acf0e;_0x5f2e9c[_0x2a2d('0x36')]=_[_0x2a2d('0x48')](db[_0x2a2d('0x50')][_0x2a2d('0x2f')]);_0x5f2e9c['query']=_[_0x2a2d('0x48')](_0x51ef61['query']);_0x5f2e9c['filters']=_[_0x2a2d('0x51')](_0x5f2e9c[_0x2a2d('0x36')],_0x5f2e9c['query']);_0x50f3aa[_0x2a2d('0x35')]=_[_0x2a2d('0x51')](_0x5f2e9c[_0x2a2d('0x36')],qs[_0x2a2d('0x37')](_0x51ef61[_0x2a2d('0x33')]['fields']));_0x50f3aa[_0x2a2d('0x35')]=_0x50f3aa[_0x2a2d('0x35')]['length']?_0x50f3aa['attributes']:_0x5f2e9c[_0x2a2d('0x36')];_0x50f3aa['order']=qs[_0x2a2d('0x3c')](_0x51ef61[_0x2a2d('0x33')][_0x2a2d('0x3c')]);_0x50f3aa[_0x2a2d('0x3f')]=qs[_0x2a2d('0x34')](_[_0x2a2d('0x3d')](_0x51ef61['query'],_0x5f2e9c[_0x2a2d('0x34')]));if(_0x51ef61[_0x2a2d('0x33')]['filter']){_0x50f3aa[_0x2a2d('0x3f')]=_['merge'](_0x50f3aa['where'],{'$or':_[_0x2a2d('0x2d')](_0x50f3aa[_0x2a2d('0x35')],function(_0x19aa8f){var _0x442599={};_0x442599[_0x19aa8f]={'$like':'%'+_0x51ef61[_0x2a2d('0x33')][_0x2a2d('0x3e')]+'%'};return _0x442599;})});}_0x50f3aa=_[_0x2a2d('0x40')]({},_0x50f3aa,_0x51ef61[_0x2a2d('0x42')]);return _0xcbb2ce[_0x2a2d('0x54')](_0x50f3aa);}})[_0x2a2d('0x28')](function(_0xb89f2b){if(_0xb89f2b){_0x2dd1c9=_0xb89f2b[_0x2a2d('0x38')];if(!_0x51ef61[_0x2a2d('0x33')][_0x2a2d('0x39')](_0x2a2d('0x3a'))){_0x50f3aa[_0x2a2d('0x23')]=qs[_0x2a2d('0x23')](_0x51ef61[_0x2a2d('0x33')][_0x2a2d('0x23')]);_0x50f3aa['offset']=qs[_0x2a2d('0x21')](_0x51ef61[_0x2a2d('0x33')][_0x2a2d('0x21')]);}return _0xcbb2ce[_0x2a2d('0x54')](_0x50f3aa);}})[_0x2a2d('0x28')](function(_0x2ea994){if(_0x2ea994){return _0x2ea994?{'count':_0x2dd1c9,'rows':_0x2ea994}:null;}})['then'](respondWithResult(_0x3a73ba,null))[_0x2a2d('0x46')](handleError(_0x3a73ba,null));};