Built motion from commit 5b761a7b.|2.5.36
[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 _0x0a81=['includeAll','include','findAll','rows','catch','show','model','keys','find','create','body','params','describe','eml-format','zip-dir','fast-json-patch','moment','bluebird','mustache','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','limit','undefined','set','Content-Range','apply','reject','save','update','then','destroy','error','stack','name','send','index','IntegrationReport','rawAttributes','type','key','map','query','filters','intersection','fields','length','attributes','sort','where','pick','filter','VIRTUAL','options','count'];(function(_0x4a9fb1,_0x273043){var _0x348672=function(_0x142b69){while(--_0x142b69){_0x4a9fb1['push'](_0x4a9fb1['shift']());}};_0x348672(++_0x273043);}(_0x0a81,0xa9));var _0x10a8=function(_0x1dd936,_0x2764b9){_0x1dd936=_0x1dd936-0x0;var _0x1f25eb=_0x0a81[_0x1dd936];return _0x1f25eb;};'use strict';var emlformat=require(_0x10a8('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x10a8('0x1'));var jsonpatch=require(_0x10a8('0x2'));var rp=require('request-promise');var moment=require(_0x10a8('0x3'));var BPromise=require(_0x10a8('0x4'));var Mustache=require(_0x10a8('0x5'));var util=require('util');var path=require(_0x10a8('0x6'));var sox=require(_0x10a8('0x7'));var csv=require(_0x10a8('0x8'));var ejs=require(_0x10a8('0x9'));var fs=require('fs');var fs_extra=require(_0x10a8('0xa'));var _=require(_0x10a8('0xb'));var squel=require(_0x10a8('0xc'));var crypto=require(_0x10a8('0xd'));var jsforce=require(_0x10a8('0xe'));var deskjs=require(_0x10a8('0xf'));var toCsv=require(_0x10a8('0x8'));var querystring=require(_0x10a8('0x10'));var Papa=require('papaparse');var Redis=require(_0x10a8('0x11'));var authService=require(_0x10a8('0x12'));var qs=require(_0x10a8('0x13'));var as=require(_0x10a8('0x14'));var hardwareService=require(_0x10a8('0x15'));var logger=require(_0x10a8('0x16'))(_0x10a8('0x17'));var utils=require('../../config/utils');var config=require(_0x10a8('0x18'));var licenseUtil=require(_0x10a8('0x19'));var db=require(_0x10a8('0x1a'))['db'];function respondWithStatusCode(_0x54003a,_0x3d5777){_0x3d5777=_0x3d5777||0xcc;return function(_0x1e8b44){if(_0x1e8b44){return _0x54003a[_0x10a8('0x1b')](_0x3d5777);}return _0x54003a[_0x10a8('0x1c')](_0x3d5777)[_0x10a8('0x1d')]();};}function respondWithResult(_0x718da2,_0x5c897a){_0x5c897a=_0x5c897a||0xc8;return function(_0x10e0a4){if(_0x10e0a4){return _0x718da2['status'](_0x5c897a)[_0x10a8('0x1e')](_0x10e0a4);}};}function respondWithFilteredResult(_0x4888a3,_0xe0dcfe){return function(_0x1d1a3c){if(_0x1d1a3c){var _0x4ed5f9=typeof _0xe0dcfe[_0x10a8('0x1f')]==='undefined'&&typeof _0xe0dcfe[_0x10a8('0x20')]===_0x10a8('0x21');var _0x42b615=_0x1d1a3c['count'];var _0x59c37d=_0x4ed5f9?0x0:_0xe0dcfe[_0x10a8('0x1f')];var _0x378f79=_0x4ed5f9?_0x1d1a3c['count']:_0xe0dcfe['offset']+_0xe0dcfe['limit'];var _0x3e056c;if(_0x378f79>=_0x42b615){_0x378f79=_0x42b615;_0x3e056c=0xc8;}else{_0x3e056c=0xce;}_0x4888a3[_0x10a8('0x1c')](_0x3e056c);return _0x4888a3[_0x10a8('0x22')](_0x10a8('0x23'),_0x59c37d+'-'+_0x378f79+'/'+_0x42b615)[_0x10a8('0x1e')](_0x1d1a3c);}return null;};}function patchUpdates(_0x4eeb13){return function(_0x2370a6){try{jsonpatch[_0x10a8('0x24')](_0x2370a6,_0x4eeb13,!![]);}catch(_0xe3bc0b){return BPromise[_0x10a8('0x25')](_0xe3bc0b);}return _0x2370a6[_0x10a8('0x26')]();};}function saveUpdates(_0x22fe34,_0x1a5dc9){return function(_0x179ded){if(_0x179ded){return _0x179ded[_0x10a8('0x27')](_0x22fe34)[_0x10a8('0x28')](function(_0x354670){return _0x354670;});}return null;};}function removeEntity(_0x54f4e8,_0x115941){return function(_0x4209f8){if(_0x4209f8){return _0x4209f8[_0x10a8('0x29')]()[_0x10a8('0x28')](function(){_0x54f4e8[_0x10a8('0x1c')](0xcc)[_0x10a8('0x1d')]();});}};}function handleEntityNotFound(_0x4524df,_0x216b42){return function(_0x11ada7){if(!_0x11ada7){_0x4524df[_0x10a8('0x1b')](0x194);}return _0x11ada7;};}function handleError(_0x10add6,_0x4bc319){_0x4bc319=_0x4bc319||0x1f4;return function(_0x24ec6d){logger[_0x10a8('0x2a')](_0x24ec6d[_0x10a8('0x2b')]);if(_0x24ec6d[_0x10a8('0x2c')]){delete _0x24ec6d['name'];}_0x10add6['status'](_0x4bc319)[_0x10a8('0x2d')](_0x24ec6d);};}exports[_0x10a8('0x2e')]=function(_0xef80ff,_0x433d52){var _0x40743c={},_0x49db1f={},_0x2fb4f2={'count':0x0,'rows':[]};var _0x34641d=_['map'](db[_0x10a8('0x2f')][_0x10a8('0x30')],function(_0x172792){return{'name':_0x172792['fieldName'],'type':_0x172792[_0x10a8('0x31')][_0x10a8('0x32')]};});_0x49db1f['model']=_[_0x10a8('0x33')](_0x34641d,'name');_0x49db1f[_0x10a8('0x34')]=_['keys'](_0xef80ff[_0x10a8('0x34')]);_0x49db1f[_0x10a8('0x35')]=_['intersection'](_0x49db1f['model'],_0x49db1f[_0x10a8('0x34')]);_0x40743c['attributes']=_[_0x10a8('0x36')](_0x49db1f['model'],qs[_0x10a8('0x37')](_0xef80ff[_0x10a8('0x34')][_0x10a8('0x37')]));_0x40743c['attributes']=_0x40743c['attributes'][_0x10a8('0x38')]?_0x40743c[_0x10a8('0x39')]:_0x49db1f['model'];if(!_0xef80ff['query']['hasOwnProperty']('nolimit')){_0x40743c[_0x10a8('0x20')]=qs[_0x10a8('0x20')](_0xef80ff[_0x10a8('0x34')][_0x10a8('0x20')]);_0x40743c[_0x10a8('0x1f')]=qs[_0x10a8('0x1f')](_0xef80ff['query']['offset']);}_0x40743c['order']=qs[_0x10a8('0x3a')](_0xef80ff[_0x10a8('0x34')][_0x10a8('0x3a')]);_0x40743c[_0x10a8('0x3b')]=qs[_0x10a8('0x35')](_[_0x10a8('0x3c')](_0xef80ff['query'],_0x49db1f['filters']),_0x34641d);if(_0xef80ff[_0x10a8('0x34')][_0x10a8('0x3d')]){_0x40743c[_0x10a8('0x3b')]=_['merge'](_0x40743c[_0x10a8('0x3b')],{'$or':_[_0x10a8('0x33')](_0x34641d,function(_0x17fd03){if(_0x17fd03[_0x10a8('0x31')]!==_0x10a8('0x3e')){var _0x2f861b={};_0x2f861b[_0x17fd03[_0x10a8('0x2c')]]={'$like':'%'+_0xef80ff['query']['filter']+'%'};return _0x2f861b;}})});}_0x40743c=_['merge']({},_0x40743c,_0xef80ff[_0x10a8('0x3f')]);var _0x2863bb={'where':_0x40743c[_0x10a8('0x3b')]};return db[_0x10a8('0x2f')][_0x10a8('0x40')](_0x2863bb)['then'](function(_0x5883ad){_0x2fb4f2[_0x10a8('0x40')]=_0x5883ad;if(_0xef80ff['query'][_0x10a8('0x41')]){_0x40743c[_0x10a8('0x42')]=[{'all':!![]}];}return db[_0x10a8('0x2f')][_0x10a8('0x43')](_0x40743c);})[_0x10a8('0x28')](function(_0x2e1e76){_0x2fb4f2[_0x10a8('0x44')]=_0x2e1e76;return _0x2fb4f2;})['then'](respondWithFilteredResult(_0x433d52,_0x40743c))[_0x10a8('0x45')](handleError(_0x433d52,null));};exports[_0x10a8('0x46')]=function(_0xc332dc,_0x18012a){var _0x137498={'raw':![],'where':{'id':_0xc332dc['params']['id']}},_0x5c5d0d={};_0x5c5d0d[_0x10a8('0x47')]=_[_0x10a8('0x48')](db['IntegrationReport'][_0x10a8('0x30')]);_0x5c5d0d[_0x10a8('0x34')]=_['keys'](_0xc332dc[_0x10a8('0x34')]);_0x5c5d0d['filters']=_['intersection'](_0x5c5d0d[_0x10a8('0x47')],_0x5c5d0d[_0x10a8('0x34')]);_0x137498['attributes']=_['intersection'](_0x5c5d0d['model'],qs[_0x10a8('0x37')](_0xc332dc[_0x10a8('0x34')][_0x10a8('0x37')]));_0x137498[_0x10a8('0x39')]=_0x137498[_0x10a8('0x39')][_0x10a8('0x38')]?_0x137498[_0x10a8('0x39')]:_0x5c5d0d[_0x10a8('0x47')];if(_0xc332dc[_0x10a8('0x34')][_0x10a8('0x41')]){_0x137498[_0x10a8('0x42')]=[{'all':!![]}];}_0x137498=_['merge']({},_0x137498,_0xc332dc['options']);return db[_0x10a8('0x2f')][_0x10a8('0x49')](_0x137498)[_0x10a8('0x28')](handleEntityNotFound(_0x18012a,null))[_0x10a8('0x28')](respondWithResult(_0x18012a,null))['catch'](handleError(_0x18012a,null));};exports[_0x10a8('0x4a')]=function(_0x1af3ef,_0x3cc812){return db[_0x10a8('0x2f')][_0x10a8('0x4a')](_0x1af3ef[_0x10a8('0x4b')],{})[_0x10a8('0x28')](respondWithResult(_0x3cc812,0xc9))['catch'](handleError(_0x3cc812,null));};exports[_0x10a8('0x27')]=function(_0x2ab11f,_0x16e4a9){if(_0x2ab11f['body']['id']){delete _0x2ab11f[_0x10a8('0x4b')]['id'];}return db['IntegrationReport'][_0x10a8('0x49')]({'where':{'id':_0x2ab11f[_0x10a8('0x4c')]['id']}})[_0x10a8('0x28')](handleEntityNotFound(_0x16e4a9,null))[_0x10a8('0x28')](saveUpdates(_0x2ab11f[_0x10a8('0x4b')],null))[_0x10a8('0x28')](respondWithResult(_0x16e4a9,null))['catch'](handleError(_0x16e4a9,null));};exports[_0x10a8('0x29')]=function(_0x456d01,_0x55fe20){return db['IntegrationReport'][_0x10a8('0x49')]({'where':{'id':_0x456d01[_0x10a8('0x4c')]['id']}})[_0x10a8('0x28')](handleEntityNotFound(_0x55fe20,null))['then'](removeEntity(_0x55fe20,null))[_0x10a8('0x45')](handleError(_0x55fe20,null));};exports['describe']=function(_0x4f97e7,_0x250bd6){return db[_0x10a8('0x2f')][_0x10a8('0x4d')]()[_0x10a8('0x28')](respondWithResult(_0x250bd6,null))[_0x10a8('0x45')](handleError(_0x250bd6,null));};