Built motion from commit b0a9a629.|2.6.33
[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 _0xf5ac=['crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','offset','limit','undefined','count','set','Content-Range','apply','save','update','then','destroy','error','stack','name','send','index','map','IntegrationReport','rawAttributes','fieldName','type','model','query','filters','intersection','attributes','fields','sort','where','pick','filter','merge','includeAll','include','findAll','rows','show','params','find','catch','create','body','describe','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','util','path','sox','to-csv','ejs','fs-extra','lodash'];(function(_0x5e79ec,_0x8bdee){var _0x3455da=function(_0x2cb94f){while(--_0x2cb94f){_0x5e79ec['push'](_0x5e79ec['shift']());}};_0x3455da(++_0x8bdee);}(_0xf5ac,0x118));var _0xcf5a=function(_0x28871a,_0x51f5aa){_0x28871a=_0x28871a-0x0;var _0x3f4566=_0xf5ac[_0x28871a];return _0x3f4566;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xcf5a('0x0'));var zipdir=require(_0xcf5a('0x1'));var jsonpatch=require(_0xcf5a('0x2'));var rp=require(_0xcf5a('0x3'));var moment=require('moment');var BPromise=require(_0xcf5a('0x4'));var Mustache=require('mustache');var util=require(_0xcf5a('0x5'));var path=require(_0xcf5a('0x6'));var sox=require(_0xcf5a('0x7'));var csv=require(_0xcf5a('0x8'));var ejs=require(_0xcf5a('0x9'));var fs=require('fs');var fs_extra=require(_0xcf5a('0xa'));var _=require(_0xcf5a('0xb'));var squel=require('squel');var crypto=require(_0xcf5a('0xc'));var jsforce=require(_0xcf5a('0xd'));var deskjs=require(_0xcf5a('0xe'));var toCsv=require('to-csv');var querystring=require(_0xcf5a('0xf'));var Papa=require(_0xcf5a('0x10'));var Redis=require(_0xcf5a('0x11'));var authService=require(_0xcf5a('0x12'));var qs=require(_0xcf5a('0x13'));var as=require(_0xcf5a('0x14'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xcf5a('0x15'))(_0xcf5a('0x16'));var utils=require(_0xcf5a('0x17'));var config=require(_0xcf5a('0x18'));var licenseUtil=require(_0xcf5a('0x19'));var db=require(_0xcf5a('0x1a'))['db'];function respondWithStatusCode(_0x31a9f3,_0x4fd383){_0x4fd383=_0x4fd383||0xcc;return function(_0xb06840){if(_0xb06840){return _0x31a9f3['sendStatus'](_0x4fd383);}return _0x31a9f3[_0xcf5a('0x1b')](_0x4fd383)[_0xcf5a('0x1c')]();};}function respondWithResult(_0x28189b,_0x3e6af0){_0x3e6af0=_0x3e6af0||0xc8;return function(_0x45b0bc){if(_0x45b0bc){return _0x28189b['status'](_0x3e6af0)[_0xcf5a('0x1d')](_0x45b0bc);}};}function respondWithFilteredResult(_0x28fd0f,_0x1252c9){return function(_0x152bdf){if(_0x152bdf){var _0x5ae2e9=typeof _0x1252c9[_0xcf5a('0x1e')]==='undefined'&&typeof _0x1252c9[_0xcf5a('0x1f')]===_0xcf5a('0x20');var _0x197e15=_0x152bdf[_0xcf5a('0x21')];var _0x31e4c2=_0x5ae2e9?0x0:_0x1252c9[_0xcf5a('0x1e')];var _0x95a318=_0x5ae2e9?_0x152bdf[_0xcf5a('0x21')]:_0x1252c9[_0xcf5a('0x1e')]+_0x1252c9[_0xcf5a('0x1f')];var _0x29184c;if(_0x95a318>=_0x197e15){_0x95a318=_0x197e15;_0x29184c=0xc8;}else{_0x29184c=0xce;}_0x28fd0f[_0xcf5a('0x1b')](_0x29184c);return _0x28fd0f[_0xcf5a('0x22')](_0xcf5a('0x23'),_0x31e4c2+'-'+_0x95a318+'/'+_0x197e15)[_0xcf5a('0x1d')](_0x152bdf);}return null;};}function patchUpdates(_0x437664){return function(_0x1b9d5d){try{jsonpatch[_0xcf5a('0x24')](_0x1b9d5d,_0x437664,!![]);}catch(_0x1c2995){return BPromise['reject'](_0x1c2995);}return _0x1b9d5d[_0xcf5a('0x25')]();};}function saveUpdates(_0x181c3c,_0x2e0a42){return function(_0x4f2d28){if(_0x4f2d28){return _0x4f2d28[_0xcf5a('0x26')](_0x181c3c)[_0xcf5a('0x27')](function(_0x4d4675){return _0x4d4675;});}return null;};}function removeEntity(_0x535db5,_0x5e8c7b){return function(_0x32c8fe){if(_0x32c8fe){return _0x32c8fe[_0xcf5a('0x28')]()[_0xcf5a('0x27')](function(){_0x535db5[_0xcf5a('0x1b')](0xcc)[_0xcf5a('0x1c')]();});}};}function handleEntityNotFound(_0x377481,_0x16c8b4){return function(_0x11e088){if(!_0x11e088){_0x377481['sendStatus'](0x194);}return _0x11e088;};}function handleError(_0x3ce9aa,_0x45587a){_0x45587a=_0x45587a||0x1f4;return function(_0xdffbf7){logger[_0xcf5a('0x29')](_0xdffbf7[_0xcf5a('0x2a')]);if(_0xdffbf7[_0xcf5a('0x2b')]){delete _0xdffbf7[_0xcf5a('0x2b')];}_0x3ce9aa[_0xcf5a('0x1b')](_0x45587a)[_0xcf5a('0x2c')](_0xdffbf7);};}exports[_0xcf5a('0x2d')]=function(_0x5ba166,_0x298aa6){var _0x14dd1c={},_0x38e451={},_0x4f8e70={'count':0x0,'rows':[]};var _0x9feb43=_[_0xcf5a('0x2e')](db[_0xcf5a('0x2f')][_0xcf5a('0x30')],function(_0x515a6f){return{'name':_0x515a6f[_0xcf5a('0x31')],'type':_0x515a6f[_0xcf5a('0x32')]['key']};});_0x38e451[_0xcf5a('0x33')]=_[_0xcf5a('0x2e')](_0x9feb43,_0xcf5a('0x2b'));_0x38e451[_0xcf5a('0x34')]=_['keys'](_0x5ba166[_0xcf5a('0x34')]);_0x38e451[_0xcf5a('0x35')]=_[_0xcf5a('0x36')](_0x38e451[_0xcf5a('0x33')],_0x38e451[_0xcf5a('0x34')]);_0x14dd1c[_0xcf5a('0x37')]=_[_0xcf5a('0x36')](_0x38e451['model'],qs[_0xcf5a('0x38')](_0x5ba166['query'][_0xcf5a('0x38')]));_0x14dd1c[_0xcf5a('0x37')]=_0x14dd1c['attributes']['length']?_0x14dd1c[_0xcf5a('0x37')]:_0x38e451[_0xcf5a('0x33')];if(!_0x5ba166[_0xcf5a('0x34')]['hasOwnProperty']('nolimit')){_0x14dd1c[_0xcf5a('0x1f')]=qs[_0xcf5a('0x1f')](_0x5ba166['query'][_0xcf5a('0x1f')]);_0x14dd1c['offset']=qs[_0xcf5a('0x1e')](_0x5ba166[_0xcf5a('0x34')][_0xcf5a('0x1e')]);}_0x14dd1c['order']=qs['sort'](_0x5ba166[_0xcf5a('0x34')][_0xcf5a('0x39')]);_0x14dd1c[_0xcf5a('0x3a')]=qs[_0xcf5a('0x35')](_[_0xcf5a('0x3b')](_0x5ba166[_0xcf5a('0x34')],_0x38e451['filters']),_0x9feb43);if(_0x5ba166[_0xcf5a('0x34')][_0xcf5a('0x3c')]){_0x14dd1c[_0xcf5a('0x3a')]=_[_0xcf5a('0x3d')](_0x14dd1c[_0xcf5a('0x3a')],{'$or':_[_0xcf5a('0x2e')](_0x9feb43,function(_0x25bc41){if(_0x25bc41[_0xcf5a('0x32')]!=='VIRTUAL'){var _0x19310e={};_0x19310e[_0x25bc41[_0xcf5a('0x2b')]]={'$like':'%'+_0x5ba166['query'][_0xcf5a('0x3c')]+'%'};return _0x19310e;}})});}_0x14dd1c=_['merge']({},_0x14dd1c,_0x5ba166['options']);var _0x2ef006={'where':_0x14dd1c[_0xcf5a('0x3a')]};return db[_0xcf5a('0x2f')][_0xcf5a('0x21')](_0x2ef006)['then'](function(_0x2c9d5a){_0x4f8e70['count']=_0x2c9d5a;if(_0x5ba166[_0xcf5a('0x34')][_0xcf5a('0x3e')]){_0x14dd1c[_0xcf5a('0x3f')]=[{'all':!![]}];}return db[_0xcf5a('0x2f')][_0xcf5a('0x40')](_0x14dd1c);})[_0xcf5a('0x27')](function(_0x45d865){_0x4f8e70[_0xcf5a('0x41')]=_0x45d865;return _0x4f8e70;})['then'](respondWithFilteredResult(_0x298aa6,_0x14dd1c))['catch'](handleError(_0x298aa6,null));};exports[_0xcf5a('0x42')]=function(_0x22114c,_0x2462e4){var _0x20e6ed={'raw':![],'where':{'id':_0x22114c[_0xcf5a('0x43')]['id']}},_0xe2b48a={};_0xe2b48a[_0xcf5a('0x33')]=_['keys'](db[_0xcf5a('0x2f')][_0xcf5a('0x30')]);_0xe2b48a['query']=_['keys'](_0x22114c[_0xcf5a('0x34')]);_0xe2b48a[_0xcf5a('0x35')]=_['intersection'](_0xe2b48a['model'],_0xe2b48a[_0xcf5a('0x34')]);_0x20e6ed[_0xcf5a('0x37')]=_[_0xcf5a('0x36')](_0xe2b48a[_0xcf5a('0x33')],qs[_0xcf5a('0x38')](_0x22114c['query'][_0xcf5a('0x38')]));_0x20e6ed[_0xcf5a('0x37')]=_0x20e6ed[_0xcf5a('0x37')]['length']?_0x20e6ed[_0xcf5a('0x37')]:_0xe2b48a[_0xcf5a('0x33')];if(_0x22114c[_0xcf5a('0x34')][_0xcf5a('0x3e')]){_0x20e6ed[_0xcf5a('0x3f')]=[{'all':!![]}];}_0x20e6ed=_[_0xcf5a('0x3d')]({},_0x20e6ed,_0x22114c['options']);return db[_0xcf5a('0x2f')][_0xcf5a('0x44')](_0x20e6ed)[_0xcf5a('0x27')](handleEntityNotFound(_0x2462e4,null))[_0xcf5a('0x27')](respondWithResult(_0x2462e4,null))[_0xcf5a('0x45')](handleError(_0x2462e4,null));};exports['create']=function(_0x1b7e88,_0x58c7dc){return db[_0xcf5a('0x2f')][_0xcf5a('0x46')](_0x1b7e88[_0xcf5a('0x47')],{})[_0xcf5a('0x27')](respondWithResult(_0x58c7dc,0xc9))[_0xcf5a('0x45')](handleError(_0x58c7dc,null));};exports[_0xcf5a('0x26')]=function(_0x384142,_0x30eede){if(_0x384142['body']['id']){delete _0x384142[_0xcf5a('0x47')]['id'];}return db[_0xcf5a('0x2f')][_0xcf5a('0x44')]({'where':{'id':_0x384142[_0xcf5a('0x43')]['id']}})[_0xcf5a('0x27')](handleEntityNotFound(_0x30eede,null))[_0xcf5a('0x27')](saveUpdates(_0x384142['body'],null))[_0xcf5a('0x27')](respondWithResult(_0x30eede,null))[_0xcf5a('0x45')](handleError(_0x30eede,null));};exports['destroy']=function(_0x5d0426,_0x45493b){return db[_0xcf5a('0x2f')][_0xcf5a('0x44')]({'where':{'id':_0x5d0426['params']['id']}})['then'](handleEntityNotFound(_0x45493b,null))['then'](removeEntity(_0x45493b,null))[_0xcf5a('0x45')](handleError(_0x45493b,null));};exports[_0xcf5a('0x48')]=function(_0x19ea5e,_0xb89a5c){return db[_0xcf5a('0x2f')][_0xcf5a('0x48')]()['then'](respondWithResult(_0xb89a5c,null))['catch'](handleError(_0xb89a5c,null));};