b5ebf4ad7bba7d12d8c8348bc6b9ee6857b233d7
[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 _0xfe5f=['IntegrationReport','fieldName','type','key','model','map','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','order','sort','pick','filter','where','VIRTUAL','merge','options','includeAll','include','findAll','rows','catch','show','find','create','body','update','params','describe','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','fs-extra','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','sendStatus','status','json','undefined','limit','count','offset','Content-Range','apply','reject','save','then','destroy','end','name','send','index'];(function(_0xd2effe,_0x1ac251){var _0x11c610=function(_0x711bbc){while(--_0x711bbc){_0xd2effe['push'](_0xd2effe['shift']());}};_0x11c610(++_0x1ac251);}(_0xfe5f,0x15e));var _0xffe5=function(_0x54c878,_0xd655ad){_0x54c878=_0x54c878-0x0;var _0x3dc181=_0xfe5f[_0x54c878];return _0x3dc181;};'use strict';var emlformat=require(_0xffe5('0x0'));var rimraf=require(_0xffe5('0x1'));var zipdir=require(_0xffe5('0x2'));var jsonpatch=require(_0xffe5('0x3'));var rp=require(_0xffe5('0x4'));var moment=require(_0xffe5('0x5'));var BPromise=require(_0xffe5('0x6'));var Mustache=require(_0xffe5('0x7'));var util=require(_0xffe5('0x8'));var path=require(_0xffe5('0x9'));var sox=require(_0xffe5('0xa'));var csv=require(_0xffe5('0xb'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xffe5('0xc'));var _=require(_0xffe5('0xd'));var squel=require(_0xffe5('0xe'));var crypto=require('crypto');var jsforce=require(_0xffe5('0xf'));var deskjs=require(_0xffe5('0x10'));var toCsv=require(_0xffe5('0xb'));var querystring=require(_0xffe5('0x11'));var Papa=require(_0xffe5('0x12'));var Redis=require(_0xffe5('0x13'));var authService=require(_0xffe5('0x14'));var qs=require(_0xffe5('0x15'));var as=require(_0xffe5('0x16'));var hardwareService=require(_0xffe5('0x17'));var logger=require(_0xffe5('0x18'))(_0xffe5('0x19'));var utils=require(_0xffe5('0x1a'));var config=require('../../config/environment');var licenseUtil=require(_0xffe5('0x1b'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x2051b6,_0x372770){_0x372770=_0x372770||0xcc;return function(_0x43c312){if(_0x43c312){return _0x2051b6[_0xffe5('0x1c')](_0x372770);}return _0x2051b6[_0xffe5('0x1d')](_0x372770)['end']();};}function respondWithResult(_0x545d1e,_0x8e24f4){_0x8e24f4=_0x8e24f4||0xc8;return function(_0x5cb2ec){if(_0x5cb2ec){return _0x545d1e['status'](_0x8e24f4)[_0xffe5('0x1e')](_0x5cb2ec);}};}function respondWithFilteredResult(_0x38bf02,_0x25d419){return function(_0x514f46){if(_0x514f46){var _0x20379e=typeof _0x25d419['offset']===_0xffe5('0x1f')&&typeof _0x25d419[_0xffe5('0x20')]==='undefined';var _0x17c6d8=_0x514f46[_0xffe5('0x21')];var _0x19db64=_0x20379e?0x0:_0x25d419['offset'];var _0x1179cd=_0x20379e?_0x514f46[_0xffe5('0x21')]:_0x25d419[_0xffe5('0x22')]+_0x25d419['limit'];var _0x3450d5;if(_0x1179cd>=_0x17c6d8){_0x1179cd=_0x17c6d8;_0x3450d5=0xc8;}else{_0x3450d5=0xce;}_0x38bf02[_0xffe5('0x1d')](_0x3450d5);return _0x38bf02['set'](_0xffe5('0x23'),_0x19db64+'-'+_0x1179cd+'/'+_0x17c6d8)['json'](_0x514f46);}return null;};}function patchUpdates(_0x52ca83){return function(_0x4baecc){try{jsonpatch[_0xffe5('0x24')](_0x4baecc,_0x52ca83,!![]);}catch(_0x35ffc6){return BPromise[_0xffe5('0x25')](_0x35ffc6);}return _0x4baecc[_0xffe5('0x26')]();};}function saveUpdates(_0x27136a,_0x4a0cf6){return function(_0x35f8ba){if(_0x35f8ba){return _0x35f8ba['update'](_0x27136a)[_0xffe5('0x27')](function(_0x14455d){return _0x14455d;});}return null;};}function removeEntity(_0x4c9d63,_0x10e837){return function(_0x3c4b61){if(_0x3c4b61){return _0x3c4b61[_0xffe5('0x28')]()[_0xffe5('0x27')](function(){_0x4c9d63[_0xffe5('0x1d')](0xcc)[_0xffe5('0x29')]();});}};}function handleEntityNotFound(_0x422816,_0x136219){return function(_0x138ed3){if(!_0x138ed3){_0x422816[_0xffe5('0x1c')](0x194);}return _0x138ed3;};}function handleError(_0x342c75,_0x22ed84){_0x22ed84=_0x22ed84||0x1f4;return function(_0x25f599){logger['error'](_0x25f599['stack']);if(_0x25f599[_0xffe5('0x2a')]){delete _0x25f599[_0xffe5('0x2a')];}_0x342c75['status'](_0x22ed84)[_0xffe5('0x2b')](_0x25f599);};}exports[_0xffe5('0x2c')]=function(_0x392bd1,_0x55f4be){var _0x2ba110={},_0x1e8d28={},_0x21dc22={'count':0x0,'rows':[]};var _0x354942=_['map'](db[_0xffe5('0x2d')]['rawAttributes'],function(_0x348112){return{'name':_0x348112[_0xffe5('0x2e')],'type':_0x348112[_0xffe5('0x2f')][_0xffe5('0x30')]};});_0x1e8d28[_0xffe5('0x31')]=_[_0xffe5('0x32')](_0x354942,'name');_0x1e8d28[_0xffe5('0x33')]=_[_0xffe5('0x34')](_0x392bd1[_0xffe5('0x33')]);_0x1e8d28[_0xffe5('0x35')]=_[_0xffe5('0x36')](_0x1e8d28[_0xffe5('0x31')],_0x1e8d28[_0xffe5('0x33')]);_0x2ba110[_0xffe5('0x37')]=_[_0xffe5('0x36')](_0x1e8d28[_0xffe5('0x31')],qs[_0xffe5('0x38')](_0x392bd1[_0xffe5('0x33')][_0xffe5('0x38')]));_0x2ba110[_0xffe5('0x37')]=_0x2ba110[_0xffe5('0x37')][_0xffe5('0x39')]?_0x2ba110[_0xffe5('0x37')]:_0x1e8d28[_0xffe5('0x31')];if(!_0x392bd1[_0xffe5('0x33')][_0xffe5('0x3a')]('nolimit')){_0x2ba110[_0xffe5('0x20')]=qs['limit'](_0x392bd1['query'][_0xffe5('0x20')]);_0x2ba110[_0xffe5('0x22')]=qs[_0xffe5('0x22')](_0x392bd1[_0xffe5('0x33')][_0xffe5('0x22')]);}_0x2ba110[_0xffe5('0x3b')]=qs[_0xffe5('0x3c')](_0x392bd1[_0xffe5('0x33')][_0xffe5('0x3c')]);_0x2ba110['where']=qs[_0xffe5('0x35')](_[_0xffe5('0x3d')](_0x392bd1[_0xffe5('0x33')],_0x1e8d28['filters']),_0x354942);if(_0x392bd1[_0xffe5('0x33')][_0xffe5('0x3e')]){_0x2ba110['where']=_['merge'](_0x2ba110[_0xffe5('0x3f')],{'$or':_['map'](_0x354942,function(_0x1f31af){if(_0x1f31af['type']!==_0xffe5('0x40')){var _0x8f7f43={};_0x8f7f43[_0x1f31af[_0xffe5('0x2a')]]={'$like':'%'+_0x392bd1[_0xffe5('0x33')]['filter']+'%'};return _0x8f7f43;}})});}_0x2ba110=_[_0xffe5('0x41')]({},_0x2ba110,_0x392bd1[_0xffe5('0x42')]);var _0xf5c067={'where':_0x2ba110['where']};return db['IntegrationReport'][_0xffe5('0x21')](_0xf5c067)[_0xffe5('0x27')](function(_0x1af688){_0x21dc22['count']=_0x1af688;if(_0x392bd1[_0xffe5('0x33')][_0xffe5('0x43')]){_0x2ba110[_0xffe5('0x44')]=[{'all':!![]}];}return db['IntegrationReport'][_0xffe5('0x45')](_0x2ba110);})[_0xffe5('0x27')](function(_0x5ea32c){_0x21dc22[_0xffe5('0x46')]=_0x5ea32c;return _0x21dc22;})[_0xffe5('0x27')](respondWithFilteredResult(_0x55f4be,_0x2ba110))[_0xffe5('0x47')](handleError(_0x55f4be,null));};exports[_0xffe5('0x48')]=function(_0x1e4e57,_0x37fdb6){var _0xd38fca={'raw':![],'where':{'id':_0x1e4e57['params']['id']}},_0x590f5e={};_0x590f5e[_0xffe5('0x31')]=_[_0xffe5('0x34')](db[_0xffe5('0x2d')]['rawAttributes']);_0x590f5e[_0xffe5('0x33')]=_[_0xffe5('0x34')](_0x1e4e57[_0xffe5('0x33')]);_0x590f5e[_0xffe5('0x35')]=_['intersection'](_0x590f5e['model'],_0x590f5e[_0xffe5('0x33')]);_0xd38fca[_0xffe5('0x37')]=_[_0xffe5('0x36')](_0x590f5e[_0xffe5('0x31')],qs[_0xffe5('0x38')](_0x1e4e57['query'][_0xffe5('0x38')]));_0xd38fca[_0xffe5('0x37')]=_0xd38fca[_0xffe5('0x37')]['length']?_0xd38fca[_0xffe5('0x37')]:_0x590f5e['model'];if(_0x1e4e57[_0xffe5('0x33')]['includeAll']){_0xd38fca['include']=[{'all':!![]}];}_0xd38fca=_['merge']({},_0xd38fca,_0x1e4e57[_0xffe5('0x42')]);return db[_0xffe5('0x2d')][_0xffe5('0x49')](_0xd38fca)[_0xffe5('0x27')](handleEntityNotFound(_0x37fdb6,null))[_0xffe5('0x27')](respondWithResult(_0x37fdb6,null))[_0xffe5('0x47')](handleError(_0x37fdb6,null));};exports['create']=function(_0x39b3eb,_0x57a603){return db[_0xffe5('0x2d')][_0xffe5('0x4a')](_0x39b3eb[_0xffe5('0x4b')],{})[_0xffe5('0x27')](respondWithResult(_0x57a603,0xc9))[_0xffe5('0x47')](handleError(_0x57a603,null));};exports[_0xffe5('0x4c')]=function(_0x311746,_0x346289){if(_0x311746[_0xffe5('0x4b')]['id']){delete _0x311746['body']['id'];}return db[_0xffe5('0x2d')]['find']({'where':{'id':_0x311746[_0xffe5('0x4d')]['id']}})['then'](handleEntityNotFound(_0x346289,null))[_0xffe5('0x27')](saveUpdates(_0x311746[_0xffe5('0x4b')],null))[_0xffe5('0x27')](respondWithResult(_0x346289,null))['catch'](handleError(_0x346289,null));};exports[_0xffe5('0x28')]=function(_0x5cf820,_0x1b1913){return db[_0xffe5('0x2d')][_0xffe5('0x49')]({'where':{'id':_0x5cf820[_0xffe5('0x4d')]['id']}})[_0xffe5('0x27')](handleEntityNotFound(_0x1b1913,null))[_0xffe5('0x27')](removeEntity(_0x1b1913,null))['catch'](handleError(_0x1b1913,null));};exports[_0xffe5('0x4e')]=function(_0x4b4706,_0x5ed55c){return db[_0xffe5('0x2d')][_0xffe5('0x4e')]()['then'](respondWithResult(_0x5ed55c,null))[_0xffe5('0x47')](handleError(_0x5ed55c,null));};