c045ae0f7c22f176434d3551367b8e172fae3a1c
[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 _0xb954=['fs-extra','lodash','crypto','jsforce','desk.js','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','undefined','limit','count','offset','Content-Range','apply','reject','update','then','destroy','stack','name','index','map','rawAttributes','fieldName','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','filter','where','merge','VIRTUAL','options','IntegrationReport','rows','catch','params','includeAll','include','find','create','body','describe','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','mustache','util','path','sox','to-csv','ejs'];(function(_0x11b2fc,_0x4d879b){var _0x409d73=function(_0x117cb3){while(--_0x117cb3){_0x11b2fc['push'](_0x11b2fc['shift']());}};_0x409d73(++_0x4d879b);}(_0xb954,0x1ab));var _0x4b95=function(_0x593cbd,_0x141c5b){_0x593cbd=_0x593cbd-0x0;var _0x1ea4aa=_0xb954[_0x593cbd];return _0x1ea4aa;};'use strict';var emlformat=require(_0x4b95('0x0'));var rimraf=require(_0x4b95('0x1'));var zipdir=require(_0x4b95('0x2'));var jsonpatch=require(_0x4b95('0x3'));var rp=require(_0x4b95('0x4'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x4b95('0x5'));var util=require(_0x4b95('0x6'));var path=require(_0x4b95('0x7'));var sox=require(_0x4b95('0x8'));var csv=require(_0x4b95('0x9'));var ejs=require(_0x4b95('0xa'));var fs=require('fs');var fs_extra=require(_0x4b95('0xb'));var _=require(_0x4b95('0xc'));var squel=require('squel');var crypto=require(_0x4b95('0xd'));var jsforce=require(_0x4b95('0xe'));var deskjs=require(_0x4b95('0xf'));var toCsv=require(_0x4b95('0x9'));var querystring=require('querystring');var Papa=require(_0x4b95('0x10'));var Redis=require(_0x4b95('0x11'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x4b95('0x12'));var hardwareService=require(_0x4b95('0x13'));var logger=require(_0x4b95('0x14'))('api');var utils=require(_0x4b95('0x15'));var config=require(_0x4b95('0x16'));var licenseUtil=require(_0x4b95('0x17'));var db=require(_0x4b95('0x18'))['db'];function respondWithStatusCode(_0x16575c,_0xa06239){_0xa06239=_0xa06239||0xcc;return function(_0x129929){if(_0x129929){return _0x16575c[_0x4b95('0x19')](_0xa06239);}return _0x16575c[_0x4b95('0x1a')](_0xa06239)[_0x4b95('0x1b')]();};}function respondWithResult(_0x9f6260,_0x55e423){_0x55e423=_0x55e423||0xc8;return function(_0x140323){if(_0x140323){return _0x9f6260[_0x4b95('0x1a')](_0x55e423)[_0x4b95('0x1c')](_0x140323);}};}function respondWithFilteredResult(_0x442081,_0x2f6040){return function(_0x3c39fb){if(_0x3c39fb){var _0x4c568d=typeof _0x2f6040['offset']===_0x4b95('0x1d')&&typeof _0x2f6040[_0x4b95('0x1e')]===_0x4b95('0x1d');var _0x131d87=_0x3c39fb[_0x4b95('0x1f')];var _0x226dcf=_0x4c568d?0x0:_0x2f6040[_0x4b95('0x20')];var _0x4d9b7b=_0x4c568d?_0x3c39fb[_0x4b95('0x1f')]:_0x2f6040[_0x4b95('0x20')]+_0x2f6040[_0x4b95('0x1e')];var _0x5c02f7;if(_0x4d9b7b>=_0x131d87){_0x4d9b7b=_0x131d87;_0x5c02f7=0xc8;}else{_0x5c02f7=0xce;}_0x442081[_0x4b95('0x1a')](_0x5c02f7);return _0x442081['set'](_0x4b95('0x21'),_0x226dcf+'-'+_0x4d9b7b+'/'+_0x131d87)[_0x4b95('0x1c')](_0x3c39fb);}return null;};}function patchUpdates(_0x1f0a0a){return function(_0xf4d8f1){try{jsonpatch[_0x4b95('0x22')](_0xf4d8f1,_0x1f0a0a,!![]);}catch(_0x4d353a){return BPromise[_0x4b95('0x23')](_0x4d353a);}return _0xf4d8f1['save']();};}function saveUpdates(_0x1a5fa3,_0x2d11cd){return function(_0x30e7a8){if(_0x30e7a8){return _0x30e7a8[_0x4b95('0x24')](_0x1a5fa3)[_0x4b95('0x25')](function(_0x4e9afa){return _0x4e9afa;});}return null;};}function removeEntity(_0x25b0ca,_0x2d6d8b){return function(_0x2c92dc){if(_0x2c92dc){return _0x2c92dc[_0x4b95('0x26')]()[_0x4b95('0x25')](function(){_0x25b0ca[_0x4b95('0x1a')](0xcc)[_0x4b95('0x1b')]();});}};}function handleEntityNotFound(_0x14fbfe,_0x20a8f3){return function(_0x322a99){if(!_0x322a99){_0x14fbfe[_0x4b95('0x19')](0x194);}return _0x322a99;};}function handleError(_0xa2e39,_0x38b308){_0x38b308=_0x38b308||0x1f4;return function(_0x395e72){logger['error'](_0x395e72[_0x4b95('0x27')]);if(_0x395e72['name']){delete _0x395e72[_0x4b95('0x28')];}_0xa2e39[_0x4b95('0x1a')](_0x38b308)['send'](_0x395e72);};}exports[_0x4b95('0x29')]=function(_0x62c792,_0x932246){var _0x1b9f12={},_0x1af36d={},_0x4f9eda={'count':0x0,'rows':[]};var _0x498836=_[_0x4b95('0x2a')](db['IntegrationReport'][_0x4b95('0x2b')],function(_0x1182cb){return{'name':_0x1182cb[_0x4b95('0x2c')],'type':_0x1182cb['type'][_0x4b95('0x2d')]};});_0x1af36d[_0x4b95('0x2e')]=_[_0x4b95('0x2a')](_0x498836,_0x4b95('0x28'));_0x1af36d[_0x4b95('0x2f')]=_[_0x4b95('0x30')](_0x62c792['query']);_0x1af36d[_0x4b95('0x31')]=_[_0x4b95('0x32')](_0x1af36d[_0x4b95('0x2e')],_0x1af36d['query']);_0x1b9f12[_0x4b95('0x33')]=_['intersection'](_0x1af36d[_0x4b95('0x2e')],qs['fields'](_0x62c792['query'][_0x4b95('0x34')]));_0x1b9f12[_0x4b95('0x33')]=_0x1b9f12[_0x4b95('0x33')][_0x4b95('0x35')]?_0x1b9f12[_0x4b95('0x33')]:_0x1af36d[_0x4b95('0x2e')];if(!_0x62c792[_0x4b95('0x2f')][_0x4b95('0x36')](_0x4b95('0x37'))){_0x1b9f12[_0x4b95('0x1e')]=qs['limit'](_0x62c792['query'][_0x4b95('0x1e')]);_0x1b9f12[_0x4b95('0x20')]=qs['offset'](_0x62c792[_0x4b95('0x2f')]['offset']);}_0x1b9f12[_0x4b95('0x38')]=qs['sort'](_0x62c792[_0x4b95('0x2f')][_0x4b95('0x39')]);_0x1b9f12['where']=qs[_0x4b95('0x31')](_['pick'](_0x62c792['query'],_0x1af36d[_0x4b95('0x31')]),_0x498836);if(_0x62c792[_0x4b95('0x2f')][_0x4b95('0x3a')]){_0x1b9f12[_0x4b95('0x3b')]=_[_0x4b95('0x3c')](_0x1b9f12[_0x4b95('0x3b')],{'$or':_['map'](_0x498836,function(_0x122c72){if(_0x122c72['type']!==_0x4b95('0x3d')){var _0x1b1403={};_0x1b1403[_0x122c72['name']]={'$like':'%'+_0x62c792[_0x4b95('0x2f')][_0x4b95('0x3a')]+'%'};return _0x1b1403;}})});}_0x1b9f12=_[_0x4b95('0x3c')]({},_0x1b9f12,_0x62c792[_0x4b95('0x3e')]);var _0x2dc69d={'where':_0x1b9f12['where']};return db[_0x4b95('0x3f')]['count'](_0x2dc69d)[_0x4b95('0x25')](function(_0x453798){_0x4f9eda[_0x4b95('0x1f')]=_0x453798;if(_0x62c792[_0x4b95('0x2f')]['includeAll']){_0x1b9f12['include']=[{'all':!![]}];}return db[_0x4b95('0x3f')]['findAll'](_0x1b9f12);})[_0x4b95('0x25')](function(_0x26ef20){_0x4f9eda[_0x4b95('0x40')]=_0x26ef20;return _0x4f9eda;})[_0x4b95('0x25')](respondWithFilteredResult(_0x932246,_0x1b9f12))[_0x4b95('0x41')](handleError(_0x932246,null));};exports['show']=function(_0x330420,_0x2a73a7){var _0x40877e={'raw':![],'where':{'id':_0x330420[_0x4b95('0x42')]['id']}},_0x13d289={};_0x13d289[_0x4b95('0x2e')]=_[_0x4b95('0x30')](db[_0x4b95('0x3f')][_0x4b95('0x2b')]);_0x13d289['query']=_[_0x4b95('0x30')](_0x330420[_0x4b95('0x2f')]);_0x13d289[_0x4b95('0x31')]=_[_0x4b95('0x32')](_0x13d289[_0x4b95('0x2e')],_0x13d289['query']);_0x40877e[_0x4b95('0x33')]=_[_0x4b95('0x32')](_0x13d289['model'],qs[_0x4b95('0x34')](_0x330420['query']['fields']));_0x40877e[_0x4b95('0x33')]=_0x40877e[_0x4b95('0x33')]['length']?_0x40877e[_0x4b95('0x33')]:_0x13d289[_0x4b95('0x2e')];if(_0x330420[_0x4b95('0x2f')][_0x4b95('0x43')]){_0x40877e[_0x4b95('0x44')]=[{'all':!![]}];}_0x40877e=_[_0x4b95('0x3c')]({},_0x40877e,_0x330420[_0x4b95('0x3e')]);return db[_0x4b95('0x3f')][_0x4b95('0x45')](_0x40877e)[_0x4b95('0x25')](handleEntityNotFound(_0x2a73a7,null))[_0x4b95('0x25')](respondWithResult(_0x2a73a7,null))[_0x4b95('0x41')](handleError(_0x2a73a7,null));};exports['create']=function(_0x2da664,_0x54c671){return db[_0x4b95('0x3f')][_0x4b95('0x46')](_0x2da664[_0x4b95('0x47')],{})[_0x4b95('0x25')](respondWithResult(_0x54c671,0xc9))[_0x4b95('0x41')](handleError(_0x54c671,null));};exports[_0x4b95('0x24')]=function(_0x3ebd09,_0x2ab327){if(_0x3ebd09[_0x4b95('0x47')]['id']){delete _0x3ebd09['body']['id'];}return db[_0x4b95('0x3f')]['find']({'where':{'id':_0x3ebd09[_0x4b95('0x42')]['id']}})[_0x4b95('0x25')](handleEntityNotFound(_0x2ab327,null))[_0x4b95('0x25')](saveUpdates(_0x3ebd09[_0x4b95('0x47')],null))[_0x4b95('0x25')](respondWithResult(_0x2ab327,null))[_0x4b95('0x41')](handleError(_0x2ab327,null));};exports[_0x4b95('0x26')]=function(_0x5ca1cf,_0x1bfeba){return db[_0x4b95('0x3f')]['find']({'where':{'id':_0x5ca1cf[_0x4b95('0x42')]['id']}})['then'](handleEntityNotFound(_0x1bfeba,null))['then'](removeEntity(_0x1bfeba,null))['catch'](handleError(_0x1bfeba,null));};exports[_0x4b95('0x48')]=function(_0x1b5896,_0x128c2d){return db[_0x4b95('0x3f')][_0x4b95('0x48')]()[_0x4b95('0x25')](respondWithResult(_0x128c2d,null))['catch'](handleError(_0x128c2d,null));};