739e770d608cb5440230a4a4689dd5e7b4773b8a
[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 _0xb8de=['undefined','limit','count','set','Content-Range','apply','save','update','error','stack','name','send','index','map','IntegrationReport','rawAttributes','type','key','intersection','model','query','fields','attributes','hasOwnProperty','nolimit','sort','where','pick','filters','filter','merge','options','includeAll','include','then','params','keys','length','create','body','catch','find','describe','zip-dir','fast-json-patch','request-promise','moment','bluebird','sox','to-csv','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../mysqldb','status','end','json','offset'];(function(_0x1d87fc,_0x1e5321){var _0x492b56=function(_0x4c6b16){while(--_0x4c6b16){_0x1d87fc['push'](_0x1d87fc['shift']());}};_0x492b56(++_0x1e5321);}(_0xb8de,0x1cf));var _0xeb8d=function(_0x1a1a79,_0x35116c){_0x1a1a79=_0x1a1a79-0x0;var _0x42c72a=_0xb8de[_0x1a1a79];return _0x42c72a;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0xeb8d('0x0'));var jsonpatch=require(_0xeb8d('0x1'));var rp=require(_0xeb8d('0x2'));var moment=require(_0xeb8d('0x3'));var BPromise=require(_0xeb8d('0x4'));var Mustache=require('mustache');var util=require('util');var path=require('path');var sox=require(_0xeb8d('0x5'));var csv=require(_0xeb8d('0x6'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xeb8d('0x7'));var _=require(_0xeb8d('0x8'));var squel=require(_0xeb8d('0x9'));var crypto=require(_0xeb8d('0xa'));var jsforce=require(_0xeb8d('0xb'));var deskjs=require(_0xeb8d('0xc'));var toCsv=require(_0xeb8d('0x6'));var querystring=require(_0xeb8d('0xd'));var Papa=require(_0xeb8d('0xe'));var Redis=require(_0xeb8d('0xf'));var authService=require(_0xeb8d('0x10'));var qs=require(_0xeb8d('0x11'));var as=require(_0xeb8d('0x12'));var hardwareService=require(_0xeb8d('0x13'));var logger=require(_0xeb8d('0x14'))(_0xeb8d('0x15'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0xeb8d('0x16'))['db'];function respondWithStatusCode(_0x1c437c,_0x9b47a6){_0x9b47a6=_0x9b47a6||0xcc;return function(_0x2d1e84){if(_0x2d1e84){return _0x1c437c['sendStatus'](_0x9b47a6);}return _0x1c437c[_0xeb8d('0x17')](_0x9b47a6)[_0xeb8d('0x18')]();};}function respondWithResult(_0x2dcbf4,_0x180ff6){_0x180ff6=_0x180ff6||0xc8;return function(_0x3d0f40){if(_0x3d0f40){return _0x2dcbf4['status'](_0x180ff6)[_0xeb8d('0x19')](_0x3d0f40);}};}function respondWithFilteredResult(_0x4d7cc9,_0x12ed99){return function(_0x56e099){if(_0x56e099){var _0x41390d=typeof _0x12ed99[_0xeb8d('0x1a')]===_0xeb8d('0x1b')&&typeof _0x12ed99[_0xeb8d('0x1c')]===_0xeb8d('0x1b');var _0x4510db=_0x56e099['count'];var _0x16ef19=_0x41390d?0x0:_0x12ed99['offset'];var _0x1f3988=_0x41390d?_0x56e099[_0xeb8d('0x1d')]:_0x12ed99['offset']+_0x12ed99[_0xeb8d('0x1c')];var _0x17cad;if(_0x1f3988>=_0x4510db){_0x1f3988=_0x4510db;_0x17cad=0xc8;}else{_0x17cad=0xce;}_0x4d7cc9[_0xeb8d('0x17')](_0x17cad);return _0x4d7cc9[_0xeb8d('0x1e')](_0xeb8d('0x1f'),_0x16ef19+'-'+_0x1f3988+'/'+_0x4510db)[_0xeb8d('0x19')](_0x56e099);}return null;};}function patchUpdates(_0xcfee9c){return function(_0x52ef38){try{jsonpatch[_0xeb8d('0x20')](_0x52ef38,_0xcfee9c,!![]);}catch(_0x24b197){return BPromise['reject'](_0x24b197);}return _0x52ef38[_0xeb8d('0x21')]();};}function saveUpdates(_0x3e1c11,_0x30ec15){return function(_0x150ed0){if(_0x150ed0){return _0x150ed0[_0xeb8d('0x22')](_0x3e1c11)['then'](function(_0x5187f2){return _0x5187f2;});}return null;};}function removeEntity(_0x212cfd,_0x22afc5){return function(_0x212bc4){if(_0x212bc4){return _0x212bc4['destroy']()['then'](function(){_0x212cfd['status'](0xcc)[_0xeb8d('0x18')]();});}};}function handleEntityNotFound(_0x89a499,_0x305bd1){return function(_0x2ff5c8){if(!_0x2ff5c8){_0x89a499['sendStatus'](0x194);}return _0x2ff5c8;};}function handleError(_0x3acc3f,_0x4f419e){_0x4f419e=_0x4f419e||0x1f4;return function(_0x990ba){logger[_0xeb8d('0x23')](_0x990ba[_0xeb8d('0x24')]);if(_0x990ba[_0xeb8d('0x25')]){delete _0x990ba[_0xeb8d('0x25')];}_0x3acc3f[_0xeb8d('0x17')](_0x4f419e)[_0xeb8d('0x26')](_0x990ba);};}exports[_0xeb8d('0x27')]=function(_0x132aa3,_0x4ca083){var _0xa0ed54={},_0x3da26e={},_0x303275={'count':0x0,'rows':[]};var _0x3f297e=_[_0xeb8d('0x28')](db[_0xeb8d('0x29')][_0xeb8d('0x2a')],function(_0x2952cd){return{'name':_0x2952cd['fieldName'],'type':_0x2952cd[_0xeb8d('0x2b')][_0xeb8d('0x2c')]};});_0x3da26e['model']=_[_0xeb8d('0x28')](_0x3f297e,'name');_0x3da26e['query']=_['keys'](_0x132aa3['query']);_0x3da26e['filters']=_[_0xeb8d('0x2d')](_0x3da26e[_0xeb8d('0x2e')],_0x3da26e[_0xeb8d('0x2f')]);_0xa0ed54['attributes']=_[_0xeb8d('0x2d')](_0x3da26e[_0xeb8d('0x2e')],qs[_0xeb8d('0x30')](_0x132aa3['query'][_0xeb8d('0x30')]));_0xa0ed54[_0xeb8d('0x31')]=_0xa0ed54['attributes']['length']?_0xa0ed54[_0xeb8d('0x31')]:_0x3da26e[_0xeb8d('0x2e')];if(!_0x132aa3[_0xeb8d('0x2f')][_0xeb8d('0x32')](_0xeb8d('0x33'))){_0xa0ed54['limit']=qs[_0xeb8d('0x1c')](_0x132aa3[_0xeb8d('0x2f')][_0xeb8d('0x1c')]);_0xa0ed54[_0xeb8d('0x1a')]=qs[_0xeb8d('0x1a')](_0x132aa3[_0xeb8d('0x2f')][_0xeb8d('0x1a')]);}_0xa0ed54['order']=qs['sort'](_0x132aa3[_0xeb8d('0x2f')][_0xeb8d('0x34')]);_0xa0ed54[_0xeb8d('0x35')]=qs['filters'](_[_0xeb8d('0x36')](_0x132aa3[_0xeb8d('0x2f')],_0x3da26e[_0xeb8d('0x37')]),_0x3f297e);if(_0x132aa3[_0xeb8d('0x2f')][_0xeb8d('0x38')]){_0xa0ed54[_0xeb8d('0x35')]=_[_0xeb8d('0x39')](_0xa0ed54[_0xeb8d('0x35')],{'$or':_[_0xeb8d('0x28')](_0x3f297e,function(_0x1c28ed){if(_0x1c28ed[_0xeb8d('0x2b')]!=='VIRTUAL'){var _0x3600bf={};_0x3600bf[_0x1c28ed[_0xeb8d('0x25')]]={'$like':'%'+_0x132aa3['query']['filter']+'%'};return _0x3600bf;}})});}_0xa0ed54=_[_0xeb8d('0x39')]({},_0xa0ed54,_0x132aa3[_0xeb8d('0x3a')]);var _0x187d2c={'where':_0xa0ed54['where']};return db[_0xeb8d('0x29')]['count'](_0x187d2c)['then'](function(_0x17f1c6){_0x303275[_0xeb8d('0x1d')]=_0x17f1c6;if(_0x132aa3[_0xeb8d('0x2f')][_0xeb8d('0x3b')]){_0xa0ed54[_0xeb8d('0x3c')]=[{'all':!![]}];}return db['IntegrationReport']['findAll'](_0xa0ed54);})[_0xeb8d('0x3d')](function(_0x35b001){_0x303275['rows']=_0x35b001;return _0x303275;})[_0xeb8d('0x3d')](respondWithFilteredResult(_0x4ca083,_0xa0ed54))['catch'](handleError(_0x4ca083,null));};exports['show']=function(_0x2899ab,_0x40d0dc){var _0x5cea52={'raw':![],'where':{'id':_0x2899ab[_0xeb8d('0x3e')]['id']}},_0x472cf8={};_0x472cf8[_0xeb8d('0x2e')]=_[_0xeb8d('0x3f')](db[_0xeb8d('0x29')][_0xeb8d('0x2a')]);_0x472cf8['query']=_[_0xeb8d('0x3f')](_0x2899ab['query']);_0x472cf8[_0xeb8d('0x37')]=_['intersection'](_0x472cf8['model'],_0x472cf8[_0xeb8d('0x2f')]);_0x5cea52[_0xeb8d('0x31')]=_[_0xeb8d('0x2d')](_0x472cf8[_0xeb8d('0x2e')],qs[_0xeb8d('0x30')](_0x2899ab[_0xeb8d('0x2f')][_0xeb8d('0x30')]));_0x5cea52[_0xeb8d('0x31')]=_0x5cea52[_0xeb8d('0x31')][_0xeb8d('0x40')]?_0x5cea52[_0xeb8d('0x31')]:_0x472cf8[_0xeb8d('0x2e')];if(_0x2899ab[_0xeb8d('0x2f')][_0xeb8d('0x3b')]){_0x5cea52[_0xeb8d('0x3c')]=[{'all':!![]}];}_0x5cea52=_[_0xeb8d('0x39')]({},_0x5cea52,_0x2899ab[_0xeb8d('0x3a')]);return db[_0xeb8d('0x29')]['find'](_0x5cea52)[_0xeb8d('0x3d')](handleEntityNotFound(_0x40d0dc,null))['then'](respondWithResult(_0x40d0dc,null))['catch'](handleError(_0x40d0dc,null));};exports[_0xeb8d('0x41')]=function(_0x4c4dce,_0x1dddca){return db[_0xeb8d('0x29')][_0xeb8d('0x41')](_0x4c4dce[_0xeb8d('0x42')],{})['then'](respondWithResult(_0x1dddca,0xc9))[_0xeb8d('0x43')](handleError(_0x1dddca,null));};exports[_0xeb8d('0x22')]=function(_0x2d69e2,_0x359a9b){if(_0x2d69e2[_0xeb8d('0x42')]['id']){delete _0x2d69e2[_0xeb8d('0x42')]['id'];}return db[_0xeb8d('0x29')][_0xeb8d('0x44')]({'where':{'id':_0x2d69e2[_0xeb8d('0x3e')]['id']}})['then'](handleEntityNotFound(_0x359a9b,null))[_0xeb8d('0x3d')](saveUpdates(_0x2d69e2['body'],null))['then'](respondWithResult(_0x359a9b,null))[_0xeb8d('0x43')](handleError(_0x359a9b,null));};exports['destroy']=function(_0x5cf762,_0x3ac543){return db['IntegrationReport'][_0xeb8d('0x44')]({'where':{'id':_0x5cf762['params']['id']}})[_0xeb8d('0x3d')](handleEntityNotFound(_0x3ac543,null))['then'](removeEntity(_0x3ac543,null))[_0xeb8d('0x43')](handleError(_0x3ac543,null));};exports[_0xeb8d('0x45')]=function(_0x44317f,_0x39f25b){return db[_0xeb8d('0x29')][_0xeb8d('0x45')]()[_0xeb8d('0x3d')](respondWithResult(_0x39f25b,null))[_0xeb8d('0x43')](handleError(_0x39f25b,null));};