Built motion from commit 53172ac8.|2.6.30
[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 _0x20e5=['key','query','keys','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','sort','where','filters','pick','filter','merge','type','VIRTUAL','options','ZohoConfiguration','count','includeAll','include','show','params','find','catch','create','body','destroy','ZohoField','order','getFields','getSubjects','findOne','getDescriptions','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','lodash','squel','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','json','undefined','limit','offset','status','set','apply','update','then','error','stack','name','send','index','map','rawAttributes'];(function(_0x84cd25,_0x56dbab){var _0x492299=function(_0x410830){while(--_0x410830){_0x84cd25['push'](_0x84cd25['shift']());}};_0x492299(++_0x56dbab);}(_0x20e5,0x168));var _0x520e=function(_0x3a93f2,_0x2b6893){_0x3a93f2=_0x3a93f2-0x0;var _0x3aa2ab=_0x20e5[_0x3a93f2];return _0x3aa2ab;};'use strict';var emlformat=require(_0x520e('0x0'));var rimraf=require(_0x520e('0x1'));var zipdir=require(_0x520e('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x520e('0x3'));var moment=require(_0x520e('0x4'));var BPromise=require(_0x520e('0x5'));var Mustache=require(_0x520e('0x6'));var util=require(_0x520e('0x7'));var path=require(_0x520e('0x8'));var sox=require(_0x520e('0x9'));var csv=require(_0x520e('0xa'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x520e('0xb'));var squel=require(_0x520e('0xc'));var crypto=require('crypto');var jsforce=require(_0x520e('0xd'));var deskjs=require(_0x520e('0xe'));var toCsv=require(_0x520e('0xa'));var querystring=require(_0x520e('0xf'));var Papa=require('papaparse');var Redis=require(_0x520e('0x10'));var authService=require(_0x520e('0x11'));var qs=require(_0x520e('0x12'));var as=require(_0x520e('0x13'));var hardwareService=require(_0x520e('0x14'));var logger=require(_0x520e('0x15'))(_0x520e('0x16'));var utils=require(_0x520e('0x17'));var config=require(_0x520e('0x18'));var licenseUtil=require(_0x520e('0x19'));var db=require(_0x520e('0x1a'))['db'];function respondWithStatusCode(_0x1d38c7,_0xadc66){_0xadc66=_0xadc66||0xcc;return function(_0x4e26fb){if(_0x4e26fb){return _0x1d38c7[_0x520e('0x1b')](_0xadc66);}return _0x1d38c7['status'](_0xadc66)[_0x520e('0x1c')]();};}function respondWithResult(_0xf12aad,_0x5e7e7b){_0x5e7e7b=_0x5e7e7b||0xc8;return function(_0x5369f6){if(_0x5369f6){return _0xf12aad['status'](_0x5e7e7b)[_0x520e('0x1d')](_0x5369f6);}};}function respondWithFilteredResult(_0x1bbbbf,_0x208031){return function(_0x2f89b9){if(_0x2f89b9){var _0x3b1104=typeof _0x208031['offset']===_0x520e('0x1e')&&typeof _0x208031[_0x520e('0x1f')]===_0x520e('0x1e');var _0xf749bb=_0x2f89b9['count'];var _0x3ef290=_0x3b1104?0x0:_0x208031[_0x520e('0x20')];var _0x2d8121=_0x3b1104?_0x2f89b9['count']:_0x208031['offset']+_0x208031[_0x520e('0x1f')];var _0xc09c45;if(_0x2d8121>=_0xf749bb){_0x2d8121=_0xf749bb;_0xc09c45=0xc8;}else{_0xc09c45=0xce;}_0x1bbbbf[_0x520e('0x21')](_0xc09c45);return _0x1bbbbf[_0x520e('0x22')]('Content-Range',_0x3ef290+'-'+_0x2d8121+'/'+_0xf749bb)[_0x520e('0x1d')](_0x2f89b9);}return null;};}function patchUpdates(_0x5ecb84){return function(_0x4935f9){try{jsonpatch[_0x520e('0x23')](_0x4935f9,_0x5ecb84,!![]);}catch(_0xe7a179){return BPromise['reject'](_0xe7a179);}return _0x4935f9['save']();};}function saveUpdates(_0x248e7f,_0x5519a7){return function(_0xb90ed4){if(_0xb90ed4){return _0xb90ed4[_0x520e('0x24')](_0x248e7f)[_0x520e('0x25')](function(_0x31996d){return _0x31996d;});}return null;};}function removeEntity(_0xe4815d,_0x5cc652){return function(_0x45507f){if(_0x45507f){return _0x45507f['destroy']()[_0x520e('0x25')](function(){_0xe4815d['status'](0xcc)[_0x520e('0x1c')]();});}};}function handleEntityNotFound(_0x1f8a10,_0x199089){return function(_0x3271fb){if(!_0x3271fb){_0x1f8a10[_0x520e('0x1b')](0x194);}return _0x3271fb;};}function handleError(_0x157093,_0xa6c488){_0xa6c488=_0xa6c488||0x1f4;return function(_0x44dc99){logger[_0x520e('0x26')](_0x44dc99[_0x520e('0x27')]);if(_0x44dc99[_0x520e('0x28')]){delete _0x44dc99[_0x520e('0x28')];}_0x157093[_0x520e('0x21')](_0xa6c488)[_0x520e('0x29')](_0x44dc99);};}exports[_0x520e('0x2a')]=function(_0xf27f,_0x7ddb41){var _0x3c4b67={},_0x5b1ef6={},_0x5c55a8={'count':0x0,'rows':[]};var _0xb6e828=_[_0x520e('0x2b')](db['ZohoConfiguration'][_0x520e('0x2c')],function(_0xd8ec16){return{'name':_0xd8ec16['fieldName'],'type':_0xd8ec16['type'][_0x520e('0x2d')]};});_0x5b1ef6['model']=_['map'](_0xb6e828,_0x520e('0x28'));_0x5b1ef6[_0x520e('0x2e')]=_[_0x520e('0x2f')](_0xf27f['query']);_0x5b1ef6['filters']=_[_0x520e('0x30')](_0x5b1ef6[_0x520e('0x31')],_0x5b1ef6[_0x520e('0x2e')]);_0x3c4b67[_0x520e('0x32')]=_[_0x520e('0x30')](_0x5b1ef6['model'],qs[_0x520e('0x33')](_0xf27f[_0x520e('0x2e')][_0x520e('0x33')]));_0x3c4b67[_0x520e('0x32')]=_0x3c4b67[_0x520e('0x32')][_0x520e('0x34')]?_0x3c4b67[_0x520e('0x32')]:_0x5b1ef6[_0x520e('0x31')];if(!_0xf27f[_0x520e('0x2e')][_0x520e('0x35')](_0x520e('0x36'))){_0x3c4b67[_0x520e('0x1f')]=qs[_0x520e('0x1f')](_0xf27f[_0x520e('0x2e')][_0x520e('0x1f')]);_0x3c4b67[_0x520e('0x20')]=qs[_0x520e('0x20')](_0xf27f[_0x520e('0x2e')]['offset']);}_0x3c4b67['order']=qs[_0x520e('0x37')](_0xf27f[_0x520e('0x2e')]['sort']);_0x3c4b67[_0x520e('0x38')]=qs[_0x520e('0x39')](_[_0x520e('0x3a')](_0xf27f[_0x520e('0x2e')],_0x5b1ef6['filters']),_0xb6e828);if(_0xf27f[_0x520e('0x2e')][_0x520e('0x3b')]){_0x3c4b67[_0x520e('0x38')]=_[_0x520e('0x3c')](_0x3c4b67[_0x520e('0x38')],{'$or':_['map'](_0xb6e828,function(_0x5f4259){if(_0x5f4259[_0x520e('0x3d')]!==_0x520e('0x3e')){var _0x4deb8a={};_0x4deb8a[_0x5f4259[_0x520e('0x28')]]={'$like':'%'+_0xf27f[_0x520e('0x2e')]['filter']+'%'};return _0x4deb8a;}})});}_0x3c4b67=_[_0x520e('0x3c')]({},_0x3c4b67,_0xf27f[_0x520e('0x3f')]);var _0x344fa3={'where':_0x3c4b67['where']};return db[_0x520e('0x40')][_0x520e('0x41')](_0x344fa3)[_0x520e('0x25')](function(_0x29382e){_0x5c55a8[_0x520e('0x41')]=_0x29382e;if(_0xf27f[_0x520e('0x2e')][_0x520e('0x42')]){_0x3c4b67[_0x520e('0x43')]=[{'all':!![]}];}return db[_0x520e('0x40')]['findAll'](_0x3c4b67);})[_0x520e('0x25')](function(_0x3e37c4){_0x5c55a8['rows']=_0x3e37c4;return _0x5c55a8;})[_0x520e('0x25')](respondWithFilteredResult(_0x7ddb41,_0x3c4b67))['catch'](handleError(_0x7ddb41,null));};exports[_0x520e('0x44')]=function(_0x4a0314,_0x3ecad4){var _0xfb4537={'raw':![],'where':{'id':_0x4a0314[_0x520e('0x45')]['id']}},_0xd965f={};_0xd965f['model']=_[_0x520e('0x2f')](db['ZohoConfiguration'][_0x520e('0x2c')]);_0xd965f[_0x520e('0x2e')]=_[_0x520e('0x2f')](_0x4a0314[_0x520e('0x2e')]);_0xd965f[_0x520e('0x39')]=_['intersection'](_0xd965f[_0x520e('0x31')],_0xd965f[_0x520e('0x2e')]);_0xfb4537[_0x520e('0x32')]=_['intersection'](_0xd965f[_0x520e('0x31')],qs[_0x520e('0x33')](_0x4a0314['query'][_0x520e('0x33')]));_0xfb4537[_0x520e('0x32')]=_0xfb4537['attributes'][_0x520e('0x34')]?_0xfb4537[_0x520e('0x32')]:_0xd965f[_0x520e('0x31')];if(_0x4a0314[_0x520e('0x2e')][_0x520e('0x42')]){_0xfb4537[_0x520e('0x43')]=[{'all':!![]}];}_0xfb4537=_['merge']({},_0xfb4537,_0x4a0314[_0x520e('0x3f')]);return db['ZohoConfiguration'][_0x520e('0x46')](_0xfb4537)[_0x520e('0x25')](handleEntityNotFound(_0x3ecad4,null))[_0x520e('0x25')](respondWithResult(_0x3ecad4,null))[_0x520e('0x47')](handleError(_0x3ecad4,null));};exports[_0x520e('0x48')]=function(_0x311764,_0x29b504){return db[_0x520e('0x40')][_0x520e('0x48')](_0x311764['body'],{})['then'](respondWithResult(_0x29b504,0xc9))[_0x520e('0x47')](handleError(_0x29b504,null));};exports[_0x520e('0x24')]=function(_0x36e4d2,_0x42b1d0){if(_0x36e4d2[_0x520e('0x49')]['id']){delete _0x36e4d2[_0x520e('0x49')]['id'];}return db[_0x520e('0x40')][_0x520e('0x46')]({'where':{'id':_0x36e4d2['params']['id']}})[_0x520e('0x25')](handleEntityNotFound(_0x42b1d0,null))[_0x520e('0x25')](saveUpdates(_0x36e4d2['body'],null))[_0x520e('0x25')](respondWithResult(_0x42b1d0,null))['catch'](handleError(_0x42b1d0,null));};exports[_0x520e('0x4a')]=function(_0x48e176,_0x1fc991){return db[_0x520e('0x40')]['find']({'where':{'id':_0x48e176[_0x520e('0x45')]['id']}})['then'](handleEntityNotFound(_0x1fc991,null))[_0x520e('0x25')](removeEntity(_0x1fc991,null))['catch'](handleError(_0x1fc991,null));};exports['getFields']=function(_0x19e435,_0x3939f4,_0x20093a){var _0x116c90={};var _0x11eec1={};var _0x30f282;var _0x51d646;return db[_0x520e('0x40')]['findOne']({'where':{'id':_0x19e435[_0x520e('0x45')]['id']}})[_0x520e('0x25')](handleEntityNotFound(_0x3939f4,null))[_0x520e('0x25')](function(_0x2b0353){if(_0x2b0353){_0x30f282=_0x2b0353;_0x11eec1[_0x520e('0x31')]=_[_0x520e('0x2f')](db[_0x520e('0x4b')]['rawAttributes']);_0x11eec1[_0x520e('0x2e')]=_['keys'](_0x19e435['query']);_0x11eec1[_0x520e('0x39')]=_[_0x520e('0x30')](_0x11eec1[_0x520e('0x31')],_0x11eec1['query']);_0x116c90[_0x520e('0x32')]=_[_0x520e('0x30')](_0x11eec1[_0x520e('0x31')],qs[_0x520e('0x33')](_0x19e435['query']['fields']));_0x116c90[_0x520e('0x32')]=_0x116c90[_0x520e('0x32')][_0x520e('0x34')]?_0x116c90[_0x520e('0x32')]:_0x11eec1[_0x520e('0x31')];_0x116c90[_0x520e('0x4c')]=qs[_0x520e('0x37')](_0x19e435[_0x520e('0x2e')][_0x520e('0x37')]);_0x116c90[_0x520e('0x38')]=qs[_0x520e('0x39')](_[_0x520e('0x3a')](_0x19e435[_0x520e('0x2e')],_0x11eec1['filters']));if(_0x19e435['query']['filter']){_0x116c90[_0x520e('0x38')]=_['merge'](_0x116c90['where'],{'$or':_[_0x520e('0x2b')](_0x116c90[_0x520e('0x32')],function(_0x4045c2){var _0x5a1ffc={};_0x5a1ffc[_0x4045c2]={'$like':'%'+_0x19e435['query'][_0x520e('0x3b')]+'%'};return _0x5a1ffc;})});}_0x116c90=_[_0x520e('0x3c')]({},_0x116c90,_0x19e435[_0x520e('0x3f')]);return _0x30f282[_0x520e('0x4d')](_0x116c90);}})[_0x520e('0x25')](function(_0x2c3832){if(_0x2c3832){_0x51d646=_0x2c3832[_0x520e('0x34')];if(!_0x19e435[_0x520e('0x2e')]['hasOwnProperty'](_0x520e('0x36'))){_0x116c90[_0x520e('0x1f')]=qs['limit'](_0x19e435[_0x520e('0x2e')][_0x520e('0x1f')]);_0x116c90['offset']=qs[_0x520e('0x20')](_0x19e435['query']['offset']);}return _0x30f282[_0x520e('0x4d')](_0x116c90);}})[_0x520e('0x25')](function(_0x2cdd72){if(_0x2cdd72){return _0x2cdd72?{'count':_0x51d646,'rows':_0x2cdd72}:null;}})[_0x520e('0x25')](respondWithResult(_0x3939f4,null))[_0x520e('0x47')](handleError(_0x3939f4,null));};exports[_0x520e('0x4e')]=function(_0xdb5894,_0x1e511a,_0x212af0){var _0x94ddcb={};var _0x5b651a={};var _0x2dbcae;var _0x540514;return db[_0x520e('0x40')][_0x520e('0x4f')]({'where':{'id':_0xdb5894[_0x520e('0x45')]['id']}})[_0x520e('0x25')](handleEntityNotFound(_0x1e511a,null))[_0x520e('0x25')](function(_0x321120){if(_0x321120){_0x2dbcae=_0x321120;_0x5b651a[_0x520e('0x31')]=_['keys'](db['ZohoField'][_0x520e('0x2c')]);_0x5b651a[_0x520e('0x2e')]=_[_0x520e('0x2f')](_0xdb5894[_0x520e('0x2e')]);_0x5b651a[_0x520e('0x39')]=_['intersection'](_0x5b651a[_0x520e('0x31')],_0x5b651a['query']);_0x94ddcb[_0x520e('0x32')]=_[_0x520e('0x30')](_0x5b651a[_0x520e('0x31')],qs[_0x520e('0x33')](_0xdb5894[_0x520e('0x2e')][_0x520e('0x33')]));_0x94ddcb[_0x520e('0x32')]=_0x94ddcb[_0x520e('0x32')]['length']?_0x94ddcb[_0x520e('0x32')]:_0x5b651a[_0x520e('0x31')];_0x94ddcb[_0x520e('0x4c')]=qs[_0x520e('0x37')](_0xdb5894['query'][_0x520e('0x37')]);_0x94ddcb[_0x520e('0x38')]=qs[_0x520e('0x39')](_[_0x520e('0x3a')](_0xdb5894[_0x520e('0x2e')],_0x5b651a[_0x520e('0x39')]));if(_0xdb5894[_0x520e('0x2e')]['filter']){_0x94ddcb[_0x520e('0x38')]=_[_0x520e('0x3c')](_0x94ddcb['where'],{'$or':_[_0x520e('0x2b')](_0x94ddcb[_0x520e('0x32')],function(_0x49be83){var _0x2ff608={};_0x2ff608[_0x49be83]={'$like':'%'+_0xdb5894[_0x520e('0x2e')][_0x520e('0x3b')]+'%'};return _0x2ff608;})});}_0x94ddcb=_[_0x520e('0x3c')]({},_0x94ddcb,_0xdb5894[_0x520e('0x3f')]);return _0x2dbcae[_0x520e('0x4e')](_0x94ddcb);}})[_0x520e('0x25')](function(_0xb2bec6){if(_0xb2bec6){_0x540514=_0xb2bec6['length'];if(!_0xdb5894[_0x520e('0x2e')][_0x520e('0x35')](_0x520e('0x36'))){_0x94ddcb[_0x520e('0x1f')]=qs['limit'](_0xdb5894['query'][_0x520e('0x1f')]);_0x94ddcb[_0x520e('0x20')]=qs[_0x520e('0x20')](_0xdb5894[_0x520e('0x2e')][_0x520e('0x20')]);}return _0x2dbcae[_0x520e('0x4e')](_0x94ddcb);}})['then'](function(_0x2e7cfd){if(_0x2e7cfd){return _0x2e7cfd?{'count':_0x540514,'rows':_0x2e7cfd}:null;}})['then'](respondWithResult(_0x1e511a,null))[_0x520e('0x47')](handleError(_0x1e511a,null));};exports[_0x520e('0x50')]=function(_0x431d4c,_0x59ae26,_0xcd2755){var _0x1ba0a1={};var _0x46cf29={};var _0x69d7ae;var _0x61006;return db[_0x520e('0x40')]['findOne']({'where':{'id':_0x431d4c[_0x520e('0x45')]['id']}})[_0x520e('0x25')](handleEntityNotFound(_0x59ae26,null))[_0x520e('0x25')](function(_0x5bae6e){if(_0x5bae6e){_0x69d7ae=_0x5bae6e;_0x46cf29[_0x520e('0x31')]=_[_0x520e('0x2f')](db['ZohoField'][_0x520e('0x2c')]);_0x46cf29[_0x520e('0x2e')]=_[_0x520e('0x2f')](_0x431d4c['query']);_0x46cf29[_0x520e('0x39')]=_[_0x520e('0x30')](_0x46cf29[_0x520e('0x31')],_0x46cf29['query']);_0x1ba0a1['attributes']=_[_0x520e('0x30')](_0x46cf29[_0x520e('0x31')],qs['fields'](_0x431d4c[_0x520e('0x2e')][_0x520e('0x33')]));_0x1ba0a1['attributes']=_0x1ba0a1['attributes'][_0x520e('0x34')]?_0x1ba0a1[_0x520e('0x32')]:_0x46cf29[_0x520e('0x31')];_0x1ba0a1[_0x520e('0x4c')]=qs['sort'](_0x431d4c[_0x520e('0x2e')][_0x520e('0x37')]);_0x1ba0a1[_0x520e('0x38')]=qs[_0x520e('0x39')](_['pick'](_0x431d4c[_0x520e('0x2e')],_0x46cf29[_0x520e('0x39')]));if(_0x431d4c['query']['filter']){_0x1ba0a1[_0x520e('0x38')]=_[_0x520e('0x3c')](_0x1ba0a1[_0x520e('0x38')],{'$or':_[_0x520e('0x2b')](_0x1ba0a1[_0x520e('0x32')],function(_0x5d54d1){var _0xdaadf4={};_0xdaadf4[_0x5d54d1]={'$like':'%'+_0x431d4c[_0x520e('0x2e')][_0x520e('0x3b')]+'%'};return _0xdaadf4;})});}_0x1ba0a1=_[_0x520e('0x3c')]({},_0x1ba0a1,_0x431d4c[_0x520e('0x3f')]);return _0x69d7ae['getDescriptions'](_0x1ba0a1);}})[_0x520e('0x25')](function(_0x1ca719){if(_0x1ca719){_0x61006=_0x1ca719[_0x520e('0x34')];if(!_0x431d4c[_0x520e('0x2e')][_0x520e('0x35')](_0x520e('0x36'))){_0x1ba0a1[_0x520e('0x1f')]=qs[_0x520e('0x1f')](_0x431d4c[_0x520e('0x2e')]['limit']);_0x1ba0a1[_0x520e('0x20')]=qs['offset'](_0x431d4c['query'][_0x520e('0x20')]);}return _0x69d7ae[_0x520e('0x50')](_0x1ba0a1);}})[_0x520e('0x25')](function(_0x2914d6){if(_0x2914d6){return _0x2914d6?{'count':_0x61006,'rows':_0x2914d6}:null;}})[_0x520e('0x25')](respondWithResult(_0x59ae26,null))[_0x520e('0x47')](handleError(_0x59ae26,null));};