4f88e82ab709961a886fa78f75af1f4bb55aa887
[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 _0x8aa2=['catch','show','params','fields','find','create','body','describe','eml-format','rimraf','zip-dir','fast-json-patch','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../mysqldb','sendStatus','status','end','offset','limit','undefined','count','Content-Range','json','apply','reject','save','update','then','error','stack','name','send','rawAttributes','fieldName','type','key','model','map','query','keys','filters','intersection','attributes','nolimit','order','sort','where','filter','merge','VIRTUAL','options','IntegrationReport','includeAll','include'];(function(_0x515ff0,_0x44a0b1){var _0x132616=function(_0x449772){while(--_0x449772){_0x515ff0['push'](_0x515ff0['shift']());}};_0x132616(++_0x44a0b1);}(_0x8aa2,0x1c4));var _0x28aa=function(_0x58918b,_0x123a6d){_0x58918b=_0x58918b-0x0;var _0x10ffe8=_0x8aa2[_0x58918b];return _0x10ffe8;};'use strict';var emlformat=require(_0x28aa('0x0'));var rimraf=require(_0x28aa('0x1'));var zipdir=require(_0x28aa('0x2'));var jsonpatch=require(_0x28aa('0x3'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x28aa('0x4'));var Mustache=require(_0x28aa('0x5'));var util=require(_0x28aa('0x6'));var path=require(_0x28aa('0x7'));var sox=require(_0x28aa('0x8'));var csv=require(_0x28aa('0x9'));var ejs=require(_0x28aa('0xa'));var fs=require('fs');var fs_extra=require(_0x28aa('0xb'));var _=require(_0x28aa('0xc'));var squel=require(_0x28aa('0xd'));var crypto=require(_0x28aa('0xe'));var jsforce=require(_0x28aa('0xf'));var deskjs=require('desk.js');var toCsv=require(_0x28aa('0x9'));var querystring=require(_0x28aa('0x10'));var Papa=require(_0x28aa('0x11'));var Redis=require(_0x28aa('0x12'));var authService=require(_0x28aa('0x13'));var qs=require(_0x28aa('0x14'));var as=require(_0x28aa('0x15'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x28aa('0x16'))(_0x28aa('0x17'));var utils=require(_0x28aa('0x18'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x28aa('0x19'))['db'];function respondWithStatusCode(_0x3dc168,_0x17a89b){_0x17a89b=_0x17a89b||0xcc;return function(_0x2a5779){if(_0x2a5779){return _0x3dc168[_0x28aa('0x1a')](_0x17a89b);}return _0x3dc168[_0x28aa('0x1b')](_0x17a89b)[_0x28aa('0x1c')]();};}function respondWithResult(_0x39e034,_0x57df2c){_0x57df2c=_0x57df2c||0xc8;return function(_0x4a4700){if(_0x4a4700){return _0x39e034[_0x28aa('0x1b')](_0x57df2c)['json'](_0x4a4700);}};}function respondWithFilteredResult(_0x315e2c,_0x369e4d){return function(_0x580b30){if(_0x580b30){var _0x305c94=typeof _0x369e4d[_0x28aa('0x1d')]==='undefined'&&typeof _0x369e4d[_0x28aa('0x1e')]===_0x28aa('0x1f');var _0x6cd81d=_0x580b30['count'];var _0x188bf1=_0x305c94?0x0:_0x369e4d[_0x28aa('0x1d')];var _0x88432b=_0x305c94?_0x580b30[_0x28aa('0x20')]:_0x369e4d[_0x28aa('0x1d')]+_0x369e4d['limit'];var _0x57f9b2;if(_0x88432b>=_0x6cd81d){_0x88432b=_0x6cd81d;_0x57f9b2=0xc8;}else{_0x57f9b2=0xce;}_0x315e2c[_0x28aa('0x1b')](_0x57f9b2);return _0x315e2c['set'](_0x28aa('0x21'),_0x188bf1+'-'+_0x88432b+'/'+_0x6cd81d)[_0x28aa('0x22')](_0x580b30);}return null;};}function patchUpdates(_0x284d1a){return function(_0x68fa72){try{jsonpatch[_0x28aa('0x23')](_0x68fa72,_0x284d1a,!![]);}catch(_0x44362b){return BPromise[_0x28aa('0x24')](_0x44362b);}return _0x68fa72[_0x28aa('0x25')]();};}function saveUpdates(_0x4e9417,_0x236a3e){return function(_0x1097c6){if(_0x1097c6){return _0x1097c6[_0x28aa('0x26')](_0x4e9417)[_0x28aa('0x27')](function(_0x4bd967){return _0x4bd967;});}return null;};}function removeEntity(_0xd897d4,_0x17184d){return function(_0x35750c){if(_0x35750c){return _0x35750c['destroy']()[_0x28aa('0x27')](function(){_0xd897d4['status'](0xcc)[_0x28aa('0x1c')]();});}};}function handleEntityNotFound(_0x4b38ce,_0x3bd4e3){return function(_0x506e72){if(!_0x506e72){_0x4b38ce['sendStatus'](0x194);}return _0x506e72;};}function handleError(_0x3c6e8a,_0x4e68d6){_0x4e68d6=_0x4e68d6||0x1f4;return function(_0x14443a){logger[_0x28aa('0x28')](_0x14443a[_0x28aa('0x29')]);if(_0x14443a[_0x28aa('0x2a')]){delete _0x14443a[_0x28aa('0x2a')];}_0x3c6e8a[_0x28aa('0x1b')](_0x4e68d6)[_0x28aa('0x2b')](_0x14443a);};}exports['index']=function(_0x10066b,_0x3a5a1f){var _0xe54aec={},_0x85dbc3={},_0x582c0c={'count':0x0,'rows':[]};var _0x6e28f5=_['map'](db['IntegrationReport'][_0x28aa('0x2c')],function(_0x34988d){return{'name':_0x34988d[_0x28aa('0x2d')],'type':_0x34988d[_0x28aa('0x2e')][_0x28aa('0x2f')]};});_0x85dbc3[_0x28aa('0x30')]=_[_0x28aa('0x31')](_0x6e28f5,'name');_0x85dbc3[_0x28aa('0x32')]=_[_0x28aa('0x33')](_0x10066b['query']);_0x85dbc3[_0x28aa('0x34')]=_[_0x28aa('0x35')](_0x85dbc3['model'],_0x85dbc3[_0x28aa('0x32')]);_0xe54aec['attributes']=_[_0x28aa('0x35')](_0x85dbc3[_0x28aa('0x30')],qs['fields'](_0x10066b[_0x28aa('0x32')]['fields']));_0xe54aec[_0x28aa('0x36')]=_0xe54aec[_0x28aa('0x36')]['length']?_0xe54aec['attributes']:_0x85dbc3['model'];if(!_0x10066b[_0x28aa('0x32')]['hasOwnProperty'](_0x28aa('0x37'))){_0xe54aec[_0x28aa('0x1e')]=qs['limit'](_0x10066b[_0x28aa('0x32')][_0x28aa('0x1e')]);_0xe54aec[_0x28aa('0x1d')]=qs['offset'](_0x10066b['query'][_0x28aa('0x1d')]);}_0xe54aec[_0x28aa('0x38')]=qs['sort'](_0x10066b[_0x28aa('0x32')][_0x28aa('0x39')]);_0xe54aec[_0x28aa('0x3a')]=qs[_0x28aa('0x34')](_['pick'](_0x10066b['query'],_0x85dbc3[_0x28aa('0x34')]),_0x6e28f5);if(_0x10066b[_0x28aa('0x32')][_0x28aa('0x3b')]){_0xe54aec['where']=_[_0x28aa('0x3c')](_0xe54aec[_0x28aa('0x3a')],{'$or':_[_0x28aa('0x31')](_0x6e28f5,function(_0x4fcb92){if(_0x4fcb92[_0x28aa('0x2e')]!==_0x28aa('0x3d')){var _0x2c33b5={};_0x2c33b5[_0x4fcb92[_0x28aa('0x2a')]]={'$like':'%'+_0x10066b['query'][_0x28aa('0x3b')]+'%'};return _0x2c33b5;}})});}_0xe54aec=_[_0x28aa('0x3c')]({},_0xe54aec,_0x10066b[_0x28aa('0x3e')]);var _0x13c6c3={'where':_0xe54aec[_0x28aa('0x3a')]};return db[_0x28aa('0x3f')]['count'](_0x13c6c3)[_0x28aa('0x27')](function(_0x82987f){_0x582c0c[_0x28aa('0x20')]=_0x82987f;if(_0x10066b[_0x28aa('0x32')][_0x28aa('0x40')]){_0xe54aec[_0x28aa('0x41')]=[{'all':!![]}];}return db[_0x28aa('0x3f')]['findAll'](_0xe54aec);})[_0x28aa('0x27')](function(_0x1ddb34){_0x582c0c['rows']=_0x1ddb34;return _0x582c0c;})[_0x28aa('0x27')](respondWithFilteredResult(_0x3a5a1f,_0xe54aec))[_0x28aa('0x42')](handleError(_0x3a5a1f,null));};exports[_0x28aa('0x43')]=function(_0xd60630,_0x5e7ce7){var _0x4044f0={'raw':![],'where':{'id':_0xd60630[_0x28aa('0x44')]['id']}},_0x346293={};_0x346293['model']=_[_0x28aa('0x33')](db['IntegrationReport'][_0x28aa('0x2c')]);_0x346293[_0x28aa('0x32')]=_[_0x28aa('0x33')](_0xd60630[_0x28aa('0x32')]);_0x346293['filters']=_[_0x28aa('0x35')](_0x346293[_0x28aa('0x30')],_0x346293[_0x28aa('0x32')]);_0x4044f0[_0x28aa('0x36')]=_[_0x28aa('0x35')](_0x346293[_0x28aa('0x30')],qs[_0x28aa('0x45')](_0xd60630[_0x28aa('0x32')]['fields']));_0x4044f0[_0x28aa('0x36')]=_0x4044f0[_0x28aa('0x36')]['length']?_0x4044f0['attributes']:_0x346293[_0x28aa('0x30')];if(_0xd60630['query']['includeAll']){_0x4044f0[_0x28aa('0x41')]=[{'all':!![]}];}_0x4044f0=_['merge']({},_0x4044f0,_0xd60630[_0x28aa('0x3e')]);return db['IntegrationReport'][_0x28aa('0x46')](_0x4044f0)[_0x28aa('0x27')](handleEntityNotFound(_0x5e7ce7,null))['then'](respondWithResult(_0x5e7ce7,null))['catch'](handleError(_0x5e7ce7,null));};exports[_0x28aa('0x47')]=function(_0x518752,_0x482041){return db[_0x28aa('0x3f')][_0x28aa('0x47')](_0x518752[_0x28aa('0x48')],{})[_0x28aa('0x27')](respondWithResult(_0x482041,0xc9))['catch'](handleError(_0x482041,null));};exports['update']=function(_0x58289d,_0x5a7ab9){if(_0x58289d[_0x28aa('0x48')]['id']){delete _0x58289d[_0x28aa('0x48')]['id'];}return db['IntegrationReport'][_0x28aa('0x46')]({'where':{'id':_0x58289d[_0x28aa('0x44')]['id']}})[_0x28aa('0x27')](handleEntityNotFound(_0x5a7ab9,null))[_0x28aa('0x27')](saveUpdates(_0x58289d['body'],null))['then'](respondWithResult(_0x5a7ab9,null))[_0x28aa('0x42')](handleError(_0x5a7ab9,null));};exports['destroy']=function(_0x1da1d0,_0x180392){return db[_0x28aa('0x3f')][_0x28aa('0x46')]({'where':{'id':_0x1da1d0[_0x28aa('0x44')]['id']}})[_0x28aa('0x27')](handleEntityNotFound(_0x180392,null))[_0x28aa('0x27')](removeEntity(_0x180392,null))['catch'](handleError(_0x180392,null));};exports[_0x28aa('0x49')]=function(_0x441d13,_0x55d5af){return db[_0x28aa('0x3f')][_0x28aa('0x49')]()['then'](respondWithResult(_0x55d5af,null))[_0x28aa('0x42')](handleError(_0x55d5af,null));};