Built motion from commit 25580385.|2.6.2
[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 _0x1956=['body','findOne','ZohoField','getFields','getSubjects','getDescriptions','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','util','path','sox','ejs','squel','jsforce','desk.js','querystring','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','json','offset','count','limit','set','reject','update','then','destroy','stack','name','index','map','ZohoConfiguration','rawAttributes','key','model','query','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','filters','pick','filter','merge','where','type','VIRTUAL','options','includeAll','include','findAll','rows','catch','show','params','keys','length','find','create'];(function(_0x5911ae,_0x7d49b){var _0x455387=function(_0x23921d){while(--_0x23921d){_0x5911ae['push'](_0x5911ae['shift']());}};_0x455387(++_0x7d49b);}(_0x1956,0x1b6));var _0x6195=function(_0x456b57,_0x58691a){_0x456b57=_0x456b57-0x0;var _0x18f49f=_0x1956[_0x456b57];return _0x18f49f;};'use strict';var emlformat=require(_0x6195('0x0'));var rimraf=require(_0x6195('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x6195('0x2'));var rp=require(_0x6195('0x3'));var moment=require(_0x6195('0x4'));var BPromise=require(_0x6195('0x5'));var Mustache=require('mustache');var util=require(_0x6195('0x6'));var path=require(_0x6195('0x7'));var sox=require(_0x6195('0x8'));var csv=require('to-csv');var ejs=require(_0x6195('0x9'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0x6195('0xa'));var crypto=require('crypto');var jsforce=require(_0x6195('0xb'));var deskjs=require(_0x6195('0xc'));var toCsv=require('to-csv');var querystring=require(_0x6195('0xd'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0x6195('0xe'));var qs=require(_0x6195('0xf'));var as=require(_0x6195('0x10'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')('api');var utils=require(_0x6195('0x11'));var config=require(_0x6195('0x12'));var licenseUtil=require(_0x6195('0x13'));var db=require(_0x6195('0x14'))['db'];function respondWithStatusCode(_0x532f2b,_0x37288d){_0x37288d=_0x37288d||0xcc;return function(_0x2fe0d8){if(_0x2fe0d8){return _0x532f2b['sendStatus'](_0x37288d);}return _0x532f2b[_0x6195('0x15')](_0x37288d)['end']();};}function respondWithResult(_0x24986d,_0x4b1742){_0x4b1742=_0x4b1742||0xc8;return function(_0x13a473){if(_0x13a473){return _0x24986d[_0x6195('0x15')](_0x4b1742)[_0x6195('0x16')](_0x13a473);}};}function respondWithFilteredResult(_0x31616a,_0x486ddb){return function(_0x4ae6fa){if(_0x4ae6fa){var _0x1bef6f=typeof _0x486ddb[_0x6195('0x17')]==='undefined'&&typeof _0x486ddb['limit']==='undefined';var _0x3970ec=_0x4ae6fa[_0x6195('0x18')];var _0x1c0ea4=_0x1bef6f?0x0:_0x486ddb['offset'];var _0x303cda=_0x1bef6f?_0x4ae6fa[_0x6195('0x18')]:_0x486ddb['offset']+_0x486ddb[_0x6195('0x19')];var _0x99cc79;if(_0x303cda>=_0x3970ec){_0x303cda=_0x3970ec;_0x99cc79=0xc8;}else{_0x99cc79=0xce;}_0x31616a[_0x6195('0x15')](_0x99cc79);return _0x31616a[_0x6195('0x1a')]('Content-Range',_0x1c0ea4+'-'+_0x303cda+'/'+_0x3970ec)[_0x6195('0x16')](_0x4ae6fa);}return null;};}function patchUpdates(_0x146eee){return function(_0x1fdb5a){try{jsonpatch['apply'](_0x1fdb5a,_0x146eee,!![]);}catch(_0x51fa01){return BPromise[_0x6195('0x1b')](_0x51fa01);}return _0x1fdb5a['save']();};}function saveUpdates(_0x61d706,_0x564370){return function(_0xdcd3){if(_0xdcd3){return _0xdcd3[_0x6195('0x1c')](_0x61d706)[_0x6195('0x1d')](function(_0x396234){return _0x396234;});}return null;};}function removeEntity(_0x15e5c4,_0x1a3269){return function(_0xf2ae52){if(_0xf2ae52){return _0xf2ae52[_0x6195('0x1e')]()[_0x6195('0x1d')](function(){_0x15e5c4[_0x6195('0x15')](0xcc)['end']();});}};}function handleEntityNotFound(_0x13ac3a,_0x33ba00){return function(_0xbc6818){if(!_0xbc6818){_0x13ac3a['sendStatus'](0x194);}return _0xbc6818;};}function handleError(_0x49e592,_0x30e8b2){_0x30e8b2=_0x30e8b2||0x1f4;return function(_0x4bfec4){logger['error'](_0x4bfec4[_0x6195('0x1f')]);if(_0x4bfec4[_0x6195('0x20')]){delete _0x4bfec4['name'];}_0x49e592[_0x6195('0x15')](_0x30e8b2)['send'](_0x4bfec4);};}exports[_0x6195('0x21')]=function(_0x14b924,_0x3bf5aa){var _0x34587e={},_0x4541b6={},_0xb93185={'count':0x0,'rows':[]};var _0x1514ae=_[_0x6195('0x22')](db[_0x6195('0x23')][_0x6195('0x24')],function(_0x2914d6){return{'name':_0x2914d6['fieldName'],'type':_0x2914d6['type'][_0x6195('0x25')]};});_0x4541b6[_0x6195('0x26')]=_[_0x6195('0x22')](_0x1514ae,_0x6195('0x20'));_0x4541b6[_0x6195('0x27')]=_['keys'](_0x14b924[_0x6195('0x27')]);_0x4541b6['filters']=_[_0x6195('0x28')](_0x4541b6[_0x6195('0x26')],_0x4541b6[_0x6195('0x27')]);_0x34587e[_0x6195('0x29')]=_[_0x6195('0x28')](_0x4541b6[_0x6195('0x26')],qs[_0x6195('0x2a')](_0x14b924[_0x6195('0x27')][_0x6195('0x2a')]));_0x34587e[_0x6195('0x29')]=_0x34587e[_0x6195('0x29')]['length']?_0x34587e['attributes']:_0x4541b6[_0x6195('0x26')];if(!_0x14b924['query'][_0x6195('0x2b')](_0x6195('0x2c'))){_0x34587e[_0x6195('0x19')]=qs['limit'](_0x14b924['query'][_0x6195('0x19')]);_0x34587e[_0x6195('0x17')]=qs[_0x6195('0x17')](_0x14b924[_0x6195('0x27')][_0x6195('0x17')]);}_0x34587e[_0x6195('0x2d')]=qs[_0x6195('0x2e')](_0x14b924['query']['sort']);_0x34587e['where']=qs[_0x6195('0x2f')](_[_0x6195('0x30')](_0x14b924[_0x6195('0x27')],_0x4541b6[_0x6195('0x2f')]),_0x1514ae);if(_0x14b924['query'][_0x6195('0x31')]){_0x34587e['where']=_[_0x6195('0x32')](_0x34587e[_0x6195('0x33')],{'$or':_[_0x6195('0x22')](_0x1514ae,function(_0x4ba4cd){if(_0x4ba4cd[_0x6195('0x34')]!==_0x6195('0x35')){var _0x200be3={};_0x200be3[_0x4ba4cd[_0x6195('0x20')]]={'$like':'%'+_0x14b924[_0x6195('0x27')]['filter']+'%'};return _0x200be3;}})});}_0x34587e=_[_0x6195('0x32')]({},_0x34587e,_0x14b924[_0x6195('0x36')]);var _0x23af74={'where':_0x34587e[_0x6195('0x33')]};return db[_0x6195('0x23')][_0x6195('0x18')](_0x23af74)[_0x6195('0x1d')](function(_0x498693){_0xb93185[_0x6195('0x18')]=_0x498693;if(_0x14b924[_0x6195('0x27')][_0x6195('0x37')]){_0x34587e[_0x6195('0x38')]=[{'all':!![]}];}return db['ZohoConfiguration'][_0x6195('0x39')](_0x34587e);})[_0x6195('0x1d')](function(_0x2a5e1c){_0xb93185[_0x6195('0x3a')]=_0x2a5e1c;return _0xb93185;})['then'](respondWithFilteredResult(_0x3bf5aa,_0x34587e))[_0x6195('0x3b')](handleError(_0x3bf5aa,null));};exports[_0x6195('0x3c')]=function(_0x1f6e7a,_0x1d189a){var _0x1d8fcd={'raw':![],'where':{'id':_0x1f6e7a[_0x6195('0x3d')]['id']}},_0x1ca0a5={};_0x1ca0a5[_0x6195('0x26')]=_[_0x6195('0x3e')](db['ZohoConfiguration'][_0x6195('0x24')]);_0x1ca0a5[_0x6195('0x27')]=_[_0x6195('0x3e')](_0x1f6e7a['query']);_0x1ca0a5['filters']=_['intersection'](_0x1ca0a5[_0x6195('0x26')],_0x1ca0a5[_0x6195('0x27')]);_0x1d8fcd['attributes']=_[_0x6195('0x28')](_0x1ca0a5[_0x6195('0x26')],qs[_0x6195('0x2a')](_0x1f6e7a[_0x6195('0x27')][_0x6195('0x2a')]));_0x1d8fcd[_0x6195('0x29')]=_0x1d8fcd['attributes'][_0x6195('0x3f')]?_0x1d8fcd[_0x6195('0x29')]:_0x1ca0a5[_0x6195('0x26')];if(_0x1f6e7a[_0x6195('0x27')]['includeAll']){_0x1d8fcd[_0x6195('0x38')]=[{'all':!![]}];}_0x1d8fcd=_[_0x6195('0x32')]({},_0x1d8fcd,_0x1f6e7a['options']);return db[_0x6195('0x23')][_0x6195('0x40')](_0x1d8fcd)[_0x6195('0x1d')](handleEntityNotFound(_0x1d189a,null))[_0x6195('0x1d')](respondWithResult(_0x1d189a,null))[_0x6195('0x3b')](handleError(_0x1d189a,null));};exports[_0x6195('0x41')]=function(_0x19ed3c,_0x1dbe72){return db[_0x6195('0x23')]['create'](_0x19ed3c['body'],{})[_0x6195('0x1d')](respondWithResult(_0x1dbe72,0xc9))[_0x6195('0x3b')](handleError(_0x1dbe72,null));};exports['update']=function(_0x268f26,_0x259527){if(_0x268f26['body']['id']){delete _0x268f26[_0x6195('0x42')]['id'];}return db[_0x6195('0x23')][_0x6195('0x40')]({'where':{'id':_0x268f26['params']['id']}})['then'](handleEntityNotFound(_0x259527,null))[_0x6195('0x1d')](saveUpdates(_0x268f26[_0x6195('0x42')],null))['then'](respondWithResult(_0x259527,null))['catch'](handleError(_0x259527,null));};exports['destroy']=function(_0x42b5b1,_0x4bbea2){return db['ZohoConfiguration'][_0x6195('0x40')]({'where':{'id':_0x42b5b1[_0x6195('0x3d')]['id']}})[_0x6195('0x1d')](handleEntityNotFound(_0x4bbea2,null))['then'](removeEntity(_0x4bbea2,null))[_0x6195('0x3b')](handleError(_0x4bbea2,null));};exports['getFields']=function(_0x457f4f,_0x5db6de,_0x138f7e){var _0x5df1a4={};var _0x3ca802={};var _0x57c28b;var _0x4e9c31;return db[_0x6195('0x23')][_0x6195('0x43')]({'where':{'id':_0x457f4f['params']['id']}})[_0x6195('0x1d')](handleEntityNotFound(_0x5db6de,null))[_0x6195('0x1d')](function(_0x59fb29){if(_0x59fb29){_0x57c28b=_0x59fb29;_0x3ca802[_0x6195('0x26')]=_[_0x6195('0x3e')](db[_0x6195('0x44')][_0x6195('0x24')]);_0x3ca802[_0x6195('0x27')]=_[_0x6195('0x3e')](_0x457f4f[_0x6195('0x27')]);_0x3ca802[_0x6195('0x2f')]=_[_0x6195('0x28')](_0x3ca802['model'],_0x3ca802[_0x6195('0x27')]);_0x5df1a4['attributes']=_[_0x6195('0x28')](_0x3ca802[_0x6195('0x26')],qs[_0x6195('0x2a')](_0x457f4f['query']['fields']));_0x5df1a4[_0x6195('0x29')]=_0x5df1a4['attributes'][_0x6195('0x3f')]?_0x5df1a4[_0x6195('0x29')]:_0x3ca802['model'];_0x5df1a4[_0x6195('0x2d')]=qs['sort'](_0x457f4f[_0x6195('0x27')][_0x6195('0x2e')]);_0x5df1a4['where']=qs[_0x6195('0x2f')](_[_0x6195('0x30')](_0x457f4f['query'],_0x3ca802[_0x6195('0x2f')]));if(_0x457f4f[_0x6195('0x27')][_0x6195('0x31')]){_0x5df1a4['where']=_[_0x6195('0x32')](_0x5df1a4[_0x6195('0x33')],{'$or':_[_0x6195('0x22')](_0x5df1a4[_0x6195('0x29')],function(_0x7c17f6){var _0x6a46c3={};_0x6a46c3[_0x7c17f6]={'$like':'%'+_0x457f4f['query'][_0x6195('0x31')]+'%'};return _0x6a46c3;})});}_0x5df1a4=_[_0x6195('0x32')]({},_0x5df1a4,_0x457f4f[_0x6195('0x36')]);return _0x57c28b[_0x6195('0x45')](_0x5df1a4);}})[_0x6195('0x1d')](function(_0x3dd0b3){if(_0x3dd0b3){_0x4e9c31=_0x3dd0b3[_0x6195('0x3f')];if(!_0x457f4f[_0x6195('0x27')][_0x6195('0x2b')](_0x6195('0x2c'))){_0x5df1a4[_0x6195('0x19')]=qs[_0x6195('0x19')](_0x457f4f[_0x6195('0x27')][_0x6195('0x19')]);_0x5df1a4[_0x6195('0x17')]=qs[_0x6195('0x17')](_0x457f4f[_0x6195('0x27')][_0x6195('0x17')]);}return _0x57c28b[_0x6195('0x45')](_0x5df1a4);}})[_0x6195('0x1d')](function(_0x4ef521){if(_0x4ef521){return _0x4ef521?{'count':_0x4e9c31,'rows':_0x4ef521}:null;}})[_0x6195('0x1d')](respondWithResult(_0x5db6de,null))['catch'](handleError(_0x5db6de,null));};exports[_0x6195('0x46')]=function(_0x39e46b,_0x79cb7e,_0x49e0da){var _0x34eb01={};var _0x37e5f9={};var _0x3c41bb;var _0x280547;return db[_0x6195('0x23')][_0x6195('0x43')]({'where':{'id':_0x39e46b[_0x6195('0x3d')]['id']}})[_0x6195('0x1d')](handleEntityNotFound(_0x79cb7e,null))[_0x6195('0x1d')](function(_0x350ec6){if(_0x350ec6){_0x3c41bb=_0x350ec6;_0x37e5f9[_0x6195('0x26')]=_[_0x6195('0x3e')](db['ZohoField'][_0x6195('0x24')]);_0x37e5f9['query']=_[_0x6195('0x3e')](_0x39e46b['query']);_0x37e5f9['filters']=_[_0x6195('0x28')](_0x37e5f9[_0x6195('0x26')],_0x37e5f9[_0x6195('0x27')]);_0x34eb01[_0x6195('0x29')]=_[_0x6195('0x28')](_0x37e5f9[_0x6195('0x26')],qs[_0x6195('0x2a')](_0x39e46b[_0x6195('0x27')][_0x6195('0x2a')]));_0x34eb01[_0x6195('0x29')]=_0x34eb01[_0x6195('0x29')][_0x6195('0x3f')]?_0x34eb01[_0x6195('0x29')]:_0x37e5f9[_0x6195('0x26')];_0x34eb01[_0x6195('0x2d')]=qs[_0x6195('0x2e')](_0x39e46b['query'][_0x6195('0x2e')]);_0x34eb01[_0x6195('0x33')]=qs[_0x6195('0x2f')](_['pick'](_0x39e46b[_0x6195('0x27')],_0x37e5f9['filters']));if(_0x39e46b[_0x6195('0x27')][_0x6195('0x31')]){_0x34eb01[_0x6195('0x33')]=_[_0x6195('0x32')](_0x34eb01['where'],{'$or':_[_0x6195('0x22')](_0x34eb01[_0x6195('0x29')],function(_0x346c05){var _0x5f02dd={};_0x5f02dd[_0x346c05]={'$like':'%'+_0x39e46b[_0x6195('0x27')][_0x6195('0x31')]+'%'};return _0x5f02dd;})});}_0x34eb01=_['merge']({},_0x34eb01,_0x39e46b[_0x6195('0x36')]);return _0x3c41bb['getSubjects'](_0x34eb01);}})[_0x6195('0x1d')](function(_0x52fccd){if(_0x52fccd){_0x280547=_0x52fccd[_0x6195('0x3f')];if(!_0x39e46b['query'][_0x6195('0x2b')](_0x6195('0x2c'))){_0x34eb01[_0x6195('0x19')]=qs[_0x6195('0x19')](_0x39e46b[_0x6195('0x27')][_0x6195('0x19')]);_0x34eb01[_0x6195('0x17')]=qs[_0x6195('0x17')](_0x39e46b[_0x6195('0x27')][_0x6195('0x17')]);}return _0x3c41bb[_0x6195('0x46')](_0x34eb01);}})[_0x6195('0x1d')](function(_0x20bb31){if(_0x20bb31){return _0x20bb31?{'count':_0x280547,'rows':_0x20bb31}:null;}})[_0x6195('0x1d')](respondWithResult(_0x79cb7e,null))[_0x6195('0x3b')](handleError(_0x79cb7e,null));};exports[_0x6195('0x47')]=function(_0x235716,_0x5e4ea7,_0x228c50){var _0x37f934={};var _0x46024c={};var _0x3a531c;var _0x25a910;return db['ZohoConfiguration'][_0x6195('0x43')]({'where':{'id':_0x235716[_0x6195('0x3d')]['id']}})[_0x6195('0x1d')](handleEntityNotFound(_0x5e4ea7,null))['then'](function(_0x34940d){if(_0x34940d){_0x3a531c=_0x34940d;_0x46024c[_0x6195('0x26')]=_['keys'](db[_0x6195('0x44')]['rawAttributes']);_0x46024c[_0x6195('0x27')]=_[_0x6195('0x3e')](_0x235716[_0x6195('0x27')]);_0x46024c[_0x6195('0x2f')]=_[_0x6195('0x28')](_0x46024c[_0x6195('0x26')],_0x46024c[_0x6195('0x27')]);_0x37f934[_0x6195('0x29')]=_[_0x6195('0x28')](_0x46024c[_0x6195('0x26')],qs[_0x6195('0x2a')](_0x235716[_0x6195('0x27')][_0x6195('0x2a')]));_0x37f934[_0x6195('0x29')]=_0x37f934[_0x6195('0x29')][_0x6195('0x3f')]?_0x37f934['attributes']:_0x46024c[_0x6195('0x26')];_0x37f934[_0x6195('0x2d')]=qs[_0x6195('0x2e')](_0x235716[_0x6195('0x27')][_0x6195('0x2e')]);_0x37f934[_0x6195('0x33')]=qs[_0x6195('0x2f')](_[_0x6195('0x30')](_0x235716[_0x6195('0x27')],_0x46024c[_0x6195('0x2f')]));if(_0x235716['query'][_0x6195('0x31')]){_0x37f934[_0x6195('0x33')]=_[_0x6195('0x32')](_0x37f934[_0x6195('0x33')],{'$or':_[_0x6195('0x22')](_0x37f934[_0x6195('0x29')],function(_0x4f715f){var _0x1b0329={};_0x1b0329[_0x4f715f]={'$like':'%'+_0x235716[_0x6195('0x27')][_0x6195('0x31')]+'%'};return _0x1b0329;})});}_0x37f934=_[_0x6195('0x32')]({},_0x37f934,_0x235716['options']);return _0x3a531c['getDescriptions'](_0x37f934);}})['then'](function(_0x22a9c2){if(_0x22a9c2){_0x25a910=_0x22a9c2[_0x6195('0x3f')];if(!_0x235716[_0x6195('0x27')][_0x6195('0x2b')](_0x6195('0x2c'))){_0x37f934[_0x6195('0x19')]=qs['limit'](_0x235716[_0x6195('0x27')][_0x6195('0x19')]);_0x37f934[_0x6195('0x17')]=qs[_0x6195('0x17')](_0x235716[_0x6195('0x27')][_0x6195('0x17')]);}return _0x3a531c['getDescriptions'](_0x37f934);}})[_0x6195('0x1d')](function(_0x20714f){if(_0x20714f){return _0x20714f?{'count':_0x25a910,'rows':_0x20714f}:null;}})['then'](respondWithResult(_0x5e4ea7,null))['catch'](handleError(_0x5e4ea7,null));};