Built motion from commit (unavailable).|2.5.15
[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 _0xd956=['lodash','squel','querystring','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','count','offset','limit','set','Content-Range','json','apply','reject','update','then','destroy','end','error','name','send','map','IntegrationReport','rawAttributes','fieldName','type','key','model','query','keys','intersection','attributes','length','hasOwnProperty','nolimit','sort','where','filters','pick','merge','VIRTUAL','options','includeAll','include','findAll','rows','catch','show','params','fields','find','create','body','describe','eml-format','rimraf','zip-dir','fast-json-patch','mustache','util','path','sox','to-csv','ejs'];(function(_0x38de3d,_0x59bd76){var _0x14910c=function(_0x21178a){while(--_0x21178a){_0x38de3d['push'](_0x38de3d['shift']());}};_0x14910c(++_0x59bd76);}(_0xd956,0xce));var _0x6d95=function(_0x641c47,_0x1638ea){_0x641c47=_0x641c47-0x0;var _0x421974=_0xd956[_0x641c47];return _0x421974;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x6d95('0x0'));var rimraf=require(_0x6d95('0x1'));var zipdir=require(_0x6d95('0x2'));var jsonpatch=require(_0x6d95('0x3'));var rp=require('request-promise');var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x6d95('0x4'));var util=require(_0x6d95('0x5'));var path=require(_0x6d95('0x6'));var sox=require(_0x6d95('0x7'));var csv=require(_0x6d95('0x8'));var ejs=require(_0x6d95('0x9'));var fs=require('fs');var _=require(_0x6d95('0xa'));var squel=require(_0x6d95('0xb'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x6d95('0x8'));var querystring=require(_0x6d95('0xc'));var Papa=require('papaparse');var Redis=require(_0x6d95('0xd'));var authService=require(_0x6d95('0xe'));var qs=require('../../components/parsers/qs');var as=require(_0x6d95('0xf'));var hardwareService=require(_0x6d95('0x10'));var logger=require(_0x6d95('0x11'))(_0x6d95('0x12'));var utils=require(_0x6d95('0x13'));var config=require(_0x6d95('0x14'));var licenseUtil=require('../../config/license/util');var db=require(_0x6d95('0x15'))['db'];function respondWithStatusCode(_0x2cdd9a,_0x4ec44b){_0x4ec44b=_0x4ec44b||0xcc;return function(_0x2dbddc){if(_0x2dbddc){return _0x2cdd9a[_0x6d95('0x16')](_0x4ec44b);}return _0x2cdd9a[_0x6d95('0x17')](_0x4ec44b)['end']();};}function respondWithResult(_0x19f8c3,_0x565d64){_0x565d64=_0x565d64||0xc8;return function(_0x551f18){if(_0x551f18){return _0x19f8c3[_0x6d95('0x17')](_0x565d64)['json'](_0x551f18);}};}function respondWithFilteredResult(_0x16affc,_0x3637cf){return function(_0x331856){if(_0x331856){var _0x323d07=_0x331856[_0x6d95('0x18')],_0x25bbc2=_0x3637cf[_0x6d95('0x19')],_0x3c208d=_0x3637cf[_0x6d95('0x19')]+_0x3637cf[_0x6d95('0x1a')],_0xebfffd;if(_0x3c208d>=_0x323d07){_0x3c208d=_0x323d07;_0xebfffd=0xc8;}else{_0xebfffd=0xce;}_0x16affc[_0x6d95('0x17')](_0xebfffd);return _0x16affc[_0x6d95('0x1b')](_0x6d95('0x1c'),_0x25bbc2+'-'+_0x3c208d+'/'+_0x323d07)[_0x6d95('0x1d')](_0x331856);}return null;};}function patchUpdates(_0x86b305){return function(_0x2edf02){try{jsonpatch[_0x6d95('0x1e')](_0x2edf02,_0x86b305,!![]);}catch(_0x38f047){return BPromise[_0x6d95('0x1f')](_0x38f047);}return _0x2edf02['save']();};}function saveUpdates(_0xfc03ab,_0x51c126){return function(_0x98d5c0){if(_0x98d5c0){return _0x98d5c0[_0x6d95('0x20')](_0xfc03ab)[_0x6d95('0x21')](function(_0x4800fb){return _0x4800fb;});}return null;};}function removeEntity(_0x1b507b,_0x3b2107){return function(_0x5e970d){if(_0x5e970d){return _0x5e970d[_0x6d95('0x22')]()[_0x6d95('0x21')](function(){_0x1b507b[_0x6d95('0x17')](0xcc)[_0x6d95('0x23')]();});}};}function handleEntityNotFound(_0x3fe625,_0x5e48bc){return function(_0x16fafe){if(!_0x16fafe){_0x3fe625[_0x6d95('0x16')](0x194);}return _0x16fafe;};}function handleError(_0xab91c7,_0x88e426){_0x88e426=_0x88e426||0x1f4;return function(_0x30c269){logger[_0x6d95('0x24')](_0x30c269['stack']);if(_0x30c269[_0x6d95('0x25')]){delete _0x30c269[_0x6d95('0x25')];}_0xab91c7[_0x6d95('0x17')](_0x88e426)[_0x6d95('0x26')](_0x30c269);};}exports['index']=function(_0x334b78,_0x59bf53){var _0x4c9a5e={},_0x245628={},_0x5c7382={'count':0x0,'rows':[]};var _0x36ffe4=_[_0x6d95('0x27')](db[_0x6d95('0x28')][_0x6d95('0x29')],function(_0xeecf69){return{'name':_0xeecf69[_0x6d95('0x2a')],'type':_0xeecf69[_0x6d95('0x2b')][_0x6d95('0x2c')]};});_0x245628[_0x6d95('0x2d')]=_['map'](_0x36ffe4,_0x6d95('0x25'));_0x245628[_0x6d95('0x2e')]=_[_0x6d95('0x2f')](_0x334b78['query']);_0x245628['filters']=_[_0x6d95('0x30')](_0x245628['model'],_0x245628['query']);_0x4c9a5e[_0x6d95('0x31')]=_[_0x6d95('0x30')](_0x245628[_0x6d95('0x2d')],qs['fields'](_0x334b78[_0x6d95('0x2e')]['fields']));_0x4c9a5e['attributes']=_0x4c9a5e[_0x6d95('0x31')][_0x6d95('0x32')]?_0x4c9a5e[_0x6d95('0x31')]:_0x245628['model'];if(!_0x334b78[_0x6d95('0x2e')][_0x6d95('0x33')](_0x6d95('0x34'))){_0x4c9a5e['limit']=qs[_0x6d95('0x1a')](_0x334b78['query'][_0x6d95('0x1a')]);_0x4c9a5e['offset']=qs['offset'](_0x334b78[_0x6d95('0x2e')]['offset']);}_0x4c9a5e['order']=qs[_0x6d95('0x35')](_0x334b78['query']['sort']);_0x4c9a5e[_0x6d95('0x36')]=qs[_0x6d95('0x37')](_[_0x6d95('0x38')](_0x334b78[_0x6d95('0x2e')],_0x245628['filters']),_0x36ffe4);if(_0x334b78[_0x6d95('0x2e')]['filter']){_0x4c9a5e[_0x6d95('0x36')]=_[_0x6d95('0x39')](_0x4c9a5e['where'],{'$or':_[_0x6d95('0x27')](_0x36ffe4,function(_0x3d00d5){if(_0x3d00d5['type']!==_0x6d95('0x3a')){var _0x58cb11={};_0x58cb11[_0x3d00d5[_0x6d95('0x25')]]={'$like':'%'+_0x334b78[_0x6d95('0x2e')]['filter']+'%'};return _0x58cb11;}})});}_0x4c9a5e=_['merge']({},_0x4c9a5e,_0x334b78[_0x6d95('0x3b')]);var _0x5494cd={'where':_0x4c9a5e[_0x6d95('0x36')]};return db['IntegrationReport'][_0x6d95('0x18')](_0x5494cd)['then'](function(_0x1804ba){_0x5c7382[_0x6d95('0x18')]=_0x1804ba;if(_0x334b78[_0x6d95('0x2e')][_0x6d95('0x3c')]){_0x4c9a5e[_0x6d95('0x3d')]=[{'all':!![]}];}return db[_0x6d95('0x28')][_0x6d95('0x3e')](_0x4c9a5e);})[_0x6d95('0x21')](function(_0xdcf20f){_0x5c7382[_0x6d95('0x3f')]=_0xdcf20f;return _0x5c7382;})['then'](respondWithFilteredResult(_0x59bf53,_0x4c9a5e))[_0x6d95('0x40')](handleError(_0x59bf53,null));};exports[_0x6d95('0x41')]=function(_0x38596e,_0x1d57aa){var _0x1d799e={'raw':![],'where':{'id':_0x38596e[_0x6d95('0x42')]['id']}},_0x375d3e={};_0x375d3e[_0x6d95('0x2d')]=_[_0x6d95('0x2f')](db[_0x6d95('0x28')][_0x6d95('0x29')]);_0x375d3e[_0x6d95('0x2e')]=_[_0x6d95('0x2f')](_0x38596e[_0x6d95('0x2e')]);_0x375d3e[_0x6d95('0x37')]=_[_0x6d95('0x30')](_0x375d3e[_0x6d95('0x2d')],_0x375d3e[_0x6d95('0x2e')]);_0x1d799e[_0x6d95('0x31')]=_[_0x6d95('0x30')](_0x375d3e[_0x6d95('0x2d')],qs[_0x6d95('0x43')](_0x38596e['query'][_0x6d95('0x43')]));_0x1d799e[_0x6d95('0x31')]=_0x1d799e['attributes']['length']?_0x1d799e[_0x6d95('0x31')]:_0x375d3e[_0x6d95('0x2d')];if(_0x38596e[_0x6d95('0x2e')][_0x6d95('0x3c')]){_0x1d799e[_0x6d95('0x3d')]=[{'all':!![]}];}_0x1d799e=_[_0x6d95('0x39')]({},_0x1d799e,_0x38596e[_0x6d95('0x3b')]);return db['IntegrationReport'][_0x6d95('0x44')](_0x1d799e)[_0x6d95('0x21')](handleEntityNotFound(_0x1d57aa,null))[_0x6d95('0x21')](respondWithResult(_0x1d57aa,null))['catch'](handleError(_0x1d57aa,null));};exports[_0x6d95('0x45')]=function(_0x57619d,_0x32b4e9){return db['IntegrationReport'][_0x6d95('0x45')](_0x57619d[_0x6d95('0x46')],{})[_0x6d95('0x21')](respondWithResult(_0x32b4e9,0xc9))[_0x6d95('0x40')](handleError(_0x32b4e9,null));};exports[_0x6d95('0x20')]=function(_0x22929c,_0x4662dc){if(_0x22929c[_0x6d95('0x46')]['id']){delete _0x22929c[_0x6d95('0x46')]['id'];}return db['IntegrationReport'][_0x6d95('0x44')]({'where':{'id':_0x22929c[_0x6d95('0x42')]['id']}})[_0x6d95('0x21')](handleEntityNotFound(_0x4662dc,null))['then'](saveUpdates(_0x22929c[_0x6d95('0x46')],null))['then'](respondWithResult(_0x4662dc,null))['catch'](handleError(_0x4662dc,null));};exports[_0x6d95('0x22')]=function(_0x388a2,_0x3ed900){return db[_0x6d95('0x28')][_0x6d95('0x44')]({'where':{'id':_0x388a2[_0x6d95('0x42')]['id']}})[_0x6d95('0x21')](handleEntityNotFound(_0x3ed900,null))[_0x6d95('0x21')](removeEntity(_0x3ed900,null))[_0x6d95('0x40')](handleError(_0x3ed900,null));};exports[_0x6d95('0x47')]=function(_0x103732,_0x27cde0){return db[_0x6d95('0x28')][_0x6d95('0x47')]()['then'](respondWithResult(_0x27cde0,null))['catch'](handleError(_0x27cde0,null));};