Built motion from commit b5413ace.|2.6.9
[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 _0x7af3=['../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','status','end','undefined','limit','count','offset','set','Content-Range','apply','reject','save','update','then','destroy','stack','name','send','index','map','ZohoConfiguration','rawAttributes','key','model','keys','query','filters','intersection','attributes','length','hasOwnProperty','order','sort','pick','where','merge','type','VIRTUAL','filter','options','includeAll','include','findAll','catch','show','params','fields','find','create','body','getFields','findOne','ZohoField','nolimit','getSubjects','getDescriptions','eml-format','rimraf','zip-dir','moment','bluebird','mustache','path','sox','squel','crypto','jsforce','desk.js','querystring','ioredis'];(function(_0xc87146,_0x53be10){var _0x45adff=function(_0x545170){while(--_0x545170){_0xc87146['push'](_0xc87146['shift']());}};_0x45adff(++_0x53be10);}(_0x7af3,0x126));var _0x37af=function(_0x3ab51d,_0x2fa01d){_0x3ab51d=_0x3ab51d-0x0;var _0x29a04e=_0x7af3[_0x3ab51d];return _0x29a04e;};'use strict';var emlformat=require(_0x37af('0x0'));var rimraf=require(_0x37af('0x1'));var zipdir=require(_0x37af('0x2'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x37af('0x3'));var BPromise=require(_0x37af('0x4'));var Mustache=require(_0x37af('0x5'));var util=require('util');var path=require(_0x37af('0x6'));var sox=require(_0x37af('0x7'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0x37af('0x8'));var crypto=require(_0x37af('0x9'));var jsforce=require(_0x37af('0xa'));var deskjs=require(_0x37af('0xb'));var toCsv=require('to-csv');var querystring=require(_0x37af('0xc'));var Papa=require('papaparse');var Redis=require(_0x37af('0xd'));var authService=require(_0x37af('0xe'));var qs=require(_0x37af('0xf'));var as=require(_0x37af('0x10'));var hardwareService=require(_0x37af('0x11'));var logger=require(_0x37af('0x12'))(_0x37af('0x13'));var utils=require(_0x37af('0x14'));var config=require(_0x37af('0x15'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x35c020,_0x7c701){_0x7c701=_0x7c701||0xcc;return function(_0x2f80d2){if(_0x2f80d2){return _0x35c020['sendStatus'](_0x7c701);}return _0x35c020[_0x37af('0x16')](_0x7c701)[_0x37af('0x17')]();};}function respondWithResult(_0x419ad1,_0x5ec378){_0x5ec378=_0x5ec378||0xc8;return function(_0x55b528){if(_0x55b528){return _0x419ad1[_0x37af('0x16')](_0x5ec378)['json'](_0x55b528);}};}function respondWithFilteredResult(_0x49d899,_0x2318ec){return function(_0x306e32){if(_0x306e32){var _0x4b36a3=typeof _0x2318ec['offset']===_0x37af('0x18')&&typeof _0x2318ec[_0x37af('0x19')]===_0x37af('0x18');var _0x3deab1=_0x306e32[_0x37af('0x1a')];var _0x37a8fb=_0x4b36a3?0x0:_0x2318ec[_0x37af('0x1b')];var _0x529e0d=_0x4b36a3?_0x306e32[_0x37af('0x1a')]:_0x2318ec[_0x37af('0x1b')]+_0x2318ec[_0x37af('0x19')];var _0x2d387d;if(_0x529e0d>=_0x3deab1){_0x529e0d=_0x3deab1;_0x2d387d=0xc8;}else{_0x2d387d=0xce;}_0x49d899[_0x37af('0x16')](_0x2d387d);return _0x49d899[_0x37af('0x1c')](_0x37af('0x1d'),_0x37a8fb+'-'+_0x529e0d+'/'+_0x3deab1)['json'](_0x306e32);}return null;};}function patchUpdates(_0x573dda){return function(_0x35b3fc){try{jsonpatch[_0x37af('0x1e')](_0x35b3fc,_0x573dda,!![]);}catch(_0x327342){return BPromise[_0x37af('0x1f')](_0x327342);}return _0x35b3fc[_0x37af('0x20')]();};}function saveUpdates(_0x4dfdfe,_0x4d0457){return function(_0x327e0c){if(_0x327e0c){return _0x327e0c[_0x37af('0x21')](_0x4dfdfe)[_0x37af('0x22')](function(_0x446ee7){return _0x446ee7;});}return null;};}function removeEntity(_0xff8cf0,_0x5cd34c){return function(_0x1eb594){if(_0x1eb594){return _0x1eb594[_0x37af('0x23')]()[_0x37af('0x22')](function(){_0xff8cf0[_0x37af('0x16')](0xcc)[_0x37af('0x17')]();});}};}function handleEntityNotFound(_0x5f574c,_0x258079){return function(_0xa00fc0){if(!_0xa00fc0){_0x5f574c['sendStatus'](0x194);}return _0xa00fc0;};}function handleError(_0x139278,_0x54cdba){_0x54cdba=_0x54cdba||0x1f4;return function(_0x2b6edb){logger['error'](_0x2b6edb[_0x37af('0x24')]);if(_0x2b6edb[_0x37af('0x25')]){delete _0x2b6edb[_0x37af('0x25')];}_0x139278['status'](_0x54cdba)[_0x37af('0x26')](_0x2b6edb);};}exports[_0x37af('0x27')]=function(_0x5525f0,_0x1193fe){var _0x2db21a={},_0x934ab9={},_0x38a906={'count':0x0,'rows':[]};var _0x20e997=_[_0x37af('0x28')](db[_0x37af('0x29')][_0x37af('0x2a')],function(_0x2062ee){return{'name':_0x2062ee['fieldName'],'type':_0x2062ee['type'][_0x37af('0x2b')]};});_0x934ab9[_0x37af('0x2c')]=_[_0x37af('0x28')](_0x20e997,'name');_0x934ab9['query']=_[_0x37af('0x2d')](_0x5525f0[_0x37af('0x2e')]);_0x934ab9[_0x37af('0x2f')]=_[_0x37af('0x30')](_0x934ab9[_0x37af('0x2c')],_0x934ab9[_0x37af('0x2e')]);_0x2db21a['attributes']=_[_0x37af('0x30')](_0x934ab9[_0x37af('0x2c')],qs['fields'](_0x5525f0['query']['fields']));_0x2db21a[_0x37af('0x31')]=_0x2db21a['attributes'][_0x37af('0x32')]?_0x2db21a[_0x37af('0x31')]:_0x934ab9['model'];if(!_0x5525f0[_0x37af('0x2e')][_0x37af('0x33')]('nolimit')){_0x2db21a[_0x37af('0x19')]=qs[_0x37af('0x19')](_0x5525f0['query'][_0x37af('0x19')]);_0x2db21a['offset']=qs['offset'](_0x5525f0['query'][_0x37af('0x1b')]);}_0x2db21a[_0x37af('0x34')]=qs[_0x37af('0x35')](_0x5525f0[_0x37af('0x2e')][_0x37af('0x35')]);_0x2db21a['where']=qs[_0x37af('0x2f')](_[_0x37af('0x36')](_0x5525f0['query'],_0x934ab9[_0x37af('0x2f')]),_0x20e997);if(_0x5525f0[_0x37af('0x2e')]['filter']){_0x2db21a[_0x37af('0x37')]=_[_0x37af('0x38')](_0x2db21a[_0x37af('0x37')],{'$or':_[_0x37af('0x28')](_0x20e997,function(_0x35a7fb){if(_0x35a7fb[_0x37af('0x39')]!==_0x37af('0x3a')){var _0x27661c={};_0x27661c[_0x35a7fb[_0x37af('0x25')]]={'$like':'%'+_0x5525f0['query'][_0x37af('0x3b')]+'%'};return _0x27661c;}})});}_0x2db21a=_[_0x37af('0x38')]({},_0x2db21a,_0x5525f0[_0x37af('0x3c')]);var _0x1e4372={'where':_0x2db21a['where']};return db[_0x37af('0x29')][_0x37af('0x1a')](_0x1e4372)[_0x37af('0x22')](function(_0x25c121){_0x38a906[_0x37af('0x1a')]=_0x25c121;if(_0x5525f0[_0x37af('0x2e')][_0x37af('0x3d')]){_0x2db21a[_0x37af('0x3e')]=[{'all':!![]}];}return db[_0x37af('0x29')][_0x37af('0x3f')](_0x2db21a);})[_0x37af('0x22')](function(_0x11b016){_0x38a906['rows']=_0x11b016;return _0x38a906;})[_0x37af('0x22')](respondWithFilteredResult(_0x1193fe,_0x2db21a))[_0x37af('0x40')](handleError(_0x1193fe,null));};exports[_0x37af('0x41')]=function(_0x284da4,_0xd7de38){var _0x115391={'raw':![],'where':{'id':_0x284da4[_0x37af('0x42')]['id']}},_0x5120a2={};_0x5120a2['model']=_[_0x37af('0x2d')](db[_0x37af('0x29')][_0x37af('0x2a')]);_0x5120a2[_0x37af('0x2e')]=_[_0x37af('0x2d')](_0x284da4[_0x37af('0x2e')]);_0x5120a2[_0x37af('0x2f')]=_['intersection'](_0x5120a2[_0x37af('0x2c')],_0x5120a2[_0x37af('0x2e')]);_0x115391['attributes']=_[_0x37af('0x30')](_0x5120a2[_0x37af('0x2c')],qs[_0x37af('0x43')](_0x284da4[_0x37af('0x2e')][_0x37af('0x43')]));_0x115391[_0x37af('0x31')]=_0x115391[_0x37af('0x31')]['length']?_0x115391[_0x37af('0x31')]:_0x5120a2[_0x37af('0x2c')];if(_0x284da4['query'][_0x37af('0x3d')]){_0x115391[_0x37af('0x3e')]=[{'all':!![]}];}_0x115391=_['merge']({},_0x115391,_0x284da4[_0x37af('0x3c')]);return db[_0x37af('0x29')][_0x37af('0x44')](_0x115391)[_0x37af('0x22')](handleEntityNotFound(_0xd7de38,null))[_0x37af('0x22')](respondWithResult(_0xd7de38,null))[_0x37af('0x40')](handleError(_0xd7de38,null));};exports[_0x37af('0x45')]=function(_0x201955,_0x289e7b){return db[_0x37af('0x29')][_0x37af('0x45')](_0x201955[_0x37af('0x46')],{})[_0x37af('0x22')](respondWithResult(_0x289e7b,0xc9))['catch'](handleError(_0x289e7b,null));};exports[_0x37af('0x21')]=function(_0x3666ae,_0x49348e){if(_0x3666ae[_0x37af('0x46')]['id']){delete _0x3666ae['body']['id'];}return db['ZohoConfiguration'][_0x37af('0x44')]({'where':{'id':_0x3666ae['params']['id']}})['then'](handleEntityNotFound(_0x49348e,null))[_0x37af('0x22')](saveUpdates(_0x3666ae[_0x37af('0x46')],null))[_0x37af('0x22')](respondWithResult(_0x49348e,null))[_0x37af('0x40')](handleError(_0x49348e,null));};exports[_0x37af('0x23')]=function(_0x230e79,_0x47f50e){return db[_0x37af('0x29')][_0x37af('0x44')]({'where':{'id':_0x230e79['params']['id']}})[_0x37af('0x22')](handleEntityNotFound(_0x47f50e,null))[_0x37af('0x22')](removeEntity(_0x47f50e,null))[_0x37af('0x40')](handleError(_0x47f50e,null));};exports[_0x37af('0x47')]=function(_0x2a3db9,_0x54facd,_0x100e8d){var _0x185115={};var _0x5262cb={};var _0x463d06;var _0x1c9041;return db[_0x37af('0x29')][_0x37af('0x48')]({'where':{'id':_0x2a3db9[_0x37af('0x42')]['id']}})[_0x37af('0x22')](handleEntityNotFound(_0x54facd,null))[_0x37af('0x22')](function(_0x1eb787){if(_0x1eb787){_0x463d06=_0x1eb787;_0x5262cb['model']=_[_0x37af('0x2d')](db[_0x37af('0x49')][_0x37af('0x2a')]);_0x5262cb[_0x37af('0x2e')]=_[_0x37af('0x2d')](_0x2a3db9[_0x37af('0x2e')]);_0x5262cb['filters']=_[_0x37af('0x30')](_0x5262cb[_0x37af('0x2c')],_0x5262cb[_0x37af('0x2e')]);_0x185115[_0x37af('0x31')]=_['intersection'](_0x5262cb[_0x37af('0x2c')],qs[_0x37af('0x43')](_0x2a3db9['query']['fields']));_0x185115[_0x37af('0x31')]=_0x185115[_0x37af('0x31')][_0x37af('0x32')]?_0x185115[_0x37af('0x31')]:_0x5262cb[_0x37af('0x2c')];_0x185115['order']=qs[_0x37af('0x35')](_0x2a3db9[_0x37af('0x2e')]['sort']);_0x185115[_0x37af('0x37')]=qs[_0x37af('0x2f')](_['pick'](_0x2a3db9[_0x37af('0x2e')],_0x5262cb[_0x37af('0x2f')]));if(_0x2a3db9[_0x37af('0x2e')][_0x37af('0x3b')]){_0x185115[_0x37af('0x37')]=_[_0x37af('0x38')](_0x185115[_0x37af('0x37')],{'$or':_['map'](_0x185115[_0x37af('0x31')],function(_0x32554c){var _0x2b38db={};_0x2b38db[_0x32554c]={'$like':'%'+_0x2a3db9[_0x37af('0x2e')][_0x37af('0x3b')]+'%'};return _0x2b38db;})});}_0x185115=_[_0x37af('0x38')]({},_0x185115,_0x2a3db9[_0x37af('0x3c')]);return _0x463d06[_0x37af('0x47')](_0x185115);}})[_0x37af('0x22')](function(_0x380d7a){if(_0x380d7a){_0x1c9041=_0x380d7a[_0x37af('0x32')];if(!_0x2a3db9[_0x37af('0x2e')][_0x37af('0x33')](_0x37af('0x4a'))){_0x185115[_0x37af('0x19')]=qs[_0x37af('0x19')](_0x2a3db9['query'][_0x37af('0x19')]);_0x185115['offset']=qs['offset'](_0x2a3db9['query'][_0x37af('0x1b')]);}return _0x463d06[_0x37af('0x47')](_0x185115);}})[_0x37af('0x22')](function(_0x40f5f6){if(_0x40f5f6){return _0x40f5f6?{'count':_0x1c9041,'rows':_0x40f5f6}:null;}})[_0x37af('0x22')](respondWithResult(_0x54facd,null))[_0x37af('0x40')](handleError(_0x54facd,null));};exports[_0x37af('0x4b')]=function(_0xfdb793,_0x222011,_0xcda89b){var _0x1c432a={};var _0x2f911e={};var _0x4ab1cf;var _0x45d564;return db[_0x37af('0x29')]['findOne']({'where':{'id':_0xfdb793[_0x37af('0x42')]['id']}})[_0x37af('0x22')](handleEntityNotFound(_0x222011,null))['then'](function(_0x1eb169){if(_0x1eb169){_0x4ab1cf=_0x1eb169;_0x2f911e[_0x37af('0x2c')]=_[_0x37af('0x2d')](db[_0x37af('0x49')][_0x37af('0x2a')]);_0x2f911e[_0x37af('0x2e')]=_[_0x37af('0x2d')](_0xfdb793[_0x37af('0x2e')]);_0x2f911e['filters']=_['intersection'](_0x2f911e['model'],_0x2f911e['query']);_0x1c432a['attributes']=_['intersection'](_0x2f911e[_0x37af('0x2c')],qs[_0x37af('0x43')](_0xfdb793[_0x37af('0x2e')][_0x37af('0x43')]));_0x1c432a[_0x37af('0x31')]=_0x1c432a[_0x37af('0x31')][_0x37af('0x32')]?_0x1c432a[_0x37af('0x31')]:_0x2f911e['model'];_0x1c432a['order']=qs[_0x37af('0x35')](_0xfdb793[_0x37af('0x2e')]['sort']);_0x1c432a[_0x37af('0x37')]=qs[_0x37af('0x2f')](_[_0x37af('0x36')](_0xfdb793[_0x37af('0x2e')],_0x2f911e[_0x37af('0x2f')]));if(_0xfdb793[_0x37af('0x2e')][_0x37af('0x3b')]){_0x1c432a[_0x37af('0x37')]=_[_0x37af('0x38')](_0x1c432a['where'],{'$or':_[_0x37af('0x28')](_0x1c432a[_0x37af('0x31')],function(_0x3249b8){var _0x301984={};_0x301984[_0x3249b8]={'$like':'%'+_0xfdb793[_0x37af('0x2e')]['filter']+'%'};return _0x301984;})});}_0x1c432a=_['merge']({},_0x1c432a,_0xfdb793[_0x37af('0x3c')]);return _0x4ab1cf[_0x37af('0x4b')](_0x1c432a);}})[_0x37af('0x22')](function(_0x2595cf){if(_0x2595cf){_0x45d564=_0x2595cf[_0x37af('0x32')];if(!_0xfdb793['query']['hasOwnProperty'](_0x37af('0x4a'))){_0x1c432a[_0x37af('0x19')]=qs[_0x37af('0x19')](_0xfdb793[_0x37af('0x2e')][_0x37af('0x19')]);_0x1c432a[_0x37af('0x1b')]=qs[_0x37af('0x1b')](_0xfdb793[_0x37af('0x2e')][_0x37af('0x1b')]);}return _0x4ab1cf['getSubjects'](_0x1c432a);}})[_0x37af('0x22')](function(_0x100b04){if(_0x100b04){return _0x100b04?{'count':_0x45d564,'rows':_0x100b04}:null;}})[_0x37af('0x22')](respondWithResult(_0x222011,null))[_0x37af('0x40')](handleError(_0x222011,null));};exports[_0x37af('0x4c')]=function(_0xae251c,_0x40026f,_0x30f3d5){var _0x33da7e={};var _0x3d58d9={};var _0x55d82e;var _0x4a4720;return db[_0x37af('0x29')][_0x37af('0x48')]({'where':{'id':_0xae251c[_0x37af('0x42')]['id']}})['then'](handleEntityNotFound(_0x40026f,null))[_0x37af('0x22')](function(_0x428195){if(_0x428195){_0x55d82e=_0x428195;_0x3d58d9[_0x37af('0x2c')]=_[_0x37af('0x2d')](db[_0x37af('0x49')]['rawAttributes']);_0x3d58d9[_0x37af('0x2e')]=_[_0x37af('0x2d')](_0xae251c[_0x37af('0x2e')]);_0x3d58d9[_0x37af('0x2f')]=_['intersection'](_0x3d58d9[_0x37af('0x2c')],_0x3d58d9[_0x37af('0x2e')]);_0x33da7e['attributes']=_[_0x37af('0x30')](_0x3d58d9[_0x37af('0x2c')],qs[_0x37af('0x43')](_0xae251c[_0x37af('0x2e')][_0x37af('0x43')]));_0x33da7e[_0x37af('0x31')]=_0x33da7e[_0x37af('0x31')]['length']?_0x33da7e[_0x37af('0x31')]:_0x3d58d9['model'];_0x33da7e[_0x37af('0x34')]=qs[_0x37af('0x35')](_0xae251c['query']['sort']);_0x33da7e['where']=qs[_0x37af('0x2f')](_[_0x37af('0x36')](_0xae251c[_0x37af('0x2e')],_0x3d58d9[_0x37af('0x2f')]));if(_0xae251c['query'][_0x37af('0x3b')]){_0x33da7e[_0x37af('0x37')]=_[_0x37af('0x38')](_0x33da7e['where'],{'$or':_[_0x37af('0x28')](_0x33da7e[_0x37af('0x31')],function(_0x1e3353){var _0x15c443={};_0x15c443[_0x1e3353]={'$like':'%'+_0xae251c[_0x37af('0x2e')][_0x37af('0x3b')]+'%'};return _0x15c443;})});}_0x33da7e=_[_0x37af('0x38')]({},_0x33da7e,_0xae251c[_0x37af('0x3c')]);return _0x55d82e[_0x37af('0x4c')](_0x33da7e);}})[_0x37af('0x22')](function(_0x4f4e0d){if(_0x4f4e0d){_0x4a4720=_0x4f4e0d[_0x37af('0x32')];if(!_0xae251c[_0x37af('0x2e')][_0x37af('0x33')](_0x37af('0x4a'))){_0x33da7e[_0x37af('0x19')]=qs[_0x37af('0x19')](_0xae251c[_0x37af('0x2e')][_0x37af('0x19')]);_0x33da7e[_0x37af('0x1b')]=qs[_0x37af('0x1b')](_0xae251c[_0x37af('0x2e')]['offset']);}return _0x55d82e[_0x37af('0x4c')](_0x33da7e);}})['then'](function(_0xed20a4){if(_0xed20a4){return _0xed20a4?{'count':_0x4a4720,'rows':_0xed20a4}:null;}})['then'](respondWithResult(_0x40026f,null))[_0x37af('0x40')](handleError(_0x40026f,null));};