Built motion from commit 9b156c94.|2.6.22
[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 _0x9d39=['map','keys','query','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','sort','where','filters','merge','VIRTUAL','filter','options','then','includeAll','include','findAll','rows','show','params','find','create','body','update','catch','describe','eml-format','rimraf','request-promise','mustache','util','sox','ejs','fs-extra','lodash','squel','crypto','desk.js','to-csv','querystring','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','reject','save','destroy','error','stack','name','send','index','IntegrationReport','rawAttributes','fieldName','type','key'];(function(_0x199572,_0x33e667){var _0x13cfa3=function(_0x53c075){while(--_0x53c075){_0x199572['push'](_0x199572['shift']());}};_0x13cfa3(++_0x33e667);}(_0x9d39,0xff));var _0x99d3=function(_0x2641f9,_0x26715f){_0x2641f9=_0x2641f9-0x0;var _0x585741=_0x9d39[_0x2641f9];return _0x585741;};'use strict';var emlformat=require(_0x99d3('0x0'));var rimraf=require(_0x99d3('0x1'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0x99d3('0x2'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x99d3('0x3'));var util=require(_0x99d3('0x4'));var path=require('path');var sox=require(_0x99d3('0x5'));var csv=require('to-csv');var ejs=require(_0x99d3('0x6'));var fs=require('fs');var fs_extra=require(_0x99d3('0x7'));var _=require(_0x99d3('0x8'));var squel=require(_0x99d3('0x9'));var crypto=require(_0x99d3('0xa'));var jsforce=require('jsforce');var deskjs=require(_0x99d3('0xb'));var toCsv=require(_0x99d3('0xc'));var querystring=require(_0x99d3('0xd'));var Papa=require('papaparse');var Redis=require(_0x99d3('0xe'));var authService=require(_0x99d3('0xf'));var qs=require('../../components/parsers/qs');var as=require(_0x99d3('0x10'));var hardwareService=require(_0x99d3('0x11'));var logger=require('../../config/logger')(_0x99d3('0x12'));var utils=require(_0x99d3('0x13'));var config=require('../../config/environment');var licenseUtil=require(_0x99d3('0x14'));var db=require(_0x99d3('0x15'))['db'];function respondWithStatusCode(_0x34ecea,_0x29c660){_0x29c660=_0x29c660||0xcc;return function(_0x28e3a4){if(_0x28e3a4){return _0x34ecea[_0x99d3('0x16')](_0x29c660);}return _0x34ecea[_0x99d3('0x17')](_0x29c660)[_0x99d3('0x18')]();};}function respondWithResult(_0x6a7805,_0x3370a3){_0x3370a3=_0x3370a3||0xc8;return function(_0x15afe6){if(_0x15afe6){return _0x6a7805[_0x99d3('0x17')](_0x3370a3)[_0x99d3('0x19')](_0x15afe6);}};}function respondWithFilteredResult(_0x364a1f,_0x434ecb){return function(_0x5c4bba){if(_0x5c4bba){var _0x4f8934=typeof _0x434ecb[_0x99d3('0x1a')]===_0x99d3('0x1b')&&typeof _0x434ecb[_0x99d3('0x1c')]===_0x99d3('0x1b');var _0x3195b9=_0x5c4bba[_0x99d3('0x1d')];var _0x449f50=_0x4f8934?0x0:_0x434ecb[_0x99d3('0x1a')];var _0x46d018=_0x4f8934?_0x5c4bba[_0x99d3('0x1d')]:_0x434ecb[_0x99d3('0x1a')]+_0x434ecb['limit'];var _0x8e87e6;if(_0x46d018>=_0x3195b9){_0x46d018=_0x3195b9;_0x8e87e6=0xc8;}else{_0x8e87e6=0xce;}_0x364a1f[_0x99d3('0x17')](_0x8e87e6);return _0x364a1f[_0x99d3('0x1e')](_0x99d3('0x1f'),_0x449f50+'-'+_0x46d018+'/'+_0x3195b9)['json'](_0x5c4bba);}return null;};}function patchUpdates(_0x1bad76){return function(_0x5311e6){try{jsonpatch['apply'](_0x5311e6,_0x1bad76,!![]);}catch(_0x3f4d71){return BPromise[_0x99d3('0x20')](_0x3f4d71);}return _0x5311e6[_0x99d3('0x21')]();};}function saveUpdates(_0x1464fc,_0x443c3e){return function(_0x445c5c){if(_0x445c5c){return _0x445c5c['update'](_0x1464fc)['then'](function(_0x177a1f){return _0x177a1f;});}return null;};}function removeEntity(_0x341b46,_0x573b89){return function(_0x21d157){if(_0x21d157){return _0x21d157[_0x99d3('0x22')]()['then'](function(){_0x341b46[_0x99d3('0x17')](0xcc)[_0x99d3('0x18')]();});}};}function handleEntityNotFound(_0x10ccc3,_0x298b2f){return function(_0x14bf59){if(!_0x14bf59){_0x10ccc3[_0x99d3('0x16')](0x194);}return _0x14bf59;};}function handleError(_0x5ac4a7,_0x24f74d){_0x24f74d=_0x24f74d||0x1f4;return function(_0x3d1576){logger[_0x99d3('0x23')](_0x3d1576[_0x99d3('0x24')]);if(_0x3d1576['name']){delete _0x3d1576[_0x99d3('0x25')];}_0x5ac4a7[_0x99d3('0x17')](_0x24f74d)[_0x99d3('0x26')](_0x3d1576);};}exports[_0x99d3('0x27')]=function(_0x49684b,_0x4227ac){var _0x3bed50={},_0x6b787b={},_0x2c28fb={'count':0x0,'rows':[]};var _0x337846=_['map'](db[_0x99d3('0x28')][_0x99d3('0x29')],function(_0x36c7b6){return{'name':_0x36c7b6[_0x99d3('0x2a')],'type':_0x36c7b6[_0x99d3('0x2b')][_0x99d3('0x2c')]};});_0x6b787b['model']=_[_0x99d3('0x2d')](_0x337846,'name');_0x6b787b['query']=_[_0x99d3('0x2e')](_0x49684b[_0x99d3('0x2f')]);_0x6b787b['filters']=_[_0x99d3('0x30')](_0x6b787b[_0x99d3('0x31')],_0x6b787b['query']);_0x3bed50[_0x99d3('0x32')]=_['intersection'](_0x6b787b['model'],qs[_0x99d3('0x33')](_0x49684b[_0x99d3('0x2f')][_0x99d3('0x33')]));_0x3bed50['attributes']=_0x3bed50[_0x99d3('0x32')][_0x99d3('0x34')]?_0x3bed50[_0x99d3('0x32')]:_0x6b787b[_0x99d3('0x31')];if(!_0x49684b['query'][_0x99d3('0x35')](_0x99d3('0x36'))){_0x3bed50[_0x99d3('0x1c')]=qs['limit'](_0x49684b[_0x99d3('0x2f')][_0x99d3('0x1c')]);_0x3bed50[_0x99d3('0x1a')]=qs[_0x99d3('0x1a')](_0x49684b[_0x99d3('0x2f')][_0x99d3('0x1a')]);}_0x3bed50['order']=qs[_0x99d3('0x37')](_0x49684b[_0x99d3('0x2f')][_0x99d3('0x37')]);_0x3bed50[_0x99d3('0x38')]=qs[_0x99d3('0x39')](_['pick'](_0x49684b[_0x99d3('0x2f')],_0x6b787b[_0x99d3('0x39')]),_0x337846);if(_0x49684b[_0x99d3('0x2f')]['filter']){_0x3bed50[_0x99d3('0x38')]=_[_0x99d3('0x3a')](_0x3bed50[_0x99d3('0x38')],{'$or':_[_0x99d3('0x2d')](_0x337846,function(_0x3b1363){if(_0x3b1363[_0x99d3('0x2b')]!==_0x99d3('0x3b')){var _0xd7cb19={};_0xd7cb19[_0x3b1363[_0x99d3('0x25')]]={'$like':'%'+_0x49684b['query'][_0x99d3('0x3c')]+'%'};return _0xd7cb19;}})});}_0x3bed50=_[_0x99d3('0x3a')]({},_0x3bed50,_0x49684b[_0x99d3('0x3d')]);var _0xb19646={'where':_0x3bed50[_0x99d3('0x38')]};return db['IntegrationReport']['count'](_0xb19646)[_0x99d3('0x3e')](function(_0x4b5fde){_0x2c28fb[_0x99d3('0x1d')]=_0x4b5fde;if(_0x49684b[_0x99d3('0x2f')][_0x99d3('0x3f')]){_0x3bed50[_0x99d3('0x40')]=[{'all':!![]}];}return db[_0x99d3('0x28')][_0x99d3('0x41')](_0x3bed50);})['then'](function(_0x1d21a4){_0x2c28fb[_0x99d3('0x42')]=_0x1d21a4;return _0x2c28fb;})[_0x99d3('0x3e')](respondWithFilteredResult(_0x4227ac,_0x3bed50))['catch'](handleError(_0x4227ac,null));};exports[_0x99d3('0x43')]=function(_0x279490,_0x3e3673){var _0x335004={'raw':![],'where':{'id':_0x279490[_0x99d3('0x44')]['id']}},_0x36d4ff={};_0x36d4ff[_0x99d3('0x31')]=_['keys'](db[_0x99d3('0x28')]['rawAttributes']);_0x36d4ff[_0x99d3('0x2f')]=_[_0x99d3('0x2e')](_0x279490['query']);_0x36d4ff[_0x99d3('0x39')]=_[_0x99d3('0x30')](_0x36d4ff[_0x99d3('0x31')],_0x36d4ff[_0x99d3('0x2f')]);_0x335004['attributes']=_[_0x99d3('0x30')](_0x36d4ff[_0x99d3('0x31')],qs[_0x99d3('0x33')](_0x279490[_0x99d3('0x2f')][_0x99d3('0x33')]));_0x335004[_0x99d3('0x32')]=_0x335004['attributes'][_0x99d3('0x34')]?_0x335004[_0x99d3('0x32')]:_0x36d4ff[_0x99d3('0x31')];if(_0x279490['query'][_0x99d3('0x3f')]){_0x335004['include']=[{'all':!![]}];}_0x335004=_[_0x99d3('0x3a')]({},_0x335004,_0x279490[_0x99d3('0x3d')]);return db['IntegrationReport'][_0x99d3('0x45')](_0x335004)['then'](handleEntityNotFound(_0x3e3673,null))[_0x99d3('0x3e')](respondWithResult(_0x3e3673,null))['catch'](handleError(_0x3e3673,null));};exports[_0x99d3('0x46')]=function(_0x34d98f,_0x4680f5){return db[_0x99d3('0x28')][_0x99d3('0x46')](_0x34d98f[_0x99d3('0x47')],{})[_0x99d3('0x3e')](respondWithResult(_0x4680f5,0xc9))['catch'](handleError(_0x4680f5,null));};exports[_0x99d3('0x48')]=function(_0xf3cfd1,_0x26638a){if(_0xf3cfd1['body']['id']){delete _0xf3cfd1[_0x99d3('0x47')]['id'];}return db[_0x99d3('0x28')][_0x99d3('0x45')]({'where':{'id':_0xf3cfd1[_0x99d3('0x44')]['id']}})[_0x99d3('0x3e')](handleEntityNotFound(_0x26638a,null))['then'](saveUpdates(_0xf3cfd1[_0x99d3('0x47')],null))['then'](respondWithResult(_0x26638a,null))['catch'](handleError(_0x26638a,null));};exports[_0x99d3('0x22')]=function(_0x1a081f,_0x141933){return db[_0x99d3('0x28')][_0x99d3('0x45')]({'where':{'id':_0x1a081f[_0x99d3('0x44')]['id']}})[_0x99d3('0x3e')](handleEntityNotFound(_0x141933,null))[_0x99d3('0x3e')](removeEntity(_0x141933,null))[_0x99d3('0x49')](handleError(_0x141933,null));};exports[_0x99d3('0x4a')]=function(_0x9ef7e1,_0x5af9d8){return db[_0x99d3('0x28')][_0x99d3('0x4a')]()[_0x99d3('0x3e')](respondWithResult(_0x5af9d8,null))[_0x99d3('0x49')](handleError(_0x5af9d8,null));};