33cdb9e7fd92015341eced5abde25a541484c368
[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 _0xcbff=['hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','findAll','rows','catch','include','find','create','body','params','describe','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','../../components/auth/service','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','json','offset','undefined','count','limit','apply','save','update','then','destroy','end','error','stack','name','send','index','map','IntegrationReport','fieldName','type','key','query','keys','filters','intersection','model','attributes','fields','length'];(function(_0x45e651,_0x19aec4){var _0x4356d4=function(_0xdb3f44){while(--_0xdb3f44){_0x45e651['push'](_0x45e651['shift']());}};_0x4356d4(++_0x19aec4);}(_0xcbff,0xfb));var _0xfcbf=function(_0x27edba,_0x3b8b4f){_0x27edba=_0x27edba-0x0;var _0x4d2d31=_0xcbff[_0x27edba];return _0x4d2d31;};'use strict';var emlformat=require(_0xfcbf('0x0'));var rimraf=require(_0xfcbf('0x1'));var zipdir=require(_0xfcbf('0x2'));var jsonpatch=require(_0xfcbf('0x3'));var rp=require(_0xfcbf('0x4'));var moment=require(_0xfcbf('0x5'));var BPromise=require(_0xfcbf('0x6'));var Mustache=require('mustache');var util=require(_0xfcbf('0x7'));var path=require(_0xfcbf('0x8'));var sox=require(_0xfcbf('0x9'));var csv=require(_0xfcbf('0xa'));var ejs=require(_0xfcbf('0xb'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xfcbf('0xc'));var squel=require(_0xfcbf('0xd'));var crypto=require(_0xfcbf('0xe'));var jsforce=require(_0xfcbf('0xf'));var deskjs=require(_0xfcbf('0x10'));var toCsv=require(_0xfcbf('0xa'));var querystring=require(_0xfcbf('0x11'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0xfcbf('0x12'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xfcbf('0x13'));var logger=require(_0xfcbf('0x14'))(_0xfcbf('0x15'));var utils=require(_0xfcbf('0x16'));var config=require(_0xfcbf('0x17'));var licenseUtil=require(_0xfcbf('0x18'));var db=require(_0xfcbf('0x19'))['db'];function respondWithStatusCode(_0x1ae5f4,_0x67d774){_0x67d774=_0x67d774||0xcc;return function(_0x1c2908){if(_0x1c2908){return _0x1ae5f4[_0xfcbf('0x1a')](_0x67d774);}return _0x1ae5f4[_0xfcbf('0x1b')](_0x67d774)['end']();};}function respondWithResult(_0x14a3b4,_0x1d478b){_0x1d478b=_0x1d478b||0xc8;return function(_0x6cd04f){if(_0x6cd04f){return _0x14a3b4[_0xfcbf('0x1b')](_0x1d478b)[_0xfcbf('0x1c')](_0x6cd04f);}};}function respondWithFilteredResult(_0x47b2e8,_0x2a7bfe){return function(_0x3b35dd){if(_0x3b35dd){var _0x219216=typeof _0x2a7bfe[_0xfcbf('0x1d')]==='undefined'&&typeof _0x2a7bfe['limit']===_0xfcbf('0x1e');var _0x17ea07=_0x3b35dd[_0xfcbf('0x1f')];var _0x16c867=_0x219216?0x0:_0x2a7bfe[_0xfcbf('0x1d')];var _0x37a46c=_0x219216?_0x3b35dd[_0xfcbf('0x1f')]:_0x2a7bfe[_0xfcbf('0x1d')]+_0x2a7bfe[_0xfcbf('0x20')];var _0x2c5099;if(_0x37a46c>=_0x17ea07){_0x37a46c=_0x17ea07;_0x2c5099=0xc8;}else{_0x2c5099=0xce;}_0x47b2e8['status'](_0x2c5099);return _0x47b2e8['set']('Content-Range',_0x16c867+'-'+_0x37a46c+'/'+_0x17ea07)[_0xfcbf('0x1c')](_0x3b35dd);}return null;};}function patchUpdates(_0x4feab3){return function(_0x467f02){try{jsonpatch[_0xfcbf('0x21')](_0x467f02,_0x4feab3,!![]);}catch(_0x519223){return BPromise['reject'](_0x519223);}return _0x467f02[_0xfcbf('0x22')]();};}function saveUpdates(_0x2834be,_0x52a92a){return function(_0x360067){if(_0x360067){return _0x360067[_0xfcbf('0x23')](_0x2834be)[_0xfcbf('0x24')](function(_0x481ae4){return _0x481ae4;});}return null;};}function removeEntity(_0x5580c0,_0x1c025c){return function(_0x3d5864){if(_0x3d5864){return _0x3d5864[_0xfcbf('0x25')]()[_0xfcbf('0x24')](function(){_0x5580c0['status'](0xcc)[_0xfcbf('0x26')]();});}};}function handleEntityNotFound(_0xad7fdc,_0x44ebb4){return function(_0x33d0b1){if(!_0x33d0b1){_0xad7fdc[_0xfcbf('0x1a')](0x194);}return _0x33d0b1;};}function handleError(_0x477897,_0x81e043){_0x81e043=_0x81e043||0x1f4;return function(_0xaa6910){logger[_0xfcbf('0x27')](_0xaa6910[_0xfcbf('0x28')]);if(_0xaa6910[_0xfcbf('0x29')]){delete _0xaa6910[_0xfcbf('0x29')];}_0x477897[_0xfcbf('0x1b')](_0x81e043)[_0xfcbf('0x2a')](_0xaa6910);};}exports[_0xfcbf('0x2b')]=function(_0x51e4ce,_0x1f48ad){var _0x129990={},_0x8e10e={},_0x5ce71e={'count':0x0,'rows':[]};var _0x47307d=_[_0xfcbf('0x2c')](db[_0xfcbf('0x2d')]['rawAttributes'],function(_0x26bbe9){return{'name':_0x26bbe9[_0xfcbf('0x2e')],'type':_0x26bbe9[_0xfcbf('0x2f')][_0xfcbf('0x30')]};});_0x8e10e['model']=_[_0xfcbf('0x2c')](_0x47307d,_0xfcbf('0x29'));_0x8e10e[_0xfcbf('0x31')]=_[_0xfcbf('0x32')](_0x51e4ce['query']);_0x8e10e[_0xfcbf('0x33')]=_[_0xfcbf('0x34')](_0x8e10e[_0xfcbf('0x35')],_0x8e10e['query']);_0x129990[_0xfcbf('0x36')]=_['intersection'](_0x8e10e[_0xfcbf('0x35')],qs[_0xfcbf('0x37')](_0x51e4ce[_0xfcbf('0x31')]['fields']));_0x129990[_0xfcbf('0x36')]=_0x129990[_0xfcbf('0x36')][_0xfcbf('0x38')]?_0x129990[_0xfcbf('0x36')]:_0x8e10e[_0xfcbf('0x35')];if(!_0x51e4ce[_0xfcbf('0x31')][_0xfcbf('0x39')](_0xfcbf('0x3a'))){_0x129990[_0xfcbf('0x20')]=qs[_0xfcbf('0x20')](_0x51e4ce[_0xfcbf('0x31')][_0xfcbf('0x20')]);_0x129990[_0xfcbf('0x1d')]=qs[_0xfcbf('0x1d')](_0x51e4ce[_0xfcbf('0x31')][_0xfcbf('0x1d')]);}_0x129990[_0xfcbf('0x3b')]=qs[_0xfcbf('0x3c')](_0x51e4ce['query'][_0xfcbf('0x3c')]);_0x129990[_0xfcbf('0x3d')]=qs[_0xfcbf('0x33')](_[_0xfcbf('0x3e')](_0x51e4ce[_0xfcbf('0x31')],_0x8e10e[_0xfcbf('0x33')]),_0x47307d);if(_0x51e4ce[_0xfcbf('0x31')][_0xfcbf('0x3f')]){_0x129990[_0xfcbf('0x3d')]=_[_0xfcbf('0x40')](_0x129990[_0xfcbf('0x3d')],{'$or':_[_0xfcbf('0x2c')](_0x47307d,function(_0x77321e){if(_0x77321e['type']!==_0xfcbf('0x41')){var _0x1a6884={};_0x1a6884[_0x77321e[_0xfcbf('0x29')]]={'$like':'%'+_0x51e4ce[_0xfcbf('0x31')][_0xfcbf('0x3f')]+'%'};return _0x1a6884;}})});}_0x129990=_['merge']({},_0x129990,_0x51e4ce[_0xfcbf('0x42')]);var _0x1cfb6e={'where':_0x129990[_0xfcbf('0x3d')]};return db[_0xfcbf('0x2d')][_0xfcbf('0x1f')](_0x1cfb6e)[_0xfcbf('0x24')](function(_0x26b49e){_0x5ce71e[_0xfcbf('0x1f')]=_0x26b49e;if(_0x51e4ce[_0xfcbf('0x31')][_0xfcbf('0x43')]){_0x129990['include']=[{'all':!![]}];}return db['IntegrationReport'][_0xfcbf('0x44')](_0x129990);})['then'](function(_0x4ac1d8){_0x5ce71e[_0xfcbf('0x45')]=_0x4ac1d8;return _0x5ce71e;})[_0xfcbf('0x24')](respondWithFilteredResult(_0x1f48ad,_0x129990))[_0xfcbf('0x46')](handleError(_0x1f48ad,null));};exports['show']=function(_0x2a9747,_0x4704a6){var _0x23b8cd={'raw':![],'where':{'id':_0x2a9747['params']['id']}},_0x3aedc0={};_0x3aedc0[_0xfcbf('0x35')]=_[_0xfcbf('0x32')](db['IntegrationReport']['rawAttributes']);_0x3aedc0[_0xfcbf('0x31')]=_['keys'](_0x2a9747[_0xfcbf('0x31')]);_0x3aedc0[_0xfcbf('0x33')]=_[_0xfcbf('0x34')](_0x3aedc0['model'],_0x3aedc0[_0xfcbf('0x31')]);_0x23b8cd[_0xfcbf('0x36')]=_[_0xfcbf('0x34')](_0x3aedc0[_0xfcbf('0x35')],qs[_0xfcbf('0x37')](_0x2a9747[_0xfcbf('0x31')]['fields']));_0x23b8cd['attributes']=_0x23b8cd[_0xfcbf('0x36')][_0xfcbf('0x38')]?_0x23b8cd[_0xfcbf('0x36')]:_0x3aedc0[_0xfcbf('0x35')];if(_0x2a9747[_0xfcbf('0x31')]['includeAll']){_0x23b8cd[_0xfcbf('0x47')]=[{'all':!![]}];}_0x23b8cd=_[_0xfcbf('0x40')]({},_0x23b8cd,_0x2a9747[_0xfcbf('0x42')]);return db[_0xfcbf('0x2d')][_0xfcbf('0x48')](_0x23b8cd)[_0xfcbf('0x24')](handleEntityNotFound(_0x4704a6,null))[_0xfcbf('0x24')](respondWithResult(_0x4704a6,null))['catch'](handleError(_0x4704a6,null));};exports[_0xfcbf('0x49')]=function(_0x224c3d,_0x319f8d){return db[_0xfcbf('0x2d')][_0xfcbf('0x49')](_0x224c3d[_0xfcbf('0x4a')],{})['then'](respondWithResult(_0x319f8d,0xc9))[_0xfcbf('0x46')](handleError(_0x319f8d,null));};exports[_0xfcbf('0x23')]=function(_0x2b1016,_0xe11537){if(_0x2b1016[_0xfcbf('0x4a')]['id']){delete _0x2b1016[_0xfcbf('0x4a')]['id'];}return db[_0xfcbf('0x2d')][_0xfcbf('0x48')]({'where':{'id':_0x2b1016['params']['id']}})['then'](handleEntityNotFound(_0xe11537,null))['then'](saveUpdates(_0x2b1016[_0xfcbf('0x4a')],null))[_0xfcbf('0x24')](respondWithResult(_0xe11537,null))[_0xfcbf('0x46')](handleError(_0xe11537,null));};exports[_0xfcbf('0x25')]=function(_0x5b40b2,_0x544a55){return db[_0xfcbf('0x2d')][_0xfcbf('0x48')]({'where':{'id':_0x5b40b2[_0xfcbf('0x4b')]['id']}})[_0xfcbf('0x24')](handleEntityNotFound(_0x544a55,null))[_0xfcbf('0x24')](removeEntity(_0x544a55,null))[_0xfcbf('0x46')](handleError(_0x544a55,null));};exports[_0xfcbf('0x4c')]=function(_0x1e915a,_0x1ca50a){return db[_0xfcbf('0x2d')]['describe']()[_0xfcbf('0x24')](respondWithResult(_0x1ca50a,null))[_0xfcbf('0x46')](handleError(_0x1ca50a,null));};