7cb0ad1fa147d6f8ca6f88eae15e7b44e9f9f013
[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 _0x2e5e=['merge','where','VIRTUAL','options','includeAll','include','findAll','rows','show','catch','create','update','body','params','describe','html-pdf','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','ejs','lodash','crypto','desk.js','to-csv','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','end','json','count','offset','status','set','Content-Range','apply','reject','save','then','destroy','error','stack','name','send','index','map','IntegrationReport','rawAttributes','type','key','model','query','keys','intersection','attributes','fields','length','hasOwnProperty','nolimit','limit','order','filters','pick','filter'];(function(_0x40bc6f,_0x5b4dee){var _0x2b1c48=function(_0x494c4b){while(--_0x494c4b){_0x40bc6f['push'](_0x40bc6f['shift']());}};_0x2b1c48(++_0x5b4dee);}(_0x2e5e,0xea));var _0xe2e5=function(_0x20303d,_0x6892c2){_0x20303d=_0x20303d-0x0;var _0x47f89c=_0x2e5e[_0x20303d];return _0x47f89c;};'use strict';var pdf=require(_0xe2e5('0x0'));var emlformat=require(_0xe2e5('0x1'));var rimraf=require('rimraf');var zipdir=require(_0xe2e5('0x2'));var jsonpatch=require(_0xe2e5('0x3'));var rp=require(_0xe2e5('0x4'));var moment=require(_0xe2e5('0x5'));var BPromise=require(_0xe2e5('0x6'));var Mustache=require(_0xe2e5('0x7'));var util=require('util');var path=require(_0xe2e5('0x8'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0xe2e5('0x9'));var fs=require('fs');var _=require(_0xe2e5('0xa'));var squel=require('squel');var crypto=require(_0xe2e5('0xb'));var jsforce=require('jsforce');var deskjs=require(_0xe2e5('0xc'));var toCsv=require(_0xe2e5('0xd'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0xe2e5('0xe'));var qs=require('../../components/parsers/qs');var as=require(_0xe2e5('0xf'));var hardwareService=require(_0xe2e5('0x10'));var logger=require(_0xe2e5('0x11'))('api');var utils=require(_0xe2e5('0x12'));var config=require('../../config/environment');var licenseUtil=require(_0xe2e5('0x13'));var db=require(_0xe2e5('0x14'))['db'];function respondWithStatusCode(_0xb51708,_0x32dc0f){_0x32dc0f=_0x32dc0f||0xcc;return function(_0x27f337){if(_0x27f337){return _0xb51708[_0xe2e5('0x15')](_0x32dc0f);}return _0xb51708['status'](_0x32dc0f)[_0xe2e5('0x16')]();};}function respondWithResult(_0x133a90,_0x5ae3ef){_0x5ae3ef=_0x5ae3ef||0xc8;return function(_0x59d245){if(_0x59d245){return _0x133a90['status'](_0x5ae3ef)[_0xe2e5('0x17')](_0x59d245);}};}function respondWithFilteredResult(_0x24553d,_0x51ee87){return function(_0x11a721){if(_0x11a721){var _0xeeb86d=_0x11a721[_0xe2e5('0x18')],_0x5a0966=_0x51ee87[_0xe2e5('0x19')],_0x1d0305=_0x51ee87[_0xe2e5('0x19')]+_0x51ee87['limit'],_0x659fd7;if(_0x1d0305>=_0xeeb86d){_0x1d0305=_0xeeb86d;_0x659fd7=0xc8;}else{_0x659fd7=0xce;}_0x24553d[_0xe2e5('0x1a')](_0x659fd7);return _0x24553d[_0xe2e5('0x1b')](_0xe2e5('0x1c'),_0x5a0966+'-'+_0x1d0305+'/'+_0xeeb86d)[_0xe2e5('0x17')](_0x11a721);}return null;};}function patchUpdates(_0x34627b){return function(_0x50b138){try{jsonpatch[_0xe2e5('0x1d')](_0x50b138,_0x34627b,!![]);}catch(_0x393b73){return BPromise[_0xe2e5('0x1e')](_0x393b73);}return _0x50b138[_0xe2e5('0x1f')]();};}function saveUpdates(_0x38ecc5,_0x5a802b){return function(_0x35cdf5){if(_0x35cdf5){return _0x35cdf5['update'](_0x38ecc5)[_0xe2e5('0x20')](function(_0x36a4f8){return _0x36a4f8;});}return null;};}function removeEntity(_0x570951,_0x4ec547){return function(_0xbed472){if(_0xbed472){return _0xbed472[_0xe2e5('0x21')]()['then'](function(){_0x570951[_0xe2e5('0x1a')](0xcc)['end']();});}};}function handleEntityNotFound(_0x2f3ddc,_0x1b35c7){return function(_0x15cf3c){if(!_0x15cf3c){_0x2f3ddc[_0xe2e5('0x15')](0x194);}return _0x15cf3c;};}function handleError(_0x3f4a18,_0x4e09d8){_0x4e09d8=_0x4e09d8||0x1f4;return function(_0x25cf25){logger[_0xe2e5('0x22')](_0x25cf25[_0xe2e5('0x23')]);if(_0x25cf25[_0xe2e5('0x24')]){delete _0x25cf25[_0xe2e5('0x24')];}_0x3f4a18[_0xe2e5('0x1a')](_0x4e09d8)[_0xe2e5('0x25')](_0x25cf25);};}exports[_0xe2e5('0x26')]=function(_0x5070c5,_0x54c744){var _0x6cad54={},_0x35d285={},_0x45c7ac={'count':0x0,'rows':[]};var _0x8dba5e=_[_0xe2e5('0x27')](db[_0xe2e5('0x28')][_0xe2e5('0x29')],function(_0x5c309b){return{'name':_0x5c309b['fieldName'],'type':_0x5c309b[_0xe2e5('0x2a')][_0xe2e5('0x2b')]};});_0x35d285[_0xe2e5('0x2c')]=_[_0xe2e5('0x27')](_0x8dba5e,_0xe2e5('0x24'));_0x35d285[_0xe2e5('0x2d')]=_[_0xe2e5('0x2e')](_0x5070c5[_0xe2e5('0x2d')]);_0x35d285['filters']=_[_0xe2e5('0x2f')](_0x35d285[_0xe2e5('0x2c')],_0x35d285['query']);_0x6cad54[_0xe2e5('0x30')]=_['intersection'](_0x35d285['model'],qs[_0xe2e5('0x31')](_0x5070c5[_0xe2e5('0x2d')][_0xe2e5('0x31')]));_0x6cad54[_0xe2e5('0x30')]=_0x6cad54[_0xe2e5('0x30')][_0xe2e5('0x32')]?_0x6cad54['attributes']:_0x35d285[_0xe2e5('0x2c')];if(!_0x5070c5['query'][_0xe2e5('0x33')](_0xe2e5('0x34'))){_0x6cad54[_0xe2e5('0x35')]=qs['limit'](_0x5070c5[_0xe2e5('0x2d')][_0xe2e5('0x35')]);_0x6cad54[_0xe2e5('0x19')]=qs[_0xe2e5('0x19')](_0x5070c5['query'][_0xe2e5('0x19')]);}_0x6cad54[_0xe2e5('0x36')]=qs['sort'](_0x5070c5[_0xe2e5('0x2d')]['sort']);_0x6cad54['where']=qs[_0xe2e5('0x37')](_[_0xe2e5('0x38')](_0x5070c5[_0xe2e5('0x2d')],_0x35d285['filters']),_0x8dba5e);if(_0x5070c5[_0xe2e5('0x2d')][_0xe2e5('0x39')]){_0x6cad54['where']=_[_0xe2e5('0x3a')](_0x6cad54[_0xe2e5('0x3b')],{'$or':_[_0xe2e5('0x27')](_0x8dba5e,function(_0x599829){if(_0x599829['type']!==_0xe2e5('0x3c')){var _0x480adf={};_0x480adf[_0x599829[_0xe2e5('0x24')]]={'$like':'%'+_0x5070c5[_0xe2e5('0x2d')]['filter']+'%'};return _0x480adf;}})});}_0x6cad54=_['merge']({},_0x6cad54,_0x5070c5[_0xe2e5('0x3d')]);var _0x50a0fc={'where':_0x6cad54['where']};return db['IntegrationReport'][_0xe2e5('0x18')](_0x50a0fc)[_0xe2e5('0x20')](function(_0x5df938){_0x45c7ac[_0xe2e5('0x18')]=_0x5df938;if(_0x5070c5[_0xe2e5('0x2d')][_0xe2e5('0x3e')]){_0x6cad54[_0xe2e5('0x3f')]=[{'all':!![]}];}return db[_0xe2e5('0x28')][_0xe2e5('0x40')](_0x6cad54);})[_0xe2e5('0x20')](function(_0x59acf5){_0x45c7ac[_0xe2e5('0x41')]=_0x59acf5;return _0x45c7ac;})[_0xe2e5('0x20')](respondWithFilteredResult(_0x54c744,_0x6cad54))['catch'](handleError(_0x54c744,null));};exports[_0xe2e5('0x42')]=function(_0x2201d9,_0x4e74c7){var _0x7a99b9={'raw':![],'where':{'id':_0x2201d9['params']['id']}},_0xac3a26={};_0xac3a26[_0xe2e5('0x2c')]=_[_0xe2e5('0x2e')](db[_0xe2e5('0x28')][_0xe2e5('0x29')]);_0xac3a26[_0xe2e5('0x2d')]=_['keys'](_0x2201d9[_0xe2e5('0x2d')]);_0xac3a26[_0xe2e5('0x37')]=_[_0xe2e5('0x2f')](_0xac3a26[_0xe2e5('0x2c')],_0xac3a26[_0xe2e5('0x2d')]);_0x7a99b9[_0xe2e5('0x30')]=_[_0xe2e5('0x2f')](_0xac3a26[_0xe2e5('0x2c')],qs[_0xe2e5('0x31')](_0x2201d9[_0xe2e5('0x2d')][_0xe2e5('0x31')]));_0x7a99b9[_0xe2e5('0x30')]=_0x7a99b9[_0xe2e5('0x30')][_0xe2e5('0x32')]?_0x7a99b9[_0xe2e5('0x30')]:_0xac3a26[_0xe2e5('0x2c')];if(_0x2201d9['query'][_0xe2e5('0x3e')]){_0x7a99b9[_0xe2e5('0x3f')]=[{'all':!![]}];}_0x7a99b9=_['merge']({},_0x7a99b9,_0x2201d9[_0xe2e5('0x3d')]);return db[_0xe2e5('0x28')]['find'](_0x7a99b9)[_0xe2e5('0x20')](handleEntityNotFound(_0x4e74c7,null))[_0xe2e5('0x20')](respondWithResult(_0x4e74c7,null))[_0xe2e5('0x43')](handleError(_0x4e74c7,null));};exports[_0xe2e5('0x44')]=function(_0x5496b3,_0x4004af){return db[_0xe2e5('0x28')][_0xe2e5('0x44')](_0x5496b3['body'],{})[_0xe2e5('0x20')](respondWithResult(_0x4004af,0xc9))[_0xe2e5('0x43')](handleError(_0x4004af,null));};exports[_0xe2e5('0x45')]=function(_0x20d48a,_0x233067){if(_0x20d48a[_0xe2e5('0x46')]['id']){delete _0x20d48a[_0xe2e5('0x46')]['id'];}return db[_0xe2e5('0x28')]['find']({'where':{'id':_0x20d48a[_0xe2e5('0x47')]['id']}})[_0xe2e5('0x20')](handleEntityNotFound(_0x233067,null))['then'](saveUpdates(_0x20d48a[_0xe2e5('0x46')],null))[_0xe2e5('0x20')](respondWithResult(_0x233067,null))['catch'](handleError(_0x233067,null));};exports[_0xe2e5('0x21')]=function(_0xdb232b,_0x5cb9fa){return db[_0xe2e5('0x28')]['find']({'where':{'id':_0xdb232b[_0xe2e5('0x47')]['id']}})[_0xe2e5('0x20')](handleEntityNotFound(_0x5cb9fa,null))[_0xe2e5('0x20')](removeEntity(_0x5cb9fa,null))[_0xe2e5('0x43')](handleError(_0x5cb9fa,null));};exports[_0xe2e5('0x48')]=function(_0x1b1053,_0x2c3709){return db['IntegrationReport'][_0xe2e5('0x48')]()[_0xe2e5('0x20')](respondWithResult(_0x2c3709,null))['catch'](handleError(_0x2c3709,null));};