Built motion from commit b0a9a629.|2.6.33
[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 _0xd36b=['filters','intersection','attributes','fields','length','hasOwnProperty','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','params','catch','create','find','body','getFields','findOne','ZohoField','getSubjects','getDescriptions','nolimit','zip-dir','fast-json-patch','moment','bluebird','util','sox','to-csv','fs-extra','lodash','squel','crypto','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','json','undefined','limit','count','offset','set','Content-Range','apply','reject','update','then','destroy','stack','name','send','index','map','ZohoConfiguration','rawAttributes','fieldName','type','key','model','keys','query'];(function(_0x4c05da,_0x358ef2){var _0x17cae9=function(_0xe25a02){while(--_0xe25a02){_0x4c05da['push'](_0x4c05da['shift']());}};_0x17cae9(++_0x358ef2);}(_0xd36b,0x1a3));var _0xbd36=function(_0x27c11a,_0x223b7c){_0x27c11a=_0x27c11a-0x0;var _0x5cc708=_0xd36b[_0x27c11a];return _0x5cc708;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0xbd36('0x0'));var jsonpatch=require(_0xbd36('0x1'));var rp=require('request-promise');var moment=require(_0xbd36('0x2'));var BPromise=require(_0xbd36('0x3'));var Mustache=require('mustache');var util=require(_0xbd36('0x4'));var path=require('path');var sox=require(_0xbd36('0x5'));var csv=require(_0xbd36('0x6'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xbd36('0x7'));var _=require(_0xbd36('0x8'));var squel=require(_0xbd36('0x9'));var crypto=require(_0xbd36('0xa'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0xbd36('0x6'));var querystring=require(_0xbd36('0xb'));var Papa=require(_0xbd36('0xc'));var Redis=require('ioredis');var authService=require(_0xbd36('0xd'));var qs=require(_0xbd36('0xe'));var as=require(_0xbd36('0xf'));var hardwareService=require(_0xbd36('0x10'));var logger=require(_0xbd36('0x11'))(_0xbd36('0x12'));var utils=require(_0xbd36('0x13'));var config=require('../../config/environment');var licenseUtil=require(_0xbd36('0x14'));var db=require(_0xbd36('0x15'))['db'];function respondWithStatusCode(_0x2aca2e,_0x5682b6){_0x5682b6=_0x5682b6||0xcc;return function(_0x48f4b2){if(_0x48f4b2){return _0x2aca2e[_0xbd36('0x16')](_0x5682b6);}return _0x2aca2e[_0xbd36('0x17')](_0x5682b6)['end']();};}function respondWithResult(_0x3fe5d1,_0x3dfee8){_0x3dfee8=_0x3dfee8||0xc8;return function(_0x36356c){if(_0x36356c){return _0x3fe5d1[_0xbd36('0x17')](_0x3dfee8)[_0xbd36('0x18')](_0x36356c);}};}function respondWithFilteredResult(_0xba0202,_0x1d9264){return function(_0x1ddc33){if(_0x1ddc33){var _0x224f3d=typeof _0x1d9264['offset']===_0xbd36('0x19')&&typeof _0x1d9264[_0xbd36('0x1a')]===_0xbd36('0x19');var _0x423579=_0x1ddc33['count'];var _0x598a24=_0x224f3d?0x0:_0x1d9264['offset'];var _0x38d2ea=_0x224f3d?_0x1ddc33[_0xbd36('0x1b')]:_0x1d9264[_0xbd36('0x1c')]+_0x1d9264[_0xbd36('0x1a')];var _0x454817;if(_0x38d2ea>=_0x423579){_0x38d2ea=_0x423579;_0x454817=0xc8;}else{_0x454817=0xce;}_0xba0202[_0xbd36('0x17')](_0x454817);return _0xba0202[_0xbd36('0x1d')](_0xbd36('0x1e'),_0x598a24+'-'+_0x38d2ea+'/'+_0x423579)[_0xbd36('0x18')](_0x1ddc33);}return null;};}function patchUpdates(_0x5f2224){return function(_0x3fe020){try{jsonpatch[_0xbd36('0x1f')](_0x3fe020,_0x5f2224,!![]);}catch(_0x45c738){return BPromise[_0xbd36('0x20')](_0x45c738);}return _0x3fe020['save']();};}function saveUpdates(_0x5366e9,_0x2ee7bf){return function(_0x4624c5){if(_0x4624c5){return _0x4624c5[_0xbd36('0x21')](_0x5366e9)[_0xbd36('0x22')](function(_0x23a970){return _0x23a970;});}return null;};}function removeEntity(_0x28333d,_0x19cba7){return function(_0x3d0587){if(_0x3d0587){return _0x3d0587[_0xbd36('0x23')]()['then'](function(){_0x28333d[_0xbd36('0x17')](0xcc)['end']();});}};}function handleEntityNotFound(_0x1f8747,_0x3eabc4){return function(_0x582d52){if(!_0x582d52){_0x1f8747[_0xbd36('0x16')](0x194);}return _0x582d52;};}function handleError(_0x25057b,_0x39404f){_0x39404f=_0x39404f||0x1f4;return function(_0x51ade4){logger['error'](_0x51ade4[_0xbd36('0x24')]);if(_0x51ade4[_0xbd36('0x25')]){delete _0x51ade4['name'];}_0x25057b[_0xbd36('0x17')](_0x39404f)[_0xbd36('0x26')](_0x51ade4);};}exports[_0xbd36('0x27')]=function(_0x27c4cd,_0x1f8cd3){var _0x53ce29={},_0x1a22ce={},_0x5a6844={'count':0x0,'rows':[]};var _0x4bc3af=_[_0xbd36('0x28')](db[_0xbd36('0x29')][_0xbd36('0x2a')],function(_0x3ec57c){return{'name':_0x3ec57c[_0xbd36('0x2b')],'type':_0x3ec57c[_0xbd36('0x2c')][_0xbd36('0x2d')]};});_0x1a22ce[_0xbd36('0x2e')]=_[_0xbd36('0x28')](_0x4bc3af,_0xbd36('0x25'));_0x1a22ce['query']=_[_0xbd36('0x2f')](_0x27c4cd[_0xbd36('0x30')]);_0x1a22ce[_0xbd36('0x31')]=_[_0xbd36('0x32')](_0x1a22ce[_0xbd36('0x2e')],_0x1a22ce['query']);_0x53ce29[_0xbd36('0x33')]=_['intersection'](_0x1a22ce[_0xbd36('0x2e')],qs[_0xbd36('0x34')](_0x27c4cd[_0xbd36('0x30')][_0xbd36('0x34')]));_0x53ce29[_0xbd36('0x33')]=_0x53ce29['attributes'][_0xbd36('0x35')]?_0x53ce29['attributes']:_0x1a22ce[_0xbd36('0x2e')];if(!_0x27c4cd[_0xbd36('0x30')][_0xbd36('0x36')]('nolimit')){_0x53ce29[_0xbd36('0x1a')]=qs[_0xbd36('0x1a')](_0x27c4cd['query'][_0xbd36('0x1a')]);_0x53ce29['offset']=qs[_0xbd36('0x1c')](_0x27c4cd[_0xbd36('0x30')][_0xbd36('0x1c')]);}_0x53ce29[_0xbd36('0x37')]=qs[_0xbd36('0x38')](_0x27c4cd[_0xbd36('0x30')][_0xbd36('0x38')]);_0x53ce29[_0xbd36('0x39')]=qs[_0xbd36('0x31')](_[_0xbd36('0x3a')](_0x27c4cd[_0xbd36('0x30')],_0x1a22ce[_0xbd36('0x31')]),_0x4bc3af);if(_0x27c4cd[_0xbd36('0x30')][_0xbd36('0x3b')]){_0x53ce29['where']=_[_0xbd36('0x3c')](_0x53ce29['where'],{'$or':_['map'](_0x4bc3af,function(_0x28c06b){if(_0x28c06b[_0xbd36('0x2c')]!==_0xbd36('0x3d')){var _0x121f9a={};_0x121f9a[_0x28c06b[_0xbd36('0x25')]]={'$like':'%'+_0x27c4cd[_0xbd36('0x30')][_0xbd36('0x3b')]+'%'};return _0x121f9a;}})});}_0x53ce29=_[_0xbd36('0x3c')]({},_0x53ce29,_0x27c4cd[_0xbd36('0x3e')]);var _0x260a32={'where':_0x53ce29[_0xbd36('0x39')]};return db['ZohoConfiguration'][_0xbd36('0x1b')](_0x260a32)[_0xbd36('0x22')](function(_0x1a2c92){_0x5a6844[_0xbd36('0x1b')]=_0x1a2c92;if(_0x27c4cd['query'][_0xbd36('0x3f')]){_0x53ce29[_0xbd36('0x40')]=[{'all':!![]}];}return db[_0xbd36('0x29')][_0xbd36('0x41')](_0x53ce29);})[_0xbd36('0x22')](function(_0x5d451a){_0x5a6844[_0xbd36('0x42')]=_0x5d451a;return _0x5a6844;})[_0xbd36('0x22')](respondWithFilteredResult(_0x1f8cd3,_0x53ce29))['catch'](handleError(_0x1f8cd3,null));};exports['show']=function(_0x5aec7b,_0x16f512){var _0x1365bf={'raw':![],'where':{'id':_0x5aec7b[_0xbd36('0x43')]['id']}},_0x211db4={};_0x211db4[_0xbd36('0x2e')]=_[_0xbd36('0x2f')](db[_0xbd36('0x29')][_0xbd36('0x2a')]);_0x211db4[_0xbd36('0x30')]=_[_0xbd36('0x2f')](_0x5aec7b[_0xbd36('0x30')]);_0x211db4[_0xbd36('0x31')]=_[_0xbd36('0x32')](_0x211db4[_0xbd36('0x2e')],_0x211db4[_0xbd36('0x30')]);_0x1365bf[_0xbd36('0x33')]=_[_0xbd36('0x32')](_0x211db4[_0xbd36('0x2e')],qs[_0xbd36('0x34')](_0x5aec7b['query'][_0xbd36('0x34')]));_0x1365bf[_0xbd36('0x33')]=_0x1365bf[_0xbd36('0x33')][_0xbd36('0x35')]?_0x1365bf[_0xbd36('0x33')]:_0x211db4[_0xbd36('0x2e')];if(_0x5aec7b[_0xbd36('0x30')][_0xbd36('0x3f')]){_0x1365bf[_0xbd36('0x40')]=[{'all':!![]}];}_0x1365bf=_[_0xbd36('0x3c')]({},_0x1365bf,_0x5aec7b[_0xbd36('0x3e')]);return db['ZohoConfiguration']['find'](_0x1365bf)['then'](handleEntityNotFound(_0x16f512,null))[_0xbd36('0x22')](respondWithResult(_0x16f512,null))[_0xbd36('0x44')](handleError(_0x16f512,null));};exports['create']=function(_0x32f647,_0x19e732){return db[_0xbd36('0x29')][_0xbd36('0x45')](_0x32f647['body'],{})[_0xbd36('0x22')](respondWithResult(_0x19e732,0xc9))['catch'](handleError(_0x19e732,null));};exports[_0xbd36('0x21')]=function(_0x150116,_0x2aaca7){if(_0x150116['body']['id']){delete _0x150116['body']['id'];}return db[_0xbd36('0x29')][_0xbd36('0x46')]({'where':{'id':_0x150116[_0xbd36('0x43')]['id']}})[_0xbd36('0x22')](handleEntityNotFound(_0x2aaca7,null))['then'](saveUpdates(_0x150116[_0xbd36('0x47')],null))[_0xbd36('0x22')](respondWithResult(_0x2aaca7,null))[_0xbd36('0x44')](handleError(_0x2aaca7,null));};exports[_0xbd36('0x23')]=function(_0x1421c5,_0x338103){return db['ZohoConfiguration'][_0xbd36('0x46')]({'where':{'id':_0x1421c5[_0xbd36('0x43')]['id']}})[_0xbd36('0x22')](handleEntityNotFound(_0x338103,null))[_0xbd36('0x22')](removeEntity(_0x338103,null))['catch'](handleError(_0x338103,null));};exports[_0xbd36('0x48')]=function(_0x5dfc96,_0x552b58,_0x1378f0){var _0x1295fa={};var _0x1acf39={};var _0x61ab53;var _0x3cc05c;return db[_0xbd36('0x29')][_0xbd36('0x49')]({'where':{'id':_0x5dfc96[_0xbd36('0x43')]['id']}})[_0xbd36('0x22')](handleEntityNotFound(_0x552b58,null))['then'](function(_0x10d2c9){if(_0x10d2c9){_0x61ab53=_0x10d2c9;_0x1acf39[_0xbd36('0x2e')]=_[_0xbd36('0x2f')](db[_0xbd36('0x4a')][_0xbd36('0x2a')]);_0x1acf39[_0xbd36('0x30')]=_[_0xbd36('0x2f')](_0x5dfc96[_0xbd36('0x30')]);_0x1acf39[_0xbd36('0x31')]=_[_0xbd36('0x32')](_0x1acf39['model'],_0x1acf39[_0xbd36('0x30')]);_0x1295fa[_0xbd36('0x33')]=_[_0xbd36('0x32')](_0x1acf39[_0xbd36('0x2e')],qs[_0xbd36('0x34')](_0x5dfc96[_0xbd36('0x30')][_0xbd36('0x34')]));_0x1295fa[_0xbd36('0x33')]=_0x1295fa['attributes']['length']?_0x1295fa[_0xbd36('0x33')]:_0x1acf39['model'];_0x1295fa['order']=qs['sort'](_0x5dfc96[_0xbd36('0x30')][_0xbd36('0x38')]);_0x1295fa[_0xbd36('0x39')]=qs[_0xbd36('0x31')](_['pick'](_0x5dfc96[_0xbd36('0x30')],_0x1acf39[_0xbd36('0x31')]));if(_0x5dfc96['query'][_0xbd36('0x3b')]){_0x1295fa[_0xbd36('0x39')]=_[_0xbd36('0x3c')](_0x1295fa['where'],{'$or':_[_0xbd36('0x28')](_0x1295fa[_0xbd36('0x33')],function(_0xc67b48){var _0x142138={};_0x142138[_0xc67b48]={'$like':'%'+_0x5dfc96[_0xbd36('0x30')]['filter']+'%'};return _0x142138;})});}_0x1295fa=_['merge']({},_0x1295fa,_0x5dfc96[_0xbd36('0x3e')]);return _0x61ab53['getFields'](_0x1295fa);}})[_0xbd36('0x22')](function(_0x2c1ad4){if(_0x2c1ad4){_0x3cc05c=_0x2c1ad4[_0xbd36('0x35')];if(!_0x5dfc96[_0xbd36('0x30')]['hasOwnProperty']('nolimit')){_0x1295fa[_0xbd36('0x1a')]=qs[_0xbd36('0x1a')](_0x5dfc96['query'][_0xbd36('0x1a')]);_0x1295fa[_0xbd36('0x1c')]=qs['offset'](_0x5dfc96[_0xbd36('0x30')]['offset']);}return _0x61ab53[_0xbd36('0x48')](_0x1295fa);}})[_0xbd36('0x22')](function(_0x2427e0){if(_0x2427e0){return _0x2427e0?{'count':_0x3cc05c,'rows':_0x2427e0}:null;}})[_0xbd36('0x22')](respondWithResult(_0x552b58,null))['catch'](handleError(_0x552b58,null));};exports[_0xbd36('0x4b')]=function(_0x34075b,_0x1e5c76,_0x143b35){var _0x1ecdfc={};var _0x597911={};var _0xcd62ac;var _0x4ce9cd;return db[_0xbd36('0x29')][_0xbd36('0x49')]({'where':{'id':_0x34075b[_0xbd36('0x43')]['id']}})['then'](handleEntityNotFound(_0x1e5c76,null))[_0xbd36('0x22')](function(_0x158090){if(_0x158090){_0xcd62ac=_0x158090;_0x597911['model']=_[_0xbd36('0x2f')](db[_0xbd36('0x4a')][_0xbd36('0x2a')]);_0x597911[_0xbd36('0x30')]=_[_0xbd36('0x2f')](_0x34075b[_0xbd36('0x30')]);_0x597911[_0xbd36('0x31')]=_[_0xbd36('0x32')](_0x597911[_0xbd36('0x2e')],_0x597911[_0xbd36('0x30')]);_0x1ecdfc['attributes']=_['intersection'](_0x597911['model'],qs[_0xbd36('0x34')](_0x34075b[_0xbd36('0x30')][_0xbd36('0x34')]));_0x1ecdfc['attributes']=_0x1ecdfc[_0xbd36('0x33')]['length']?_0x1ecdfc['attributes']:_0x597911['model'];_0x1ecdfc[_0xbd36('0x37')]=qs[_0xbd36('0x38')](_0x34075b[_0xbd36('0x30')]['sort']);_0x1ecdfc[_0xbd36('0x39')]=qs[_0xbd36('0x31')](_[_0xbd36('0x3a')](_0x34075b[_0xbd36('0x30')],_0x597911[_0xbd36('0x31')]));if(_0x34075b[_0xbd36('0x30')][_0xbd36('0x3b')]){_0x1ecdfc[_0xbd36('0x39')]=_[_0xbd36('0x3c')](_0x1ecdfc['where'],{'$or':_[_0xbd36('0x28')](_0x1ecdfc[_0xbd36('0x33')],function(_0xa329cc){var _0x33773e={};_0x33773e[_0xa329cc]={'$like':'%'+_0x34075b[_0xbd36('0x30')][_0xbd36('0x3b')]+'%'};return _0x33773e;})});}_0x1ecdfc=_['merge']({},_0x1ecdfc,_0x34075b[_0xbd36('0x3e')]);return _0xcd62ac['getSubjects'](_0x1ecdfc);}})[_0xbd36('0x22')](function(_0x5d37f2){if(_0x5d37f2){_0x4ce9cd=_0x5d37f2['length'];if(!_0x34075b[_0xbd36('0x30')][_0xbd36('0x36')]('nolimit')){_0x1ecdfc[_0xbd36('0x1a')]=qs[_0xbd36('0x1a')](_0x34075b[_0xbd36('0x30')]['limit']);_0x1ecdfc['offset']=qs[_0xbd36('0x1c')](_0x34075b['query'][_0xbd36('0x1c')]);}return _0xcd62ac['getSubjects'](_0x1ecdfc);}})[_0xbd36('0x22')](function(_0x3ffc80){if(_0x3ffc80){return _0x3ffc80?{'count':_0x4ce9cd,'rows':_0x3ffc80}:null;}})['then'](respondWithResult(_0x1e5c76,null))[_0xbd36('0x44')](handleError(_0x1e5c76,null));};exports[_0xbd36('0x4c')]=function(_0x5e6944,_0x46a871,_0x2a447c){var _0x6c85b8={};var _0x30080f={};var _0xe4f9f;var _0x41d16d;return db[_0xbd36('0x29')][_0xbd36('0x49')]({'where':{'id':_0x5e6944[_0xbd36('0x43')]['id']}})[_0xbd36('0x22')](handleEntityNotFound(_0x46a871,null))['then'](function(_0x1a02cc){if(_0x1a02cc){_0xe4f9f=_0x1a02cc;_0x30080f['model']=_['keys'](db[_0xbd36('0x4a')][_0xbd36('0x2a')]);_0x30080f[_0xbd36('0x30')]=_[_0xbd36('0x2f')](_0x5e6944[_0xbd36('0x30')]);_0x30080f[_0xbd36('0x31')]=_[_0xbd36('0x32')](_0x30080f['model'],_0x30080f[_0xbd36('0x30')]);_0x6c85b8[_0xbd36('0x33')]=_['intersection'](_0x30080f[_0xbd36('0x2e')],qs['fields'](_0x5e6944['query'][_0xbd36('0x34')]));_0x6c85b8[_0xbd36('0x33')]=_0x6c85b8[_0xbd36('0x33')]['length']?_0x6c85b8[_0xbd36('0x33')]:_0x30080f[_0xbd36('0x2e')];_0x6c85b8[_0xbd36('0x37')]=qs[_0xbd36('0x38')](_0x5e6944[_0xbd36('0x30')][_0xbd36('0x38')]);_0x6c85b8[_0xbd36('0x39')]=qs[_0xbd36('0x31')](_[_0xbd36('0x3a')](_0x5e6944[_0xbd36('0x30')],_0x30080f['filters']));if(_0x5e6944[_0xbd36('0x30')][_0xbd36('0x3b')]){_0x6c85b8[_0xbd36('0x39')]=_['merge'](_0x6c85b8[_0xbd36('0x39')],{'$or':_[_0xbd36('0x28')](_0x6c85b8['attributes'],function(_0x2fe9a2){var _0x270f9f={};_0x270f9f[_0x2fe9a2]={'$like':'%'+_0x5e6944['query']['filter']+'%'};return _0x270f9f;})});}_0x6c85b8=_[_0xbd36('0x3c')]({},_0x6c85b8,_0x5e6944[_0xbd36('0x3e')]);return _0xe4f9f['getDescriptions'](_0x6c85b8);}})[_0xbd36('0x22')](function(_0x409abf){if(_0x409abf){_0x41d16d=_0x409abf[_0xbd36('0x35')];if(!_0x5e6944[_0xbd36('0x30')]['hasOwnProperty'](_0xbd36('0x4d'))){_0x6c85b8[_0xbd36('0x1a')]=qs[_0xbd36('0x1a')](_0x5e6944['query']['limit']);_0x6c85b8['offset']=qs['offset'](_0x5e6944[_0xbd36('0x30')][_0xbd36('0x1c')]);}return _0xe4f9f[_0xbd36('0x4c')](_0x6c85b8);}})[_0xbd36('0x22')](function(_0x1da247){if(_0x1da247){return _0x1da247?{'count':_0x41d16d,'rows':_0x1da247}:null;}})[_0xbd36('0x22')](respondWithResult(_0x46a871,null))[_0xbd36('0x44')](handleError(_0x46a871,null));};