Built motion from commit 87cd5f02.|2.5.48
[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 _0x22e0=['reject','save','then','error','stack','name','send','index','map','ZohoConfiguration','key','model','query','keys','filters','intersection','attributes','nolimit','order','sort','where','filter','merge','VIRTUAL','options','includeAll','findAll','rows','catch','show','params','fields','length','include','find','create','body','update','destroy','findOne','ZohoField','rawAttributes','pick','getFields','hasOwnProperty','getSubjects','getDescriptions','eml-format','zip-dir','request-promise','moment','mustache','util','fs-extra','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','offset','undefined','limit','count','json'];(function(_0x3d2879,_0x525685){var _0x558e60=function(_0x48c66d){while(--_0x48c66d){_0x3d2879['push'](_0x3d2879['shift']());}};_0x558e60(++_0x525685);}(_0x22e0,0x7e));var _0x022e=function(_0x4aae38,_0x5e79a8){_0x4aae38=_0x4aae38-0x0;var _0x2077c9=_0x22e0[_0x4aae38];return _0x2077c9;};'use strict';var emlformat=require(_0x022e('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x022e('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x022e('0x2'));var moment=require(_0x022e('0x3'));var BPromise=require('bluebird');var Mustache=require(_0x022e('0x4'));var util=require(_0x022e('0x5'));var path=require('path');var sox=require('sox');var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x022e('0x6'));var _=require(_0x022e('0x7'));var squel=require(_0x022e('0x8'));var crypto=require(_0x022e('0x9'));var jsforce=require(_0x022e('0xa'));var deskjs=require(_0x022e('0xb'));var toCsv=require(_0x022e('0xc'));var querystring=require(_0x022e('0xd'));var Papa=require('papaparse');var Redis=require(_0x022e('0xe'));var authService=require(_0x022e('0xf'));var qs=require(_0x022e('0x10'));var as=require(_0x022e('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x022e('0x12'))(_0x022e('0x13'));var utils=require(_0x022e('0x14'));var config=require(_0x022e('0x15'));var licenseUtil=require(_0x022e('0x16'));var db=require(_0x022e('0x17'))['db'];function respondWithStatusCode(_0x775c03,_0x3e1c16){_0x3e1c16=_0x3e1c16||0xcc;return function(_0x8f7e4f){if(_0x8f7e4f){return _0x775c03[_0x022e('0x18')](_0x3e1c16);}return _0x775c03[_0x022e('0x19')](_0x3e1c16)[_0x022e('0x1a')]();};}function respondWithResult(_0x3417a1,_0x2395a7){_0x2395a7=_0x2395a7||0xc8;return function(_0x44e491){if(_0x44e491){return _0x3417a1[_0x022e('0x19')](_0x2395a7)['json'](_0x44e491);}};}function respondWithFilteredResult(_0x12e8ff,_0xa4f46a){return function(_0x3fd35f){if(_0x3fd35f){var _0x19261c=typeof _0xa4f46a[_0x022e('0x1b')]===_0x022e('0x1c')&&typeof _0xa4f46a[_0x022e('0x1d')]===_0x022e('0x1c');var _0x56039a=_0x3fd35f[_0x022e('0x1e')];var _0xbbe108=_0x19261c?0x0:_0xa4f46a[_0x022e('0x1b')];var _0xec96d6=_0x19261c?_0x3fd35f['count']:_0xa4f46a['offset']+_0xa4f46a['limit'];var _0x4ecde3;if(_0xec96d6>=_0x56039a){_0xec96d6=_0x56039a;_0x4ecde3=0xc8;}else{_0x4ecde3=0xce;}_0x12e8ff[_0x022e('0x19')](_0x4ecde3);return _0x12e8ff['set']('Content-Range',_0xbbe108+'-'+_0xec96d6+'/'+_0x56039a)[_0x022e('0x1f')](_0x3fd35f);}return null;};}function patchUpdates(_0x1cf8ef){return function(_0x239036){try{jsonpatch['apply'](_0x239036,_0x1cf8ef,!![]);}catch(_0x4cc080){return BPromise[_0x022e('0x20')](_0x4cc080);}return _0x239036[_0x022e('0x21')]();};}function saveUpdates(_0x31637b,_0x599ac9){return function(_0x2b3b4c){if(_0x2b3b4c){return _0x2b3b4c['update'](_0x31637b)[_0x022e('0x22')](function(_0x389aeb){return _0x389aeb;});}return null;};}function removeEntity(_0x219bcc,_0x2d735d){return function(_0x1b187d){if(_0x1b187d){return _0x1b187d['destroy']()[_0x022e('0x22')](function(){_0x219bcc[_0x022e('0x19')](0xcc)[_0x022e('0x1a')]();});}};}function handleEntityNotFound(_0x3d81be,_0x3aebbe){return function(_0x27f7ed){if(!_0x27f7ed){_0x3d81be['sendStatus'](0x194);}return _0x27f7ed;};}function handleError(_0x2c8356,_0x39314a){_0x39314a=_0x39314a||0x1f4;return function(_0x499f0f){logger[_0x022e('0x23')](_0x499f0f[_0x022e('0x24')]);if(_0x499f0f['name']){delete _0x499f0f[_0x022e('0x25')];}_0x2c8356[_0x022e('0x19')](_0x39314a)[_0x022e('0x26')](_0x499f0f);};}exports[_0x022e('0x27')]=function(_0x2b1f7b,_0x33fb3e){var _0x3ee386={},_0x1223c4={},_0x5463e5={'count':0x0,'rows':[]};var _0x49e7b4=_[_0x022e('0x28')](db[_0x022e('0x29')]['rawAttributes'],function(_0x7c1a85){return{'name':_0x7c1a85['fieldName'],'type':_0x7c1a85['type'][_0x022e('0x2a')]};});_0x1223c4[_0x022e('0x2b')]=_[_0x022e('0x28')](_0x49e7b4,'name');_0x1223c4[_0x022e('0x2c')]=_[_0x022e('0x2d')](_0x2b1f7b['query']);_0x1223c4[_0x022e('0x2e')]=_['intersection'](_0x1223c4[_0x022e('0x2b')],_0x1223c4[_0x022e('0x2c')]);_0x3ee386['attributes']=_[_0x022e('0x2f')](_0x1223c4[_0x022e('0x2b')],qs['fields'](_0x2b1f7b['query']['fields']));_0x3ee386[_0x022e('0x30')]=_0x3ee386[_0x022e('0x30')]['length']?_0x3ee386['attributes']:_0x1223c4['model'];if(!_0x2b1f7b[_0x022e('0x2c')]['hasOwnProperty'](_0x022e('0x31'))){_0x3ee386[_0x022e('0x1d')]=qs['limit'](_0x2b1f7b[_0x022e('0x2c')][_0x022e('0x1d')]);_0x3ee386[_0x022e('0x1b')]=qs[_0x022e('0x1b')](_0x2b1f7b[_0x022e('0x2c')][_0x022e('0x1b')]);}_0x3ee386[_0x022e('0x32')]=qs['sort'](_0x2b1f7b[_0x022e('0x2c')][_0x022e('0x33')]);_0x3ee386[_0x022e('0x34')]=qs['filters'](_['pick'](_0x2b1f7b[_0x022e('0x2c')],_0x1223c4[_0x022e('0x2e')]),_0x49e7b4);if(_0x2b1f7b[_0x022e('0x2c')][_0x022e('0x35')]){_0x3ee386[_0x022e('0x34')]=_[_0x022e('0x36')](_0x3ee386[_0x022e('0x34')],{'$or':_[_0x022e('0x28')](_0x49e7b4,function(_0x59d177){if(_0x59d177['type']!==_0x022e('0x37')){var _0x26ff8d={};_0x26ff8d[_0x59d177[_0x022e('0x25')]]={'$like':'%'+_0x2b1f7b[_0x022e('0x2c')][_0x022e('0x35')]+'%'};return _0x26ff8d;}})});}_0x3ee386=_[_0x022e('0x36')]({},_0x3ee386,_0x2b1f7b[_0x022e('0x38')]);var _0x4427b1={'where':_0x3ee386[_0x022e('0x34')]};return db[_0x022e('0x29')][_0x022e('0x1e')](_0x4427b1)['then'](function(_0x1dafce){_0x5463e5[_0x022e('0x1e')]=_0x1dafce;if(_0x2b1f7b['query'][_0x022e('0x39')]){_0x3ee386['include']=[{'all':!![]}];}return db[_0x022e('0x29')][_0x022e('0x3a')](_0x3ee386);})[_0x022e('0x22')](function(_0x67711e){_0x5463e5[_0x022e('0x3b')]=_0x67711e;return _0x5463e5;})[_0x022e('0x22')](respondWithFilteredResult(_0x33fb3e,_0x3ee386))[_0x022e('0x3c')](handleError(_0x33fb3e,null));};exports[_0x022e('0x3d')]=function(_0x1d3e61,_0x12e95b){var _0x1338e8={'raw':![],'where':{'id':_0x1d3e61[_0x022e('0x3e')]['id']}},_0x31c842={};_0x31c842[_0x022e('0x2b')]=_[_0x022e('0x2d')](db[_0x022e('0x29')]['rawAttributes']);_0x31c842['query']=_[_0x022e('0x2d')](_0x1d3e61[_0x022e('0x2c')]);_0x31c842[_0x022e('0x2e')]=_[_0x022e('0x2f')](_0x31c842['model'],_0x31c842[_0x022e('0x2c')]);_0x1338e8['attributes']=_[_0x022e('0x2f')](_0x31c842['model'],qs[_0x022e('0x3f')](_0x1d3e61[_0x022e('0x2c')][_0x022e('0x3f')]));_0x1338e8[_0x022e('0x30')]=_0x1338e8[_0x022e('0x30')][_0x022e('0x40')]?_0x1338e8[_0x022e('0x30')]:_0x31c842['model'];if(_0x1d3e61[_0x022e('0x2c')][_0x022e('0x39')]){_0x1338e8[_0x022e('0x41')]=[{'all':!![]}];}_0x1338e8=_[_0x022e('0x36')]({},_0x1338e8,_0x1d3e61[_0x022e('0x38')]);return db[_0x022e('0x29')][_0x022e('0x42')](_0x1338e8)[_0x022e('0x22')](handleEntityNotFound(_0x12e95b,null))['then'](respondWithResult(_0x12e95b,null))[_0x022e('0x3c')](handleError(_0x12e95b,null));};exports['create']=function(_0x40c36b,_0x38beb8){return db[_0x022e('0x29')][_0x022e('0x43')](_0x40c36b[_0x022e('0x44')],{})[_0x022e('0x22')](respondWithResult(_0x38beb8,0xc9))[_0x022e('0x3c')](handleError(_0x38beb8,null));};exports[_0x022e('0x45')]=function(_0xb4aa00,_0x16d426){if(_0xb4aa00['body']['id']){delete _0xb4aa00[_0x022e('0x44')]['id'];}return db[_0x022e('0x29')][_0x022e('0x42')]({'where':{'id':_0xb4aa00['params']['id']}})[_0x022e('0x22')](handleEntityNotFound(_0x16d426,null))[_0x022e('0x22')](saveUpdates(_0xb4aa00[_0x022e('0x44')],null))[_0x022e('0x22')](respondWithResult(_0x16d426,null))[_0x022e('0x3c')](handleError(_0x16d426,null));};exports[_0x022e('0x46')]=function(_0x2309c5,_0x4657c9){return db[_0x022e('0x29')][_0x022e('0x42')]({'where':{'id':_0x2309c5[_0x022e('0x3e')]['id']}})['then'](handleEntityNotFound(_0x4657c9,null))['then'](removeEntity(_0x4657c9,null))[_0x022e('0x3c')](handleError(_0x4657c9,null));};exports['getFields']=function(_0x52c630,_0x530124,_0x28eecb){var _0xd7dcaa={};var _0x196827={};var _0x2f08ee;var _0x408934;return db[_0x022e('0x29')][_0x022e('0x47')]({'where':{'id':_0x52c630['params']['id']}})['then'](handleEntityNotFound(_0x530124,null))[_0x022e('0x22')](function(_0x2eddd3){if(_0x2eddd3){_0x2f08ee=_0x2eddd3;_0x196827['model']=_['keys'](db[_0x022e('0x48')][_0x022e('0x49')]);_0x196827['query']=_['keys'](_0x52c630[_0x022e('0x2c')]);_0x196827[_0x022e('0x2e')]=_['intersection'](_0x196827[_0x022e('0x2b')],_0x196827[_0x022e('0x2c')]);_0xd7dcaa['attributes']=_[_0x022e('0x2f')](_0x196827['model'],qs['fields'](_0x52c630[_0x022e('0x2c')]['fields']));_0xd7dcaa['attributes']=_0xd7dcaa[_0x022e('0x30')][_0x022e('0x40')]?_0xd7dcaa[_0x022e('0x30')]:_0x196827[_0x022e('0x2b')];_0xd7dcaa[_0x022e('0x32')]=qs[_0x022e('0x33')](_0x52c630[_0x022e('0x2c')]['sort']);_0xd7dcaa['where']=qs['filters'](_[_0x022e('0x4a')](_0x52c630[_0x022e('0x2c')],_0x196827[_0x022e('0x2e')]));if(_0x52c630[_0x022e('0x2c')][_0x022e('0x35')]){_0xd7dcaa['where']=_[_0x022e('0x36')](_0xd7dcaa[_0x022e('0x34')],{'$or':_[_0x022e('0x28')](_0xd7dcaa[_0x022e('0x30')],function(_0x1de509){var _0x1406cc={};_0x1406cc[_0x1de509]={'$like':'%'+_0x52c630[_0x022e('0x2c')][_0x022e('0x35')]+'%'};return _0x1406cc;})});}_0xd7dcaa=_[_0x022e('0x36')]({},_0xd7dcaa,_0x52c630[_0x022e('0x38')]);return _0x2f08ee[_0x022e('0x4b')](_0xd7dcaa);}})[_0x022e('0x22')](function(_0x1b319a){if(_0x1b319a){_0x408934=_0x1b319a[_0x022e('0x40')];if(!_0x52c630[_0x022e('0x2c')][_0x022e('0x4c')](_0x022e('0x31'))){_0xd7dcaa[_0x022e('0x1d')]=qs[_0x022e('0x1d')](_0x52c630[_0x022e('0x2c')][_0x022e('0x1d')]);_0xd7dcaa[_0x022e('0x1b')]=qs[_0x022e('0x1b')](_0x52c630[_0x022e('0x2c')][_0x022e('0x1b')]);}return _0x2f08ee[_0x022e('0x4b')](_0xd7dcaa);}})['then'](function(_0x2d257e){if(_0x2d257e){return _0x2d257e?{'count':_0x408934,'rows':_0x2d257e}:null;}})[_0x022e('0x22')](respondWithResult(_0x530124,null))[_0x022e('0x3c')](handleError(_0x530124,null));};exports[_0x022e('0x4d')]=function(_0x3a772f,_0x5923dc,_0x1b9d36){var _0x568a39={};var _0x5ecaeb={};var _0x5e6ddf;var _0x36604e;return db[_0x022e('0x29')][_0x022e('0x47')]({'where':{'id':_0x3a772f['params']['id']}})['then'](handleEntityNotFound(_0x5923dc,null))[_0x022e('0x22')](function(_0x2d161c){if(_0x2d161c){_0x5e6ddf=_0x2d161c;_0x5ecaeb[_0x022e('0x2b')]=_['keys'](db[_0x022e('0x48')][_0x022e('0x49')]);_0x5ecaeb[_0x022e('0x2c')]=_[_0x022e('0x2d')](_0x3a772f[_0x022e('0x2c')]);_0x5ecaeb['filters']=_['intersection'](_0x5ecaeb[_0x022e('0x2b')],_0x5ecaeb[_0x022e('0x2c')]);_0x568a39[_0x022e('0x30')]=_['intersection'](_0x5ecaeb[_0x022e('0x2b')],qs[_0x022e('0x3f')](_0x3a772f['query'][_0x022e('0x3f')]));_0x568a39[_0x022e('0x30')]=_0x568a39['attributes']['length']?_0x568a39[_0x022e('0x30')]:_0x5ecaeb[_0x022e('0x2b')];_0x568a39[_0x022e('0x32')]=qs[_0x022e('0x33')](_0x3a772f[_0x022e('0x2c')][_0x022e('0x33')]);_0x568a39[_0x022e('0x34')]=qs['filters'](_[_0x022e('0x4a')](_0x3a772f[_0x022e('0x2c')],_0x5ecaeb[_0x022e('0x2e')]));if(_0x3a772f[_0x022e('0x2c')][_0x022e('0x35')]){_0x568a39[_0x022e('0x34')]=_['merge'](_0x568a39[_0x022e('0x34')],{'$or':_[_0x022e('0x28')](_0x568a39[_0x022e('0x30')],function(_0x175c98){var _0x56367e={};_0x56367e[_0x175c98]={'$like':'%'+_0x3a772f[_0x022e('0x2c')][_0x022e('0x35')]+'%'};return _0x56367e;})});}_0x568a39=_['merge']({},_0x568a39,_0x3a772f[_0x022e('0x38')]);return _0x5e6ddf['getSubjects'](_0x568a39);}})['then'](function(_0x34402d){if(_0x34402d){_0x36604e=_0x34402d[_0x022e('0x40')];if(!_0x3a772f[_0x022e('0x2c')][_0x022e('0x4c')]('nolimit')){_0x568a39['limit']=qs[_0x022e('0x1d')](_0x3a772f[_0x022e('0x2c')][_0x022e('0x1d')]);_0x568a39['offset']=qs[_0x022e('0x1b')](_0x3a772f[_0x022e('0x2c')]['offset']);}return _0x5e6ddf[_0x022e('0x4d')](_0x568a39);}})[_0x022e('0x22')](function(_0x307756){if(_0x307756){return _0x307756?{'count':_0x36604e,'rows':_0x307756}:null;}})['then'](respondWithResult(_0x5923dc,null))[_0x022e('0x3c')](handleError(_0x5923dc,null));};exports[_0x022e('0x4e')]=function(_0xff8dc3,_0x38975a,_0x3032a5){var _0x3e9630={};var _0x575db7={};var _0x47f013;var _0xe9ab9d;return db[_0x022e('0x29')][_0x022e('0x47')]({'where':{'id':_0xff8dc3['params']['id']}})['then'](handleEntityNotFound(_0x38975a,null))[_0x022e('0x22')](function(_0x91f80a){if(_0x91f80a){_0x47f013=_0x91f80a;_0x575db7['model']=_[_0x022e('0x2d')](db[_0x022e('0x48')]['rawAttributes']);_0x575db7[_0x022e('0x2c')]=_[_0x022e('0x2d')](_0xff8dc3[_0x022e('0x2c')]);_0x575db7[_0x022e('0x2e')]=_[_0x022e('0x2f')](_0x575db7[_0x022e('0x2b')],_0x575db7[_0x022e('0x2c')]);_0x3e9630[_0x022e('0x30')]=_[_0x022e('0x2f')](_0x575db7['model'],qs['fields'](_0xff8dc3[_0x022e('0x2c')]['fields']));_0x3e9630['attributes']=_0x3e9630[_0x022e('0x30')][_0x022e('0x40')]?_0x3e9630['attributes']:_0x575db7['model'];_0x3e9630[_0x022e('0x32')]=qs[_0x022e('0x33')](_0xff8dc3['query'][_0x022e('0x33')]);_0x3e9630[_0x022e('0x34')]=qs[_0x022e('0x2e')](_[_0x022e('0x4a')](_0xff8dc3[_0x022e('0x2c')],_0x575db7['filters']));if(_0xff8dc3[_0x022e('0x2c')][_0x022e('0x35')]){_0x3e9630['where']=_[_0x022e('0x36')](_0x3e9630[_0x022e('0x34')],{'$or':_['map'](_0x3e9630[_0x022e('0x30')],function(_0x47c3a4){var _0x5b60fb={};_0x5b60fb[_0x47c3a4]={'$like':'%'+_0xff8dc3[_0x022e('0x2c')][_0x022e('0x35')]+'%'};return _0x5b60fb;})});}_0x3e9630=_[_0x022e('0x36')]({},_0x3e9630,_0xff8dc3[_0x022e('0x38')]);return _0x47f013[_0x022e('0x4e')](_0x3e9630);}})[_0x022e('0x22')](function(_0x1e2708){if(_0x1e2708){_0xe9ab9d=_0x1e2708[_0x022e('0x40')];if(!_0xff8dc3[_0x022e('0x2c')][_0x022e('0x4c')](_0x022e('0x31'))){_0x3e9630[_0x022e('0x1d')]=qs[_0x022e('0x1d')](_0xff8dc3[_0x022e('0x2c')][_0x022e('0x1d')]);_0x3e9630[_0x022e('0x1b')]=qs[_0x022e('0x1b')](_0xff8dc3[_0x022e('0x2c')][_0x022e('0x1b')]);}return _0x47f013[_0x022e('0x4e')](_0x3e9630);}})[_0x022e('0x22')](function(_0x889103){if(_0x889103){return _0x889103?{'count':_0xe9ab9d,'rows':_0x889103}:null;}})[_0x022e('0x22')](respondWithResult(_0x38975a,null))[_0x022e('0x3c')](handleError(_0x38975a,null));};