Built motion from commit 85f716e9.|2.6.8
[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 _0xd5f2=['fields','length','hasOwnProperty','nolimit','order','sort','where','pick','merge','options','includeAll','include','findAll','catch','show','find','create','body','params','getFields','findOne','filter','getSubjects','getDescriptions','ZohoField','eml-format','zip-dir','fast-json-patch','moment','bluebird','mustache','util','sox','to-csv','fs-extra','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','json','offset','undefined','count','limit','set','apply','reject','save','update','destroy','then','end','stack','send','index','map','ZohoConfiguration','rawAttributes','type','key','model','name','query','keys','filters','intersection','attributes'];(function(_0x57c454,_0x1716b6){var _0x143267=function(_0x5733cd){while(--_0x5733cd){_0x57c454['push'](_0x57c454['shift']());}};_0x143267(++_0x1716b6);}(_0xd5f2,0x69));var _0x2d5f=function(_0x725b8e,_0xc22b48){_0x725b8e=_0x725b8e-0x0;var _0x43ac45=_0xd5f2[_0x725b8e];return _0x43ac45;};'use strict';var emlformat=require(_0x2d5f('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x2d5f('0x1'));var jsonpatch=require(_0x2d5f('0x2'));var rp=require('request-promise');var moment=require(_0x2d5f('0x3'));var BPromise=require(_0x2d5f('0x4'));var Mustache=require(_0x2d5f('0x5'));var util=require(_0x2d5f('0x6'));var path=require('path');var sox=require(_0x2d5f('0x7'));var csv=require(_0x2d5f('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x2d5f('0x9'));var _=require(_0x2d5f('0xa'));var squel=require(_0x2d5f('0xb'));var crypto=require('crypto');var jsforce=require(_0x2d5f('0xc'));var deskjs=require(_0x2d5f('0xd'));var toCsv=require(_0x2d5f('0x8'));var querystring=require(_0x2d5f('0xe'));var Papa=require(_0x2d5f('0xf'));var Redis=require(_0x2d5f('0x10'));var authService=require('../../components/auth/service');var qs=require(_0x2d5f('0x11'));var as=require(_0x2d5f('0x12'));var hardwareService=require(_0x2d5f('0x13'));var logger=require(_0x2d5f('0x14'))(_0x2d5f('0x15'));var utils=require(_0x2d5f('0x16'));var config=require(_0x2d5f('0x17'));var licenseUtil=require(_0x2d5f('0x18'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x4f1019,_0x5da4a8){_0x5da4a8=_0x5da4a8||0xcc;return function(_0x1091ac){if(_0x1091ac){return _0x4f1019[_0x2d5f('0x19')](_0x5da4a8);}return _0x4f1019['status'](_0x5da4a8)['end']();};}function respondWithResult(_0x5d066e,_0x18075f){_0x18075f=_0x18075f||0xc8;return function(_0x5ac4f3){if(_0x5ac4f3){return _0x5d066e[_0x2d5f('0x1a')](_0x18075f)[_0x2d5f('0x1b')](_0x5ac4f3);}};}function respondWithFilteredResult(_0x3b72cf,_0x344116){return function(_0x4fb96b){if(_0x4fb96b){var _0x38660f=typeof _0x344116[_0x2d5f('0x1c')]===_0x2d5f('0x1d')&&typeof _0x344116['limit']===_0x2d5f('0x1d');var _0x5d1fd3=_0x4fb96b[_0x2d5f('0x1e')];var _0x58dff3=_0x38660f?0x0:_0x344116[_0x2d5f('0x1c')];var _0x598e75=_0x38660f?_0x4fb96b[_0x2d5f('0x1e')]:_0x344116[_0x2d5f('0x1c')]+_0x344116[_0x2d5f('0x1f')];var _0x5c2ec1;if(_0x598e75>=_0x5d1fd3){_0x598e75=_0x5d1fd3;_0x5c2ec1=0xc8;}else{_0x5c2ec1=0xce;}_0x3b72cf['status'](_0x5c2ec1);return _0x3b72cf[_0x2d5f('0x20')]('Content-Range',_0x58dff3+'-'+_0x598e75+'/'+_0x5d1fd3)['json'](_0x4fb96b);}return null;};}function patchUpdates(_0x524ed8){return function(_0x507712){try{jsonpatch[_0x2d5f('0x21')](_0x507712,_0x524ed8,!![]);}catch(_0x2df603){return BPromise[_0x2d5f('0x22')](_0x2df603);}return _0x507712[_0x2d5f('0x23')]();};}function saveUpdates(_0x3c2a2b,_0xaca6ad){return function(_0x13dd99){if(_0x13dd99){return _0x13dd99[_0x2d5f('0x24')](_0x3c2a2b)['then'](function(_0x292c5e){return _0x292c5e;});}return null;};}function removeEntity(_0x5b483e,_0x258e17){return function(_0x22f1ab){if(_0x22f1ab){return _0x22f1ab[_0x2d5f('0x25')]()[_0x2d5f('0x26')](function(){_0x5b483e[_0x2d5f('0x1a')](0xcc)[_0x2d5f('0x27')]();});}};}function handleEntityNotFound(_0x5450ff,_0x93674d){return function(_0x5e9f0f){if(!_0x5e9f0f){_0x5450ff[_0x2d5f('0x19')](0x194);}return _0x5e9f0f;};}function handleError(_0x3bf409,_0x1d3e27){_0x1d3e27=_0x1d3e27||0x1f4;return function(_0x1fdcc3){logger['error'](_0x1fdcc3[_0x2d5f('0x28')]);if(_0x1fdcc3['name']){delete _0x1fdcc3['name'];}_0x3bf409[_0x2d5f('0x1a')](_0x1d3e27)[_0x2d5f('0x29')](_0x1fdcc3);};}exports[_0x2d5f('0x2a')]=function(_0x568a50,_0x3a4c8c){var _0x511c7c={},_0x45d8ab={},_0x2429da={'count':0x0,'rows':[]};var _0x192ebb=_[_0x2d5f('0x2b')](db[_0x2d5f('0x2c')][_0x2d5f('0x2d')],function(_0x16ba79){return{'name':_0x16ba79['fieldName'],'type':_0x16ba79[_0x2d5f('0x2e')][_0x2d5f('0x2f')]};});_0x45d8ab[_0x2d5f('0x30')]=_[_0x2d5f('0x2b')](_0x192ebb,_0x2d5f('0x31'));_0x45d8ab[_0x2d5f('0x32')]=_[_0x2d5f('0x33')](_0x568a50['query']);_0x45d8ab[_0x2d5f('0x34')]=_[_0x2d5f('0x35')](_0x45d8ab[_0x2d5f('0x30')],_0x45d8ab[_0x2d5f('0x32')]);_0x511c7c[_0x2d5f('0x36')]=_[_0x2d5f('0x35')](_0x45d8ab[_0x2d5f('0x30')],qs[_0x2d5f('0x37')](_0x568a50['query'][_0x2d5f('0x37')]));_0x511c7c[_0x2d5f('0x36')]=_0x511c7c[_0x2d5f('0x36')][_0x2d5f('0x38')]?_0x511c7c[_0x2d5f('0x36')]:_0x45d8ab['model'];if(!_0x568a50[_0x2d5f('0x32')][_0x2d5f('0x39')](_0x2d5f('0x3a'))){_0x511c7c[_0x2d5f('0x1f')]=qs['limit'](_0x568a50[_0x2d5f('0x32')][_0x2d5f('0x1f')]);_0x511c7c[_0x2d5f('0x1c')]=qs[_0x2d5f('0x1c')](_0x568a50[_0x2d5f('0x32')]['offset']);}_0x511c7c[_0x2d5f('0x3b')]=qs[_0x2d5f('0x3c')](_0x568a50['query'][_0x2d5f('0x3c')]);_0x511c7c[_0x2d5f('0x3d')]=qs[_0x2d5f('0x34')](_[_0x2d5f('0x3e')](_0x568a50[_0x2d5f('0x32')],_0x45d8ab[_0x2d5f('0x34')]),_0x192ebb);if(_0x568a50[_0x2d5f('0x32')]['filter']){_0x511c7c[_0x2d5f('0x3d')]=_[_0x2d5f('0x3f')](_0x511c7c[_0x2d5f('0x3d')],{'$or':_[_0x2d5f('0x2b')](_0x192ebb,function(_0x5e90d3){if(_0x5e90d3[_0x2d5f('0x2e')]!=='VIRTUAL'){var _0x1f8c61={};_0x1f8c61[_0x5e90d3['name']]={'$like':'%'+_0x568a50[_0x2d5f('0x32')]['filter']+'%'};return _0x1f8c61;}})});}_0x511c7c=_[_0x2d5f('0x3f')]({},_0x511c7c,_0x568a50[_0x2d5f('0x40')]);var _0x3efeea={'where':_0x511c7c[_0x2d5f('0x3d')]};return db[_0x2d5f('0x2c')][_0x2d5f('0x1e')](_0x3efeea)[_0x2d5f('0x26')](function(_0x923e74){_0x2429da['count']=_0x923e74;if(_0x568a50[_0x2d5f('0x32')][_0x2d5f('0x41')]){_0x511c7c[_0x2d5f('0x42')]=[{'all':!![]}];}return db['ZohoConfiguration'][_0x2d5f('0x43')](_0x511c7c);})[_0x2d5f('0x26')](function(_0x2fb455){_0x2429da['rows']=_0x2fb455;return _0x2429da;})[_0x2d5f('0x26')](respondWithFilteredResult(_0x3a4c8c,_0x511c7c))[_0x2d5f('0x44')](handleError(_0x3a4c8c,null));};exports[_0x2d5f('0x45')]=function(_0xbe855b,_0x4952a2){var _0x1e720c={'raw':![],'where':{'id':_0xbe855b['params']['id']}},_0xf34046={};_0xf34046[_0x2d5f('0x30')]=_[_0x2d5f('0x33')](db[_0x2d5f('0x2c')]['rawAttributes']);_0xf34046['query']=_[_0x2d5f('0x33')](_0xbe855b['query']);_0xf34046[_0x2d5f('0x34')]=_['intersection'](_0xf34046['model'],_0xf34046[_0x2d5f('0x32')]);_0x1e720c[_0x2d5f('0x36')]=_[_0x2d5f('0x35')](_0xf34046['model'],qs[_0x2d5f('0x37')](_0xbe855b[_0x2d5f('0x32')][_0x2d5f('0x37')]));_0x1e720c[_0x2d5f('0x36')]=_0x1e720c[_0x2d5f('0x36')][_0x2d5f('0x38')]?_0x1e720c[_0x2d5f('0x36')]:_0xf34046[_0x2d5f('0x30')];if(_0xbe855b['query'][_0x2d5f('0x41')]){_0x1e720c['include']=[{'all':!![]}];}_0x1e720c=_['merge']({},_0x1e720c,_0xbe855b[_0x2d5f('0x40')]);return db['ZohoConfiguration'][_0x2d5f('0x46')](_0x1e720c)['then'](handleEntityNotFound(_0x4952a2,null))[_0x2d5f('0x26')](respondWithResult(_0x4952a2,null))[_0x2d5f('0x44')](handleError(_0x4952a2,null));};exports[_0x2d5f('0x47')]=function(_0x4166f8,_0xee7b46){return db[_0x2d5f('0x2c')][_0x2d5f('0x47')](_0x4166f8[_0x2d5f('0x48')],{})['then'](respondWithResult(_0xee7b46,0xc9))[_0x2d5f('0x44')](handleError(_0xee7b46,null));};exports[_0x2d5f('0x24')]=function(_0x45c35e,_0x254dd5){if(_0x45c35e[_0x2d5f('0x48')]['id']){delete _0x45c35e[_0x2d5f('0x48')]['id'];}return db['ZohoConfiguration'][_0x2d5f('0x46')]({'where':{'id':_0x45c35e['params']['id']}})[_0x2d5f('0x26')](handleEntityNotFound(_0x254dd5,null))['then'](saveUpdates(_0x45c35e['body'],null))[_0x2d5f('0x26')](respondWithResult(_0x254dd5,null))[_0x2d5f('0x44')](handleError(_0x254dd5,null));};exports[_0x2d5f('0x25')]=function(_0x3f715b,_0x1ac370){return db[_0x2d5f('0x2c')][_0x2d5f('0x46')]({'where':{'id':_0x3f715b[_0x2d5f('0x49')]['id']}})['then'](handleEntityNotFound(_0x1ac370,null))[_0x2d5f('0x26')](removeEntity(_0x1ac370,null))['catch'](handleError(_0x1ac370,null));};exports[_0x2d5f('0x4a')]=function(_0x4c5bda,_0x1ae7ed,_0x21f98a){var _0x426cf3={};var _0xa055e2={};var _0x46fefd;var _0x487f9f;return db[_0x2d5f('0x2c')][_0x2d5f('0x4b')]({'where':{'id':_0x4c5bda[_0x2d5f('0x49')]['id']}})[_0x2d5f('0x26')](handleEntityNotFound(_0x1ae7ed,null))[_0x2d5f('0x26')](function(_0x1ede3e){if(_0x1ede3e){_0x46fefd=_0x1ede3e;_0xa055e2[_0x2d5f('0x30')]=_[_0x2d5f('0x33')](db['ZohoField'][_0x2d5f('0x2d')]);_0xa055e2['query']=_['keys'](_0x4c5bda[_0x2d5f('0x32')]);_0xa055e2[_0x2d5f('0x34')]=_[_0x2d5f('0x35')](_0xa055e2[_0x2d5f('0x30')],_0xa055e2[_0x2d5f('0x32')]);_0x426cf3[_0x2d5f('0x36')]=_['intersection'](_0xa055e2['model'],qs[_0x2d5f('0x37')](_0x4c5bda['query'][_0x2d5f('0x37')]));_0x426cf3[_0x2d5f('0x36')]=_0x426cf3[_0x2d5f('0x36')][_0x2d5f('0x38')]?_0x426cf3[_0x2d5f('0x36')]:_0xa055e2['model'];_0x426cf3[_0x2d5f('0x3b')]=qs[_0x2d5f('0x3c')](_0x4c5bda['query'][_0x2d5f('0x3c')]);_0x426cf3[_0x2d5f('0x3d')]=qs[_0x2d5f('0x34')](_['pick'](_0x4c5bda[_0x2d5f('0x32')],_0xa055e2['filters']));if(_0x4c5bda[_0x2d5f('0x32')][_0x2d5f('0x4c')]){_0x426cf3['where']=_[_0x2d5f('0x3f')](_0x426cf3['where'],{'$or':_['map'](_0x426cf3[_0x2d5f('0x36')],function(_0x5f282b){var _0x2f80e6={};_0x2f80e6[_0x5f282b]={'$like':'%'+_0x4c5bda[_0x2d5f('0x32')][_0x2d5f('0x4c')]+'%'};return _0x2f80e6;})});}_0x426cf3=_[_0x2d5f('0x3f')]({},_0x426cf3,_0x4c5bda[_0x2d5f('0x40')]);return _0x46fefd[_0x2d5f('0x4a')](_0x426cf3);}})[_0x2d5f('0x26')](function(_0x5e83a9){if(_0x5e83a9){_0x487f9f=_0x5e83a9[_0x2d5f('0x38')];if(!_0x4c5bda[_0x2d5f('0x32')][_0x2d5f('0x39')](_0x2d5f('0x3a'))){_0x426cf3[_0x2d5f('0x1f')]=qs[_0x2d5f('0x1f')](_0x4c5bda[_0x2d5f('0x32')][_0x2d5f('0x1f')]);_0x426cf3[_0x2d5f('0x1c')]=qs[_0x2d5f('0x1c')](_0x4c5bda['query']['offset']);}return _0x46fefd[_0x2d5f('0x4a')](_0x426cf3);}})['then'](function(_0x49e65a){if(_0x49e65a){return _0x49e65a?{'count':_0x487f9f,'rows':_0x49e65a}:null;}})['then'](respondWithResult(_0x1ae7ed,null))[_0x2d5f('0x44')](handleError(_0x1ae7ed,null));};exports[_0x2d5f('0x4d')]=function(_0x4fab2,_0x227314,_0x1ac94f){var _0x264121={};var _0x1e52a7={};var _0x11499e;var _0x3dde6e;return db['ZohoConfiguration']['findOne']({'where':{'id':_0x4fab2['params']['id']}})[_0x2d5f('0x26')](handleEntityNotFound(_0x227314,null))[_0x2d5f('0x26')](function(_0x1cadb3){if(_0x1cadb3){_0x11499e=_0x1cadb3;_0x1e52a7[_0x2d5f('0x30')]=_['keys'](db['ZohoField'][_0x2d5f('0x2d')]);_0x1e52a7['query']=_[_0x2d5f('0x33')](_0x4fab2[_0x2d5f('0x32')]);_0x1e52a7[_0x2d5f('0x34')]=_['intersection'](_0x1e52a7[_0x2d5f('0x30')],_0x1e52a7['query']);_0x264121['attributes']=_['intersection'](_0x1e52a7['model'],qs['fields'](_0x4fab2[_0x2d5f('0x32')][_0x2d5f('0x37')]));_0x264121['attributes']=_0x264121[_0x2d5f('0x36')][_0x2d5f('0x38')]?_0x264121[_0x2d5f('0x36')]:_0x1e52a7['model'];_0x264121[_0x2d5f('0x3b')]=qs[_0x2d5f('0x3c')](_0x4fab2[_0x2d5f('0x32')]['sort']);_0x264121['where']=qs['filters'](_[_0x2d5f('0x3e')](_0x4fab2[_0x2d5f('0x32')],_0x1e52a7[_0x2d5f('0x34')]));if(_0x4fab2[_0x2d5f('0x32')][_0x2d5f('0x4c')]){_0x264121[_0x2d5f('0x3d')]=_[_0x2d5f('0x3f')](_0x264121[_0x2d5f('0x3d')],{'$or':_[_0x2d5f('0x2b')](_0x264121['attributes'],function(_0x1e1367){var _0x21e630={};_0x21e630[_0x1e1367]={'$like':'%'+_0x4fab2[_0x2d5f('0x32')][_0x2d5f('0x4c')]+'%'};return _0x21e630;})});}_0x264121=_[_0x2d5f('0x3f')]({},_0x264121,_0x4fab2[_0x2d5f('0x40')]);return _0x11499e[_0x2d5f('0x4d')](_0x264121);}})[_0x2d5f('0x26')](function(_0x355210){if(_0x355210){_0x3dde6e=_0x355210['length'];if(!_0x4fab2[_0x2d5f('0x32')][_0x2d5f('0x39')](_0x2d5f('0x3a'))){_0x264121[_0x2d5f('0x1f')]=qs['limit'](_0x4fab2['query'][_0x2d5f('0x1f')]);_0x264121['offset']=qs[_0x2d5f('0x1c')](_0x4fab2[_0x2d5f('0x32')][_0x2d5f('0x1c')]);}return _0x11499e[_0x2d5f('0x4d')](_0x264121);}})['then'](function(_0x201639){if(_0x201639){return _0x201639?{'count':_0x3dde6e,'rows':_0x201639}:null;}})[_0x2d5f('0x26')](respondWithResult(_0x227314,null))[_0x2d5f('0x44')](handleError(_0x227314,null));};exports[_0x2d5f('0x4e')]=function(_0x937813,_0x5a1620,_0x21b736){var _0x17bbbd={};var _0x6f5d0b={};var _0x26fd00;var _0x22a4f1;return db['ZohoConfiguration'][_0x2d5f('0x4b')]({'where':{'id':_0x937813[_0x2d5f('0x49')]['id']}})['then'](handleEntityNotFound(_0x5a1620,null))[_0x2d5f('0x26')](function(_0x42d9ee){if(_0x42d9ee){_0x26fd00=_0x42d9ee;_0x6f5d0b[_0x2d5f('0x30')]=_['keys'](db[_0x2d5f('0x4f')][_0x2d5f('0x2d')]);_0x6f5d0b[_0x2d5f('0x32')]=_[_0x2d5f('0x33')](_0x937813[_0x2d5f('0x32')]);_0x6f5d0b[_0x2d5f('0x34')]=_[_0x2d5f('0x35')](_0x6f5d0b[_0x2d5f('0x30')],_0x6f5d0b['query']);_0x17bbbd[_0x2d5f('0x36')]=_['intersection'](_0x6f5d0b[_0x2d5f('0x30')],qs['fields'](_0x937813[_0x2d5f('0x32')][_0x2d5f('0x37')]));_0x17bbbd[_0x2d5f('0x36')]=_0x17bbbd[_0x2d5f('0x36')][_0x2d5f('0x38')]?_0x17bbbd[_0x2d5f('0x36')]:_0x6f5d0b[_0x2d5f('0x30')];_0x17bbbd[_0x2d5f('0x3b')]=qs[_0x2d5f('0x3c')](_0x937813[_0x2d5f('0x32')][_0x2d5f('0x3c')]);_0x17bbbd[_0x2d5f('0x3d')]=qs['filters'](_[_0x2d5f('0x3e')](_0x937813['query'],_0x6f5d0b[_0x2d5f('0x34')]));if(_0x937813['query'][_0x2d5f('0x4c')]){_0x17bbbd[_0x2d5f('0x3d')]=_[_0x2d5f('0x3f')](_0x17bbbd['where'],{'$or':_[_0x2d5f('0x2b')](_0x17bbbd[_0x2d5f('0x36')],function(_0x2c1f40){var _0x3c9c69={};_0x3c9c69[_0x2c1f40]={'$like':'%'+_0x937813[_0x2d5f('0x32')][_0x2d5f('0x4c')]+'%'};return _0x3c9c69;})});}_0x17bbbd=_['merge']({},_0x17bbbd,_0x937813[_0x2d5f('0x40')]);return _0x26fd00[_0x2d5f('0x4e')](_0x17bbbd);}})[_0x2d5f('0x26')](function(_0x1c164c){if(_0x1c164c){_0x22a4f1=_0x1c164c[_0x2d5f('0x38')];if(!_0x937813[_0x2d5f('0x32')]['hasOwnProperty'](_0x2d5f('0x3a'))){_0x17bbbd[_0x2d5f('0x1f')]=qs[_0x2d5f('0x1f')](_0x937813[_0x2d5f('0x32')][_0x2d5f('0x1f')]);_0x17bbbd[_0x2d5f('0x1c')]=qs[_0x2d5f('0x1c')](_0x937813[_0x2d5f('0x32')]['offset']);}return _0x26fd00[_0x2d5f('0x4e')](_0x17bbbd);}})[_0x2d5f('0x26')](function(_0x5d4852){if(_0x5d4852){return _0x5d4852?{'count':_0x22a4f1,'rows':_0x5d4852}:null;}})[_0x2d5f('0x26')](respondWithResult(_0x5a1620,null))[_0x2d5f('0x44')](handleError(_0x5a1620,null));};