Built motion from commit 1fa89557.|2.6.10
[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 _0xb816=['sendStatus','end','status','json','offset','undefined','limit','count','Content-Range','apply','reject','save','update','then','destroy','error','name','send','index','map','ZohoConfiguration','rawAttributes','fieldName','key','model','keys','query','filters','intersection','attributes','fields','order','sort','where','pick','filter','merge','type','VIRTUAL','options','includeAll','include','rows','show','params','length','find','catch','create','body','getFields','ZohoField','hasOwnProperty','nolimit','getSubjects','getDescriptions','findOne','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','ejs','fs-extra','lodash','crypto','jsforce','desk.js','to-csv','querystring','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb'];(function(_0x43506e,_0x671bd7){var _0x88dd16=function(_0x4b243e){while(--_0x4b243e){_0x43506e['push'](_0x43506e['shift']());}};_0x88dd16(++_0x671bd7);}(_0xb816,0x8d));var _0x6b81=function(_0x235a56,_0x1acc78){_0x235a56=_0x235a56-0x0;var _0x59d2f2=_0xb816[_0x235a56];return _0x59d2f2;};'use strict';var emlformat=require(_0x6b81('0x0'));var rimraf=require(_0x6b81('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x6b81('0x2'));var rp=require(_0x6b81('0x3'));var moment=require(_0x6b81('0x4'));var BPromise=require(_0x6b81('0x5'));var Mustache=require(_0x6b81('0x6'));var util=require(_0x6b81('0x7'));var path=require(_0x6b81('0x8'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0x6b81('0x9'));var fs=require('fs');var fs_extra=require(_0x6b81('0xa'));var _=require(_0x6b81('0xb'));var squel=require('squel');var crypto=require(_0x6b81('0xc'));var jsforce=require(_0x6b81('0xd'));var deskjs=require(_0x6b81('0xe'));var toCsv=require(_0x6b81('0xf'));var querystring=require(_0x6b81('0x10'));var Papa=require('papaparse');var Redis=require(_0x6b81('0x11'));var authService=require(_0x6b81('0x12'));var qs=require('../../components/parsers/qs');var as=require(_0x6b81('0x13'));var hardwareService=require(_0x6b81('0x14'));var logger=require(_0x6b81('0x15'))(_0x6b81('0x16'));var utils=require(_0x6b81('0x17'));var config=require(_0x6b81('0x18'));var licenseUtil=require(_0x6b81('0x19'));var db=require(_0x6b81('0x1a'))['db'];function respondWithStatusCode(_0x20753d,_0x577f21){_0x577f21=_0x577f21||0xcc;return function(_0x1f61cb){if(_0x1f61cb){return _0x20753d[_0x6b81('0x1b')](_0x577f21);}return _0x20753d['status'](_0x577f21)[_0x6b81('0x1c')]();};}function respondWithResult(_0x24cbf3,_0x48ecd3){_0x48ecd3=_0x48ecd3||0xc8;return function(_0x1b20b3){if(_0x1b20b3){return _0x24cbf3[_0x6b81('0x1d')](_0x48ecd3)[_0x6b81('0x1e')](_0x1b20b3);}};}function respondWithFilteredResult(_0x3f65f9,_0x1205c8){return function(_0x2655ac){if(_0x2655ac){var _0x187003=typeof _0x1205c8[_0x6b81('0x1f')]===_0x6b81('0x20')&&typeof _0x1205c8[_0x6b81('0x21')]===_0x6b81('0x20');var _0xe72cf8=_0x2655ac[_0x6b81('0x22')];var _0x207be2=_0x187003?0x0:_0x1205c8[_0x6b81('0x1f')];var _0x2d16dd=_0x187003?_0x2655ac[_0x6b81('0x22')]:_0x1205c8[_0x6b81('0x1f')]+_0x1205c8[_0x6b81('0x21')];var _0x2e0d3e;if(_0x2d16dd>=_0xe72cf8){_0x2d16dd=_0xe72cf8;_0x2e0d3e=0xc8;}else{_0x2e0d3e=0xce;}_0x3f65f9[_0x6b81('0x1d')](_0x2e0d3e);return _0x3f65f9['set'](_0x6b81('0x23'),_0x207be2+'-'+_0x2d16dd+'/'+_0xe72cf8)[_0x6b81('0x1e')](_0x2655ac);}return null;};}function patchUpdates(_0x1ab16b){return function(_0x43ea30){try{jsonpatch[_0x6b81('0x24')](_0x43ea30,_0x1ab16b,!![]);}catch(_0x5a421d){return BPromise[_0x6b81('0x25')](_0x5a421d);}return _0x43ea30[_0x6b81('0x26')]();};}function saveUpdates(_0x3a3c53,_0x5f11d6){return function(_0x371926){if(_0x371926){return _0x371926[_0x6b81('0x27')](_0x3a3c53)[_0x6b81('0x28')](function(_0x4c978d){return _0x4c978d;});}return null;};}function removeEntity(_0x6dcea3,_0x1f11cf){return function(_0x1df35c){if(_0x1df35c){return _0x1df35c[_0x6b81('0x29')]()['then'](function(){_0x6dcea3[_0x6b81('0x1d')](0xcc)[_0x6b81('0x1c')]();});}};}function handleEntityNotFound(_0x3e83a8,_0x28404d){return function(_0x20c763){if(!_0x20c763){_0x3e83a8[_0x6b81('0x1b')](0x194);}return _0x20c763;};}function handleError(_0x120111,_0x5398de){_0x5398de=_0x5398de||0x1f4;return function(_0x371649){logger[_0x6b81('0x2a')](_0x371649['stack']);if(_0x371649[_0x6b81('0x2b')]){delete _0x371649[_0x6b81('0x2b')];}_0x120111[_0x6b81('0x1d')](_0x5398de)[_0x6b81('0x2c')](_0x371649);};}exports[_0x6b81('0x2d')]=function(_0x5571cf,_0x5035b9){var _0x40175a={},_0x44664e={},_0x59c3b2={'count':0x0,'rows':[]};var _0x2adbaf=_[_0x6b81('0x2e')](db[_0x6b81('0x2f')][_0x6b81('0x30')],function(_0x1a0270){return{'name':_0x1a0270[_0x6b81('0x31')],'type':_0x1a0270['type'][_0x6b81('0x32')]};});_0x44664e[_0x6b81('0x33')]=_[_0x6b81('0x2e')](_0x2adbaf,_0x6b81('0x2b'));_0x44664e['query']=_[_0x6b81('0x34')](_0x5571cf[_0x6b81('0x35')]);_0x44664e[_0x6b81('0x36')]=_[_0x6b81('0x37')](_0x44664e['model'],_0x44664e['query']);_0x40175a[_0x6b81('0x38')]=_[_0x6b81('0x37')](_0x44664e['model'],qs[_0x6b81('0x39')](_0x5571cf[_0x6b81('0x35')]['fields']));_0x40175a[_0x6b81('0x38')]=_0x40175a['attributes']['length']?_0x40175a[_0x6b81('0x38')]:_0x44664e[_0x6b81('0x33')];if(!_0x5571cf['query']['hasOwnProperty']('nolimit')){_0x40175a[_0x6b81('0x21')]=qs['limit'](_0x5571cf[_0x6b81('0x35')][_0x6b81('0x21')]);_0x40175a[_0x6b81('0x1f')]=qs[_0x6b81('0x1f')](_0x5571cf['query'][_0x6b81('0x1f')]);}_0x40175a[_0x6b81('0x3a')]=qs[_0x6b81('0x3b')](_0x5571cf[_0x6b81('0x35')]['sort']);_0x40175a[_0x6b81('0x3c')]=qs[_0x6b81('0x36')](_[_0x6b81('0x3d')](_0x5571cf[_0x6b81('0x35')],_0x44664e[_0x6b81('0x36')]),_0x2adbaf);if(_0x5571cf[_0x6b81('0x35')][_0x6b81('0x3e')]){_0x40175a[_0x6b81('0x3c')]=_[_0x6b81('0x3f')](_0x40175a[_0x6b81('0x3c')],{'$or':_['map'](_0x2adbaf,function(_0x7abac9){if(_0x7abac9[_0x6b81('0x40')]!==_0x6b81('0x41')){var _0x519a55={};_0x519a55[_0x7abac9[_0x6b81('0x2b')]]={'$like':'%'+_0x5571cf[_0x6b81('0x35')][_0x6b81('0x3e')]+'%'};return _0x519a55;}})});}_0x40175a=_['merge']({},_0x40175a,_0x5571cf[_0x6b81('0x42')]);var _0x3e2ec3={'where':_0x40175a[_0x6b81('0x3c')]};return db[_0x6b81('0x2f')][_0x6b81('0x22')](_0x3e2ec3)[_0x6b81('0x28')](function(_0x4ea5cd){_0x59c3b2['count']=_0x4ea5cd;if(_0x5571cf['query'][_0x6b81('0x43')]){_0x40175a[_0x6b81('0x44')]=[{'all':!![]}];}return db[_0x6b81('0x2f')]['findAll'](_0x40175a);})['then'](function(_0x4099c1){_0x59c3b2[_0x6b81('0x45')]=_0x4099c1;return _0x59c3b2;})[_0x6b81('0x28')](respondWithFilteredResult(_0x5035b9,_0x40175a))['catch'](handleError(_0x5035b9,null));};exports[_0x6b81('0x46')]=function(_0x1b94f5,_0x8bada4){var _0x279341={'raw':![],'where':{'id':_0x1b94f5[_0x6b81('0x47')]['id']}},_0x353552={};_0x353552[_0x6b81('0x33')]=_[_0x6b81('0x34')](db[_0x6b81('0x2f')]['rawAttributes']);_0x353552['query']=_[_0x6b81('0x34')](_0x1b94f5['query']);_0x353552[_0x6b81('0x36')]=_['intersection'](_0x353552[_0x6b81('0x33')],_0x353552['query']);_0x279341[_0x6b81('0x38')]=_['intersection'](_0x353552[_0x6b81('0x33')],qs[_0x6b81('0x39')](_0x1b94f5[_0x6b81('0x35')][_0x6b81('0x39')]));_0x279341[_0x6b81('0x38')]=_0x279341[_0x6b81('0x38')][_0x6b81('0x48')]?_0x279341[_0x6b81('0x38')]:_0x353552[_0x6b81('0x33')];if(_0x1b94f5[_0x6b81('0x35')][_0x6b81('0x43')]){_0x279341['include']=[{'all':!![]}];}_0x279341=_[_0x6b81('0x3f')]({},_0x279341,_0x1b94f5[_0x6b81('0x42')]);return db[_0x6b81('0x2f')][_0x6b81('0x49')](_0x279341)[_0x6b81('0x28')](handleEntityNotFound(_0x8bada4,null))[_0x6b81('0x28')](respondWithResult(_0x8bada4,null))[_0x6b81('0x4a')](handleError(_0x8bada4,null));};exports[_0x6b81('0x4b')]=function(_0xd1d1df,_0x4afb00){return db['ZohoConfiguration'][_0x6b81('0x4b')](_0xd1d1df[_0x6b81('0x4c')],{})[_0x6b81('0x28')](respondWithResult(_0x4afb00,0xc9))[_0x6b81('0x4a')](handleError(_0x4afb00,null));};exports[_0x6b81('0x27')]=function(_0xca010d,_0x2e4b9d){if(_0xca010d[_0x6b81('0x4c')]['id']){delete _0xca010d[_0x6b81('0x4c')]['id'];}return db[_0x6b81('0x2f')][_0x6b81('0x49')]({'where':{'id':_0xca010d['params']['id']}})[_0x6b81('0x28')](handleEntityNotFound(_0x2e4b9d,null))[_0x6b81('0x28')](saveUpdates(_0xca010d[_0x6b81('0x4c')],null))[_0x6b81('0x28')](respondWithResult(_0x2e4b9d,null))['catch'](handleError(_0x2e4b9d,null));};exports[_0x6b81('0x29')]=function(_0x5a9339,_0x542521){return db[_0x6b81('0x2f')]['find']({'where':{'id':_0x5a9339[_0x6b81('0x47')]['id']}})[_0x6b81('0x28')](handleEntityNotFound(_0x542521,null))[_0x6b81('0x28')](removeEntity(_0x542521,null))[_0x6b81('0x4a')](handleError(_0x542521,null));};exports[_0x6b81('0x4d')]=function(_0x579351,_0x789d56,_0x3a0db6){var _0x53c5bf={};var _0x5e9c96={};var _0x4965a0;var _0xac7913;return db[_0x6b81('0x2f')]['findOne']({'where':{'id':_0x579351[_0x6b81('0x47')]['id']}})['then'](handleEntityNotFound(_0x789d56,null))[_0x6b81('0x28')](function(_0x314956){if(_0x314956){_0x4965a0=_0x314956;_0x5e9c96['model']=_[_0x6b81('0x34')](db[_0x6b81('0x4e')][_0x6b81('0x30')]);_0x5e9c96['query']=_[_0x6b81('0x34')](_0x579351[_0x6b81('0x35')]);_0x5e9c96[_0x6b81('0x36')]=_['intersection'](_0x5e9c96[_0x6b81('0x33')],_0x5e9c96[_0x6b81('0x35')]);_0x53c5bf['attributes']=_[_0x6b81('0x37')](_0x5e9c96[_0x6b81('0x33')],qs['fields'](_0x579351[_0x6b81('0x35')]['fields']));_0x53c5bf[_0x6b81('0x38')]=_0x53c5bf[_0x6b81('0x38')]['length']?_0x53c5bf['attributes']:_0x5e9c96['model'];_0x53c5bf[_0x6b81('0x3a')]=qs[_0x6b81('0x3b')](_0x579351[_0x6b81('0x35')][_0x6b81('0x3b')]);_0x53c5bf[_0x6b81('0x3c')]=qs[_0x6b81('0x36')](_[_0x6b81('0x3d')](_0x579351[_0x6b81('0x35')],_0x5e9c96[_0x6b81('0x36')]));if(_0x579351[_0x6b81('0x35')][_0x6b81('0x3e')]){_0x53c5bf[_0x6b81('0x3c')]=_[_0x6b81('0x3f')](_0x53c5bf['where'],{'$or':_[_0x6b81('0x2e')](_0x53c5bf['attributes'],function(_0x4cf4f7){var _0x44211a={};_0x44211a[_0x4cf4f7]={'$like':'%'+_0x579351[_0x6b81('0x35')][_0x6b81('0x3e')]+'%'};return _0x44211a;})});}_0x53c5bf=_['merge']({},_0x53c5bf,_0x579351[_0x6b81('0x42')]);return _0x4965a0[_0x6b81('0x4d')](_0x53c5bf);}})['then'](function(_0x12fffa){if(_0x12fffa){_0xac7913=_0x12fffa[_0x6b81('0x48')];if(!_0x579351[_0x6b81('0x35')][_0x6b81('0x4f')](_0x6b81('0x50'))){_0x53c5bf[_0x6b81('0x21')]=qs['limit'](_0x579351[_0x6b81('0x35')][_0x6b81('0x21')]);_0x53c5bf['offset']=qs[_0x6b81('0x1f')](_0x579351[_0x6b81('0x35')]['offset']);}return _0x4965a0[_0x6b81('0x4d')](_0x53c5bf);}})[_0x6b81('0x28')](function(_0x14e7d7){if(_0x14e7d7){return _0x14e7d7?{'count':_0xac7913,'rows':_0x14e7d7}:null;}})[_0x6b81('0x28')](respondWithResult(_0x789d56,null))[_0x6b81('0x4a')](handleError(_0x789d56,null));};exports[_0x6b81('0x51')]=function(_0x39a0f8,_0x29cc46,_0x5cadff){var _0x1f11e9={};var _0x3b3131={};var _0xd95a14;var _0x2e932c;return db[_0x6b81('0x2f')]['findOne']({'where':{'id':_0x39a0f8['params']['id']}})['then'](handleEntityNotFound(_0x29cc46,null))['then'](function(_0x4e8fa2){if(_0x4e8fa2){_0xd95a14=_0x4e8fa2;_0x3b3131[_0x6b81('0x33')]=_[_0x6b81('0x34')](db[_0x6b81('0x4e')][_0x6b81('0x30')]);_0x3b3131[_0x6b81('0x35')]=_['keys'](_0x39a0f8[_0x6b81('0x35')]);_0x3b3131['filters']=_['intersection'](_0x3b3131[_0x6b81('0x33')],_0x3b3131[_0x6b81('0x35')]);_0x1f11e9[_0x6b81('0x38')]=_[_0x6b81('0x37')](_0x3b3131['model'],qs[_0x6b81('0x39')](_0x39a0f8[_0x6b81('0x35')]['fields']));_0x1f11e9[_0x6b81('0x38')]=_0x1f11e9[_0x6b81('0x38')][_0x6b81('0x48')]?_0x1f11e9[_0x6b81('0x38')]:_0x3b3131[_0x6b81('0x33')];_0x1f11e9[_0x6b81('0x3a')]=qs[_0x6b81('0x3b')](_0x39a0f8['query'][_0x6b81('0x3b')]);_0x1f11e9[_0x6b81('0x3c')]=qs[_0x6b81('0x36')](_[_0x6b81('0x3d')](_0x39a0f8[_0x6b81('0x35')],_0x3b3131[_0x6b81('0x36')]));if(_0x39a0f8['query'][_0x6b81('0x3e')]){_0x1f11e9[_0x6b81('0x3c')]=_['merge'](_0x1f11e9[_0x6b81('0x3c')],{'$or':_[_0x6b81('0x2e')](_0x1f11e9[_0x6b81('0x38')],function(_0x4c22e3){var _0x4718f2={};_0x4718f2[_0x4c22e3]={'$like':'%'+_0x39a0f8['query'][_0x6b81('0x3e')]+'%'};return _0x4718f2;})});}_0x1f11e9=_[_0x6b81('0x3f')]({},_0x1f11e9,_0x39a0f8[_0x6b81('0x42')]);return _0xd95a14[_0x6b81('0x51')](_0x1f11e9);}})[_0x6b81('0x28')](function(_0x1936a0){if(_0x1936a0){_0x2e932c=_0x1936a0[_0x6b81('0x48')];if(!_0x39a0f8['query'][_0x6b81('0x4f')]('nolimit')){_0x1f11e9[_0x6b81('0x21')]=qs[_0x6b81('0x21')](_0x39a0f8[_0x6b81('0x35')][_0x6b81('0x21')]);_0x1f11e9['offset']=qs[_0x6b81('0x1f')](_0x39a0f8[_0x6b81('0x35')][_0x6b81('0x1f')]);}return _0xd95a14[_0x6b81('0x51')](_0x1f11e9);}})[_0x6b81('0x28')](function(_0x217177){if(_0x217177){return _0x217177?{'count':_0x2e932c,'rows':_0x217177}:null;}})[_0x6b81('0x28')](respondWithResult(_0x29cc46,null))['catch'](handleError(_0x29cc46,null));};exports[_0x6b81('0x52')]=function(_0x423729,_0x1e652c,_0x201e62){var _0x1e9504={};var _0x1ebca8={};var _0x322ae2;var _0x59d619;return db[_0x6b81('0x2f')][_0x6b81('0x53')]({'where':{'id':_0x423729[_0x6b81('0x47')]['id']}})[_0x6b81('0x28')](handleEntityNotFound(_0x1e652c,null))['then'](function(_0x5c7d87){if(_0x5c7d87){_0x322ae2=_0x5c7d87;_0x1ebca8['model']=_['keys'](db['ZohoField'][_0x6b81('0x30')]);_0x1ebca8['query']=_[_0x6b81('0x34')](_0x423729['query']);_0x1ebca8['filters']=_[_0x6b81('0x37')](_0x1ebca8[_0x6b81('0x33')],_0x1ebca8[_0x6b81('0x35')]);_0x1e9504[_0x6b81('0x38')]=_['intersection'](_0x1ebca8[_0x6b81('0x33')],qs[_0x6b81('0x39')](_0x423729[_0x6b81('0x35')][_0x6b81('0x39')]));_0x1e9504['attributes']=_0x1e9504[_0x6b81('0x38')][_0x6b81('0x48')]?_0x1e9504[_0x6b81('0x38')]:_0x1ebca8[_0x6b81('0x33')];_0x1e9504['order']=qs[_0x6b81('0x3b')](_0x423729['query'][_0x6b81('0x3b')]);_0x1e9504[_0x6b81('0x3c')]=qs[_0x6b81('0x36')](_[_0x6b81('0x3d')](_0x423729[_0x6b81('0x35')],_0x1ebca8[_0x6b81('0x36')]));if(_0x423729[_0x6b81('0x35')]['filter']){_0x1e9504[_0x6b81('0x3c')]=_[_0x6b81('0x3f')](_0x1e9504[_0x6b81('0x3c')],{'$or':_[_0x6b81('0x2e')](_0x1e9504['attributes'],function(_0x36bd20){var _0x36552d={};_0x36552d[_0x36bd20]={'$like':'%'+_0x423729[_0x6b81('0x35')][_0x6b81('0x3e')]+'%'};return _0x36552d;})});}_0x1e9504=_['merge']({},_0x1e9504,_0x423729[_0x6b81('0x42')]);return _0x322ae2[_0x6b81('0x52')](_0x1e9504);}})['then'](function(_0x527929){if(_0x527929){_0x59d619=_0x527929[_0x6b81('0x48')];if(!_0x423729['query'][_0x6b81('0x4f')](_0x6b81('0x50'))){_0x1e9504[_0x6b81('0x21')]=qs[_0x6b81('0x21')](_0x423729[_0x6b81('0x35')]['limit']);_0x1e9504[_0x6b81('0x1f')]=qs['offset'](_0x423729['query']['offset']);}return _0x322ae2[_0x6b81('0x52')](_0x1e9504);}})[_0x6b81('0x28')](function(_0x370313){if(_0x370313){return _0x370313?{'count':_0x59d619,'rows':_0x370313}:null;}})[_0x6b81('0x28')](respondWithResult(_0x1e652c,null))[_0x6b81('0x4a')](handleError(_0x1e652c,null));};