Built motion from commit da617fac.|2.6.6
[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 _0xa120=['error','name','index','map','rawAttributes','fieldName','type','key','query','filters','intersection','fields','attributes','length','model','hasOwnProperty','nolimit','where','pick','filter','merge','VIRTUAL','options','IntegrationReport','includeAll','findAll','rows','catch','show','params','keys','include','find','create','body','destroy','eml-format','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','to-csv','fs-extra','lodash','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../mysqldb','sendStatus','end','undefined','limit','count','offset','set','Content-Range','json','reject','save','update','then'];(function(_0x2e85dc,_0xc31714){var _0x3315d3=function(_0x2f8d8a){while(--_0x2f8d8a){_0x2e85dc['push'](_0x2e85dc['shift']());}};_0x3315d3(++_0xc31714);}(_0xa120,0xb4));var _0x0a12=function(_0xb04640,_0x16b26f){_0xb04640=_0xb04640-0x0;var _0x3084b2=_0xa120[_0xb04640];return _0x3084b2;};'use strict';var emlformat=require(_0x0a12('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x0a12('0x1'));var jsonpatch=require(_0x0a12('0x2'));var rp=require(_0x0a12('0x3'));var moment=require('moment');var BPromise=require(_0x0a12('0x4'));var Mustache=require(_0x0a12('0x5'));var util=require(_0x0a12('0x6'));var path=require(_0x0a12('0x7'));var sox=require(_0x0a12('0x8'));var csv=require(_0x0a12('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x0a12('0xa'));var _=require(_0x0a12('0xb'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x0a12('0xc'));var deskjs=require(_0x0a12('0xd'));var toCsv=require(_0x0a12('0x9'));var querystring=require(_0x0a12('0xe'));var Papa=require('papaparse');var Redis=require(_0x0a12('0xf'));var authService=require(_0x0a12('0x10'));var qs=require(_0x0a12('0x11'));var as=require(_0x0a12('0x12'));var hardwareService=require(_0x0a12('0x13'));var logger=require('../../config/logger')(_0x0a12('0x14'));var utils=require(_0x0a12('0x15'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x0a12('0x16'))['db'];function respondWithStatusCode(_0x296278,_0x2c77d6){_0x2c77d6=_0x2c77d6||0xcc;return function(_0x2820c4){if(_0x2820c4){return _0x296278[_0x0a12('0x17')](_0x2c77d6);}return _0x296278['status'](_0x2c77d6)[_0x0a12('0x18')]();};}function respondWithResult(_0x303182,_0x1c2aa8){_0x1c2aa8=_0x1c2aa8||0xc8;return function(_0x54eb89){if(_0x54eb89){return _0x303182['status'](_0x1c2aa8)['json'](_0x54eb89);}};}function respondWithFilteredResult(_0x761831,_0x1b65ba){return function(_0x580145){if(_0x580145){var _0x5a4217=typeof _0x1b65ba['offset']===_0x0a12('0x19')&&typeof _0x1b65ba[_0x0a12('0x1a')]==='undefined';var _0x362b47=_0x580145[_0x0a12('0x1b')];var _0x147ad5=_0x5a4217?0x0:_0x1b65ba[_0x0a12('0x1c')];var _0x38d361=_0x5a4217?_0x580145['count']:_0x1b65ba['offset']+_0x1b65ba[_0x0a12('0x1a')];var _0x2de906;if(_0x38d361>=_0x362b47){_0x38d361=_0x362b47;_0x2de906=0xc8;}else{_0x2de906=0xce;}_0x761831['status'](_0x2de906);return _0x761831[_0x0a12('0x1d')](_0x0a12('0x1e'),_0x147ad5+'-'+_0x38d361+'/'+_0x362b47)[_0x0a12('0x1f')](_0x580145);}return null;};}function patchUpdates(_0x1abf92){return function(_0x172ffa){try{jsonpatch['apply'](_0x172ffa,_0x1abf92,!![]);}catch(_0x2b021b){return BPromise[_0x0a12('0x20')](_0x2b021b);}return _0x172ffa[_0x0a12('0x21')]();};}function saveUpdates(_0x44856c,_0x5316f9){return function(_0x2a6e9a){if(_0x2a6e9a){return _0x2a6e9a[_0x0a12('0x22')](_0x44856c)[_0x0a12('0x23')](function(_0x229de6){return _0x229de6;});}return null;};}function removeEntity(_0x3f92fd,_0x3ac861){return function(_0x45eda2){if(_0x45eda2){return _0x45eda2['destroy']()[_0x0a12('0x23')](function(){_0x3f92fd['status'](0xcc)[_0x0a12('0x18')]();});}};}function handleEntityNotFound(_0x22684d,_0x4966a8){return function(_0x185e8d){if(!_0x185e8d){_0x22684d['sendStatus'](0x194);}return _0x185e8d;};}function handleError(_0x3ee664,_0x291db8){_0x291db8=_0x291db8||0x1f4;return function(_0x5bcd3e){logger[_0x0a12('0x24')](_0x5bcd3e['stack']);if(_0x5bcd3e['name']){delete _0x5bcd3e[_0x0a12('0x25')];}_0x3ee664['status'](_0x291db8)['send'](_0x5bcd3e);};}exports[_0x0a12('0x26')]=function(_0x183ce1,_0x2422d7){var _0x536ea0={},_0x35ff3f={},_0x5ef0d0={'count':0x0,'rows':[]};var _0x220dfa=_[_0x0a12('0x27')](db['IntegrationReport'][_0x0a12('0x28')],function(_0x52fa63){return{'name':_0x52fa63[_0x0a12('0x29')],'type':_0x52fa63[_0x0a12('0x2a')][_0x0a12('0x2b')]};});_0x35ff3f['model']=_['map'](_0x220dfa,_0x0a12('0x25'));_0x35ff3f[_0x0a12('0x2c')]=_['keys'](_0x183ce1[_0x0a12('0x2c')]);_0x35ff3f[_0x0a12('0x2d')]=_[_0x0a12('0x2e')](_0x35ff3f['model'],_0x35ff3f[_0x0a12('0x2c')]);_0x536ea0['attributes']=_[_0x0a12('0x2e')](_0x35ff3f['model'],qs[_0x0a12('0x2f')](_0x183ce1[_0x0a12('0x2c')][_0x0a12('0x2f')]));_0x536ea0[_0x0a12('0x30')]=_0x536ea0[_0x0a12('0x30')][_0x0a12('0x31')]?_0x536ea0['attributes']:_0x35ff3f[_0x0a12('0x32')];if(!_0x183ce1[_0x0a12('0x2c')][_0x0a12('0x33')](_0x0a12('0x34'))){_0x536ea0[_0x0a12('0x1a')]=qs[_0x0a12('0x1a')](_0x183ce1['query']['limit']);_0x536ea0[_0x0a12('0x1c')]=qs[_0x0a12('0x1c')](_0x183ce1[_0x0a12('0x2c')][_0x0a12('0x1c')]);}_0x536ea0['order']=qs['sort'](_0x183ce1['query']['sort']);_0x536ea0[_0x0a12('0x35')]=qs[_0x0a12('0x2d')](_[_0x0a12('0x36')](_0x183ce1[_0x0a12('0x2c')],_0x35ff3f[_0x0a12('0x2d')]),_0x220dfa);if(_0x183ce1[_0x0a12('0x2c')][_0x0a12('0x37')]){_0x536ea0[_0x0a12('0x35')]=_[_0x0a12('0x38')](_0x536ea0[_0x0a12('0x35')],{'$or':_[_0x0a12('0x27')](_0x220dfa,function(_0x4f3d4a){if(_0x4f3d4a[_0x0a12('0x2a')]!==_0x0a12('0x39')){var _0x54fc6b={};_0x54fc6b[_0x4f3d4a['name']]={'$like':'%'+_0x183ce1['query']['filter']+'%'};return _0x54fc6b;}})});}_0x536ea0=_['merge']({},_0x536ea0,_0x183ce1[_0x0a12('0x3a')]);var _0x339faa={'where':_0x536ea0[_0x0a12('0x35')]};return db[_0x0a12('0x3b')][_0x0a12('0x1b')](_0x339faa)[_0x0a12('0x23')](function(_0x330dee){_0x5ef0d0[_0x0a12('0x1b')]=_0x330dee;if(_0x183ce1['query'][_0x0a12('0x3c')]){_0x536ea0['include']=[{'all':!![]}];}return db[_0x0a12('0x3b')][_0x0a12('0x3d')](_0x536ea0);})[_0x0a12('0x23')](function(_0x40603f){_0x5ef0d0[_0x0a12('0x3e')]=_0x40603f;return _0x5ef0d0;})[_0x0a12('0x23')](respondWithFilteredResult(_0x2422d7,_0x536ea0))[_0x0a12('0x3f')](handleError(_0x2422d7,null));};exports[_0x0a12('0x40')]=function(_0x1390d6,_0x497512){var _0x1af0a7={'raw':![],'where':{'id':_0x1390d6[_0x0a12('0x41')]['id']}},_0x58115b={};_0x58115b[_0x0a12('0x32')]=_[_0x0a12('0x42')](db[_0x0a12('0x3b')][_0x0a12('0x28')]);_0x58115b[_0x0a12('0x2c')]=_[_0x0a12('0x42')](_0x1390d6[_0x0a12('0x2c')]);_0x58115b['filters']=_['intersection'](_0x58115b[_0x0a12('0x32')],_0x58115b[_0x0a12('0x2c')]);_0x1af0a7[_0x0a12('0x30')]=_[_0x0a12('0x2e')](_0x58115b[_0x0a12('0x32')],qs['fields'](_0x1390d6[_0x0a12('0x2c')]['fields']));_0x1af0a7[_0x0a12('0x30')]=_0x1af0a7['attributes'][_0x0a12('0x31')]?_0x1af0a7[_0x0a12('0x30')]:_0x58115b[_0x0a12('0x32')];if(_0x1390d6[_0x0a12('0x2c')]['includeAll']){_0x1af0a7[_0x0a12('0x43')]=[{'all':!![]}];}_0x1af0a7=_[_0x0a12('0x38')]({},_0x1af0a7,_0x1390d6['options']);return db[_0x0a12('0x3b')][_0x0a12('0x44')](_0x1af0a7)[_0x0a12('0x23')](handleEntityNotFound(_0x497512,null))[_0x0a12('0x23')](respondWithResult(_0x497512,null))[_0x0a12('0x3f')](handleError(_0x497512,null));};exports[_0x0a12('0x45')]=function(_0x4ab252,_0x3ca5e5){return db['IntegrationReport'][_0x0a12('0x45')](_0x4ab252[_0x0a12('0x46')],{})[_0x0a12('0x23')](respondWithResult(_0x3ca5e5,0xc9))[_0x0a12('0x3f')](handleError(_0x3ca5e5,null));};exports['update']=function(_0x47af13,_0x3b3dbe){if(_0x47af13[_0x0a12('0x46')]['id']){delete _0x47af13[_0x0a12('0x46')]['id'];}return db[_0x0a12('0x3b')][_0x0a12('0x44')]({'where':{'id':_0x47af13[_0x0a12('0x41')]['id']}})['then'](handleEntityNotFound(_0x3b3dbe,null))[_0x0a12('0x23')](saveUpdates(_0x47af13['body'],null))[_0x0a12('0x23')](respondWithResult(_0x3b3dbe,null))['catch'](handleError(_0x3b3dbe,null));};exports[_0x0a12('0x47')]=function(_0x44121d,_0x4e37ae){return db[_0x0a12('0x3b')][_0x0a12('0x44')]({'where':{'id':_0x44121d[_0x0a12('0x41')]['id']}})[_0x0a12('0x23')](handleEntityNotFound(_0x4e37ae,null))['then'](removeEntity(_0x4e37ae,null))[_0x0a12('0x3f')](handleError(_0x4e37ae,null));};exports['describe']=function(_0x4073c0,_0x518802){return db[_0x0a12('0x3b')]['describe']()[_0x0a12('0x23')](respondWithResult(_0x518802,null))[_0x0a12('0x3f')](handleError(_0x518802,null));};