2a2939c73434b4d91bc7c68d655669d0c67ce95e
[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 _0x5771=['reject','save','update','then','destroy','error','name','send','index','map','IntegrationReport','rawAttributes','fieldName','type','key','model','query','keys','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','filters','filter','merge','includeAll','findAll','catch','show','params','length','include','options','find','create','body','describe','rimraf','zip-dir','moment','util','sox','ejs','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','offset','limit','undefined','count','Content-Range','apply'];(function(_0x18f69e,_0x19b50e){var _0x5aabf0=function(_0x1ffd9f){while(--_0x1ffd9f){_0x18f69e['push'](_0x18f69e['shift']());}};_0x5aabf0(++_0x19b50e);}(_0x5771,0x14d));var _0x1577=function(_0x3ec823,_0x4558cf){_0x3ec823=_0x3ec823-0x0;var _0x477b65=_0x5771[_0x3ec823];return _0x477b65;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x1577('0x0'));var zipdir=require(_0x1577('0x1'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x1577('0x2'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x1577('0x3'));var path=require('path');var sox=require(_0x1577('0x4'));var csv=require('to-csv');var ejs=require(_0x1577('0x5'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x1577('0x6'));var squel=require(_0x1577('0x7'));var crypto=require(_0x1577('0x8'));var jsforce=require(_0x1577('0x9'));var deskjs=require(_0x1577('0xa'));var toCsv=require(_0x1577('0xb'));var querystring=require(_0x1577('0xc'));var Papa=require(_0x1577('0xd'));var Redis=require(_0x1577('0xe'));var authService=require(_0x1577('0xf'));var qs=require(_0x1577('0x10'));var as=require(_0x1577('0x11'));var hardwareService=require(_0x1577('0x12'));var logger=require('../../config/logger')(_0x1577('0x13'));var utils=require(_0x1577('0x14'));var config=require(_0x1577('0x15'));var licenseUtil=require('../../config/license/util');var db=require(_0x1577('0x16'))['db'];function respondWithStatusCode(_0x313282,_0x39a258){_0x39a258=_0x39a258||0xcc;return function(_0x578282){if(_0x578282){return _0x313282[_0x1577('0x17')](_0x39a258);}return _0x313282[_0x1577('0x18')](_0x39a258)[_0x1577('0x19')]();};}function respondWithResult(_0x50ae29,_0x4c978e){_0x4c978e=_0x4c978e||0xc8;return function(_0x6ff339){if(_0x6ff339){return _0x50ae29[_0x1577('0x18')](_0x4c978e)['json'](_0x6ff339);}};}function respondWithFilteredResult(_0xc9bdf1,_0x1ea5c9){return function(_0x662649){if(_0x662649){var _0x25d176=typeof _0x1ea5c9[_0x1577('0x1a')]==='undefined'&&typeof _0x1ea5c9[_0x1577('0x1b')]===_0x1577('0x1c');var _0x410ddc=_0x662649[_0x1577('0x1d')];var _0x4b13bd=_0x25d176?0x0:_0x1ea5c9[_0x1577('0x1a')];var _0x5095f9=_0x25d176?_0x662649['count']:_0x1ea5c9[_0x1577('0x1a')]+_0x1ea5c9[_0x1577('0x1b')];var _0x2cb4f7;if(_0x5095f9>=_0x410ddc){_0x5095f9=_0x410ddc;_0x2cb4f7=0xc8;}else{_0x2cb4f7=0xce;}_0xc9bdf1[_0x1577('0x18')](_0x2cb4f7);return _0xc9bdf1['set'](_0x1577('0x1e'),_0x4b13bd+'-'+_0x5095f9+'/'+_0x410ddc)['json'](_0x662649);}return null;};}function patchUpdates(_0x41741c){return function(_0x3d9574){try{jsonpatch[_0x1577('0x1f')](_0x3d9574,_0x41741c,!![]);}catch(_0x29ea78){return BPromise[_0x1577('0x20')](_0x29ea78);}return _0x3d9574[_0x1577('0x21')]();};}function saveUpdates(_0x224053,_0xa84dd3){return function(_0x2e58a1){if(_0x2e58a1){return _0x2e58a1[_0x1577('0x22')](_0x224053)[_0x1577('0x23')](function(_0x19bcb3){return _0x19bcb3;});}return null;};}function removeEntity(_0x48eb4b,_0x181c51){return function(_0x28bad7){if(_0x28bad7){return _0x28bad7[_0x1577('0x24')]()[_0x1577('0x23')](function(){_0x48eb4b[_0x1577('0x18')](0xcc)[_0x1577('0x19')]();});}};}function handleEntityNotFound(_0xe438f1,_0x5f0d79){return function(_0x4a4d14){if(!_0x4a4d14){_0xe438f1[_0x1577('0x17')](0x194);}return _0x4a4d14;};}function handleError(_0x433a1e,_0x39340e){_0x39340e=_0x39340e||0x1f4;return function(_0x373142){logger[_0x1577('0x25')](_0x373142['stack']);if(_0x373142['name']){delete _0x373142[_0x1577('0x26')];}_0x433a1e[_0x1577('0x18')](_0x39340e)[_0x1577('0x27')](_0x373142);};}exports[_0x1577('0x28')]=function(_0x3c4e68,_0x2a3928){var _0x5d527f={},_0x45e109={},_0x34da60={'count':0x0,'rows':[]};var _0x3560ff=_[_0x1577('0x29')](db[_0x1577('0x2a')][_0x1577('0x2b')],function(_0x1e0b12){return{'name':_0x1e0b12[_0x1577('0x2c')],'type':_0x1e0b12[_0x1577('0x2d')][_0x1577('0x2e')]};});_0x45e109[_0x1577('0x2f')]=_[_0x1577('0x29')](_0x3560ff,_0x1577('0x26'));_0x45e109[_0x1577('0x30')]=_[_0x1577('0x31')](_0x3c4e68[_0x1577('0x30')]);_0x45e109['filters']=_[_0x1577('0x32')](_0x45e109[_0x1577('0x2f')],_0x45e109['query']);_0x5d527f[_0x1577('0x33')]=_[_0x1577('0x32')](_0x45e109[_0x1577('0x2f')],qs[_0x1577('0x34')](_0x3c4e68[_0x1577('0x30')][_0x1577('0x34')]));_0x5d527f[_0x1577('0x33')]=_0x5d527f[_0x1577('0x33')]['length']?_0x5d527f[_0x1577('0x33')]:_0x45e109[_0x1577('0x2f')];if(!_0x3c4e68[_0x1577('0x30')][_0x1577('0x35')](_0x1577('0x36'))){_0x5d527f[_0x1577('0x1b')]=qs[_0x1577('0x1b')](_0x3c4e68[_0x1577('0x30')][_0x1577('0x1b')]);_0x5d527f[_0x1577('0x1a')]=qs[_0x1577('0x1a')](_0x3c4e68[_0x1577('0x30')][_0x1577('0x1a')]);}_0x5d527f[_0x1577('0x37')]=qs[_0x1577('0x38')](_0x3c4e68[_0x1577('0x30')][_0x1577('0x38')]);_0x5d527f[_0x1577('0x39')]=qs['filters'](_['pick'](_0x3c4e68[_0x1577('0x30')],_0x45e109[_0x1577('0x3a')]),_0x3560ff);if(_0x3c4e68[_0x1577('0x30')][_0x1577('0x3b')]){_0x5d527f['where']=_[_0x1577('0x3c')](_0x5d527f['where'],{'$or':_[_0x1577('0x29')](_0x3560ff,function(_0xed41c8){if(_0xed41c8[_0x1577('0x2d')]!=='VIRTUAL'){var _0x3322df={};_0x3322df[_0xed41c8[_0x1577('0x26')]]={'$like':'%'+_0x3c4e68[_0x1577('0x30')][_0x1577('0x3b')]+'%'};return _0x3322df;}})});}_0x5d527f=_['merge']({},_0x5d527f,_0x3c4e68['options']);var _0x41da7c={'where':_0x5d527f[_0x1577('0x39')]};return db[_0x1577('0x2a')][_0x1577('0x1d')](_0x41da7c)[_0x1577('0x23')](function(_0x1f5eef){_0x34da60[_0x1577('0x1d')]=_0x1f5eef;if(_0x3c4e68[_0x1577('0x30')][_0x1577('0x3d')]){_0x5d527f['include']=[{'all':!![]}];}return db[_0x1577('0x2a')][_0x1577('0x3e')](_0x5d527f);})[_0x1577('0x23')](function(_0x56bb07){_0x34da60['rows']=_0x56bb07;return _0x34da60;})[_0x1577('0x23')](respondWithFilteredResult(_0x2a3928,_0x5d527f))[_0x1577('0x3f')](handleError(_0x2a3928,null));};exports[_0x1577('0x40')]=function(_0x3822ad,_0x4c45cf){var _0x5db10e={'raw':![],'where':{'id':_0x3822ad[_0x1577('0x41')]['id']}},_0x4e3c64={};_0x4e3c64[_0x1577('0x2f')]=_[_0x1577('0x31')](db[_0x1577('0x2a')]['rawAttributes']);_0x4e3c64['query']=_[_0x1577('0x31')](_0x3822ad[_0x1577('0x30')]);_0x4e3c64['filters']=_[_0x1577('0x32')](_0x4e3c64[_0x1577('0x2f')],_0x4e3c64[_0x1577('0x30')]);_0x5db10e[_0x1577('0x33')]=_['intersection'](_0x4e3c64['model'],qs[_0x1577('0x34')](_0x3822ad[_0x1577('0x30')][_0x1577('0x34')]));_0x5db10e['attributes']=_0x5db10e[_0x1577('0x33')][_0x1577('0x42')]?_0x5db10e[_0x1577('0x33')]:_0x4e3c64[_0x1577('0x2f')];if(_0x3822ad['query'][_0x1577('0x3d')]){_0x5db10e[_0x1577('0x43')]=[{'all':!![]}];}_0x5db10e=_[_0x1577('0x3c')]({},_0x5db10e,_0x3822ad[_0x1577('0x44')]);return db[_0x1577('0x2a')][_0x1577('0x45')](_0x5db10e)[_0x1577('0x23')](handleEntityNotFound(_0x4c45cf,null))[_0x1577('0x23')](respondWithResult(_0x4c45cf,null))[_0x1577('0x3f')](handleError(_0x4c45cf,null));};exports[_0x1577('0x46')]=function(_0x1c29d3,_0x4b7b22){return db[_0x1577('0x2a')][_0x1577('0x46')](_0x1c29d3[_0x1577('0x47')],{})['then'](respondWithResult(_0x4b7b22,0xc9))[_0x1577('0x3f')](handleError(_0x4b7b22,null));};exports[_0x1577('0x22')]=function(_0x1b5684,_0x9df56){if(_0x1b5684['body']['id']){delete _0x1b5684[_0x1577('0x47')]['id'];}return db[_0x1577('0x2a')][_0x1577('0x45')]({'where':{'id':_0x1b5684[_0x1577('0x41')]['id']}})[_0x1577('0x23')](handleEntityNotFound(_0x9df56,null))['then'](saveUpdates(_0x1b5684[_0x1577('0x47')],null))['then'](respondWithResult(_0x9df56,null))['catch'](handleError(_0x9df56,null));};exports[_0x1577('0x24')]=function(_0x2da363,_0x40dc10){return db[_0x1577('0x2a')][_0x1577('0x45')]({'where':{'id':_0x2da363[_0x1577('0x41')]['id']}})[_0x1577('0x23')](handleEntityNotFound(_0x40dc10,null))['then'](removeEntity(_0x40dc10,null))[_0x1577('0x3f')](handleError(_0x40dc10,null));};exports['describe']=function(_0x2ec784,_0x17f2ae){return db[_0x1577('0x2a')][_0x1577('0x48')]()[_0x1577('0x23')](respondWithResult(_0x17f2ae,null))[_0x1577('0x3f')](handleError(_0x17f2ae,null));};