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 _0xd4d9=['getDescriptions','eml-format','rimraf','fast-json-patch','moment','mustache','util','path','sox','to-csv','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','offset','undefined','count','limit','set','reject','save','update','end','error','stack','name','index','map','ZohoConfiguration','rawAttributes','fieldName','key','model','query','keys','filters','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','type','options','then','includeAll','include','findAll','rows','catch','show','params','create','body','find','getFields','findOne','ZohoField','length','getSubjects'];(function(_0x11005e,_0x20c3d2){var _0x29338f=function(_0x3384e9){while(--_0x3384e9){_0x11005e['push'](_0x11005e['shift']());}};_0x29338f(++_0x20c3d2);}(_0xd4d9,0xee));var _0x9d4d=function(_0x377ac0,_0x5c6208){_0x377ac0=_0x377ac0-0x0;var _0x230711=_0xd4d9[_0x377ac0];return _0x230711;};'use strict';var emlformat=require(_0x9d4d('0x0'));var rimraf=require(_0x9d4d('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x9d4d('0x2'));var rp=require('request-promise');var moment=require(_0x9d4d('0x3'));var BPromise=require('bluebird');var Mustache=require(_0x9d4d('0x4'));var util=require(_0x9d4d('0x5'));var path=require(_0x9d4d('0x6'));var sox=require(_0x9d4d('0x7'));var csv=require(_0x9d4d('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x9d4d('0x9'));var _=require(_0x9d4d('0xa'));var squel=require(_0x9d4d('0xb'));var crypto=require(_0x9d4d('0xc'));var jsforce=require(_0x9d4d('0xd'));var deskjs=require(_0x9d4d('0xe'));var toCsv=require('to-csv');var querystring=require(_0x9d4d('0xf'));var Papa=require(_0x9d4d('0x10'));var Redis=require(_0x9d4d('0x11'));var authService=require(_0x9d4d('0x12'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x9d4d('0x13'));var logger=require(_0x9d4d('0x14'))(_0x9d4d('0x15'));var utils=require(_0x9d4d('0x16'));var config=require(_0x9d4d('0x17'));var licenseUtil=require('../../config/license/util');var db=require(_0x9d4d('0x18'))['db'];function respondWithStatusCode(_0x576978,_0x190db4){_0x190db4=_0x190db4||0xcc;return function(_0x4575a1){if(_0x4575a1){return _0x576978[_0x9d4d('0x19')](_0x190db4);}return _0x576978[_0x9d4d('0x1a')](_0x190db4)['end']();};}function respondWithResult(_0x58121f,_0x19579a){_0x19579a=_0x19579a||0xc8;return function(_0x1e32a4){if(_0x1e32a4){return _0x58121f[_0x9d4d('0x1a')](_0x19579a)['json'](_0x1e32a4);}};}function respondWithFilteredResult(_0x458926,_0x2958d2){return function(_0x422ecc){if(_0x422ecc){var _0x44e3ce=typeof _0x2958d2[_0x9d4d('0x1b')]===_0x9d4d('0x1c')&&typeof _0x2958d2['limit']===_0x9d4d('0x1c');var _0x93c38e=_0x422ecc[_0x9d4d('0x1d')];var _0x490453=_0x44e3ce?0x0:_0x2958d2[_0x9d4d('0x1b')];var _0x457c6b=_0x44e3ce?_0x422ecc['count']:_0x2958d2['offset']+_0x2958d2[_0x9d4d('0x1e')];var _0x208f8f;if(_0x457c6b>=_0x93c38e){_0x457c6b=_0x93c38e;_0x208f8f=0xc8;}else{_0x208f8f=0xce;}_0x458926[_0x9d4d('0x1a')](_0x208f8f);return _0x458926[_0x9d4d('0x1f')]('Content-Range',_0x490453+'-'+_0x457c6b+'/'+_0x93c38e)['json'](_0x422ecc);}return null;};}function patchUpdates(_0x45f239){return function(_0x5e0111){try{jsonpatch['apply'](_0x5e0111,_0x45f239,!![]);}catch(_0x54c312){return BPromise[_0x9d4d('0x20')](_0x54c312);}return _0x5e0111[_0x9d4d('0x21')]();};}function saveUpdates(_0x4de25c,_0x54db39){return function(_0x1be041){if(_0x1be041){return _0x1be041[_0x9d4d('0x22')](_0x4de25c)['then'](function(_0x205578){return _0x205578;});}return null;};}function removeEntity(_0x643e98,_0x4226f3){return function(_0xe7dc6c){if(_0xe7dc6c){return _0xe7dc6c['destroy']()['then'](function(){_0x643e98[_0x9d4d('0x1a')](0xcc)[_0x9d4d('0x23')]();});}};}function handleEntityNotFound(_0x139028,_0x4cbd2a){return function(_0x569d25){if(!_0x569d25){_0x139028[_0x9d4d('0x19')](0x194);}return _0x569d25;};}function handleError(_0x1d1a8a,_0x6d6355){_0x6d6355=_0x6d6355||0x1f4;return function(_0x5f3046){logger[_0x9d4d('0x24')](_0x5f3046[_0x9d4d('0x25')]);if(_0x5f3046['name']){delete _0x5f3046[_0x9d4d('0x26')];}_0x1d1a8a[_0x9d4d('0x1a')](_0x6d6355)['send'](_0x5f3046);};}exports[_0x9d4d('0x27')]=function(_0xeb7629,_0x593dde){var _0x3e3888={},_0x16b7a6={},_0x16309a={'count':0x0,'rows':[]};var _0x47dd0a=_[_0x9d4d('0x28')](db[_0x9d4d('0x29')][_0x9d4d('0x2a')],function(_0x1ae70b){return{'name':_0x1ae70b[_0x9d4d('0x2b')],'type':_0x1ae70b['type'][_0x9d4d('0x2c')]};});_0x16b7a6[_0x9d4d('0x2d')]=_['map'](_0x47dd0a,_0x9d4d('0x26'));_0x16b7a6[_0x9d4d('0x2e')]=_[_0x9d4d('0x2f')](_0xeb7629[_0x9d4d('0x2e')]);_0x16b7a6[_0x9d4d('0x30')]=_[_0x9d4d('0x31')](_0x16b7a6[_0x9d4d('0x2d')],_0x16b7a6[_0x9d4d('0x2e')]);_0x3e3888[_0x9d4d('0x32')]=_[_0x9d4d('0x31')](_0x16b7a6['model'],qs[_0x9d4d('0x33')](_0xeb7629[_0x9d4d('0x2e')][_0x9d4d('0x33')]));_0x3e3888[_0x9d4d('0x32')]=_0x3e3888['attributes']['length']?_0x3e3888[_0x9d4d('0x32')]:_0x16b7a6['model'];if(!_0xeb7629[_0x9d4d('0x2e')][_0x9d4d('0x34')](_0x9d4d('0x35'))){_0x3e3888[_0x9d4d('0x1e')]=qs[_0x9d4d('0x1e')](_0xeb7629[_0x9d4d('0x2e')][_0x9d4d('0x1e')]);_0x3e3888[_0x9d4d('0x1b')]=qs[_0x9d4d('0x1b')](_0xeb7629[_0x9d4d('0x2e')][_0x9d4d('0x1b')]);}_0x3e3888[_0x9d4d('0x36')]=qs[_0x9d4d('0x37')](_0xeb7629[_0x9d4d('0x2e')][_0x9d4d('0x37')]);_0x3e3888[_0x9d4d('0x38')]=qs['filters'](_[_0x9d4d('0x39')](_0xeb7629['query'],_0x16b7a6['filters']),_0x47dd0a);if(_0xeb7629[_0x9d4d('0x2e')][_0x9d4d('0x3a')]){_0x3e3888[_0x9d4d('0x38')]=_[_0x9d4d('0x3b')](_0x3e3888[_0x9d4d('0x38')],{'$or':_['map'](_0x47dd0a,function(_0x43efff){if(_0x43efff[_0x9d4d('0x3c')]!=='VIRTUAL'){var _0x39dd73={};_0x39dd73[_0x43efff[_0x9d4d('0x26')]]={'$like':'%'+_0xeb7629[_0x9d4d('0x2e')]['filter']+'%'};return _0x39dd73;}})});}_0x3e3888=_[_0x9d4d('0x3b')]({},_0x3e3888,_0xeb7629[_0x9d4d('0x3d')]);var _0x1d01b8={'where':_0x3e3888['where']};return db['ZohoConfiguration'][_0x9d4d('0x1d')](_0x1d01b8)[_0x9d4d('0x3e')](function(_0x4ac268){_0x16309a[_0x9d4d('0x1d')]=_0x4ac268;if(_0xeb7629[_0x9d4d('0x2e')][_0x9d4d('0x3f')]){_0x3e3888[_0x9d4d('0x40')]=[{'all':!![]}];}return db['ZohoConfiguration'][_0x9d4d('0x41')](_0x3e3888);})['then'](function(_0x27a9be){_0x16309a[_0x9d4d('0x42')]=_0x27a9be;return _0x16309a;})[_0x9d4d('0x3e')](respondWithFilteredResult(_0x593dde,_0x3e3888))[_0x9d4d('0x43')](handleError(_0x593dde,null));};exports[_0x9d4d('0x44')]=function(_0x303183,_0xd718a9){var _0x19ea29={'raw':![],'where':{'id':_0x303183[_0x9d4d('0x45')]['id']}},_0x217274={};_0x217274[_0x9d4d('0x2d')]=_[_0x9d4d('0x2f')](db[_0x9d4d('0x29')][_0x9d4d('0x2a')]);_0x217274[_0x9d4d('0x2e')]=_['keys'](_0x303183[_0x9d4d('0x2e')]);_0x217274[_0x9d4d('0x30')]=_['intersection'](_0x217274[_0x9d4d('0x2d')],_0x217274['query']);_0x19ea29['attributes']=_['intersection'](_0x217274['model'],qs['fields'](_0x303183[_0x9d4d('0x2e')]['fields']));_0x19ea29[_0x9d4d('0x32')]=_0x19ea29['attributes']['length']?_0x19ea29['attributes']:_0x217274['model'];if(_0x303183[_0x9d4d('0x2e')][_0x9d4d('0x3f')]){_0x19ea29['include']=[{'all':!![]}];}_0x19ea29=_[_0x9d4d('0x3b')]({},_0x19ea29,_0x303183['options']);return db[_0x9d4d('0x29')]['find'](_0x19ea29)['then'](handleEntityNotFound(_0xd718a9,null))[_0x9d4d('0x3e')](respondWithResult(_0xd718a9,null))['catch'](handleError(_0xd718a9,null));};exports[_0x9d4d('0x46')]=function(_0x1a5d8a,_0x5cebe9){return db[_0x9d4d('0x29')][_0x9d4d('0x46')](_0x1a5d8a[_0x9d4d('0x47')],{})[_0x9d4d('0x3e')](respondWithResult(_0x5cebe9,0xc9))[_0x9d4d('0x43')](handleError(_0x5cebe9,null));};exports[_0x9d4d('0x22')]=function(_0x15de11,_0x12011d){if(_0x15de11['body']['id']){delete _0x15de11[_0x9d4d('0x47')]['id'];}return db[_0x9d4d('0x29')][_0x9d4d('0x48')]({'where':{'id':_0x15de11[_0x9d4d('0x45')]['id']}})[_0x9d4d('0x3e')](handleEntityNotFound(_0x12011d,null))[_0x9d4d('0x3e')](saveUpdates(_0x15de11[_0x9d4d('0x47')],null))['then'](respondWithResult(_0x12011d,null))[_0x9d4d('0x43')](handleError(_0x12011d,null));};exports['destroy']=function(_0x11675d,_0x4c5ff5){return db['ZohoConfiguration'][_0x9d4d('0x48')]({'where':{'id':_0x11675d[_0x9d4d('0x45')]['id']}})[_0x9d4d('0x3e')](handleEntityNotFound(_0x4c5ff5,null))[_0x9d4d('0x3e')](removeEntity(_0x4c5ff5,null))['catch'](handleError(_0x4c5ff5,null));};exports[_0x9d4d('0x49')]=function(_0x128e23,_0x48364e,_0x1b1c1e){var _0x3d13b1={};var _0x15f894={};var _0x4c1598;var _0x1536ba;return db[_0x9d4d('0x29')][_0x9d4d('0x4a')]({'where':{'id':_0x128e23['params']['id']}})[_0x9d4d('0x3e')](handleEntityNotFound(_0x48364e,null))[_0x9d4d('0x3e')](function(_0x31bbbd){if(_0x31bbbd){_0x4c1598=_0x31bbbd;_0x15f894['model']=_[_0x9d4d('0x2f')](db[_0x9d4d('0x4b')]['rawAttributes']);_0x15f894[_0x9d4d('0x2e')]=_[_0x9d4d('0x2f')](_0x128e23[_0x9d4d('0x2e')]);_0x15f894[_0x9d4d('0x30')]=_[_0x9d4d('0x31')](_0x15f894['model'],_0x15f894['query']);_0x3d13b1[_0x9d4d('0x32')]=_[_0x9d4d('0x31')](_0x15f894['model'],qs[_0x9d4d('0x33')](_0x128e23[_0x9d4d('0x2e')][_0x9d4d('0x33')]));_0x3d13b1[_0x9d4d('0x32')]=_0x3d13b1[_0x9d4d('0x32')][_0x9d4d('0x4c')]?_0x3d13b1['attributes']:_0x15f894[_0x9d4d('0x2d')];_0x3d13b1['order']=qs['sort'](_0x128e23[_0x9d4d('0x2e')][_0x9d4d('0x37')]);_0x3d13b1['where']=qs[_0x9d4d('0x30')](_[_0x9d4d('0x39')](_0x128e23['query'],_0x15f894[_0x9d4d('0x30')]));if(_0x128e23[_0x9d4d('0x2e')][_0x9d4d('0x3a')]){_0x3d13b1[_0x9d4d('0x38')]=_[_0x9d4d('0x3b')](_0x3d13b1[_0x9d4d('0x38')],{'$or':_[_0x9d4d('0x28')](_0x3d13b1[_0x9d4d('0x32')],function(_0x33b111){var _0x56a243={};_0x56a243[_0x33b111]={'$like':'%'+_0x128e23[_0x9d4d('0x2e')][_0x9d4d('0x3a')]+'%'};return _0x56a243;})});}_0x3d13b1=_['merge']({},_0x3d13b1,_0x128e23[_0x9d4d('0x3d')]);return _0x4c1598[_0x9d4d('0x49')](_0x3d13b1);}})[_0x9d4d('0x3e')](function(_0x1d4b63){if(_0x1d4b63){_0x1536ba=_0x1d4b63[_0x9d4d('0x4c')];if(!_0x128e23[_0x9d4d('0x2e')]['hasOwnProperty'](_0x9d4d('0x35'))){_0x3d13b1[_0x9d4d('0x1e')]=qs['limit'](_0x128e23['query'][_0x9d4d('0x1e')]);_0x3d13b1[_0x9d4d('0x1b')]=qs[_0x9d4d('0x1b')](_0x128e23[_0x9d4d('0x2e')][_0x9d4d('0x1b')]);}return _0x4c1598['getFields'](_0x3d13b1);}})[_0x9d4d('0x3e')](function(_0x497ad0){if(_0x497ad0){return _0x497ad0?{'count':_0x1536ba,'rows':_0x497ad0}:null;}})[_0x9d4d('0x3e')](respondWithResult(_0x48364e,null))[_0x9d4d('0x43')](handleError(_0x48364e,null));};exports[_0x9d4d('0x4d')]=function(_0x182a49,_0x766690,_0x59fcc0){var _0x17b232={};var _0x4a31fd={};var _0x414819;var _0x42a57b;return db['ZohoConfiguration'][_0x9d4d('0x4a')]({'where':{'id':_0x182a49[_0x9d4d('0x45')]['id']}})[_0x9d4d('0x3e')](handleEntityNotFound(_0x766690,null))['then'](function(_0x361fb6){if(_0x361fb6){_0x414819=_0x361fb6;_0x4a31fd['model']=_[_0x9d4d('0x2f')](db[_0x9d4d('0x4b')]['rawAttributes']);_0x4a31fd[_0x9d4d('0x2e')]=_[_0x9d4d('0x2f')](_0x182a49['query']);_0x4a31fd[_0x9d4d('0x30')]=_[_0x9d4d('0x31')](_0x4a31fd[_0x9d4d('0x2d')],_0x4a31fd['query']);_0x17b232[_0x9d4d('0x32')]=_[_0x9d4d('0x31')](_0x4a31fd['model'],qs[_0x9d4d('0x33')](_0x182a49['query']['fields']));_0x17b232[_0x9d4d('0x32')]=_0x17b232[_0x9d4d('0x32')][_0x9d4d('0x4c')]?_0x17b232[_0x9d4d('0x32')]:_0x4a31fd['model'];_0x17b232['order']=qs['sort'](_0x182a49['query'][_0x9d4d('0x37')]);_0x17b232[_0x9d4d('0x38')]=qs[_0x9d4d('0x30')](_['pick'](_0x182a49[_0x9d4d('0x2e')],_0x4a31fd[_0x9d4d('0x30')]));if(_0x182a49[_0x9d4d('0x2e')]['filter']){_0x17b232[_0x9d4d('0x38')]=_[_0x9d4d('0x3b')](_0x17b232['where'],{'$or':_[_0x9d4d('0x28')](_0x17b232['attributes'],function(_0x198d40){var _0x18d47b={};_0x18d47b[_0x198d40]={'$like':'%'+_0x182a49[_0x9d4d('0x2e')][_0x9d4d('0x3a')]+'%'};return _0x18d47b;})});}_0x17b232=_['merge']({},_0x17b232,_0x182a49['options']);return _0x414819[_0x9d4d('0x4d')](_0x17b232);}})['then'](function(_0x54872b){if(_0x54872b){_0x42a57b=_0x54872b[_0x9d4d('0x4c')];if(!_0x182a49[_0x9d4d('0x2e')][_0x9d4d('0x34')](_0x9d4d('0x35'))){_0x17b232[_0x9d4d('0x1e')]=qs[_0x9d4d('0x1e')](_0x182a49[_0x9d4d('0x2e')]['limit']);_0x17b232[_0x9d4d('0x1b')]=qs['offset'](_0x182a49[_0x9d4d('0x2e')]['offset']);}return _0x414819[_0x9d4d('0x4d')](_0x17b232);}})[_0x9d4d('0x3e')](function(_0x51e441){if(_0x51e441){return _0x51e441?{'count':_0x42a57b,'rows':_0x51e441}:null;}})[_0x9d4d('0x3e')](respondWithResult(_0x766690,null))[_0x9d4d('0x43')](handleError(_0x766690,null));};exports['getDescriptions']=function(_0x3396b8,_0x3f0525,_0x11336a){var _0x426d8d={};var _0x76bf05={};var _0x445578;var _0xc10e09;return db[_0x9d4d('0x29')][_0x9d4d('0x4a')]({'where':{'id':_0x3396b8[_0x9d4d('0x45')]['id']}})[_0x9d4d('0x3e')](handleEntityNotFound(_0x3f0525,null))[_0x9d4d('0x3e')](function(_0x1c088f){if(_0x1c088f){_0x445578=_0x1c088f;_0x76bf05[_0x9d4d('0x2d')]=_[_0x9d4d('0x2f')](db[_0x9d4d('0x4b')][_0x9d4d('0x2a')]);_0x76bf05[_0x9d4d('0x2e')]=_[_0x9d4d('0x2f')](_0x3396b8['query']);_0x76bf05['filters']=_[_0x9d4d('0x31')](_0x76bf05[_0x9d4d('0x2d')],_0x76bf05['query']);_0x426d8d[_0x9d4d('0x32')]=_['intersection'](_0x76bf05['model'],qs[_0x9d4d('0x33')](_0x3396b8[_0x9d4d('0x2e')][_0x9d4d('0x33')]));_0x426d8d['attributes']=_0x426d8d[_0x9d4d('0x32')][_0x9d4d('0x4c')]?_0x426d8d[_0x9d4d('0x32')]:_0x76bf05[_0x9d4d('0x2d')];_0x426d8d[_0x9d4d('0x36')]=qs[_0x9d4d('0x37')](_0x3396b8['query'][_0x9d4d('0x37')]);_0x426d8d[_0x9d4d('0x38')]=qs[_0x9d4d('0x30')](_[_0x9d4d('0x39')](_0x3396b8[_0x9d4d('0x2e')],_0x76bf05[_0x9d4d('0x30')]));if(_0x3396b8['query']['filter']){_0x426d8d[_0x9d4d('0x38')]=_[_0x9d4d('0x3b')](_0x426d8d[_0x9d4d('0x38')],{'$or':_[_0x9d4d('0x28')](_0x426d8d[_0x9d4d('0x32')],function(_0xa5e4a0){var _0x4928ad={};_0x4928ad[_0xa5e4a0]={'$like':'%'+_0x3396b8[_0x9d4d('0x2e')][_0x9d4d('0x3a')]+'%'};return _0x4928ad;})});}_0x426d8d=_[_0x9d4d('0x3b')]({},_0x426d8d,_0x3396b8['options']);return _0x445578[_0x9d4d('0x4e')](_0x426d8d);}})[_0x9d4d('0x3e')](function(_0x23cf87){if(_0x23cf87){_0xc10e09=_0x23cf87[_0x9d4d('0x4c')];if(!_0x3396b8['query']['hasOwnProperty']('nolimit')){_0x426d8d[_0x9d4d('0x1e')]=qs[_0x9d4d('0x1e')](_0x3396b8[_0x9d4d('0x2e')][_0x9d4d('0x1e')]);_0x426d8d[_0x9d4d('0x1b')]=qs[_0x9d4d('0x1b')](_0x3396b8[_0x9d4d('0x2e')][_0x9d4d('0x1b')]);}return _0x445578['getDescriptions'](_0x426d8d);}})[_0x9d4d('0x3e')](function(_0x16b4b2){if(_0x16b4b2){return _0x16b4b2?{'count':_0xc10e09,'rows':_0x16b4b2}:null;}})[_0x9d4d('0x3e')](respondWithResult(_0x3f0525,null))[_0x9d4d('0x43')](handleError(_0x3f0525,null));};