Built motion from commit 092f8824.|2.5.49
[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 _0x0343=['../../config/environment','../../config/license/util','../../mysqldb','status','end','json','offset','undefined','limit','set','Content-Range','apply','save','update','then','destroy','error','stack','name','send','index','IntegrationReport','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','sort','where','filter','merge','map','VIRTUAL','count','includeAll','rows','params','include','options','find','catch','create','body','describe','eml-format','request-promise','bluebird','util','ejs','fs-extra','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','api','../../config/utils'];(function(_0x55476d,_0x332792){var _0x310a97=function(_0x37a062){while(--_0x37a062){_0x55476d['push'](_0x55476d['shift']());}};_0x310a97(++_0x332792);}(_0x0343,0xc0));var _0x3034=function(_0x5a64eb,_0x286782){_0x5a64eb=_0x5a64eb-0x0;var _0x3ad930=_0x0343[_0x5a64eb];return _0x3ad930;};'use strict';var emlformat=require(_0x3034('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0x3034('0x1'));var moment=require('moment');var BPromise=require(_0x3034('0x2'));var Mustache=require('mustache');var util=require(_0x3034('0x3'));var path=require('path');var sox=require('sox');var csv=require('to-csv');var ejs=require(_0x3034('0x4'));var fs=require('fs');var fs_extra=require(_0x3034('0x5'));var _=require(_0x3034('0x6'));var squel=require('squel');var crypto=require(_0x3034('0x7'));var jsforce=require(_0x3034('0x8'));var deskjs=require(_0x3034('0x9'));var toCsv=require('to-csv');var querystring=require(_0x3034('0xa'));var Papa=require(_0x3034('0xb'));var Redis=require(_0x3034('0xc'));var authService=require(_0x3034('0xd'));var qs=require(_0x3034('0xe'));var as=require(_0x3034('0xf'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x3034('0x10'));var utils=require(_0x3034('0x11'));var config=require(_0x3034('0x12'));var licenseUtil=require(_0x3034('0x13'));var db=require(_0x3034('0x14'))['db'];function respondWithStatusCode(_0x2e2522,_0xe5a34e){_0xe5a34e=_0xe5a34e||0xcc;return function(_0x45574f){if(_0x45574f){return _0x2e2522['sendStatus'](_0xe5a34e);}return _0x2e2522[_0x3034('0x15')](_0xe5a34e)[_0x3034('0x16')]();};}function respondWithResult(_0x1998e7,_0x3838cf){_0x3838cf=_0x3838cf||0xc8;return function(_0x47bca9){if(_0x47bca9){return _0x1998e7[_0x3034('0x15')](_0x3838cf)[_0x3034('0x17')](_0x47bca9);}};}function respondWithFilteredResult(_0x4b929c,_0xb41322){return function(_0x2252c7){if(_0x2252c7){var _0x333021=typeof _0xb41322[_0x3034('0x18')]===_0x3034('0x19')&&typeof _0xb41322[_0x3034('0x1a')]===_0x3034('0x19');var _0x508685=_0x2252c7['count'];var _0x33da79=_0x333021?0x0:_0xb41322[_0x3034('0x18')];var _0xedc030=_0x333021?_0x2252c7['count']:_0xb41322[_0x3034('0x18')]+_0xb41322[_0x3034('0x1a')];var _0x799ae5;if(_0xedc030>=_0x508685){_0xedc030=_0x508685;_0x799ae5=0xc8;}else{_0x799ae5=0xce;}_0x4b929c['status'](_0x799ae5);return _0x4b929c[_0x3034('0x1b')](_0x3034('0x1c'),_0x33da79+'-'+_0xedc030+'/'+_0x508685)[_0x3034('0x17')](_0x2252c7);}return null;};}function patchUpdates(_0x136234){return function(_0x3542a6){try{jsonpatch[_0x3034('0x1d')](_0x3542a6,_0x136234,!![]);}catch(_0x1792a4){return BPromise['reject'](_0x1792a4);}return _0x3542a6[_0x3034('0x1e')]();};}function saveUpdates(_0x196f84,_0x3138f0){return function(_0x59c5bd){if(_0x59c5bd){return _0x59c5bd[_0x3034('0x1f')](_0x196f84)[_0x3034('0x20')](function(_0x3c4231){return _0x3c4231;});}return null;};}function removeEntity(_0x1b5b25,_0x5f5d57){return function(_0x3de314){if(_0x3de314){return _0x3de314[_0x3034('0x21')]()['then'](function(){_0x1b5b25[_0x3034('0x15')](0xcc)['end']();});}};}function handleEntityNotFound(_0x172d6f,_0x2574be){return function(_0x447208){if(!_0x447208){_0x172d6f['sendStatus'](0x194);}return _0x447208;};}function handleError(_0x325d07,_0x1ada63){_0x1ada63=_0x1ada63||0x1f4;return function(_0x30c375){logger[_0x3034('0x22')](_0x30c375[_0x3034('0x23')]);if(_0x30c375[_0x3034('0x24')]){delete _0x30c375['name'];}_0x325d07[_0x3034('0x15')](_0x1ada63)[_0x3034('0x25')](_0x30c375);};}exports[_0x3034('0x26')]=function(_0x4d8008,_0x535268){var _0x340020={},_0x40101c={},_0x27abe6={'count':0x0,'rows':[]};var _0x43524d=_['map'](db[_0x3034('0x27')][_0x3034('0x28')],function(_0x3bcd71){return{'name':_0x3bcd71[_0x3034('0x29')],'type':_0x3bcd71[_0x3034('0x2a')][_0x3034('0x2b')]};});_0x40101c[_0x3034('0x2c')]=_['map'](_0x43524d,'name');_0x40101c[_0x3034('0x2d')]=_[_0x3034('0x2e')](_0x4d8008['query']);_0x40101c[_0x3034('0x2f')]=_[_0x3034('0x30')](_0x40101c[_0x3034('0x2c')],_0x40101c['query']);_0x340020[_0x3034('0x31')]=_['intersection'](_0x40101c[_0x3034('0x2c')],qs[_0x3034('0x32')](_0x4d8008[_0x3034('0x2d')]['fields']));_0x340020[_0x3034('0x31')]=_0x340020[_0x3034('0x31')][_0x3034('0x33')]?_0x340020[_0x3034('0x31')]:_0x40101c[_0x3034('0x2c')];if(!_0x4d8008[_0x3034('0x2d')][_0x3034('0x34')]('nolimit')){_0x340020['limit']=qs['limit'](_0x4d8008[_0x3034('0x2d')][_0x3034('0x1a')]);_0x340020[_0x3034('0x18')]=qs[_0x3034('0x18')](_0x4d8008[_0x3034('0x2d')][_0x3034('0x18')]);}_0x340020['order']=qs[_0x3034('0x35')](_0x4d8008[_0x3034('0x2d')][_0x3034('0x35')]);_0x340020[_0x3034('0x36')]=qs[_0x3034('0x2f')](_['pick'](_0x4d8008[_0x3034('0x2d')],_0x40101c[_0x3034('0x2f')]),_0x43524d);if(_0x4d8008[_0x3034('0x2d')][_0x3034('0x37')]){_0x340020[_0x3034('0x36')]=_[_0x3034('0x38')](_0x340020[_0x3034('0x36')],{'$or':_[_0x3034('0x39')](_0x43524d,function(_0x2b7130){if(_0x2b7130['type']!==_0x3034('0x3a')){var _0xcdb6b3={};_0xcdb6b3[_0x2b7130['name']]={'$like':'%'+_0x4d8008[_0x3034('0x2d')][_0x3034('0x37')]+'%'};return _0xcdb6b3;}})});}_0x340020=_['merge']({},_0x340020,_0x4d8008['options']);var _0x5d3529={'where':_0x340020[_0x3034('0x36')]};return db[_0x3034('0x27')]['count'](_0x5d3529)['then'](function(_0x1c3c25){_0x27abe6[_0x3034('0x3b')]=_0x1c3c25;if(_0x4d8008[_0x3034('0x2d')][_0x3034('0x3c')]){_0x340020['include']=[{'all':!![]}];}return db[_0x3034('0x27')]['findAll'](_0x340020);})['then'](function(_0x59bd56){_0x27abe6[_0x3034('0x3d')]=_0x59bd56;return _0x27abe6;})[_0x3034('0x20')](respondWithFilteredResult(_0x535268,_0x340020))['catch'](handleError(_0x535268,null));};exports['show']=function(_0x27cf75,_0x22808c){var _0x2696b1={'raw':![],'where':{'id':_0x27cf75[_0x3034('0x3e')]['id']}},_0x566a14={};_0x566a14['model']=_[_0x3034('0x2e')](db['IntegrationReport']['rawAttributes']);_0x566a14[_0x3034('0x2d')]=_[_0x3034('0x2e')](_0x27cf75[_0x3034('0x2d')]);_0x566a14[_0x3034('0x2f')]=_[_0x3034('0x30')](_0x566a14[_0x3034('0x2c')],_0x566a14[_0x3034('0x2d')]);_0x2696b1[_0x3034('0x31')]=_['intersection'](_0x566a14['model'],qs[_0x3034('0x32')](_0x27cf75[_0x3034('0x2d')][_0x3034('0x32')]));_0x2696b1[_0x3034('0x31')]=_0x2696b1['attributes'][_0x3034('0x33')]?_0x2696b1[_0x3034('0x31')]:_0x566a14[_0x3034('0x2c')];if(_0x27cf75[_0x3034('0x2d')]['includeAll']){_0x2696b1[_0x3034('0x3f')]=[{'all':!![]}];}_0x2696b1=_['merge']({},_0x2696b1,_0x27cf75[_0x3034('0x40')]);return db['IntegrationReport'][_0x3034('0x41')](_0x2696b1)[_0x3034('0x20')](handleEntityNotFound(_0x22808c,null))[_0x3034('0x20')](respondWithResult(_0x22808c,null))[_0x3034('0x42')](handleError(_0x22808c,null));};exports[_0x3034('0x43')]=function(_0x10dcd6,_0x945a10){return db[_0x3034('0x27')][_0x3034('0x43')](_0x10dcd6[_0x3034('0x44')],{})[_0x3034('0x20')](respondWithResult(_0x945a10,0xc9))['catch'](handleError(_0x945a10,null));};exports[_0x3034('0x1f')]=function(_0x2b6f5f,_0x4c4be5){if(_0x2b6f5f['body']['id']){delete _0x2b6f5f[_0x3034('0x44')]['id'];}return db[_0x3034('0x27')]['find']({'where':{'id':_0x2b6f5f[_0x3034('0x3e')]['id']}})[_0x3034('0x20')](handleEntityNotFound(_0x4c4be5,null))['then'](saveUpdates(_0x2b6f5f['body'],null))[_0x3034('0x20')](respondWithResult(_0x4c4be5,null))[_0x3034('0x42')](handleError(_0x4c4be5,null));};exports['destroy']=function(_0x2fbd23,_0x2158c0){return db[_0x3034('0x27')][_0x3034('0x41')]({'where':{'id':_0x2fbd23[_0x3034('0x3e')]['id']}})['then'](handleEntityNotFound(_0x2158c0,null))['then'](removeEntity(_0x2158c0,null))[_0x3034('0x42')](handleError(_0x2158c0,null));};exports['describe']=function(_0x2f54ce,_0x5df2c3){return db[_0x3034('0x27')][_0x3034('0x45')]()[_0x3034('0x20')](respondWithResult(_0x5df2c3,null))[_0x3034('0x42')](handleError(_0x5df2c3,null));};