0b4fd812a1b5f477d524f1ac327ef7d84d697aec
[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 _0x6822=['zip-dir','fast-json-patch','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','jsforce','desk.js','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/license/util','../../mysqldb','sendStatus','end','status','undefined','limit','count','offset','set','json','apply','save','then','destroy','error','stack','name','index','map','fieldName','type','key','model','query','filters','attributes','fields','hasOwnProperty','sort','where','pick','VIRTUAL','filter','merge','options','IntegrationReport','includeAll','include','findAll','show','params','keys','rawAttributes','intersection','length','find','catch','create','body','describe','eml-format','rimraf'];(function(_0x465709,_0x14be9e){var _0x33662e=function(_0x51354b){while(--_0x51354b){_0x465709['push'](_0x465709['shift']());}};_0x33662e(++_0x14be9e);}(_0x6822,0xd3));var _0x2682=function(_0x56d482,_0x380609){_0x56d482=_0x56d482-0x0;var _0x47a253=_0x6822[_0x56d482];return _0x47a253;};'use strict';var emlformat=require(_0x2682('0x0'));var rimraf=require(_0x2682('0x1'));var zipdir=require(_0x2682('0x2'));var jsonpatch=require(_0x2682('0x3'));var rp=require('request-promise');var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x2682('0x4'));var util=require(_0x2682('0x5'));var path=require(_0x2682('0x6'));var sox=require(_0x2682('0x7'));var csv=require(_0x2682('0x8'));var ejs=require(_0x2682('0x9'));var fs=require('fs');var fs_extra=require(_0x2682('0xa'));var _=require(_0x2682('0xb'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x2682('0xc'));var deskjs=require(_0x2682('0xd'));var toCsv=require(_0x2682('0x8'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x2682('0xe'));var authService=require(_0x2682('0xf'));var qs=require(_0x2682('0x10'));var as=require(_0x2682('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x2682('0x12'))(_0x2682('0x13'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0x2682('0x14'));var db=require(_0x2682('0x15'))['db'];function respondWithStatusCode(_0x527bad,_0x50f51e){_0x50f51e=_0x50f51e||0xcc;return function(_0x34bdee){if(_0x34bdee){return _0x527bad[_0x2682('0x16')](_0x50f51e);}return _0x527bad['status'](_0x50f51e)[_0x2682('0x17')]();};}function respondWithResult(_0x289328,_0x251141){_0x251141=_0x251141||0xc8;return function(_0xe6ef07){if(_0xe6ef07){return _0x289328[_0x2682('0x18')](_0x251141)['json'](_0xe6ef07);}};}function respondWithFilteredResult(_0x2bf1de,_0x54bbf6){return function(_0x11182a){if(_0x11182a){var _0x4f2168=typeof _0x54bbf6['offset']===_0x2682('0x19')&&typeof _0x54bbf6[_0x2682('0x1a')]===_0x2682('0x19');var _0x590295=_0x11182a['count'];var _0x5ed576=_0x4f2168?0x0:_0x54bbf6['offset'];var _0x2c384d=_0x4f2168?_0x11182a[_0x2682('0x1b')]:_0x54bbf6[_0x2682('0x1c')]+_0x54bbf6[_0x2682('0x1a')];var _0x2e504b;if(_0x2c384d>=_0x590295){_0x2c384d=_0x590295;_0x2e504b=0xc8;}else{_0x2e504b=0xce;}_0x2bf1de['status'](_0x2e504b);return _0x2bf1de[_0x2682('0x1d')]('Content-Range',_0x5ed576+'-'+_0x2c384d+'/'+_0x590295)[_0x2682('0x1e')](_0x11182a);}return null;};}function patchUpdates(_0x21d82b){return function(_0x4a161d){try{jsonpatch[_0x2682('0x1f')](_0x4a161d,_0x21d82b,!![]);}catch(_0x57e390){return BPromise['reject'](_0x57e390);}return _0x4a161d[_0x2682('0x20')]();};}function saveUpdates(_0x37564d,_0x313431){return function(_0x114b01){if(_0x114b01){return _0x114b01['update'](_0x37564d)[_0x2682('0x21')](function(_0x46cc6e){return _0x46cc6e;});}return null;};}function removeEntity(_0x40b15a,_0x4f1fd1){return function(_0x19d63a){if(_0x19d63a){return _0x19d63a[_0x2682('0x22')]()['then'](function(){_0x40b15a[_0x2682('0x18')](0xcc)[_0x2682('0x17')]();});}};}function handleEntityNotFound(_0x585f30,_0x13c7a4){return function(_0x4300bb){if(!_0x4300bb){_0x585f30[_0x2682('0x16')](0x194);}return _0x4300bb;};}function handleError(_0xd5533c,_0x5dd2f3){_0x5dd2f3=_0x5dd2f3||0x1f4;return function(_0x5abe87){logger[_0x2682('0x23')](_0x5abe87[_0x2682('0x24')]);if(_0x5abe87[_0x2682('0x25')]){delete _0x5abe87[_0x2682('0x25')];}_0xd5533c[_0x2682('0x18')](_0x5dd2f3)['send'](_0x5abe87);};}exports[_0x2682('0x26')]=function(_0x4be3d4,_0x2d0ab4){var _0x2cd621={},_0x5777b4={},_0x1595e8={'count':0x0,'rows':[]};var _0x33d3fe=_[_0x2682('0x27')](db['IntegrationReport']['rawAttributes'],function(_0x53a522){return{'name':_0x53a522[_0x2682('0x28')],'type':_0x53a522[_0x2682('0x29')][_0x2682('0x2a')]};});_0x5777b4[_0x2682('0x2b')]=_[_0x2682('0x27')](_0x33d3fe,'name');_0x5777b4[_0x2682('0x2c')]=_['keys'](_0x4be3d4[_0x2682('0x2c')]);_0x5777b4[_0x2682('0x2d')]=_['intersection'](_0x5777b4['model'],_0x5777b4[_0x2682('0x2c')]);_0x2cd621[_0x2682('0x2e')]=_['intersection'](_0x5777b4[_0x2682('0x2b')],qs[_0x2682('0x2f')](_0x4be3d4[_0x2682('0x2c')][_0x2682('0x2f')]));_0x2cd621[_0x2682('0x2e')]=_0x2cd621[_0x2682('0x2e')]['length']?_0x2cd621[_0x2682('0x2e')]:_0x5777b4[_0x2682('0x2b')];if(!_0x4be3d4[_0x2682('0x2c')][_0x2682('0x30')]('nolimit')){_0x2cd621['limit']=qs[_0x2682('0x1a')](_0x4be3d4[_0x2682('0x2c')][_0x2682('0x1a')]);_0x2cd621[_0x2682('0x1c')]=qs['offset'](_0x4be3d4[_0x2682('0x2c')][_0x2682('0x1c')]);}_0x2cd621['order']=qs[_0x2682('0x31')](_0x4be3d4[_0x2682('0x2c')]['sort']);_0x2cd621[_0x2682('0x32')]=qs['filters'](_[_0x2682('0x33')](_0x4be3d4[_0x2682('0x2c')],_0x5777b4['filters']),_0x33d3fe);if(_0x4be3d4[_0x2682('0x2c')]['filter']){_0x2cd621[_0x2682('0x32')]=_['merge'](_0x2cd621[_0x2682('0x32')],{'$or':_[_0x2682('0x27')](_0x33d3fe,function(_0x305cb7){if(_0x305cb7[_0x2682('0x29')]!==_0x2682('0x34')){var _0x5846ac={};_0x5846ac[_0x305cb7[_0x2682('0x25')]]={'$like':'%'+_0x4be3d4[_0x2682('0x2c')][_0x2682('0x35')]+'%'};return _0x5846ac;}})});}_0x2cd621=_[_0x2682('0x36')]({},_0x2cd621,_0x4be3d4[_0x2682('0x37')]);var _0x49cd6b={'where':_0x2cd621['where']};return db[_0x2682('0x38')][_0x2682('0x1b')](_0x49cd6b)['then'](function(_0x3f5b5e){_0x1595e8[_0x2682('0x1b')]=_0x3f5b5e;if(_0x4be3d4[_0x2682('0x2c')][_0x2682('0x39')]){_0x2cd621[_0x2682('0x3a')]=[{'all':!![]}];}return db['IntegrationReport'][_0x2682('0x3b')](_0x2cd621);})['then'](function(_0x239095){_0x1595e8['rows']=_0x239095;return _0x1595e8;})[_0x2682('0x21')](respondWithFilteredResult(_0x2d0ab4,_0x2cd621))['catch'](handleError(_0x2d0ab4,null));};exports[_0x2682('0x3c')]=function(_0x5de298,_0x2c5747){var _0x15209f={'raw':![],'where':{'id':_0x5de298[_0x2682('0x3d')]['id']}},_0x2cdd0c={};_0x2cdd0c[_0x2682('0x2b')]=_[_0x2682('0x3e')](db['IntegrationReport'][_0x2682('0x3f')]);_0x2cdd0c[_0x2682('0x2c')]=_[_0x2682('0x3e')](_0x5de298['query']);_0x2cdd0c[_0x2682('0x2d')]=_[_0x2682('0x40')](_0x2cdd0c['model'],_0x2cdd0c[_0x2682('0x2c')]);_0x15209f[_0x2682('0x2e')]=_[_0x2682('0x40')](_0x2cdd0c['model'],qs[_0x2682('0x2f')](_0x5de298[_0x2682('0x2c')][_0x2682('0x2f')]));_0x15209f[_0x2682('0x2e')]=_0x15209f[_0x2682('0x2e')][_0x2682('0x41')]?_0x15209f[_0x2682('0x2e')]:_0x2cdd0c[_0x2682('0x2b')];if(_0x5de298[_0x2682('0x2c')][_0x2682('0x39')]){_0x15209f['include']=[{'all':!![]}];}_0x15209f=_[_0x2682('0x36')]({},_0x15209f,_0x5de298['options']);return db[_0x2682('0x38')][_0x2682('0x42')](_0x15209f)['then'](handleEntityNotFound(_0x2c5747,null))[_0x2682('0x21')](respondWithResult(_0x2c5747,null))[_0x2682('0x43')](handleError(_0x2c5747,null));};exports['create']=function(_0x143c0e,_0x3703f6){return db[_0x2682('0x38')][_0x2682('0x44')](_0x143c0e['body'],{})[_0x2682('0x21')](respondWithResult(_0x3703f6,0xc9))['catch'](handleError(_0x3703f6,null));};exports['update']=function(_0x26f3dd,_0x5b9fec){if(_0x26f3dd[_0x2682('0x45')]['id']){delete _0x26f3dd[_0x2682('0x45')]['id'];}return db[_0x2682('0x38')]['find']({'where':{'id':_0x26f3dd[_0x2682('0x3d')]['id']}})['then'](handleEntityNotFound(_0x5b9fec,null))[_0x2682('0x21')](saveUpdates(_0x26f3dd[_0x2682('0x45')],null))[_0x2682('0x21')](respondWithResult(_0x5b9fec,null))[_0x2682('0x43')](handleError(_0x5b9fec,null));};exports['destroy']=function(_0x37ee8c,_0x4a35c2){return db[_0x2682('0x38')][_0x2682('0x42')]({'where':{'id':_0x37ee8c[_0x2682('0x3d')]['id']}})['then'](handleEntityNotFound(_0x4a35c2,null))[_0x2682('0x21')](removeEntity(_0x4a35c2,null))[_0x2682('0x43')](handleError(_0x4a35c2,null));};exports[_0x2682('0x46')]=function(_0x2f3f9a,_0x55b5c2){return db[_0x2682('0x38')]['describe']()[_0x2682('0x21')](respondWithResult(_0x55b5c2,null))[_0x2682('0x43')](handleError(_0x55b5c2,null));};