Built motion from commit da24aabd.|2.6.20
[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 _0xe22c=['stack','name','send','index','map','IntegrationReport','fieldName','type','key','query','keys','filters','intersection','attributes','model','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','then','findAll','rows','catch','show','rawAttributes','includeAll','include','find','create','body','params','describe','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','ejs','fs-extra','squel','jsforce','desk.js','to-csv','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/license/util','sendStatus','status','end','json','limit','undefined','count','offset','Content-Range','save','update','destroy','error'];(function(_0x2a66b2,_0x1fb91e){var _0x16d0be=function(_0x498211){while(--_0x498211){_0x2a66b2['push'](_0x2a66b2['shift']());}};_0x16d0be(++_0x1fb91e);}(_0xe22c,0xc0));var _0xce22=function(_0x502c7d,_0x2f1285){_0x502c7d=_0x502c7d-0x0;var _0x30b7ed=_0xe22c[_0x502c7d];return _0x30b7ed;};'use strict';var emlformat=require(_0xce22('0x0'));var rimraf=require(_0xce22('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xce22('0x2'));var rp=require(_0xce22('0x3'));var moment=require(_0xce22('0x4'));var BPromise=require(_0xce22('0x5'));var Mustache=require(_0xce22('0x6'));var util=require('util');var path=require(_0xce22('0x7'));var sox=require(_0xce22('0x8'));var csv=require('to-csv');var ejs=require(_0xce22('0x9'));var fs=require('fs');var fs_extra=require(_0xce22('0xa'));var _=require('lodash');var squel=require(_0xce22('0xb'));var crypto=require('crypto');var jsforce=require(_0xce22('0xc'));var deskjs=require(_0xce22('0xd'));var toCsv=require(_0xce22('0xe'));var querystring=require('querystring');var Papa=require(_0xce22('0xf'));var Redis=require(_0xce22('0x10'));var authService=require(_0xce22('0x11'));var qs=require('../../components/parsers/qs');var as=require(_0xce22('0x12'));var hardwareService=require(_0xce22('0x13'));var logger=require('../../config/logger')(_0xce22('0x14'));var utils=require(_0xce22('0x15'));var config=require('../../config/environment');var licenseUtil=require(_0xce22('0x16'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x54155a,_0x38e63b){_0x38e63b=_0x38e63b||0xcc;return function(_0xd0c140){if(_0xd0c140){return _0x54155a[_0xce22('0x17')](_0x38e63b);}return _0x54155a[_0xce22('0x18')](_0x38e63b)[_0xce22('0x19')]();};}function respondWithResult(_0x2ab3e3,_0x5b7a23){_0x5b7a23=_0x5b7a23||0xc8;return function(_0x51e434){if(_0x51e434){return _0x2ab3e3[_0xce22('0x18')](_0x5b7a23)[_0xce22('0x1a')](_0x51e434);}};}function respondWithFilteredResult(_0x509449,_0x2f5c4f){return function(_0x98edb2){if(_0x98edb2){var _0x3a580c=typeof _0x2f5c4f['offset']==='undefined'&&typeof _0x2f5c4f[_0xce22('0x1b')]===_0xce22('0x1c');var _0x1d162d=_0x98edb2[_0xce22('0x1d')];var _0x5a5f06=_0x3a580c?0x0:_0x2f5c4f[_0xce22('0x1e')];var _0x1f41f9=_0x3a580c?_0x98edb2[_0xce22('0x1d')]:_0x2f5c4f[_0xce22('0x1e')]+_0x2f5c4f['limit'];var _0x2ee65e;if(_0x1f41f9>=_0x1d162d){_0x1f41f9=_0x1d162d;_0x2ee65e=0xc8;}else{_0x2ee65e=0xce;}_0x509449[_0xce22('0x18')](_0x2ee65e);return _0x509449['set'](_0xce22('0x1f'),_0x5a5f06+'-'+_0x1f41f9+'/'+_0x1d162d)[_0xce22('0x1a')](_0x98edb2);}return null;};}function patchUpdates(_0x1bbeff){return function(_0x5e67bc){try{jsonpatch['apply'](_0x5e67bc,_0x1bbeff,!![]);}catch(_0x50af53){return BPromise['reject'](_0x50af53);}return _0x5e67bc[_0xce22('0x20')]();};}function saveUpdates(_0x4c9e85,_0x2bcd81){return function(_0x552d63){if(_0x552d63){return _0x552d63[_0xce22('0x21')](_0x4c9e85)['then'](function(_0x30d531){return _0x30d531;});}return null;};}function removeEntity(_0x20aa84,_0x37dfea){return function(_0x14d4dc){if(_0x14d4dc){return _0x14d4dc[_0xce22('0x22')]()['then'](function(){_0x20aa84[_0xce22('0x18')](0xcc)['end']();});}};}function handleEntityNotFound(_0x3dc7ee,_0x1c94ca){return function(_0x5c2182){if(!_0x5c2182){_0x3dc7ee[_0xce22('0x17')](0x194);}return _0x5c2182;};}function handleError(_0x4fedf4,_0x196d79){_0x196d79=_0x196d79||0x1f4;return function(_0x435d66){logger[_0xce22('0x23')](_0x435d66[_0xce22('0x24')]);if(_0x435d66[_0xce22('0x25')]){delete _0x435d66[_0xce22('0x25')];}_0x4fedf4['status'](_0x196d79)[_0xce22('0x26')](_0x435d66);};}exports[_0xce22('0x27')]=function(_0x2640ab,_0x595533){var _0x505cfa={},_0x2d3cfd={},_0x3a6e6e={'count':0x0,'rows':[]};var _0x1f8912=_[_0xce22('0x28')](db[_0xce22('0x29')]['rawAttributes'],function(_0x1e2727){return{'name':_0x1e2727[_0xce22('0x2a')],'type':_0x1e2727[_0xce22('0x2b')][_0xce22('0x2c')]};});_0x2d3cfd['model']=_[_0xce22('0x28')](_0x1f8912,'name');_0x2d3cfd[_0xce22('0x2d')]=_[_0xce22('0x2e')](_0x2640ab[_0xce22('0x2d')]);_0x2d3cfd[_0xce22('0x2f')]=_[_0xce22('0x30')](_0x2d3cfd['model'],_0x2d3cfd[_0xce22('0x2d')]);_0x505cfa[_0xce22('0x31')]=_['intersection'](_0x2d3cfd[_0xce22('0x32')],qs['fields'](_0x2640ab[_0xce22('0x2d')][_0xce22('0x33')]));_0x505cfa[_0xce22('0x31')]=_0x505cfa[_0xce22('0x31')][_0xce22('0x34')]?_0x505cfa[_0xce22('0x31')]:_0x2d3cfd[_0xce22('0x32')];if(!_0x2640ab['query'][_0xce22('0x35')](_0xce22('0x36'))){_0x505cfa[_0xce22('0x1b')]=qs[_0xce22('0x1b')](_0x2640ab[_0xce22('0x2d')]['limit']);_0x505cfa['offset']=qs[_0xce22('0x1e')](_0x2640ab['query'][_0xce22('0x1e')]);}_0x505cfa[_0xce22('0x37')]=qs[_0xce22('0x38')](_0x2640ab[_0xce22('0x2d')][_0xce22('0x38')]);_0x505cfa[_0xce22('0x39')]=qs['filters'](_[_0xce22('0x3a')](_0x2640ab[_0xce22('0x2d')],_0x2d3cfd[_0xce22('0x2f')]),_0x1f8912);if(_0x2640ab[_0xce22('0x2d')][_0xce22('0x3b')]){_0x505cfa[_0xce22('0x39')]=_[_0xce22('0x3c')](_0x505cfa[_0xce22('0x39')],{'$or':_[_0xce22('0x28')](_0x1f8912,function(_0x3efa12){if(_0x3efa12[_0xce22('0x2b')]!==_0xce22('0x3d')){var _0x263848={};_0x263848[_0x3efa12['name']]={'$like':'%'+_0x2640ab[_0xce22('0x2d')][_0xce22('0x3b')]+'%'};return _0x263848;}})});}_0x505cfa=_[_0xce22('0x3c')]({},_0x505cfa,_0x2640ab[_0xce22('0x3e')]);var _0x317ef7={'where':_0x505cfa[_0xce22('0x39')]};return db[_0xce22('0x29')][_0xce22('0x1d')](_0x317ef7)[_0xce22('0x3f')](function(_0x4fd40e){_0x3a6e6e[_0xce22('0x1d')]=_0x4fd40e;if(_0x2640ab[_0xce22('0x2d')]['includeAll']){_0x505cfa['include']=[{'all':!![]}];}return db[_0xce22('0x29')][_0xce22('0x40')](_0x505cfa);})[_0xce22('0x3f')](function(_0x1f2bef){_0x3a6e6e[_0xce22('0x41')]=_0x1f2bef;return _0x3a6e6e;})[_0xce22('0x3f')](respondWithFilteredResult(_0x595533,_0x505cfa))[_0xce22('0x42')](handleError(_0x595533,null));};exports[_0xce22('0x43')]=function(_0x32d5b7,_0xc48369){var _0x276b42={'raw':![],'where':{'id':_0x32d5b7['params']['id']}},_0x2ce728={};_0x2ce728[_0xce22('0x32')]=_['keys'](db[_0xce22('0x29')][_0xce22('0x44')]);_0x2ce728[_0xce22('0x2d')]=_['keys'](_0x32d5b7['query']);_0x2ce728['filters']=_[_0xce22('0x30')](_0x2ce728[_0xce22('0x32')],_0x2ce728[_0xce22('0x2d')]);_0x276b42[_0xce22('0x31')]=_['intersection'](_0x2ce728['model'],qs[_0xce22('0x33')](_0x32d5b7['query']['fields']));_0x276b42[_0xce22('0x31')]=_0x276b42['attributes'][_0xce22('0x34')]?_0x276b42[_0xce22('0x31')]:_0x2ce728[_0xce22('0x32')];if(_0x32d5b7[_0xce22('0x2d')][_0xce22('0x45')]){_0x276b42[_0xce22('0x46')]=[{'all':!![]}];}_0x276b42=_[_0xce22('0x3c')]({},_0x276b42,_0x32d5b7['options']);return db[_0xce22('0x29')][_0xce22('0x47')](_0x276b42)[_0xce22('0x3f')](handleEntityNotFound(_0xc48369,null))[_0xce22('0x3f')](respondWithResult(_0xc48369,null))[_0xce22('0x42')](handleError(_0xc48369,null));};exports['create']=function(_0x379d09,_0x515ef1){return db['IntegrationReport'][_0xce22('0x48')](_0x379d09[_0xce22('0x49')],{})[_0xce22('0x3f')](respondWithResult(_0x515ef1,0xc9))[_0xce22('0x42')](handleError(_0x515ef1,null));};exports[_0xce22('0x21')]=function(_0x23054b,_0x7debd4){if(_0x23054b['body']['id']){delete _0x23054b[_0xce22('0x49')]['id'];}return db[_0xce22('0x29')]['find']({'where':{'id':_0x23054b[_0xce22('0x4a')]['id']}})[_0xce22('0x3f')](handleEntityNotFound(_0x7debd4,null))[_0xce22('0x3f')](saveUpdates(_0x23054b[_0xce22('0x49')],null))[_0xce22('0x3f')](respondWithResult(_0x7debd4,null))[_0xce22('0x42')](handleError(_0x7debd4,null));};exports[_0xce22('0x22')]=function(_0x54027f,_0x2506b1){return db['IntegrationReport']['find']({'where':{'id':_0x54027f[_0xce22('0x4a')]['id']}})['then'](handleEntityNotFound(_0x2506b1,null))['then'](removeEntity(_0x2506b1,null))[_0xce22('0x42')](handleError(_0x2506b1,null));};exports[_0xce22('0x4b')]=function(_0xe0c6a3,_0x5753fe){return db[_0xce22('0x29')]['describe']()[_0xce22('0x3f')](respondWithResult(_0x5753fe,null))[_0xce22('0x42')](handleError(_0x5753fe,null));};