Built motion from commit 4e7c323b.|2.5.34
[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 _0x9754=['Content-Range','apply','reject','save','update','destroy','then','error','stack','name','send','index','map','IntegrationReport','type','key','model','query','keys','filters','intersection','fields','attributes','length','nolimit','sort','where','pick','filter','VIRTUAL','merge','options','includeAll','include','findAll','rows','catch','show','params','rawAttributes','find','create','body','describe','request-promise','moment','bluebird','mustache','util','sox','to-csv','fs-extra','lodash','squel','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','sendStatus','status','end','json','offset','undefined','limit','count','set'];(function(_0x56aed9,_0x4804e1){var _0x41f4ca=function(_0x5e3d86){while(--_0x5e3d86){_0x56aed9['push'](_0x56aed9['shift']());}};_0x41f4ca(++_0x4804e1);}(_0x9754,0x10d));var _0x4975=function(_0x24d62b,_0x5914d7){_0x24d62b=_0x24d62b-0x0;var _0x2eaa89=_0x9754[_0x24d62b];return _0x2eaa89;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0x4975('0x0'));var moment=require(_0x4975('0x1'));var BPromise=require(_0x4975('0x2'));var Mustache=require(_0x4975('0x3'));var util=require(_0x4975('0x4'));var path=require('path');var sox=require(_0x4975('0x5'));var csv=require(_0x4975('0x6'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x4975('0x7'));var _=require(_0x4975('0x8'));var squel=require(_0x4975('0x9'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x4975('0xa'));var toCsv=require(_0x4975('0x6'));var querystring=require(_0x4975('0xb'));var Papa=require(_0x4975('0xc'));var Redis=require(_0x4975('0xd'));var authService=require(_0x4975('0xe'));var qs=require(_0x4975('0xf'));var as=require(_0x4975('0x10'));var hardwareService=require(_0x4975('0x11'));var logger=require(_0x4975('0x12'))(_0x4975('0x13'));var utils=require(_0x4975('0x14'));var config=require('../../config/environment');var licenseUtil=require(_0x4975('0x15'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x46c2c0,_0x1bbd4f){_0x1bbd4f=_0x1bbd4f||0xcc;return function(_0xe82af){if(_0xe82af){return _0x46c2c0[_0x4975('0x16')](_0x1bbd4f);}return _0x46c2c0[_0x4975('0x17')](_0x1bbd4f)[_0x4975('0x18')]();};}function respondWithResult(_0x92aa1,_0x227da6){_0x227da6=_0x227da6||0xc8;return function(_0x1888ed){if(_0x1888ed){return _0x92aa1[_0x4975('0x17')](_0x227da6)[_0x4975('0x19')](_0x1888ed);}};}function respondWithFilteredResult(_0x5bc126,_0x1fcf36){return function(_0x308068){if(_0x308068){var _0x15c827=typeof _0x1fcf36[_0x4975('0x1a')]===_0x4975('0x1b')&&typeof _0x1fcf36[_0x4975('0x1c')]===_0x4975('0x1b');var _0x46e11c=_0x308068[_0x4975('0x1d')];var _0x4af27c=_0x15c827?0x0:_0x1fcf36[_0x4975('0x1a')];var _0x2592dd=_0x15c827?_0x308068['count']:_0x1fcf36[_0x4975('0x1a')]+_0x1fcf36['limit'];var _0xf2ae6b;if(_0x2592dd>=_0x46e11c){_0x2592dd=_0x46e11c;_0xf2ae6b=0xc8;}else{_0xf2ae6b=0xce;}_0x5bc126[_0x4975('0x17')](_0xf2ae6b);return _0x5bc126[_0x4975('0x1e')](_0x4975('0x1f'),_0x4af27c+'-'+_0x2592dd+'/'+_0x46e11c)[_0x4975('0x19')](_0x308068);}return null;};}function patchUpdates(_0x3c5f2b){return function(_0x4d09e0){try{jsonpatch[_0x4975('0x20')](_0x4d09e0,_0x3c5f2b,!![]);}catch(_0x722423){return BPromise[_0x4975('0x21')](_0x722423);}return _0x4d09e0[_0x4975('0x22')]();};}function saveUpdates(_0x1e24a8,_0xf629dc){return function(_0x528003){if(_0x528003){return _0x528003[_0x4975('0x23')](_0x1e24a8)['then'](function(_0x13858d){return _0x13858d;});}return null;};}function removeEntity(_0x2fa89b,_0x466e92){return function(_0x4df18f){if(_0x4df18f){return _0x4df18f[_0x4975('0x24')]()[_0x4975('0x25')](function(){_0x2fa89b[_0x4975('0x17')](0xcc)['end']();});}};}function handleEntityNotFound(_0x287c03,_0x41123c){return function(_0x48f512){if(!_0x48f512){_0x287c03[_0x4975('0x16')](0x194);}return _0x48f512;};}function handleError(_0x4502ad,_0xdb29de){_0xdb29de=_0xdb29de||0x1f4;return function(_0xaf875c){logger[_0x4975('0x26')](_0xaf875c[_0x4975('0x27')]);if(_0xaf875c['name']){delete _0xaf875c[_0x4975('0x28')];}_0x4502ad[_0x4975('0x17')](_0xdb29de)[_0x4975('0x29')](_0xaf875c);};}exports[_0x4975('0x2a')]=function(_0x298d45,_0x388b69){var _0x10a039={},_0x375161={},_0x404b8b={'count':0x0,'rows':[]};var _0x3fcf2d=_[_0x4975('0x2b')](db[_0x4975('0x2c')]['rawAttributes'],function(_0x5c4edb){return{'name':_0x5c4edb['fieldName'],'type':_0x5c4edb[_0x4975('0x2d')][_0x4975('0x2e')]};});_0x375161[_0x4975('0x2f')]=_[_0x4975('0x2b')](_0x3fcf2d,_0x4975('0x28'));_0x375161[_0x4975('0x30')]=_[_0x4975('0x31')](_0x298d45[_0x4975('0x30')]);_0x375161[_0x4975('0x32')]=_[_0x4975('0x33')](_0x375161[_0x4975('0x2f')],_0x375161['query']);_0x10a039['attributes']=_['intersection'](_0x375161['model'],qs[_0x4975('0x34')](_0x298d45[_0x4975('0x30')]['fields']));_0x10a039['attributes']=_0x10a039[_0x4975('0x35')][_0x4975('0x36')]?_0x10a039['attributes']:_0x375161[_0x4975('0x2f')];if(!_0x298d45['query']['hasOwnProperty'](_0x4975('0x37'))){_0x10a039['limit']=qs[_0x4975('0x1c')](_0x298d45['query'][_0x4975('0x1c')]);_0x10a039[_0x4975('0x1a')]=qs[_0x4975('0x1a')](_0x298d45[_0x4975('0x30')][_0x4975('0x1a')]);}_0x10a039['order']=qs[_0x4975('0x38')](_0x298d45[_0x4975('0x30')][_0x4975('0x38')]);_0x10a039[_0x4975('0x39')]=qs[_0x4975('0x32')](_[_0x4975('0x3a')](_0x298d45['query'],_0x375161[_0x4975('0x32')]),_0x3fcf2d);if(_0x298d45['query'][_0x4975('0x3b')]){_0x10a039['where']=_['merge'](_0x10a039[_0x4975('0x39')],{'$or':_[_0x4975('0x2b')](_0x3fcf2d,function(_0x30ae52){if(_0x30ae52['type']!==_0x4975('0x3c')){var _0x39b185={};_0x39b185[_0x30ae52['name']]={'$like':'%'+_0x298d45[_0x4975('0x30')][_0x4975('0x3b')]+'%'};return _0x39b185;}})});}_0x10a039=_[_0x4975('0x3d')]({},_0x10a039,_0x298d45[_0x4975('0x3e')]);var _0x1fd722={'where':_0x10a039[_0x4975('0x39')]};return db['IntegrationReport']['count'](_0x1fd722)[_0x4975('0x25')](function(_0x1d564b){_0x404b8b[_0x4975('0x1d')]=_0x1d564b;if(_0x298d45['query'][_0x4975('0x3f')]){_0x10a039[_0x4975('0x40')]=[{'all':!![]}];}return db['IntegrationReport'][_0x4975('0x41')](_0x10a039);})['then'](function(_0x5a118d){_0x404b8b[_0x4975('0x42')]=_0x5a118d;return _0x404b8b;})['then'](respondWithFilteredResult(_0x388b69,_0x10a039))[_0x4975('0x43')](handleError(_0x388b69,null));};exports[_0x4975('0x44')]=function(_0x1e78b1,_0x129d83){var _0x2a2cdd={'raw':![],'where':{'id':_0x1e78b1[_0x4975('0x45')]['id']}},_0x183782={};_0x183782['model']=_['keys'](db[_0x4975('0x2c')][_0x4975('0x46')]);_0x183782[_0x4975('0x30')]=_['keys'](_0x1e78b1[_0x4975('0x30')]);_0x183782[_0x4975('0x32')]=_['intersection'](_0x183782[_0x4975('0x2f')],_0x183782[_0x4975('0x30')]);_0x2a2cdd['attributes']=_[_0x4975('0x33')](_0x183782[_0x4975('0x2f')],qs[_0x4975('0x34')](_0x1e78b1[_0x4975('0x30')]['fields']));_0x2a2cdd[_0x4975('0x35')]=_0x2a2cdd[_0x4975('0x35')][_0x4975('0x36')]?_0x2a2cdd[_0x4975('0x35')]:_0x183782[_0x4975('0x2f')];if(_0x1e78b1[_0x4975('0x30')][_0x4975('0x3f')]){_0x2a2cdd[_0x4975('0x40')]=[{'all':!![]}];}_0x2a2cdd=_[_0x4975('0x3d')]({},_0x2a2cdd,_0x1e78b1[_0x4975('0x3e')]);return db[_0x4975('0x2c')][_0x4975('0x47')](_0x2a2cdd)[_0x4975('0x25')](handleEntityNotFound(_0x129d83,null))['then'](respondWithResult(_0x129d83,null))[_0x4975('0x43')](handleError(_0x129d83,null));};exports['create']=function(_0x33f05d,_0x5c54dc){return db['IntegrationReport'][_0x4975('0x48')](_0x33f05d[_0x4975('0x49')],{})[_0x4975('0x25')](respondWithResult(_0x5c54dc,0xc9))['catch'](handleError(_0x5c54dc,null));};exports[_0x4975('0x23')]=function(_0x21b1b4,_0x3d7353){if(_0x21b1b4[_0x4975('0x49')]['id']){delete _0x21b1b4[_0x4975('0x49')]['id'];}return db['IntegrationReport']['find']({'where':{'id':_0x21b1b4[_0x4975('0x45')]['id']}})[_0x4975('0x25')](handleEntityNotFound(_0x3d7353,null))[_0x4975('0x25')](saveUpdates(_0x21b1b4[_0x4975('0x49')],null))[_0x4975('0x25')](respondWithResult(_0x3d7353,null))['catch'](handleError(_0x3d7353,null));};exports[_0x4975('0x24')]=function(_0x3e20c0,_0x50c4f0){return db['IntegrationReport'][_0x4975('0x47')]({'where':{'id':_0x3e20c0[_0x4975('0x45')]['id']}})[_0x4975('0x25')](handleEntityNotFound(_0x50c4f0,null))['then'](removeEntity(_0x50c4f0,null))[_0x4975('0x43')](handleError(_0x50c4f0,null));};exports[_0x4975('0x4a')]=function(_0x1d75ca,_0x14574f){return db[_0x4975('0x2c')][_0x4975('0x4a')]()['then'](respondWithResult(_0x14574f,null))[_0x4975('0x43')](handleError(_0x14574f,null));};