5d99a7443cee147255fcc6899bb25fb7805ec967
[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 _0x88ad=['../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','count','offset','limit','set','Content-Range','apply','save','update','then','destroy','error','stack','name','index','map','fieldName','key','model','query','keys','intersection','attributes','fields','length','hasOwnProperty','sort','where','pick','filter','merge','type','VIRTUAL','options','IntegrationReport','includeAll','rows','show','params','rawAttributes','filters','include','find','catch','create','body','describe','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','to-csv','ejs','lodash','squel','jsforce','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils'];(function(_0x5d6456,_0x58ecc7){var _0x4d66c1=function(_0x4335e3){while(--_0x4335e3){_0x5d6456['push'](_0x5d6456['shift']());}};_0x4d66c1(++_0x58ecc7);}(_0x88ad,0x10d));var _0xd88a=function(_0x4565bf,_0x5ad9d6){_0x4565bf=_0x4565bf-0x0;var _0x5610ba=_0x88ad[_0x4565bf];return _0x5610ba;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0xd88a('0x0'));var rimraf=require(_0xd88a('0x1'));var zipdir=require(_0xd88a('0x2'));var jsonpatch=require(_0xd88a('0x3'));var rp=require(_0xd88a('0x4'));var moment=require('moment');var BPromise=require(_0xd88a('0x5'));var Mustache=require('mustache');var util=require('util');var path=require('path');var sox=require('sox');var csv=require(_0xd88a('0x6'));var ejs=require(_0xd88a('0x7'));var fs=require('fs');var _=require(_0xd88a('0x8'));var squel=require(_0xd88a('0x9'));var crypto=require('crypto');var jsforce=require(_0xd88a('0xa'));var deskjs=require('desk.js');var toCsv=require(_0xd88a('0x6'));var querystring=require('querystring');var Papa=require(_0xd88a('0xb'));var Redis=require(_0xd88a('0xc'));var authService=require(_0xd88a('0xd'));var qs=require(_0xd88a('0xe'));var as=require(_0xd88a('0xf'));var hardwareService=require(_0xd88a('0x10'));var logger=require(_0xd88a('0x11'))('api');var utils=require(_0xd88a('0x12'));var config=require(_0xd88a('0x13'));var licenseUtil=require(_0xd88a('0x14'));var db=require(_0xd88a('0x15'))['db'];function respondWithStatusCode(_0x1315b5,_0x4ae258){_0x4ae258=_0x4ae258||0xcc;return function(_0x48aa7b){if(_0x48aa7b){return _0x1315b5[_0xd88a('0x16')](_0x4ae258);}return _0x1315b5[_0xd88a('0x17')](_0x4ae258)[_0xd88a('0x18')]();};}function respondWithResult(_0xedb67d,_0x13ec2b){_0x13ec2b=_0x13ec2b||0xc8;return function(_0x54aead){if(_0x54aead){return _0xedb67d['status'](_0x13ec2b)[_0xd88a('0x19')](_0x54aead);}};}function respondWithFilteredResult(_0x1cc7d7,_0x39d81b){return function(_0x2fec88){if(_0x2fec88){var _0x56087f=_0x2fec88[_0xd88a('0x1a')],_0x2f158e=_0x39d81b[_0xd88a('0x1b')],_0x14bc03=_0x39d81b[_0xd88a('0x1b')]+_0x39d81b[_0xd88a('0x1c')],_0x34e641;if(_0x14bc03>=_0x56087f){_0x14bc03=_0x56087f;_0x34e641=0xc8;}else{_0x34e641=0xce;}_0x1cc7d7[_0xd88a('0x17')](_0x34e641);return _0x1cc7d7[_0xd88a('0x1d')](_0xd88a('0x1e'),_0x2f158e+'-'+_0x14bc03+'/'+_0x56087f)['json'](_0x2fec88);}return null;};}function patchUpdates(_0x45bb80){return function(_0x31bace){try{jsonpatch[_0xd88a('0x1f')](_0x31bace,_0x45bb80,!![]);}catch(_0x521a12){return BPromise['reject'](_0x521a12);}return _0x31bace[_0xd88a('0x20')]();};}function saveUpdates(_0x1dd823,_0x5eb0b1){return function(_0x2c981f){if(_0x2c981f){return _0x2c981f[_0xd88a('0x21')](_0x1dd823)[_0xd88a('0x22')](function(_0x4be7ff){return _0x4be7ff;});}return null;};}function removeEntity(_0x52c0dd,_0x3b6f94){return function(_0x3d7dbc){if(_0x3d7dbc){return _0x3d7dbc[_0xd88a('0x23')]()['then'](function(){_0x52c0dd[_0xd88a('0x17')](0xcc)[_0xd88a('0x18')]();});}};}function handleEntityNotFound(_0x314280,_0x27389c){return function(_0x5cc8e1){if(!_0x5cc8e1){_0x314280[_0xd88a('0x16')](0x194);}return _0x5cc8e1;};}function handleError(_0x21828a,_0x20b1f2){_0x20b1f2=_0x20b1f2||0x1f4;return function(_0x2f562){logger[_0xd88a('0x24')](_0x2f562[_0xd88a('0x25')]);if(_0x2f562[_0xd88a('0x26')]){delete _0x2f562[_0xd88a('0x26')];}_0x21828a[_0xd88a('0x17')](_0x20b1f2)['send'](_0x2f562);};}exports[_0xd88a('0x27')]=function(_0x587eb6,_0x2db850){var _0xfa458={},_0x44dcac={},_0x4eaee0={'count':0x0,'rows':[]};var _0x3eb449=_[_0xd88a('0x28')](db['IntegrationReport']['rawAttributes'],function(_0x8fc249){return{'name':_0x8fc249[_0xd88a('0x29')],'type':_0x8fc249['type'][_0xd88a('0x2a')]};});_0x44dcac[_0xd88a('0x2b')]=_['map'](_0x3eb449,_0xd88a('0x26'));_0x44dcac[_0xd88a('0x2c')]=_[_0xd88a('0x2d')](_0x587eb6[_0xd88a('0x2c')]);_0x44dcac['filters']=_[_0xd88a('0x2e')](_0x44dcac[_0xd88a('0x2b')],_0x44dcac[_0xd88a('0x2c')]);_0xfa458[_0xd88a('0x2f')]=_[_0xd88a('0x2e')](_0x44dcac[_0xd88a('0x2b')],qs[_0xd88a('0x30')](_0x587eb6[_0xd88a('0x2c')][_0xd88a('0x30')]));_0xfa458[_0xd88a('0x2f')]=_0xfa458['attributes'][_0xd88a('0x31')]?_0xfa458['attributes']:_0x44dcac[_0xd88a('0x2b')];if(!_0x587eb6[_0xd88a('0x2c')][_0xd88a('0x32')]('nolimit')){_0xfa458[_0xd88a('0x1c')]=qs[_0xd88a('0x1c')](_0x587eb6[_0xd88a('0x2c')][_0xd88a('0x1c')]);_0xfa458[_0xd88a('0x1b')]=qs['offset'](_0x587eb6['query'][_0xd88a('0x1b')]);}_0xfa458['order']=qs[_0xd88a('0x33')](_0x587eb6['query']['sort']);_0xfa458[_0xd88a('0x34')]=qs['filters'](_[_0xd88a('0x35')](_0x587eb6[_0xd88a('0x2c')],_0x44dcac['filters']),_0x3eb449);if(_0x587eb6[_0xd88a('0x2c')][_0xd88a('0x36')]){_0xfa458[_0xd88a('0x34')]=_[_0xd88a('0x37')](_0xfa458[_0xd88a('0x34')],{'$or':_[_0xd88a('0x28')](_0x3eb449,function(_0x20941f){if(_0x20941f[_0xd88a('0x38')]!==_0xd88a('0x39')){var _0x3827c9={};_0x3827c9[_0x20941f[_0xd88a('0x26')]]={'$like':'%'+_0x587eb6[_0xd88a('0x2c')][_0xd88a('0x36')]+'%'};return _0x3827c9;}})});}_0xfa458=_[_0xd88a('0x37')]({},_0xfa458,_0x587eb6[_0xd88a('0x3a')]);var _0x50028a={'where':_0xfa458[_0xd88a('0x34')]};return db[_0xd88a('0x3b')][_0xd88a('0x1a')](_0x50028a)[_0xd88a('0x22')](function(_0xbbde7a){_0x4eaee0[_0xd88a('0x1a')]=_0xbbde7a;if(_0x587eb6[_0xd88a('0x2c')][_0xd88a('0x3c')]){_0xfa458['include']=[{'all':!![]}];}return db[_0xd88a('0x3b')]['findAll'](_0xfa458);})[_0xd88a('0x22')](function(_0xd7bae7){_0x4eaee0[_0xd88a('0x3d')]=_0xd7bae7;return _0x4eaee0;})['then'](respondWithFilteredResult(_0x2db850,_0xfa458))['catch'](handleError(_0x2db850,null));};exports[_0xd88a('0x3e')]=function(_0x44f1c0,_0x5ddc59){var _0x3454a0={'raw':![],'where':{'id':_0x44f1c0[_0xd88a('0x3f')]['id']}},_0x553b2e={};_0x553b2e[_0xd88a('0x2b')]=_[_0xd88a('0x2d')](db[_0xd88a('0x3b')][_0xd88a('0x40')]);_0x553b2e['query']=_[_0xd88a('0x2d')](_0x44f1c0[_0xd88a('0x2c')]);_0x553b2e[_0xd88a('0x41')]=_[_0xd88a('0x2e')](_0x553b2e['model'],_0x553b2e[_0xd88a('0x2c')]);_0x3454a0['attributes']=_[_0xd88a('0x2e')](_0x553b2e['model'],qs[_0xd88a('0x30')](_0x44f1c0[_0xd88a('0x2c')][_0xd88a('0x30')]));_0x3454a0['attributes']=_0x3454a0[_0xd88a('0x2f')][_0xd88a('0x31')]?_0x3454a0[_0xd88a('0x2f')]:_0x553b2e[_0xd88a('0x2b')];if(_0x44f1c0[_0xd88a('0x2c')][_0xd88a('0x3c')]){_0x3454a0[_0xd88a('0x42')]=[{'all':!![]}];}_0x3454a0=_[_0xd88a('0x37')]({},_0x3454a0,_0x44f1c0[_0xd88a('0x3a')]);return db[_0xd88a('0x3b')][_0xd88a('0x43')](_0x3454a0)['then'](handleEntityNotFound(_0x5ddc59,null))[_0xd88a('0x22')](respondWithResult(_0x5ddc59,null))[_0xd88a('0x44')](handleError(_0x5ddc59,null));};exports[_0xd88a('0x45')]=function(_0x25ae41,_0x2130ec){return db['IntegrationReport'][_0xd88a('0x45')](_0x25ae41[_0xd88a('0x46')],{})[_0xd88a('0x22')](respondWithResult(_0x2130ec,0xc9))['catch'](handleError(_0x2130ec,null));};exports[_0xd88a('0x21')]=function(_0x3438c9,_0x2c1df4){if(_0x3438c9[_0xd88a('0x46')]['id']){delete _0x3438c9[_0xd88a('0x46')]['id'];}return db[_0xd88a('0x3b')][_0xd88a('0x43')]({'where':{'id':_0x3438c9['params']['id']}})['then'](handleEntityNotFound(_0x2c1df4,null))[_0xd88a('0x22')](saveUpdates(_0x3438c9[_0xd88a('0x46')],null))[_0xd88a('0x22')](respondWithResult(_0x2c1df4,null))[_0xd88a('0x44')](handleError(_0x2c1df4,null));};exports['destroy']=function(_0xa4ea91,_0x51219b){return db[_0xd88a('0x3b')][_0xd88a('0x43')]({'where':{'id':_0xa4ea91['params']['id']}})['then'](handleEntityNotFound(_0x51219b,null))['then'](removeEntity(_0x51219b,null))['catch'](handleError(_0x51219b,null));};exports[_0xd88a('0x47')]=function(_0x593c46,_0x5746bf){return db[_0xd88a('0x3b')][_0xd88a('0x47')]()[_0xd88a('0x22')](respondWithResult(_0x5746bf,null))[_0xd88a('0x44')](handleError(_0x5746bf,null));};