Built motion from commit 19a84241.|2.5.34
[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 _0xe07f=['rawAttributes','fieldName','type','key','model','name','query','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','VIRTUAL','filter','merge','findAll','rows','catch','params','keys','includeAll','include','options','find','create','body','destroy','describe','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','path','sox','to-csv','ejs','fs-extra','squel','jsforce','desk.js','querystring','papaparse','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','json','offset','undefined','count','limit','set','apply','reject','save','update','then','error','stack','send','index','map','IntegrationReport'];(function(_0x5bd712,_0xe6cb7e){var _0x181dbe=function(_0x2991a7){while(--_0x2991a7){_0x5bd712['push'](_0x5bd712['shift']());}};_0x181dbe(++_0xe6cb7e);}(_0xe07f,0x1a8));var _0xfe07=function(_0xcaf214,_0x12e15f){_0xcaf214=_0xcaf214-0x0;var _0x275e53=_0xe07f[_0xcaf214];return _0x275e53;};'use strict';var emlformat=require(_0xfe07('0x0'));var rimraf=require(_0xfe07('0x1'));var zipdir=require(_0xfe07('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xfe07('0x3'));var moment=require(_0xfe07('0x4'));var BPromise=require(_0xfe07('0x5'));var Mustache=require('mustache');var util=require('util');var path=require(_0xfe07('0x6'));var sox=require(_0xfe07('0x7'));var csv=require(_0xfe07('0x8'));var ejs=require(_0xfe07('0x9'));var fs=require('fs');var fs_extra=require(_0xfe07('0xa'));var _=require('lodash');var squel=require(_0xfe07('0xb'));var crypto=require('crypto');var jsforce=require(_0xfe07('0xc'));var deskjs=require(_0xfe07('0xd'));var toCsv=require(_0xfe07('0x8'));var querystring=require(_0xfe07('0xe'));var Papa=require(_0xfe07('0xf'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0xfe07('0x10'));var as=require(_0xfe07('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xfe07('0x12'))(_0xfe07('0x13'));var utils=require(_0xfe07('0x14'));var config=require(_0xfe07('0x15'));var licenseUtil=require(_0xfe07('0x16'));var db=require(_0xfe07('0x17'))['db'];function respondWithStatusCode(_0x269ab2,_0x5f31f7){_0x5f31f7=_0x5f31f7||0xcc;return function(_0x2fa0f5){if(_0x2fa0f5){return _0x269ab2[_0xfe07('0x18')](_0x5f31f7);}return _0x269ab2['status'](_0x5f31f7)[_0xfe07('0x19')]();};}function respondWithResult(_0x2fe94d,_0xf6546d){_0xf6546d=_0xf6546d||0xc8;return function(_0x3095bd){if(_0x3095bd){return _0x2fe94d[_0xfe07('0x1a')](_0xf6546d)[_0xfe07('0x1b')](_0x3095bd);}};}function respondWithFilteredResult(_0x560ffe,_0x79d5da){return function(_0x261388){if(_0x261388){var _0x337a33=typeof _0x79d5da[_0xfe07('0x1c')]==='undefined'&&typeof _0x79d5da['limit']===_0xfe07('0x1d');var _0x55b7d5=_0x261388['count'];var _0x13873d=_0x337a33?0x0:_0x79d5da[_0xfe07('0x1c')];var _0xbb02a6=_0x337a33?_0x261388[_0xfe07('0x1e')]:_0x79d5da[_0xfe07('0x1c')]+_0x79d5da[_0xfe07('0x1f')];var _0x128071;if(_0xbb02a6>=_0x55b7d5){_0xbb02a6=_0x55b7d5;_0x128071=0xc8;}else{_0x128071=0xce;}_0x560ffe[_0xfe07('0x1a')](_0x128071);return _0x560ffe[_0xfe07('0x20')]('Content-Range',_0x13873d+'-'+_0xbb02a6+'/'+_0x55b7d5)['json'](_0x261388);}return null;};}function patchUpdates(_0x30c7f0){return function(_0x1003fc){try{jsonpatch[_0xfe07('0x21')](_0x1003fc,_0x30c7f0,!![]);}catch(_0xcb9ff3){return BPromise[_0xfe07('0x22')](_0xcb9ff3);}return _0x1003fc[_0xfe07('0x23')]();};}function saveUpdates(_0x19e608,_0x46633c){return function(_0x51b493){if(_0x51b493){return _0x51b493[_0xfe07('0x24')](_0x19e608)['then'](function(_0x37a882){return _0x37a882;});}return null;};}function removeEntity(_0x3f62b9,_0x5c7b85){return function(_0x2a9a4d){if(_0x2a9a4d){return _0x2a9a4d['destroy']()[_0xfe07('0x25')](function(){_0x3f62b9[_0xfe07('0x1a')](0xcc)[_0xfe07('0x19')]();});}};}function handleEntityNotFound(_0x320083,_0xda1e59){return function(_0x456761){if(!_0x456761){_0x320083[_0xfe07('0x18')](0x194);}return _0x456761;};}function handleError(_0x43f5c9,_0x119074){_0x119074=_0x119074||0x1f4;return function(_0x34eb58){logger[_0xfe07('0x26')](_0x34eb58[_0xfe07('0x27')]);if(_0x34eb58['name']){delete _0x34eb58['name'];}_0x43f5c9[_0xfe07('0x1a')](_0x119074)[_0xfe07('0x28')](_0x34eb58);};}exports[_0xfe07('0x29')]=function(_0x568e9d,_0x136b46){var _0x4ebd2c={},_0x2e3219={},_0xefc84b={'count':0x0,'rows':[]};var _0x2d9a67=_[_0xfe07('0x2a')](db[_0xfe07('0x2b')][_0xfe07('0x2c')],function(_0x15e274){return{'name':_0x15e274[_0xfe07('0x2d')],'type':_0x15e274[_0xfe07('0x2e')][_0xfe07('0x2f')]};});_0x2e3219[_0xfe07('0x30')]=_[_0xfe07('0x2a')](_0x2d9a67,_0xfe07('0x31'));_0x2e3219['query']=_['keys'](_0x568e9d[_0xfe07('0x32')]);_0x2e3219[_0xfe07('0x33')]=_['intersection'](_0x2e3219[_0xfe07('0x30')],_0x2e3219[_0xfe07('0x32')]);_0x4ebd2c['attributes']=_[_0xfe07('0x34')](_0x2e3219[_0xfe07('0x30')],qs[_0xfe07('0x35')](_0x568e9d[_0xfe07('0x32')][_0xfe07('0x35')]));_0x4ebd2c[_0xfe07('0x36')]=_0x4ebd2c['attributes'][_0xfe07('0x37')]?_0x4ebd2c[_0xfe07('0x36')]:_0x2e3219[_0xfe07('0x30')];if(!_0x568e9d[_0xfe07('0x32')][_0xfe07('0x38')](_0xfe07('0x39'))){_0x4ebd2c[_0xfe07('0x1f')]=qs[_0xfe07('0x1f')](_0x568e9d[_0xfe07('0x32')][_0xfe07('0x1f')]);_0x4ebd2c[_0xfe07('0x1c')]=qs[_0xfe07('0x1c')](_0x568e9d[_0xfe07('0x32')][_0xfe07('0x1c')]);}_0x4ebd2c[_0xfe07('0x3a')]=qs['sort'](_0x568e9d['query'][_0xfe07('0x3b')]);_0x4ebd2c[_0xfe07('0x3c')]=qs[_0xfe07('0x33')](_[_0xfe07('0x3d')](_0x568e9d['query'],_0x2e3219[_0xfe07('0x33')]),_0x2d9a67);if(_0x568e9d[_0xfe07('0x32')]['filter']){_0x4ebd2c[_0xfe07('0x3c')]=_['merge'](_0x4ebd2c['where'],{'$or':_[_0xfe07('0x2a')](_0x2d9a67,function(_0x2adf22){if(_0x2adf22[_0xfe07('0x2e')]!==_0xfe07('0x3e')){var _0x202647={};_0x202647[_0x2adf22[_0xfe07('0x31')]]={'$like':'%'+_0x568e9d[_0xfe07('0x32')][_0xfe07('0x3f')]+'%'};return _0x202647;}})});}_0x4ebd2c=_[_0xfe07('0x40')]({},_0x4ebd2c,_0x568e9d['options']);var _0x434fc6={'where':_0x4ebd2c[_0xfe07('0x3c')]};return db[_0xfe07('0x2b')][_0xfe07('0x1e')](_0x434fc6)['then'](function(_0x58eeb7){_0xefc84b[_0xfe07('0x1e')]=_0x58eeb7;if(_0x568e9d[_0xfe07('0x32')]['includeAll']){_0x4ebd2c['include']=[{'all':!![]}];}return db[_0xfe07('0x2b')][_0xfe07('0x41')](_0x4ebd2c);})[_0xfe07('0x25')](function(_0x3d106b){_0xefc84b[_0xfe07('0x42')]=_0x3d106b;return _0xefc84b;})[_0xfe07('0x25')](respondWithFilteredResult(_0x136b46,_0x4ebd2c))[_0xfe07('0x43')](handleError(_0x136b46,null));};exports['show']=function(_0x4fa92e,_0x6789ee){var _0x4d9be7={'raw':![],'where':{'id':_0x4fa92e[_0xfe07('0x44')]['id']}},_0x121ea1={};_0x121ea1[_0xfe07('0x30')]=_[_0xfe07('0x45')](db[_0xfe07('0x2b')][_0xfe07('0x2c')]);_0x121ea1['query']=_[_0xfe07('0x45')](_0x4fa92e[_0xfe07('0x32')]);_0x121ea1[_0xfe07('0x33')]=_[_0xfe07('0x34')](_0x121ea1[_0xfe07('0x30')],_0x121ea1[_0xfe07('0x32')]);_0x4d9be7[_0xfe07('0x36')]=_[_0xfe07('0x34')](_0x121ea1['model'],qs[_0xfe07('0x35')](_0x4fa92e['query'][_0xfe07('0x35')]));_0x4d9be7['attributes']=_0x4d9be7[_0xfe07('0x36')][_0xfe07('0x37')]?_0x4d9be7[_0xfe07('0x36')]:_0x121ea1[_0xfe07('0x30')];if(_0x4fa92e[_0xfe07('0x32')][_0xfe07('0x46')]){_0x4d9be7[_0xfe07('0x47')]=[{'all':!![]}];}_0x4d9be7=_[_0xfe07('0x40')]({},_0x4d9be7,_0x4fa92e[_0xfe07('0x48')]);return db[_0xfe07('0x2b')][_0xfe07('0x49')](_0x4d9be7)[_0xfe07('0x25')](handleEntityNotFound(_0x6789ee,null))[_0xfe07('0x25')](respondWithResult(_0x6789ee,null))[_0xfe07('0x43')](handleError(_0x6789ee,null));};exports[_0xfe07('0x4a')]=function(_0xef2bc2,_0x4bdc4e){return db[_0xfe07('0x2b')][_0xfe07('0x4a')](_0xef2bc2[_0xfe07('0x4b')],{})['then'](respondWithResult(_0x4bdc4e,0xc9))[_0xfe07('0x43')](handleError(_0x4bdc4e,null));};exports[_0xfe07('0x24')]=function(_0x53fa50,_0x2757a9){if(_0x53fa50[_0xfe07('0x4b')]['id']){delete _0x53fa50[_0xfe07('0x4b')]['id'];}return db['IntegrationReport'][_0xfe07('0x49')]({'where':{'id':_0x53fa50['params']['id']}})['then'](handleEntityNotFound(_0x2757a9,null))[_0xfe07('0x25')](saveUpdates(_0x53fa50['body'],null))[_0xfe07('0x25')](respondWithResult(_0x2757a9,null))[_0xfe07('0x43')](handleError(_0x2757a9,null));};exports[_0xfe07('0x4c')]=function(_0x26514d,_0x254fa0){return db['IntegrationReport'][_0xfe07('0x49')]({'where':{'id':_0x26514d[_0xfe07('0x44')]['id']}})[_0xfe07('0x25')](handleEntityNotFound(_0x254fa0,null))[_0xfe07('0x25')](removeEntity(_0x254fa0,null))['catch'](handleError(_0x254fa0,null));};exports[_0xfe07('0x4d')]=function(_0x58f4e9,_0x280424){return db[_0xfe07('0x2b')]['describe']()[_0xfe07('0x25')](respondWithResult(_0x280424,null))[_0xfe07('0x43')](handleError(_0x280424,null));};