553740c18d63a648d62a3dc5ec0200c9a00a5031
[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 _0x5806=['model','attributes','intersection','fields','hasOwnProperty','nolimit','order','sort','where','filter','merge','VIRTUAL','options','count','includeAll','include','findAll','show','params','length','catch','create','body','find','destroy','describe','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','to-csv','ejs','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','sendStatus','status','end','offset','limit','set','json','reject','save','update','then','error','stack','name','send','index','map','IntegrationReport','rawAttributes','fieldName','type','key','query','keys','filters'];(function(_0x371ac2,_0xc5961c){var _0x37d93d=function(_0x26b927){while(--_0x26b927){_0x371ac2['push'](_0x371ac2['shift']());}};_0x37d93d(++_0xc5961c);}(_0x5806,0x187));var _0x6580=function(_0x2850c0,_0x1363a7){_0x2850c0=_0x2850c0-0x0;var _0x21e830=_0x5806[_0x2850c0];return _0x21e830;};'use strict';var pdf=require(_0x6580('0x0'));var emlformat=require(_0x6580('0x1'));var rimraf=require(_0x6580('0x2'));var zipdir=require(_0x6580('0x3'));var jsonpatch=require(_0x6580('0x4'));var rp=require('request-promise');var moment=require(_0x6580('0x5'));var BPromise=require(_0x6580('0x6'));var Mustache=require(_0x6580('0x7'));var util=require(_0x6580('0x8'));var path=require('path');var sox=require('sox');var csv=require(_0x6580('0x9'));var ejs=require(_0x6580('0xa'));var fs=require('fs');var _=require('lodash');var squel=require(_0x6580('0xb'));var crypto=require(_0x6580('0xc'));var jsforce=require(_0x6580('0xd'));var deskjs=require(_0x6580('0xe'));var toCsv=require(_0x6580('0x9'));var querystring=require('querystring');var Papa=require(_0x6580('0xf'));var Redis=require(_0x6580('0x10'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x6580('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x6580('0x12'))(_0x6580('0x13'));var utils=require(_0x6580('0x14'));var config=require(_0x6580('0x15'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x4d07f7,_0xbdc726){_0xbdc726=_0xbdc726||0xcc;return function(_0x35d9ec){if(_0x35d9ec){return _0x4d07f7[_0x6580('0x16')](_0xbdc726);}return _0x4d07f7[_0x6580('0x17')](_0xbdc726)[_0x6580('0x18')]();};}function respondWithResult(_0x4440cb,_0x16a2c5){_0x16a2c5=_0x16a2c5||0xc8;return function(_0x145e86){if(_0x145e86){return _0x4440cb[_0x6580('0x17')](_0x16a2c5)['json'](_0x145e86);}};}function respondWithFilteredResult(_0x491809,_0x521cfd){return function(_0x4e18c5){if(_0x4e18c5){var _0x1def1d=_0x4e18c5['count'],_0xd0a2b7=_0x521cfd[_0x6580('0x19')],_0x5f073b=_0x521cfd[_0x6580('0x19')]+_0x521cfd[_0x6580('0x1a')],_0x394402;if(_0x5f073b>=_0x1def1d){_0x5f073b=_0x1def1d;_0x394402=0xc8;}else{_0x394402=0xce;}_0x491809['status'](_0x394402);return _0x491809[_0x6580('0x1b')]('Content-Range',_0xd0a2b7+'-'+_0x5f073b+'/'+_0x1def1d)[_0x6580('0x1c')](_0x4e18c5);}return null;};}function patchUpdates(_0x41a689){return function(_0x184d61){try{jsonpatch['apply'](_0x184d61,_0x41a689,!![]);}catch(_0xe90498){return BPromise[_0x6580('0x1d')](_0xe90498);}return _0x184d61[_0x6580('0x1e')]();};}function saveUpdates(_0x198012,_0x343ba4){return function(_0x132b72){if(_0x132b72){return _0x132b72[_0x6580('0x1f')](_0x198012)['then'](function(_0x476584){return _0x476584;});}return null;};}function removeEntity(_0x4f0387,_0x260fe8){return function(_0x1bcd5a){if(_0x1bcd5a){return _0x1bcd5a['destroy']()[_0x6580('0x20')](function(){_0x4f0387[_0x6580('0x17')](0xcc)['end']();});}};}function handleEntityNotFound(_0x412845,_0x2f1937){return function(_0x4f00ae){if(!_0x4f00ae){_0x412845[_0x6580('0x16')](0x194);}return _0x4f00ae;};}function handleError(_0x2d6091,_0x11fa33){_0x11fa33=_0x11fa33||0x1f4;return function(_0x56c28d){logger[_0x6580('0x21')](_0x56c28d[_0x6580('0x22')]);if(_0x56c28d[_0x6580('0x23')]){delete _0x56c28d[_0x6580('0x23')];}_0x2d6091[_0x6580('0x17')](_0x11fa33)[_0x6580('0x24')](_0x56c28d);};}exports[_0x6580('0x25')]=function(_0x20fd19,_0x5b3ab2){var _0x481b2c={},_0x2509a6={},_0xdac12e={'count':0x0,'rows':[]};var _0x5aee14=_[_0x6580('0x26')](db[_0x6580('0x27')][_0x6580('0x28')],function(_0x38b08a){return{'name':_0x38b08a[_0x6580('0x29')],'type':_0x38b08a[_0x6580('0x2a')][_0x6580('0x2b')]};});_0x2509a6['model']=_[_0x6580('0x26')](_0x5aee14,_0x6580('0x23'));_0x2509a6[_0x6580('0x2c')]=_[_0x6580('0x2d')](_0x20fd19['query']);_0x2509a6[_0x6580('0x2e')]=_['intersection'](_0x2509a6[_0x6580('0x2f')],_0x2509a6[_0x6580('0x2c')]);_0x481b2c[_0x6580('0x30')]=_[_0x6580('0x31')](_0x2509a6[_0x6580('0x2f')],qs[_0x6580('0x32')](_0x20fd19[_0x6580('0x2c')]['fields']));_0x481b2c[_0x6580('0x30')]=_0x481b2c[_0x6580('0x30')]['length']?_0x481b2c[_0x6580('0x30')]:_0x2509a6[_0x6580('0x2f')];if(!_0x20fd19[_0x6580('0x2c')][_0x6580('0x33')](_0x6580('0x34'))){_0x481b2c[_0x6580('0x1a')]=qs['limit'](_0x20fd19[_0x6580('0x2c')][_0x6580('0x1a')]);_0x481b2c['offset']=qs['offset'](_0x20fd19[_0x6580('0x2c')][_0x6580('0x19')]);}_0x481b2c[_0x6580('0x35')]=qs[_0x6580('0x36')](_0x20fd19['query'][_0x6580('0x36')]);_0x481b2c[_0x6580('0x37')]=qs[_0x6580('0x2e')](_['pick'](_0x20fd19[_0x6580('0x2c')],_0x2509a6['filters']),_0x5aee14);if(_0x20fd19['query'][_0x6580('0x38')]){_0x481b2c[_0x6580('0x37')]=_[_0x6580('0x39')](_0x481b2c['where'],{'$or':_[_0x6580('0x26')](_0x5aee14,function(_0xe207e5){if(_0xe207e5[_0x6580('0x2a')]!==_0x6580('0x3a')){var _0x1373ac={};_0x1373ac[_0xe207e5['name']]={'$like':'%'+_0x20fd19['query'][_0x6580('0x38')]+'%'};return _0x1373ac;}})});}_0x481b2c=_['merge']({},_0x481b2c,_0x20fd19[_0x6580('0x3b')]);var _0x46828d={'where':_0x481b2c['where']};return db[_0x6580('0x27')][_0x6580('0x3c')](_0x46828d)[_0x6580('0x20')](function(_0x4749ec){_0xdac12e[_0x6580('0x3c')]=_0x4749ec;if(_0x20fd19[_0x6580('0x2c')][_0x6580('0x3d')]){_0x481b2c[_0x6580('0x3e')]=[{'all':!![]}];}return db[_0x6580('0x27')][_0x6580('0x3f')](_0x481b2c);})['then'](function(_0x33aa06){_0xdac12e['rows']=_0x33aa06;return _0xdac12e;})[_0x6580('0x20')](respondWithFilteredResult(_0x5b3ab2,_0x481b2c))['catch'](handleError(_0x5b3ab2,null));};exports[_0x6580('0x40')]=function(_0x34a549,_0x241b22){var _0x16a440={'raw':![],'where':{'id':_0x34a549[_0x6580('0x41')]['id']}},_0x5174da={};_0x5174da[_0x6580('0x2f')]=_['keys'](db[_0x6580('0x27')][_0x6580('0x28')]);_0x5174da[_0x6580('0x2c')]=_['keys'](_0x34a549[_0x6580('0x2c')]);_0x5174da[_0x6580('0x2e')]=_[_0x6580('0x31')](_0x5174da[_0x6580('0x2f')],_0x5174da[_0x6580('0x2c')]);_0x16a440[_0x6580('0x30')]=_[_0x6580('0x31')](_0x5174da['model'],qs[_0x6580('0x32')](_0x34a549['query'][_0x6580('0x32')]));_0x16a440[_0x6580('0x30')]=_0x16a440[_0x6580('0x30')][_0x6580('0x42')]?_0x16a440[_0x6580('0x30')]:_0x5174da[_0x6580('0x2f')];if(_0x34a549['query'][_0x6580('0x3d')]){_0x16a440['include']=[{'all':!![]}];}_0x16a440=_[_0x6580('0x39')]({},_0x16a440,_0x34a549[_0x6580('0x3b')]);return db[_0x6580('0x27')]['find'](_0x16a440)[_0x6580('0x20')](handleEntityNotFound(_0x241b22,null))[_0x6580('0x20')](respondWithResult(_0x241b22,null))[_0x6580('0x43')](handleError(_0x241b22,null));};exports[_0x6580('0x44')]=function(_0x25df06,_0x2950c3){return db[_0x6580('0x27')][_0x6580('0x44')](_0x25df06[_0x6580('0x45')],{})['then'](respondWithResult(_0x2950c3,0xc9))[_0x6580('0x43')](handleError(_0x2950c3,null));};exports[_0x6580('0x1f')]=function(_0x1aef4f,_0xff0654){if(_0x1aef4f[_0x6580('0x45')]['id']){delete _0x1aef4f[_0x6580('0x45')]['id'];}return db[_0x6580('0x27')][_0x6580('0x46')]({'where':{'id':_0x1aef4f[_0x6580('0x41')]['id']}})[_0x6580('0x20')](handleEntityNotFound(_0xff0654,null))[_0x6580('0x20')](saveUpdates(_0x1aef4f[_0x6580('0x45')],null))[_0x6580('0x20')](respondWithResult(_0xff0654,null))[_0x6580('0x43')](handleError(_0xff0654,null));};exports[_0x6580('0x47')]=function(_0x47d103,_0x49065e){return db[_0x6580('0x27')]['find']({'where':{'id':_0x47d103[_0x6580('0x41')]['id']}})['then'](handleEntityNotFound(_0x49065e,null))[_0x6580('0x20')](removeEntity(_0x49065e,null))['catch'](handleError(_0x49065e,null));};exports[_0x6580('0x48')]=function(_0x1aa473,_0x95c379){return db[_0x6580('0x27')][_0x6580('0x48')]()[_0x6580('0x20')](respondWithResult(_0x95c379,null))[_0x6580('0x43')](handleError(_0x95c379,null));};