Built motion from commit 994c64e1.|2.6.1
[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 _0x9d7a=['../../components/parsers/advancedSearch','../../config/license/hardware','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','undefined','limit','offset','count','set','Content-Range','json','apply','reject','update','then','error','stack','name','index','rawAttributes','type','key','model','map','query','keys','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','filters','pick','where','merge','ZohoConfiguration','include','rows','catch','show','params','includeAll','options','create','body','find','destroy','ZohoField','filter','getFields','getSubjects','findOne','order','getDescriptions','fast-json-patch','request-promise','moment','bluebird','mustache','util','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs'];(function(_0x34a45f,_0x18b48b){var _0x486466=function(_0x583704){while(--_0x583704){_0x34a45f['push'](_0x34a45f['shift']());}};_0x486466(++_0x18b48b);}(_0x9d7a,0x8b));var _0xa9d7=function(_0x10e03e,_0x33a0f7){_0x10e03e=_0x10e03e-0x0;var _0x3622c7=_0x9d7a[_0x10e03e];return _0x3622c7;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0xa9d7('0x0'));var rp=require(_0xa9d7('0x1'));var moment=require(_0xa9d7('0x2'));var BPromise=require(_0xa9d7('0x3'));var Mustache=require(_0xa9d7('0x4'));var util=require(_0xa9d7('0x5'));var path=require('path');var sox=require('sox');var csv=require(_0xa9d7('0x6'));var ejs=require(_0xa9d7('0x7'));var fs=require('fs');var fs_extra=require(_0xa9d7('0x8'));var _=require(_0xa9d7('0x9'));var squel=require(_0xa9d7('0xa'));var crypto=require(_0xa9d7('0xb'));var jsforce=require(_0xa9d7('0xc'));var deskjs=require(_0xa9d7('0xd'));var toCsv=require(_0xa9d7('0x6'));var querystring=require(_0xa9d7('0xe'));var Papa=require(_0xa9d7('0xf'));var Redis=require(_0xa9d7('0x10'));var authService=require(_0xa9d7('0x11'));var qs=require(_0xa9d7('0x12'));var as=require(_0xa9d7('0x13'));var hardwareService=require(_0xa9d7('0x14'));var logger=require('../../config/logger')('api');var utils=require('../../config/utils');var config=require(_0xa9d7('0x15'));var licenseUtil=require(_0xa9d7('0x16'));var db=require(_0xa9d7('0x17'))['db'];function respondWithStatusCode(_0x501f7d,_0x5cc35b){_0x5cc35b=_0x5cc35b||0xcc;return function(_0x113fbc){if(_0x113fbc){return _0x501f7d[_0xa9d7('0x18')](_0x5cc35b);}return _0x501f7d[_0xa9d7('0x19')](_0x5cc35b)[_0xa9d7('0x1a')]();};}function respondWithResult(_0x281566,_0x158209){_0x158209=_0x158209||0xc8;return function(_0x1d9551){if(_0x1d9551){return _0x281566[_0xa9d7('0x19')](_0x158209)['json'](_0x1d9551);}};}function respondWithFilteredResult(_0x44381f,_0x1cc6de){return function(_0x3a0aa0){if(_0x3a0aa0){var _0x27ec4b=typeof _0x1cc6de['offset']===_0xa9d7('0x1b')&&typeof _0x1cc6de[_0xa9d7('0x1c')]==='undefined';var _0x3a2b76=_0x3a0aa0['count'];var _0xef3bbb=_0x27ec4b?0x0:_0x1cc6de[_0xa9d7('0x1d')];var _0x5f241e=_0x27ec4b?_0x3a0aa0[_0xa9d7('0x1e')]:_0x1cc6de[_0xa9d7('0x1d')]+_0x1cc6de['limit'];var _0x5b0d34;if(_0x5f241e>=_0x3a2b76){_0x5f241e=_0x3a2b76;_0x5b0d34=0xc8;}else{_0x5b0d34=0xce;}_0x44381f['status'](_0x5b0d34);return _0x44381f[_0xa9d7('0x1f')](_0xa9d7('0x20'),_0xef3bbb+'-'+_0x5f241e+'/'+_0x3a2b76)[_0xa9d7('0x21')](_0x3a0aa0);}return null;};}function patchUpdates(_0x379774){return function(_0x103d4d){try{jsonpatch[_0xa9d7('0x22')](_0x103d4d,_0x379774,!![]);}catch(_0x900f19){return BPromise[_0xa9d7('0x23')](_0x900f19);}return _0x103d4d['save']();};}function saveUpdates(_0x23f993,_0xd4f700){return function(_0x9bcc13){if(_0x9bcc13){return _0x9bcc13[_0xa9d7('0x24')](_0x23f993)['then'](function(_0x128698){return _0x128698;});}return null;};}function removeEntity(_0x23b04a,_0x348b23){return function(_0x56bce0){if(_0x56bce0){return _0x56bce0['destroy']()[_0xa9d7('0x25')](function(){_0x23b04a['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x4ecbcc,_0x18316e){return function(_0x133661){if(!_0x133661){_0x4ecbcc[_0xa9d7('0x18')](0x194);}return _0x133661;};}function handleError(_0x15c33a,_0x508445){_0x508445=_0x508445||0x1f4;return function(_0x3573ff){logger[_0xa9d7('0x26')](_0x3573ff[_0xa9d7('0x27')]);if(_0x3573ff[_0xa9d7('0x28')]){delete _0x3573ff['name'];}_0x15c33a[_0xa9d7('0x19')](_0x508445)['send'](_0x3573ff);};}exports[_0xa9d7('0x29')]=function(_0x5bd3a5,_0xab73cf){var _0x14d872={},_0x21c3cb={},_0x4dcbbb={'count':0x0,'rows':[]};var _0x3180e8=_['map'](db['ZohoConfiguration'][_0xa9d7('0x2a')],function(_0x390550){return{'name':_0x390550['fieldName'],'type':_0x390550[_0xa9d7('0x2b')][_0xa9d7('0x2c')]};});_0x21c3cb[_0xa9d7('0x2d')]=_[_0xa9d7('0x2e')](_0x3180e8,_0xa9d7('0x28'));_0x21c3cb[_0xa9d7('0x2f')]=_[_0xa9d7('0x30')](_0x5bd3a5[_0xa9d7('0x2f')]);_0x21c3cb['filters']=_[_0xa9d7('0x31')](_0x21c3cb[_0xa9d7('0x2d')],_0x21c3cb[_0xa9d7('0x2f')]);_0x14d872[_0xa9d7('0x32')]=_[_0xa9d7('0x31')](_0x21c3cb[_0xa9d7('0x2d')],qs['fields'](_0x5bd3a5[_0xa9d7('0x2f')][_0xa9d7('0x33')]));_0x14d872[_0xa9d7('0x32')]=_0x14d872[_0xa9d7('0x32')][_0xa9d7('0x34')]?_0x14d872[_0xa9d7('0x32')]:_0x21c3cb[_0xa9d7('0x2d')];if(!_0x5bd3a5[_0xa9d7('0x2f')][_0xa9d7('0x35')](_0xa9d7('0x36'))){_0x14d872[_0xa9d7('0x1c')]=qs[_0xa9d7('0x1c')](_0x5bd3a5[_0xa9d7('0x2f')][_0xa9d7('0x1c')]);_0x14d872[_0xa9d7('0x1d')]=qs[_0xa9d7('0x1d')](_0x5bd3a5[_0xa9d7('0x2f')]['offset']);}_0x14d872['order']=qs[_0xa9d7('0x37')](_0x5bd3a5[_0xa9d7('0x2f')][_0xa9d7('0x37')]);_0x14d872['where']=qs[_0xa9d7('0x38')](_[_0xa9d7('0x39')](_0x5bd3a5[_0xa9d7('0x2f')],_0x21c3cb[_0xa9d7('0x38')]),_0x3180e8);if(_0x5bd3a5['query']['filter']){_0x14d872[_0xa9d7('0x3a')]=_['merge'](_0x14d872[_0xa9d7('0x3a')],{'$or':_[_0xa9d7('0x2e')](_0x3180e8,function(_0x1cae9c){if(_0x1cae9c['type']!=='VIRTUAL'){var _0x14d973={};_0x14d973[_0x1cae9c['name']]={'$like':'%'+_0x5bd3a5[_0xa9d7('0x2f')]['filter']+'%'};return _0x14d973;}})});}_0x14d872=_[_0xa9d7('0x3b')]({},_0x14d872,_0x5bd3a5['options']);var _0x268b36={'where':_0x14d872[_0xa9d7('0x3a')]};return db[_0xa9d7('0x3c')]['count'](_0x268b36)['then'](function(_0x37c3d2){_0x4dcbbb[_0xa9d7('0x1e')]=_0x37c3d2;if(_0x5bd3a5[_0xa9d7('0x2f')]['includeAll']){_0x14d872[_0xa9d7('0x3d')]=[{'all':!![]}];}return db['ZohoConfiguration']['findAll'](_0x14d872);})[_0xa9d7('0x25')](function(_0x4c85ed){_0x4dcbbb[_0xa9d7('0x3e')]=_0x4c85ed;return _0x4dcbbb;})['then'](respondWithFilteredResult(_0xab73cf,_0x14d872))[_0xa9d7('0x3f')](handleError(_0xab73cf,null));};exports[_0xa9d7('0x40')]=function(_0x558104,_0x27b019){var _0x216170={'raw':![],'where':{'id':_0x558104[_0xa9d7('0x41')]['id']}},_0x1491a9={};_0x1491a9[_0xa9d7('0x2d')]=_[_0xa9d7('0x30')](db['ZohoConfiguration'][_0xa9d7('0x2a')]);_0x1491a9[_0xa9d7('0x2f')]=_['keys'](_0x558104[_0xa9d7('0x2f')]);_0x1491a9[_0xa9d7('0x38')]=_[_0xa9d7('0x31')](_0x1491a9[_0xa9d7('0x2d')],_0x1491a9[_0xa9d7('0x2f')]);_0x216170[_0xa9d7('0x32')]=_['intersection'](_0x1491a9[_0xa9d7('0x2d')],qs[_0xa9d7('0x33')](_0x558104[_0xa9d7('0x2f')][_0xa9d7('0x33')]));_0x216170[_0xa9d7('0x32')]=_0x216170[_0xa9d7('0x32')]['length']?_0x216170[_0xa9d7('0x32')]:_0x1491a9['model'];if(_0x558104[_0xa9d7('0x2f')][_0xa9d7('0x42')]){_0x216170['include']=[{'all':!![]}];}_0x216170=_[_0xa9d7('0x3b')]({},_0x216170,_0x558104[_0xa9d7('0x43')]);return db[_0xa9d7('0x3c')]['find'](_0x216170)[_0xa9d7('0x25')](handleEntityNotFound(_0x27b019,null))[_0xa9d7('0x25')](respondWithResult(_0x27b019,null))[_0xa9d7('0x3f')](handleError(_0x27b019,null));};exports[_0xa9d7('0x44')]=function(_0xb60f3d,_0x1a06cd){return db[_0xa9d7('0x3c')]['create'](_0xb60f3d[_0xa9d7('0x45')],{})['then'](respondWithResult(_0x1a06cd,0xc9))['catch'](handleError(_0x1a06cd,null));};exports[_0xa9d7('0x24')]=function(_0x10c184,_0x19ae47){if(_0x10c184[_0xa9d7('0x45')]['id']){delete _0x10c184[_0xa9d7('0x45')]['id'];}return db[_0xa9d7('0x3c')][_0xa9d7('0x46')]({'where':{'id':_0x10c184[_0xa9d7('0x41')]['id']}})[_0xa9d7('0x25')](handleEntityNotFound(_0x19ae47,null))[_0xa9d7('0x25')](saveUpdates(_0x10c184[_0xa9d7('0x45')],null))[_0xa9d7('0x25')](respondWithResult(_0x19ae47,null))['catch'](handleError(_0x19ae47,null));};exports[_0xa9d7('0x47')]=function(_0x2af8c3,_0x559334){return db[_0xa9d7('0x3c')][_0xa9d7('0x46')]({'where':{'id':_0x2af8c3[_0xa9d7('0x41')]['id']}})['then'](handleEntityNotFound(_0x559334,null))[_0xa9d7('0x25')](removeEntity(_0x559334,null))[_0xa9d7('0x3f')](handleError(_0x559334,null));};exports['getFields']=function(_0x688590,_0x40858c,_0x4b2193){var _0xefcb8c={};var _0x38a54e={};var _0x455f8f;var _0x41ae0b;return db[_0xa9d7('0x3c')]['findOne']({'where':{'id':_0x688590[_0xa9d7('0x41')]['id']}})['then'](handleEntityNotFound(_0x40858c,null))[_0xa9d7('0x25')](function(_0xcd694d){if(_0xcd694d){_0x455f8f=_0xcd694d;_0x38a54e[_0xa9d7('0x2d')]=_[_0xa9d7('0x30')](db[_0xa9d7('0x48')][_0xa9d7('0x2a')]);_0x38a54e['query']=_[_0xa9d7('0x30')](_0x688590[_0xa9d7('0x2f')]);_0x38a54e[_0xa9d7('0x38')]=_['intersection'](_0x38a54e[_0xa9d7('0x2d')],_0x38a54e[_0xa9d7('0x2f')]);_0xefcb8c[_0xa9d7('0x32')]=_[_0xa9d7('0x31')](_0x38a54e[_0xa9d7('0x2d')],qs['fields'](_0x688590[_0xa9d7('0x2f')][_0xa9d7('0x33')]));_0xefcb8c['attributes']=_0xefcb8c[_0xa9d7('0x32')]['length']?_0xefcb8c[_0xa9d7('0x32')]:_0x38a54e[_0xa9d7('0x2d')];_0xefcb8c['order']=qs[_0xa9d7('0x37')](_0x688590[_0xa9d7('0x2f')][_0xa9d7('0x37')]);_0xefcb8c[_0xa9d7('0x3a')]=qs[_0xa9d7('0x38')](_[_0xa9d7('0x39')](_0x688590[_0xa9d7('0x2f')],_0x38a54e[_0xa9d7('0x38')]));if(_0x688590['query'][_0xa9d7('0x49')]){_0xefcb8c[_0xa9d7('0x3a')]=_[_0xa9d7('0x3b')](_0xefcb8c[_0xa9d7('0x3a')],{'$or':_[_0xa9d7('0x2e')](_0xefcb8c[_0xa9d7('0x32')],function(_0x41c6c3){var _0x1ac367={};_0x1ac367[_0x41c6c3]={'$like':'%'+_0x688590[_0xa9d7('0x2f')][_0xa9d7('0x49')]+'%'};return _0x1ac367;})});}_0xefcb8c=_['merge']({},_0xefcb8c,_0x688590[_0xa9d7('0x43')]);return _0x455f8f[_0xa9d7('0x4a')](_0xefcb8c);}})['then'](function(_0x4e88ee){if(_0x4e88ee){_0x41ae0b=_0x4e88ee['length'];if(!_0x688590[_0xa9d7('0x2f')][_0xa9d7('0x35')](_0xa9d7('0x36'))){_0xefcb8c[_0xa9d7('0x1c')]=qs[_0xa9d7('0x1c')](_0x688590[_0xa9d7('0x2f')][_0xa9d7('0x1c')]);_0xefcb8c['offset']=qs['offset'](_0x688590[_0xa9d7('0x2f')]['offset']);}return _0x455f8f[_0xa9d7('0x4a')](_0xefcb8c);}})[_0xa9d7('0x25')](function(_0x8794b7){if(_0x8794b7){return _0x8794b7?{'count':_0x41ae0b,'rows':_0x8794b7}:null;}})['then'](respondWithResult(_0x40858c,null))[_0xa9d7('0x3f')](handleError(_0x40858c,null));};exports[_0xa9d7('0x4b')]=function(_0x50f06f,_0x284b0d,_0xbce8be){var _0x5b4477={};var _0x57a430={};var _0x794f5e;var _0x2fa20b;return db['ZohoConfiguration'][_0xa9d7('0x4c')]({'where':{'id':_0x50f06f['params']['id']}})[_0xa9d7('0x25')](handleEntityNotFound(_0x284b0d,null))[_0xa9d7('0x25')](function(_0x239390){if(_0x239390){_0x794f5e=_0x239390;_0x57a430[_0xa9d7('0x2d')]=_[_0xa9d7('0x30')](db[_0xa9d7('0x48')][_0xa9d7('0x2a')]);_0x57a430[_0xa9d7('0x2f')]=_[_0xa9d7('0x30')](_0x50f06f['query']);_0x57a430[_0xa9d7('0x38')]=_['intersection'](_0x57a430['model'],_0x57a430[_0xa9d7('0x2f')]);_0x5b4477[_0xa9d7('0x32')]=_[_0xa9d7('0x31')](_0x57a430[_0xa9d7('0x2d')],qs[_0xa9d7('0x33')](_0x50f06f['query'][_0xa9d7('0x33')]));_0x5b4477[_0xa9d7('0x32')]=_0x5b4477['attributes'][_0xa9d7('0x34')]?_0x5b4477[_0xa9d7('0x32')]:_0x57a430[_0xa9d7('0x2d')];_0x5b4477[_0xa9d7('0x4d')]=qs[_0xa9d7('0x37')](_0x50f06f[_0xa9d7('0x2f')]['sort']);_0x5b4477[_0xa9d7('0x3a')]=qs['filters'](_['pick'](_0x50f06f[_0xa9d7('0x2f')],_0x57a430['filters']));if(_0x50f06f['query'][_0xa9d7('0x49')]){_0x5b4477[_0xa9d7('0x3a')]=_['merge'](_0x5b4477[_0xa9d7('0x3a')],{'$or':_['map'](_0x5b4477[_0xa9d7('0x32')],function(_0x5582bb){var _0x4d1533={};_0x4d1533[_0x5582bb]={'$like':'%'+_0x50f06f['query'][_0xa9d7('0x49')]+'%'};return _0x4d1533;})});}_0x5b4477=_['merge']({},_0x5b4477,_0x50f06f[_0xa9d7('0x43')]);return _0x794f5e[_0xa9d7('0x4b')](_0x5b4477);}})['then'](function(_0x151737){if(_0x151737){_0x2fa20b=_0x151737[_0xa9d7('0x34')];if(!_0x50f06f[_0xa9d7('0x2f')]['hasOwnProperty'](_0xa9d7('0x36'))){_0x5b4477[_0xa9d7('0x1c')]=qs[_0xa9d7('0x1c')](_0x50f06f['query']['limit']);_0x5b4477['offset']=qs['offset'](_0x50f06f['query'][_0xa9d7('0x1d')]);}return _0x794f5e[_0xa9d7('0x4b')](_0x5b4477);}})[_0xa9d7('0x25')](function(_0x48cd8a){if(_0x48cd8a){return _0x48cd8a?{'count':_0x2fa20b,'rows':_0x48cd8a}:null;}})[_0xa9d7('0x25')](respondWithResult(_0x284b0d,null))[_0xa9d7('0x3f')](handleError(_0x284b0d,null));};exports[_0xa9d7('0x4e')]=function(_0xe989df,_0x321dbb,_0x235d92){var _0x383b44={};var _0x219b07={};var _0x3df841;var _0x5a8390;return db[_0xa9d7('0x3c')][_0xa9d7('0x4c')]({'where':{'id':_0xe989df[_0xa9d7('0x41')]['id']}})[_0xa9d7('0x25')](handleEntityNotFound(_0x321dbb,null))[_0xa9d7('0x25')](function(_0x12e79f){if(_0x12e79f){_0x3df841=_0x12e79f;_0x219b07[_0xa9d7('0x2d')]=_[_0xa9d7('0x30')](db[_0xa9d7('0x48')][_0xa9d7('0x2a')]);_0x219b07[_0xa9d7('0x2f')]=_[_0xa9d7('0x30')](_0xe989df['query']);_0x219b07['filters']=_['intersection'](_0x219b07['model'],_0x219b07[_0xa9d7('0x2f')]);_0x383b44['attributes']=_[_0xa9d7('0x31')](_0x219b07[_0xa9d7('0x2d')],qs[_0xa9d7('0x33')](_0xe989df[_0xa9d7('0x2f')]['fields']));_0x383b44[_0xa9d7('0x32')]=_0x383b44[_0xa9d7('0x32')][_0xa9d7('0x34')]?_0x383b44[_0xa9d7('0x32')]:_0x219b07[_0xa9d7('0x2d')];_0x383b44[_0xa9d7('0x4d')]=qs[_0xa9d7('0x37')](_0xe989df[_0xa9d7('0x2f')]['sort']);_0x383b44[_0xa9d7('0x3a')]=qs['filters'](_[_0xa9d7('0x39')](_0xe989df[_0xa9d7('0x2f')],_0x219b07[_0xa9d7('0x38')]));if(_0xe989df[_0xa9d7('0x2f')]['filter']){_0x383b44[_0xa9d7('0x3a')]=_[_0xa9d7('0x3b')](_0x383b44[_0xa9d7('0x3a')],{'$or':_[_0xa9d7('0x2e')](_0x383b44[_0xa9d7('0x32')],function(_0x683fd8){var _0x195852={};_0x195852[_0x683fd8]={'$like':'%'+_0xe989df['query'][_0xa9d7('0x49')]+'%'};return _0x195852;})});}_0x383b44=_['merge']({},_0x383b44,_0xe989df[_0xa9d7('0x43')]);return _0x3df841[_0xa9d7('0x4e')](_0x383b44);}})['then'](function(_0x458924){if(_0x458924){_0x5a8390=_0x458924['length'];if(!_0xe989df[_0xa9d7('0x2f')]['hasOwnProperty'](_0xa9d7('0x36'))){_0x383b44[_0xa9d7('0x1c')]=qs[_0xa9d7('0x1c')](_0xe989df[_0xa9d7('0x2f')]['limit']);_0x383b44[_0xa9d7('0x1d')]=qs[_0xa9d7('0x1d')](_0xe989df[_0xa9d7('0x2f')][_0xa9d7('0x1d')]);}return _0x3df841[_0xa9d7('0x4e')](_0x383b44);}})[_0xa9d7('0x25')](function(_0x259b0b){if(_0x259b0b){return _0x259b0b?{'count':_0x5a8390,'rows':_0x259b0b}:null;}})['then'](respondWithResult(_0x321dbb,null))[_0xa9d7('0x3f')](handleError(_0x321dbb,null));};