Built motion from commit 85328c08.|2.5.50
[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 _0xd39b=['filter','where','merge','VIRTUAL','options','findAll','catch','params','rawAttributes','length','includeAll','find','create','body','destroy','describe','eml-format','zip-dir','fast-json-patch','moment','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','end','status','json','offset','limit','undefined','count','set','Content-Range','apply','reject','save','update','then','error','stack','name','send','index','map','IntegrationReport','fieldName','type','key','model','query','keys','intersection','attributes','fields','order','sort','filters'];(function(_0x712903,_0x999dad){var _0x474a06=function(_0x1932d7){while(--_0x1932d7){_0x712903['push'](_0x712903['shift']());}};_0x474a06(++_0x999dad);}(_0xd39b,0x138));var _0xbd39=function(_0x462ab0,_0x545049){_0x462ab0=_0x462ab0-0x0;var _0x161360=_0xd39b[_0x462ab0];return _0x161360;};'use strict';var emlformat=require(_0xbd39('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xbd39('0x1'));var jsonpatch=require(_0xbd39('0x2'));var rp=require('request-promise');var moment=require(_0xbd39('0x3'));var BPromise=require('bluebird');var Mustache=require(_0xbd39('0x4'));var util=require(_0xbd39('0x5'));var path=require(_0xbd39('0x6'));var sox=require(_0xbd39('0x7'));var csv=require(_0xbd39('0x8'));var ejs=require(_0xbd39('0x9'));var fs=require('fs');var fs_extra=require(_0xbd39('0xa'));var _=require(_0xbd39('0xb'));var squel=require('squel');var crypto=require(_0xbd39('0xc'));var jsforce=require(_0xbd39('0xd'));var deskjs=require(_0xbd39('0xe'));var toCsv=require(_0xbd39('0x8'));var querystring=require(_0xbd39('0xf'));var Papa=require(_0xbd39('0x10'));var Redis=require('ioredis');var authService=require(_0xbd39('0x11'));var qs=require(_0xbd39('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xbd39('0x13'));var logger=require('../../config/logger')(_0xbd39('0x14'));var utils=require(_0xbd39('0x15'));var config=require('../../config/environment');var licenseUtil=require(_0xbd39('0x16'));var db=require(_0xbd39('0x17'))['db'];function respondWithStatusCode(_0x48c075,_0xd83a1){_0xd83a1=_0xd83a1||0xcc;return function(_0x1c55f8){if(_0x1c55f8){return _0x48c075[_0xbd39('0x18')](_0xd83a1);}return _0x48c075['status'](_0xd83a1)[_0xbd39('0x19')]();};}function respondWithResult(_0x86189f,_0x44da6f){_0x44da6f=_0x44da6f||0xc8;return function(_0x2cc36e){if(_0x2cc36e){return _0x86189f[_0xbd39('0x1a')](_0x44da6f)[_0xbd39('0x1b')](_0x2cc36e);}};}function respondWithFilteredResult(_0x3dfaa2,_0x23ccc7){return function(_0x307d38){if(_0x307d38){var _0x5d8ccc=typeof _0x23ccc7[_0xbd39('0x1c')]==='undefined'&&typeof _0x23ccc7[_0xbd39('0x1d')]===_0xbd39('0x1e');var _0x398c4d=_0x307d38[_0xbd39('0x1f')];var _0x3eef06=_0x5d8ccc?0x0:_0x23ccc7[_0xbd39('0x1c')];var _0x19268d=_0x5d8ccc?_0x307d38['count']:_0x23ccc7[_0xbd39('0x1c')]+_0x23ccc7['limit'];var _0x37b1a4;if(_0x19268d>=_0x398c4d){_0x19268d=_0x398c4d;_0x37b1a4=0xc8;}else{_0x37b1a4=0xce;}_0x3dfaa2[_0xbd39('0x1a')](_0x37b1a4);return _0x3dfaa2[_0xbd39('0x20')](_0xbd39('0x21'),_0x3eef06+'-'+_0x19268d+'/'+_0x398c4d)[_0xbd39('0x1b')](_0x307d38);}return null;};}function patchUpdates(_0xf8fa27){return function(_0x98140d){try{jsonpatch[_0xbd39('0x22')](_0x98140d,_0xf8fa27,!![]);}catch(_0x31cde8){return BPromise[_0xbd39('0x23')](_0x31cde8);}return _0x98140d[_0xbd39('0x24')]();};}function saveUpdates(_0x4aa0c7,_0x1a6755){return function(_0x4d67a1){if(_0x4d67a1){return _0x4d67a1[_0xbd39('0x25')](_0x4aa0c7)[_0xbd39('0x26')](function(_0x2b27af){return _0x2b27af;});}return null;};}function removeEntity(_0x395d8e,_0x3830cf){return function(_0x3ed11d){if(_0x3ed11d){return _0x3ed11d['destroy']()[_0xbd39('0x26')](function(){_0x395d8e[_0xbd39('0x1a')](0xcc)[_0xbd39('0x19')]();});}};}function handleEntityNotFound(_0x3acd27,_0x1d7e1f){return function(_0x17bb2e){if(!_0x17bb2e){_0x3acd27['sendStatus'](0x194);}return _0x17bb2e;};}function handleError(_0x4ca097,_0x45f754){_0x45f754=_0x45f754||0x1f4;return function(_0x1b4eb1){logger[_0xbd39('0x27')](_0x1b4eb1[_0xbd39('0x28')]);if(_0x1b4eb1['name']){delete _0x1b4eb1[_0xbd39('0x29')];}_0x4ca097[_0xbd39('0x1a')](_0x45f754)[_0xbd39('0x2a')](_0x1b4eb1);};}exports[_0xbd39('0x2b')]=function(_0x1228f3,_0x15f251){var _0x26c20a={},_0x3891d6={},_0x5b026f={'count':0x0,'rows':[]};var _0x30a7d4=_[_0xbd39('0x2c')](db[_0xbd39('0x2d')]['rawAttributes'],function(_0x20dd0f){return{'name':_0x20dd0f[_0xbd39('0x2e')],'type':_0x20dd0f[_0xbd39('0x2f')][_0xbd39('0x30')]};});_0x3891d6[_0xbd39('0x31')]=_[_0xbd39('0x2c')](_0x30a7d4,_0xbd39('0x29'));_0x3891d6[_0xbd39('0x32')]=_[_0xbd39('0x33')](_0x1228f3[_0xbd39('0x32')]);_0x3891d6['filters']=_[_0xbd39('0x34')](_0x3891d6[_0xbd39('0x31')],_0x3891d6[_0xbd39('0x32')]);_0x26c20a[_0xbd39('0x35')]=_[_0xbd39('0x34')](_0x3891d6['model'],qs[_0xbd39('0x36')](_0x1228f3[_0xbd39('0x32')][_0xbd39('0x36')]));_0x26c20a['attributes']=_0x26c20a['attributes']['length']?_0x26c20a['attributes']:_0x3891d6['model'];if(!_0x1228f3[_0xbd39('0x32')]['hasOwnProperty']('nolimit')){_0x26c20a['limit']=qs[_0xbd39('0x1d')](_0x1228f3[_0xbd39('0x32')][_0xbd39('0x1d')]);_0x26c20a[_0xbd39('0x1c')]=qs[_0xbd39('0x1c')](_0x1228f3[_0xbd39('0x32')][_0xbd39('0x1c')]);}_0x26c20a[_0xbd39('0x37')]=qs[_0xbd39('0x38')](_0x1228f3[_0xbd39('0x32')]['sort']);_0x26c20a['where']=qs['filters'](_['pick'](_0x1228f3[_0xbd39('0x32')],_0x3891d6[_0xbd39('0x39')]),_0x30a7d4);if(_0x1228f3[_0xbd39('0x32')][_0xbd39('0x3a')]){_0x26c20a[_0xbd39('0x3b')]=_[_0xbd39('0x3c')](_0x26c20a[_0xbd39('0x3b')],{'$or':_[_0xbd39('0x2c')](_0x30a7d4,function(_0x361e31){if(_0x361e31[_0xbd39('0x2f')]!==_0xbd39('0x3d')){var _0x41fdc7={};_0x41fdc7[_0x361e31[_0xbd39('0x29')]]={'$like':'%'+_0x1228f3[_0xbd39('0x32')][_0xbd39('0x3a')]+'%'};return _0x41fdc7;}})});}_0x26c20a=_['merge']({},_0x26c20a,_0x1228f3[_0xbd39('0x3e')]);var _0x5e2c07={'where':_0x26c20a[_0xbd39('0x3b')]};return db[_0xbd39('0x2d')]['count'](_0x5e2c07)[_0xbd39('0x26')](function(_0x27711c){_0x5b026f[_0xbd39('0x1f')]=_0x27711c;if(_0x1228f3[_0xbd39('0x32')]['includeAll']){_0x26c20a['include']=[{'all':!![]}];}return db[_0xbd39('0x2d')][_0xbd39('0x3f')](_0x26c20a);})[_0xbd39('0x26')](function(_0x1bebfc){_0x5b026f['rows']=_0x1bebfc;return _0x5b026f;})['then'](respondWithFilteredResult(_0x15f251,_0x26c20a))[_0xbd39('0x40')](handleError(_0x15f251,null));};exports['show']=function(_0x4750e4,_0x12d63d){var _0x95ce0d={'raw':![],'where':{'id':_0x4750e4[_0xbd39('0x41')]['id']}},_0x475272={};_0x475272[_0xbd39('0x31')]=_[_0xbd39('0x33')](db[_0xbd39('0x2d')][_0xbd39('0x42')]);_0x475272[_0xbd39('0x32')]=_[_0xbd39('0x33')](_0x4750e4['query']);_0x475272[_0xbd39('0x39')]=_['intersection'](_0x475272[_0xbd39('0x31')],_0x475272[_0xbd39('0x32')]);_0x95ce0d[_0xbd39('0x35')]=_['intersection'](_0x475272['model'],qs[_0xbd39('0x36')](_0x4750e4[_0xbd39('0x32')][_0xbd39('0x36')]));_0x95ce0d[_0xbd39('0x35')]=_0x95ce0d[_0xbd39('0x35')][_0xbd39('0x43')]?_0x95ce0d[_0xbd39('0x35')]:_0x475272[_0xbd39('0x31')];if(_0x4750e4[_0xbd39('0x32')][_0xbd39('0x44')]){_0x95ce0d['include']=[{'all':!![]}];}_0x95ce0d=_['merge']({},_0x95ce0d,_0x4750e4[_0xbd39('0x3e')]);return db[_0xbd39('0x2d')][_0xbd39('0x45')](_0x95ce0d)[_0xbd39('0x26')](handleEntityNotFound(_0x12d63d,null))[_0xbd39('0x26')](respondWithResult(_0x12d63d,null))['catch'](handleError(_0x12d63d,null));};exports[_0xbd39('0x46')]=function(_0x3f42c1,_0x435186){return db[_0xbd39('0x2d')][_0xbd39('0x46')](_0x3f42c1[_0xbd39('0x47')],{})[_0xbd39('0x26')](respondWithResult(_0x435186,0xc9))[_0xbd39('0x40')](handleError(_0x435186,null));};exports[_0xbd39('0x25')]=function(_0x3e1e05,_0xe07f0f){if(_0x3e1e05['body']['id']){delete _0x3e1e05['body']['id'];}return db[_0xbd39('0x2d')][_0xbd39('0x45')]({'where':{'id':_0x3e1e05[_0xbd39('0x41')]['id']}})[_0xbd39('0x26')](handleEntityNotFound(_0xe07f0f,null))['then'](saveUpdates(_0x3e1e05['body'],null))[_0xbd39('0x26')](respondWithResult(_0xe07f0f,null))[_0xbd39('0x40')](handleError(_0xe07f0f,null));};exports[_0xbd39('0x48')]=function(_0x31ebd0,_0x59a11c){return db[_0xbd39('0x2d')][_0xbd39('0x45')]({'where':{'id':_0x31ebd0['params']['id']}})[_0xbd39('0x26')](handleEntityNotFound(_0x59a11c,null))['then'](removeEntity(_0x59a11c,null))[_0xbd39('0x40')](handleError(_0x59a11c,null));};exports[_0xbd39('0x49')]=function(_0x132016,_0xc8dfd9){return db['IntegrationReport'][_0xbd39('0x49')]()[_0xbd39('0x26')](respondWithResult(_0xc8dfd9,null))[_0xbd39('0x40')](handleError(_0xc8dfd9,null));};