Built motion from commit 6a92c2cd.|2.6.29
[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 _0xc4bc=['desk.js','to-csv','querystring','papaparse','ioredis','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','destroy','then','stack','name','send','IntegrationReport','rawAttributes','fieldName','type','key','model','map','query','keys','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','filters','filter','merge','VIRTUAL','include','findAll','rows','catch','show','params','includeAll','options','find','create','body','update','describe','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','ejs','fs-extra','lodash','squel','jsforce'];(function(_0x15b758,_0x5dec3a){var _0x59429c=function(_0x298443){while(--_0x298443){_0x15b758['push'](_0x15b758['shift']());}};_0x59429c(++_0x5dec3a);}(_0xc4bc,0x8a));var _0xcc4b=function(_0x3f2f03,_0x288d96){_0x3f2f03=_0x3f2f03-0x0;var _0x219656=_0xc4bc[_0x3f2f03];return _0x219656;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0xcc4b('0x0'));var jsonpatch=require(_0xcc4b('0x1'));var rp=require('request-promise');var moment=require(_0xcc4b('0x2'));var BPromise=require(_0xcc4b('0x3'));var Mustache=require(_0xcc4b('0x4'));var util=require(_0xcc4b('0x5'));var path=require(_0xcc4b('0x6'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0xcc4b('0x7'));var fs=require('fs');var fs_extra=require(_0xcc4b('0x8'));var _=require(_0xcc4b('0x9'));var squel=require(_0xcc4b('0xa'));var crypto=require('crypto');var jsforce=require(_0xcc4b('0xb'));var deskjs=require(_0xcc4b('0xc'));var toCsv=require(_0xcc4b('0xd'));var querystring=require(_0xcc4b('0xe'));var Papa=require(_0xcc4b('0xf'));var Redis=require(_0xcc4b('0x10'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xcc4b('0x11'));var logger=require(_0xcc4b('0x12'))('api');var utils=require(_0xcc4b('0x13'));var config=require(_0xcc4b('0x14'));var licenseUtil=require('../../config/license/util');var db=require(_0xcc4b('0x15'))['db'];function respondWithStatusCode(_0x2db1fd,_0x37e94f){_0x37e94f=_0x37e94f||0xcc;return function(_0x742ea){if(_0x742ea){return _0x2db1fd[_0xcc4b('0x16')](_0x37e94f);}return _0x2db1fd[_0xcc4b('0x17')](_0x37e94f)[_0xcc4b('0x18')]();};}function respondWithResult(_0x21f8f4,_0x45ad86){_0x45ad86=_0x45ad86||0xc8;return function(_0x5d11d8){if(_0x5d11d8){return _0x21f8f4['status'](_0x45ad86)[_0xcc4b('0x19')](_0x5d11d8);}};}function respondWithFilteredResult(_0x4a09c1,_0x5613e9){return function(_0x5a7cd6){if(_0x5a7cd6){var _0xdaf145=typeof _0x5613e9[_0xcc4b('0x1a')]===_0xcc4b('0x1b')&&typeof _0x5613e9[_0xcc4b('0x1c')]===_0xcc4b('0x1b');var _0x205708=_0x5a7cd6['count'];var _0x5e33a3=_0xdaf145?0x0:_0x5613e9[_0xcc4b('0x1a')];var _0x3ed618=_0xdaf145?_0x5a7cd6[_0xcc4b('0x1d')]:_0x5613e9['offset']+_0x5613e9[_0xcc4b('0x1c')];var _0x49543c;if(_0x3ed618>=_0x205708){_0x3ed618=_0x205708;_0x49543c=0xc8;}else{_0x49543c=0xce;}_0x4a09c1[_0xcc4b('0x17')](_0x49543c);return _0x4a09c1[_0xcc4b('0x1e')](_0xcc4b('0x1f'),_0x5e33a3+'-'+_0x3ed618+'/'+_0x205708)[_0xcc4b('0x19')](_0x5a7cd6);}return null;};}function patchUpdates(_0x1a4e29){return function(_0x188924){try{jsonpatch[_0xcc4b('0x20')](_0x188924,_0x1a4e29,!![]);}catch(_0x5e2868){return BPromise[_0xcc4b('0x21')](_0x5e2868);}return _0x188924[_0xcc4b('0x22')]();};}function saveUpdates(_0x28dfd6,_0x104769){return function(_0x49c05f){if(_0x49c05f){return _0x49c05f['update'](_0x28dfd6)['then'](function(_0x5dd35e){return _0x5dd35e;});}return null;};}function removeEntity(_0x194ee2,_0x2afb01){return function(_0x3e6cdd){if(_0x3e6cdd){return _0x3e6cdd[_0xcc4b('0x23')]()[_0xcc4b('0x24')](function(){_0x194ee2['status'](0xcc)[_0xcc4b('0x18')]();});}};}function handleEntityNotFound(_0x5ea2b5,_0x4de9a3){return function(_0x349d17){if(!_0x349d17){_0x5ea2b5[_0xcc4b('0x16')](0x194);}return _0x349d17;};}function handleError(_0x365706,_0xd099a7){_0xd099a7=_0xd099a7||0x1f4;return function(_0x455676){logger['error'](_0x455676[_0xcc4b('0x25')]);if(_0x455676[_0xcc4b('0x26')]){delete _0x455676[_0xcc4b('0x26')];}_0x365706[_0xcc4b('0x17')](_0xd099a7)[_0xcc4b('0x27')](_0x455676);};}exports['index']=function(_0x5c4605,_0x16dd58){var _0x3ed250={},_0x423a53={},_0x382215={'count':0x0,'rows':[]};var _0x2e0a74=_['map'](db[_0xcc4b('0x28')][_0xcc4b('0x29')],function(_0x1e134a){return{'name':_0x1e134a[_0xcc4b('0x2a')],'type':_0x1e134a[_0xcc4b('0x2b')][_0xcc4b('0x2c')]};});_0x423a53[_0xcc4b('0x2d')]=_[_0xcc4b('0x2e')](_0x2e0a74,_0xcc4b('0x26'));_0x423a53[_0xcc4b('0x2f')]=_[_0xcc4b('0x30')](_0x5c4605[_0xcc4b('0x2f')]);_0x423a53['filters']=_[_0xcc4b('0x31')](_0x423a53[_0xcc4b('0x2d')],_0x423a53[_0xcc4b('0x2f')]);_0x3ed250['attributes']=_[_0xcc4b('0x31')](_0x423a53[_0xcc4b('0x2d')],qs[_0xcc4b('0x32')](_0x5c4605[_0xcc4b('0x2f')]['fields']));_0x3ed250['attributes']=_0x3ed250[_0xcc4b('0x33')][_0xcc4b('0x34')]?_0x3ed250[_0xcc4b('0x33')]:_0x423a53[_0xcc4b('0x2d')];if(!_0x5c4605[_0xcc4b('0x2f')][_0xcc4b('0x35')](_0xcc4b('0x36'))){_0x3ed250['limit']=qs['limit'](_0x5c4605['query'][_0xcc4b('0x1c')]);_0x3ed250['offset']=qs[_0xcc4b('0x1a')](_0x5c4605[_0xcc4b('0x2f')][_0xcc4b('0x1a')]);}_0x3ed250[_0xcc4b('0x37')]=qs[_0xcc4b('0x38')](_0x5c4605[_0xcc4b('0x2f')][_0xcc4b('0x38')]);_0x3ed250[_0xcc4b('0x39')]=qs[_0xcc4b('0x3a')](_['pick'](_0x5c4605['query'],_0x423a53[_0xcc4b('0x3a')]),_0x2e0a74);if(_0x5c4605['query'][_0xcc4b('0x3b')]){_0x3ed250[_0xcc4b('0x39')]=_[_0xcc4b('0x3c')](_0x3ed250[_0xcc4b('0x39')],{'$or':_[_0xcc4b('0x2e')](_0x2e0a74,function(_0x250ea8){if(_0x250ea8[_0xcc4b('0x2b')]!==_0xcc4b('0x3d')){var _0x3a7543={};_0x3a7543[_0x250ea8[_0xcc4b('0x26')]]={'$like':'%'+_0x5c4605['query'][_0xcc4b('0x3b')]+'%'};return _0x3a7543;}})});}_0x3ed250=_[_0xcc4b('0x3c')]({},_0x3ed250,_0x5c4605['options']);var _0x450a0a={'where':_0x3ed250[_0xcc4b('0x39')]};return db[_0xcc4b('0x28')][_0xcc4b('0x1d')](_0x450a0a)[_0xcc4b('0x24')](function(_0x7da5de){_0x382215[_0xcc4b('0x1d')]=_0x7da5de;if(_0x5c4605[_0xcc4b('0x2f')]['includeAll']){_0x3ed250[_0xcc4b('0x3e')]=[{'all':!![]}];}return db[_0xcc4b('0x28')][_0xcc4b('0x3f')](_0x3ed250);})[_0xcc4b('0x24')](function(_0xd2dfe5){_0x382215[_0xcc4b('0x40')]=_0xd2dfe5;return _0x382215;})[_0xcc4b('0x24')](respondWithFilteredResult(_0x16dd58,_0x3ed250))[_0xcc4b('0x41')](handleError(_0x16dd58,null));};exports[_0xcc4b('0x42')]=function(_0x2b0805,_0xd5ed82){var _0x2c7cd2={'raw':![],'where':{'id':_0x2b0805[_0xcc4b('0x43')]['id']}},_0x273716={};_0x273716['model']=_[_0xcc4b('0x30')](db[_0xcc4b('0x28')]['rawAttributes']);_0x273716['query']=_[_0xcc4b('0x30')](_0x2b0805[_0xcc4b('0x2f')]);_0x273716[_0xcc4b('0x3a')]=_[_0xcc4b('0x31')](_0x273716[_0xcc4b('0x2d')],_0x273716[_0xcc4b('0x2f')]);_0x2c7cd2['attributes']=_[_0xcc4b('0x31')](_0x273716[_0xcc4b('0x2d')],qs[_0xcc4b('0x32')](_0x2b0805[_0xcc4b('0x2f')][_0xcc4b('0x32')]));_0x2c7cd2[_0xcc4b('0x33')]=_0x2c7cd2[_0xcc4b('0x33')][_0xcc4b('0x34')]?_0x2c7cd2[_0xcc4b('0x33')]:_0x273716[_0xcc4b('0x2d')];if(_0x2b0805['query'][_0xcc4b('0x44')]){_0x2c7cd2['include']=[{'all':!![]}];}_0x2c7cd2=_[_0xcc4b('0x3c')]({},_0x2c7cd2,_0x2b0805[_0xcc4b('0x45')]);return db[_0xcc4b('0x28')][_0xcc4b('0x46')](_0x2c7cd2)['then'](handleEntityNotFound(_0xd5ed82,null))[_0xcc4b('0x24')](respondWithResult(_0xd5ed82,null))[_0xcc4b('0x41')](handleError(_0xd5ed82,null));};exports[_0xcc4b('0x47')]=function(_0x4c0d33,_0x519168){return db['IntegrationReport'][_0xcc4b('0x47')](_0x4c0d33[_0xcc4b('0x48')],{})[_0xcc4b('0x24')](respondWithResult(_0x519168,0xc9))['catch'](handleError(_0x519168,null));};exports[_0xcc4b('0x49')]=function(_0x52584a,_0x2747fd){if(_0x52584a[_0xcc4b('0x48')]['id']){delete _0x52584a['body']['id'];}return db[_0xcc4b('0x28')]['find']({'where':{'id':_0x52584a[_0xcc4b('0x43')]['id']}})[_0xcc4b('0x24')](handleEntityNotFound(_0x2747fd,null))['then'](saveUpdates(_0x52584a['body'],null))[_0xcc4b('0x24')](respondWithResult(_0x2747fd,null))['catch'](handleError(_0x2747fd,null));};exports[_0xcc4b('0x23')]=function(_0x52f530,_0x1713fd){return db['IntegrationReport'][_0xcc4b('0x46')]({'where':{'id':_0x52f530[_0xcc4b('0x43')]['id']}})['then'](handleEntityNotFound(_0x1713fd,null))[_0xcc4b('0x24')](removeEntity(_0x1713fd,null))[_0xcc4b('0x41')](handleError(_0x1713fd,null));};exports[_0xcc4b('0x4a')]=function(_0x34d30f,_0x4ab565){return db[_0xcc4b('0x28')][_0xcc4b('0x4a')]()[_0xcc4b('0x24')](respondWithResult(_0x4ab565,null))[_0xcc4b('0x41')](handleError(_0x4ab565,null));};