c5c2310c881f666e652647c643d1a23374183c94
[motion2.git] / server / api / integrationReport / integrationReport.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 _0xfdc4=['../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','undefined','limit','count','offset','set','reject','save','update','then','destroy','name','index','IntegrationReport','rawAttributes','key','model','map','keys','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','type','VIRTUAL','filter','merge','options','includeAll','include','findAll','rows','catch','show','params','create','body','find','describe','eml-format','rimraf','fast-json-patch','request-promise','bluebird','mustache','path','sox','to-csv','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/logger','api','../../config/utils'];(function(_0x2c91e9,_0x2fb965){var _0x13f0ff=function(_0xb39edf){while(--_0xb39edf){_0x2c91e9['push'](_0x2c91e9['shift']());}};_0x13f0ff(++_0x2fb965);}(_0xfdc4,0x1f1));var _0x4fdc=function(_0x6e9961,_0x1d5310){_0x6e9961=_0x6e9961-0x0;var _0x1b7e2d=_0xfdc4[_0x6e9961];return _0x1b7e2d;};'use strict';var emlformat=require(_0x4fdc('0x0'));var rimraf=require(_0x4fdc('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x4fdc('0x2'));var rp=require(_0x4fdc('0x3'));var moment=require('moment');var BPromise=require(_0x4fdc('0x4'));var Mustache=require(_0x4fdc('0x5'));var util=require('util');var path=require(_0x4fdc('0x6'));var sox=require(_0x4fdc('0x7'));var csv=require(_0x4fdc('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x4fdc('0x9'));var squel=require('squel');var crypto=require(_0x4fdc('0xa'));var jsforce=require(_0x4fdc('0xb'));var deskjs=require(_0x4fdc('0xc'));var toCsv=require(_0x4fdc('0x8'));var querystring=require(_0x4fdc('0xd'));var Papa=require(_0x4fdc('0xe'));var Redis=require(_0x4fdc('0xf'));var authService=require(_0x4fdc('0x10'));var qs=require(_0x4fdc('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x4fdc('0x12'))(_0x4fdc('0x13'));var utils=require(_0x4fdc('0x14'));var config=require(_0x4fdc('0x15'));var licenseUtil=require(_0x4fdc('0x16'));var db=require(_0x4fdc('0x17'))['db'];function respondWithStatusCode(_0x113311,_0x5c50cd){_0x5c50cd=_0x5c50cd||0xcc;return function(_0xdf78b){if(_0xdf78b){return _0x113311[_0x4fdc('0x18')](_0x5c50cd);}return _0x113311[_0x4fdc('0x19')](_0x5c50cd)[_0x4fdc('0x1a')]();};}function respondWithResult(_0x163eb6,_0x358741){_0x358741=_0x358741||0xc8;return function(_0x1526f3){if(_0x1526f3){return _0x163eb6[_0x4fdc('0x19')](_0x358741)[_0x4fdc('0x1b')](_0x1526f3);}};}function respondWithFilteredResult(_0x2268b0,_0x54baf9){return function(_0x2fe380){if(_0x2fe380){var _0x1e9c48=typeof _0x54baf9['offset']===_0x4fdc('0x1c')&&typeof _0x54baf9[_0x4fdc('0x1d')]===_0x4fdc('0x1c');var _0x5cda58=_0x2fe380[_0x4fdc('0x1e')];var _0x138155=_0x1e9c48?0x0:_0x54baf9['offset'];var _0x10d4da=_0x1e9c48?_0x2fe380['count']:_0x54baf9[_0x4fdc('0x1f')]+_0x54baf9[_0x4fdc('0x1d')];var _0x333b94;if(_0x10d4da>=_0x5cda58){_0x10d4da=_0x5cda58;_0x333b94=0xc8;}else{_0x333b94=0xce;}_0x2268b0[_0x4fdc('0x19')](_0x333b94);return _0x2268b0[_0x4fdc('0x20')]('Content-Range',_0x138155+'-'+_0x10d4da+'/'+_0x5cda58)['json'](_0x2fe380);}return null;};}function patchUpdates(_0x422c3d){return function(_0xc3b0e2){try{jsonpatch['apply'](_0xc3b0e2,_0x422c3d,!![]);}catch(_0x4e7120){return BPromise[_0x4fdc('0x21')](_0x4e7120);}return _0xc3b0e2[_0x4fdc('0x22')]();};}function saveUpdates(_0x4a0332,_0xd31f19){return function(_0x36ed59){if(_0x36ed59){return _0x36ed59[_0x4fdc('0x23')](_0x4a0332)[_0x4fdc('0x24')](function(_0x1e8ea9){return _0x1e8ea9;});}return null;};}function removeEntity(_0x21644e,_0x13129d){return function(_0x18c130){if(_0x18c130){return _0x18c130[_0x4fdc('0x25')]()[_0x4fdc('0x24')](function(){_0x21644e[_0x4fdc('0x19')](0xcc)[_0x4fdc('0x1a')]();});}};}function handleEntityNotFound(_0x1a46db,_0x1a76e2){return function(_0x5a4b35){if(!_0x5a4b35){_0x1a46db[_0x4fdc('0x18')](0x194);}return _0x5a4b35;};}function handleError(_0x308c20,_0xa55854){_0xa55854=_0xa55854||0x1f4;return function(_0x18d6ca){logger['error'](_0x18d6ca['stack']);if(_0x18d6ca['name']){delete _0x18d6ca[_0x4fdc('0x26')];}_0x308c20[_0x4fdc('0x19')](_0xa55854)['send'](_0x18d6ca);};}exports[_0x4fdc('0x27')]=function(_0x1975fb,_0x1dbdd2){var _0x5f41dd={},_0x369548={},_0x3984f8={'count':0x0,'rows':[]};var _0x3252b5=_['map'](db[_0x4fdc('0x28')][_0x4fdc('0x29')],function(_0x395b74){return{'name':_0x395b74['fieldName'],'type':_0x395b74['type'][_0x4fdc('0x2a')]};});_0x369548[_0x4fdc('0x2b')]=_[_0x4fdc('0x2c')](_0x3252b5,'name');_0x369548['query']=_[_0x4fdc('0x2d')](_0x1975fb[_0x4fdc('0x2e')]);_0x369548[_0x4fdc('0x2f')]=_[_0x4fdc('0x30')](_0x369548[_0x4fdc('0x2b')],_0x369548[_0x4fdc('0x2e')]);_0x5f41dd[_0x4fdc('0x31')]=_[_0x4fdc('0x30')](_0x369548[_0x4fdc('0x2b')],qs['fields'](_0x1975fb[_0x4fdc('0x2e')][_0x4fdc('0x32')]));_0x5f41dd[_0x4fdc('0x31')]=_0x5f41dd[_0x4fdc('0x31')][_0x4fdc('0x33')]?_0x5f41dd[_0x4fdc('0x31')]:_0x369548[_0x4fdc('0x2b')];if(!_0x1975fb[_0x4fdc('0x2e')][_0x4fdc('0x34')](_0x4fdc('0x35'))){_0x5f41dd['limit']=qs['limit'](_0x1975fb[_0x4fdc('0x2e')][_0x4fdc('0x1d')]);_0x5f41dd[_0x4fdc('0x1f')]=qs[_0x4fdc('0x1f')](_0x1975fb['query']['offset']);}_0x5f41dd[_0x4fdc('0x36')]=qs[_0x4fdc('0x37')](_0x1975fb[_0x4fdc('0x2e')][_0x4fdc('0x37')]);_0x5f41dd[_0x4fdc('0x38')]=qs[_0x4fdc('0x2f')](_[_0x4fdc('0x39')](_0x1975fb['query'],_0x369548[_0x4fdc('0x2f')]),_0x3252b5);if(_0x1975fb[_0x4fdc('0x2e')]['filter']){_0x5f41dd[_0x4fdc('0x38')]=_['merge'](_0x5f41dd[_0x4fdc('0x38')],{'$or':_[_0x4fdc('0x2c')](_0x3252b5,function(_0x214b0e){if(_0x214b0e[_0x4fdc('0x3a')]!==_0x4fdc('0x3b')){var _0x4b9d8e={};_0x4b9d8e[_0x214b0e[_0x4fdc('0x26')]]={'$like':'%'+_0x1975fb[_0x4fdc('0x2e')][_0x4fdc('0x3c')]+'%'};return _0x4b9d8e;}})});}_0x5f41dd=_[_0x4fdc('0x3d')]({},_0x5f41dd,_0x1975fb[_0x4fdc('0x3e')]);var _0x2e0ef7={'where':_0x5f41dd[_0x4fdc('0x38')]};return db[_0x4fdc('0x28')][_0x4fdc('0x1e')](_0x2e0ef7)[_0x4fdc('0x24')](function(_0x5a3db5){_0x3984f8[_0x4fdc('0x1e')]=_0x5a3db5;if(_0x1975fb[_0x4fdc('0x2e')][_0x4fdc('0x3f')]){_0x5f41dd[_0x4fdc('0x40')]=[{'all':!![]}];}return db[_0x4fdc('0x28')][_0x4fdc('0x41')](_0x5f41dd);})[_0x4fdc('0x24')](function(_0x748f27){_0x3984f8[_0x4fdc('0x42')]=_0x748f27;return _0x3984f8;})[_0x4fdc('0x24')](respondWithFilteredResult(_0x1dbdd2,_0x5f41dd))[_0x4fdc('0x43')](handleError(_0x1dbdd2,null));};exports[_0x4fdc('0x44')]=function(_0x5b895d,_0x3512c1){var _0x47e69e={'raw':![],'where':{'id':_0x5b895d[_0x4fdc('0x45')]['id']}},_0x2bb5a0={};_0x2bb5a0[_0x4fdc('0x2b')]=_[_0x4fdc('0x2d')](db['IntegrationReport'][_0x4fdc('0x29')]);_0x2bb5a0['query']=_[_0x4fdc('0x2d')](_0x5b895d[_0x4fdc('0x2e')]);_0x2bb5a0['filters']=_[_0x4fdc('0x30')](_0x2bb5a0[_0x4fdc('0x2b')],_0x2bb5a0[_0x4fdc('0x2e')]);_0x47e69e[_0x4fdc('0x31')]=_[_0x4fdc('0x30')](_0x2bb5a0[_0x4fdc('0x2b')],qs['fields'](_0x5b895d['query'][_0x4fdc('0x32')]));_0x47e69e['attributes']=_0x47e69e[_0x4fdc('0x31')][_0x4fdc('0x33')]?_0x47e69e[_0x4fdc('0x31')]:_0x2bb5a0['model'];if(_0x5b895d[_0x4fdc('0x2e')][_0x4fdc('0x3f')]){_0x47e69e['include']=[{'all':!![]}];}_0x47e69e=_[_0x4fdc('0x3d')]({},_0x47e69e,_0x5b895d[_0x4fdc('0x3e')]);return db['IntegrationReport']['find'](_0x47e69e)['then'](handleEntityNotFound(_0x3512c1,null))[_0x4fdc('0x24')](respondWithResult(_0x3512c1,null))[_0x4fdc('0x43')](handleError(_0x3512c1,null));};exports[_0x4fdc('0x46')]=function(_0x2a3f16,_0x37e783){return db[_0x4fdc('0x28')][_0x4fdc('0x46')](_0x2a3f16[_0x4fdc('0x47')],{})[_0x4fdc('0x24')](respondWithResult(_0x37e783,0xc9))[_0x4fdc('0x43')](handleError(_0x37e783,null));};exports['update']=function(_0x721c1b,_0x418b45){if(_0x721c1b[_0x4fdc('0x47')]['id']){delete _0x721c1b[_0x4fdc('0x47')]['id'];}return db[_0x4fdc('0x28')][_0x4fdc('0x48')]({'where':{'id':_0x721c1b[_0x4fdc('0x45')]['id']}})['then'](handleEntityNotFound(_0x418b45,null))[_0x4fdc('0x24')](saveUpdates(_0x721c1b[_0x4fdc('0x47')],null))[_0x4fdc('0x24')](respondWithResult(_0x418b45,null))[_0x4fdc('0x43')](handleError(_0x418b45,null));};exports[_0x4fdc('0x25')]=function(_0x1a50c2,_0x50bdf2){return db[_0x4fdc('0x28')][_0x4fdc('0x48')]({'where':{'id':_0x1a50c2['params']['id']}})['then'](handleEntityNotFound(_0x50bdf2,null))[_0x4fdc('0x24')](removeEntity(_0x50bdf2,null))[_0x4fdc('0x43')](handleError(_0x50bdf2,null));};exports[_0x4fdc('0x49')]=function(_0x5d2fff,_0xabd5d5){return db['IntegrationReport'][_0x4fdc('0x49')]()['then'](respondWithResult(_0xabd5d5,null))[_0x4fdc('0x43')](handleError(_0xabd5d5,null));};