49014523da3a0c373a415ec4b24eae5b5e7d0c49
[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 _0x1e7c=['reject','save','update','destroy','then','error','stack','name','send','index','IntegrationReport','rawAttributes','type','key','model','map','query','keys','intersection','attributes','fields','length','hasOwnProperty','nolimit','limit','order','sort','where','filters','filter','merge','options','includeAll','include','catch','params','find','create','body','describe','rimraf','fast-json-patch','request-promise','moment','mustache','util','path','sox','to-csv','ejs','lodash','squel','jsforce','querystring','papaparse','ioredis','../../components/parsers/qs','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','count','offset','set','Content-Range','apply'];(function(_0x2c91e9,_0x2fb965){var _0x13f0ff=function(_0xb39edf){while(--_0xb39edf){_0x2c91e9['push'](_0x2c91e9['shift']());}};_0x13f0ff(++_0x2fb965);}(_0x1e7c,0x186));var _0xc1e7=function(_0x585dfa,_0x522eac){_0x585dfa=_0x585dfa-0x0;var _0x34dc0e=_0x1e7c[_0x585dfa];return _0x34dc0e;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xc1e7('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0xc1e7('0x1'));var rp=require(_0xc1e7('0x2'));var moment=require(_0xc1e7('0x3'));var BPromise=require('bluebird');var Mustache=require(_0xc1e7('0x4'));var util=require(_0xc1e7('0x5'));var path=require(_0xc1e7('0x6'));var sox=require(_0xc1e7('0x7'));var csv=require(_0xc1e7('0x8'));var ejs=require(_0xc1e7('0x9'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xc1e7('0xa'));var squel=require(_0xc1e7('0xb'));var crypto=require('crypto');var jsforce=require(_0xc1e7('0xc'));var deskjs=require('desk.js');var toCsv=require(_0xc1e7('0x8'));var querystring=require(_0xc1e7('0xd'));var Papa=require(_0xc1e7('0xe'));var Redis=require(_0xc1e7('0xf'));var authService=require('../../components/auth/service');var qs=require(_0xc1e7('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')('api');var utils=require(_0xc1e7('0x11'));var config=require(_0xc1e7('0x12'));var licenseUtil=require(_0xc1e7('0x13'));var db=require(_0xc1e7('0x14'))['db'];function respondWithStatusCode(_0x37ded2,_0x3c20a3){_0x3c20a3=_0x3c20a3||0xcc;return function(_0x5babc9){if(_0x5babc9){return _0x37ded2[_0xc1e7('0x15')](_0x3c20a3);}return _0x37ded2[_0xc1e7('0x16')](_0x3c20a3)[_0xc1e7('0x17')]();};}function respondWithResult(_0x13b196,_0x2d1b00){_0x2d1b00=_0x2d1b00||0xc8;return function(_0x4495e1){if(_0x4495e1){return _0x13b196[_0xc1e7('0x16')](_0x2d1b00)[_0xc1e7('0x18')](_0x4495e1);}};}function respondWithFilteredResult(_0x30e68e,_0x49ed02){return function(_0x5c0820){if(_0x5c0820){var _0x333061=_0x5c0820[_0xc1e7('0x19')],_0x472a8c=_0x49ed02[_0xc1e7('0x1a')],_0xbcbb6=_0x49ed02['offset']+_0x49ed02['limit'],_0x2e3bac;if(_0xbcbb6>=_0x333061){_0xbcbb6=_0x333061;_0x2e3bac=0xc8;}else{_0x2e3bac=0xce;}_0x30e68e['status'](_0x2e3bac);return _0x30e68e[_0xc1e7('0x1b')](_0xc1e7('0x1c'),_0x472a8c+'-'+_0xbcbb6+'/'+_0x333061)[_0xc1e7('0x18')](_0x5c0820);}return null;};}function patchUpdates(_0xb2e5c6){return function(_0x407efd){try{jsonpatch[_0xc1e7('0x1d')](_0x407efd,_0xb2e5c6,!![]);}catch(_0x27cd7d){return BPromise[_0xc1e7('0x1e')](_0x27cd7d);}return _0x407efd[_0xc1e7('0x1f')]();};}function saveUpdates(_0x1cb888,_0x22eee9){return function(_0x5a2ddd){if(_0x5a2ddd){return _0x5a2ddd[_0xc1e7('0x20')](_0x1cb888)['then'](function(_0x40d28c){return _0x40d28c;});}return null;};}function removeEntity(_0x4fba30,_0x581596){return function(_0x3006f2){if(_0x3006f2){return _0x3006f2[_0xc1e7('0x21')]()[_0xc1e7('0x22')](function(){_0x4fba30[_0xc1e7('0x16')](0xcc)['end']();});}};}function handleEntityNotFound(_0x1c5164,_0x918393){return function(_0x4de930){if(!_0x4de930){_0x1c5164['sendStatus'](0x194);}return _0x4de930;};}function handleError(_0x554b34,_0x360403){_0x360403=_0x360403||0x1f4;return function(_0xbef4eb){logger[_0xc1e7('0x23')](_0xbef4eb[_0xc1e7('0x24')]);if(_0xbef4eb[_0xc1e7('0x25')]){delete _0xbef4eb[_0xc1e7('0x25')];}_0x554b34[_0xc1e7('0x16')](_0x360403)[_0xc1e7('0x26')](_0xbef4eb);};}exports[_0xc1e7('0x27')]=function(_0x5dfe6e,_0x4acfab){var _0x3f30f1={},_0x5dee9f={},_0x1f39c1={'count':0x0,'rows':[]};var _0x37c8e2=_['map'](db[_0xc1e7('0x28')][_0xc1e7('0x29')],function(_0x5ad1fd){return{'name':_0x5ad1fd['fieldName'],'type':_0x5ad1fd[_0xc1e7('0x2a')][_0xc1e7('0x2b')]};});_0x5dee9f[_0xc1e7('0x2c')]=_[_0xc1e7('0x2d')](_0x37c8e2,_0xc1e7('0x25'));_0x5dee9f[_0xc1e7('0x2e')]=_[_0xc1e7('0x2f')](_0x5dfe6e[_0xc1e7('0x2e')]);_0x5dee9f['filters']=_[_0xc1e7('0x30')](_0x5dee9f['model'],_0x5dee9f['query']);_0x3f30f1[_0xc1e7('0x31')]=_[_0xc1e7('0x30')](_0x5dee9f[_0xc1e7('0x2c')],qs[_0xc1e7('0x32')](_0x5dfe6e['query'][_0xc1e7('0x32')]));_0x3f30f1[_0xc1e7('0x31')]=_0x3f30f1[_0xc1e7('0x31')][_0xc1e7('0x33')]?_0x3f30f1[_0xc1e7('0x31')]:_0x5dee9f[_0xc1e7('0x2c')];if(!_0x5dfe6e['query'][_0xc1e7('0x34')](_0xc1e7('0x35'))){_0x3f30f1[_0xc1e7('0x36')]=qs[_0xc1e7('0x36')](_0x5dfe6e[_0xc1e7('0x2e')][_0xc1e7('0x36')]);_0x3f30f1[_0xc1e7('0x1a')]=qs[_0xc1e7('0x1a')](_0x5dfe6e[_0xc1e7('0x2e')][_0xc1e7('0x1a')]);}_0x3f30f1[_0xc1e7('0x37')]=qs[_0xc1e7('0x38')](_0x5dfe6e['query'][_0xc1e7('0x38')]);_0x3f30f1[_0xc1e7('0x39')]=qs[_0xc1e7('0x3a')](_['pick'](_0x5dfe6e['query'],_0x5dee9f['filters']),_0x37c8e2);if(_0x5dfe6e[_0xc1e7('0x2e')][_0xc1e7('0x3b')]){_0x3f30f1['where']=_[_0xc1e7('0x3c')](_0x3f30f1['where'],{'$or':_['map'](_0x37c8e2,function(_0x350469){if(_0x350469[_0xc1e7('0x2a')]!=='VIRTUAL'){var _0x2b9751={};_0x2b9751[_0x350469[_0xc1e7('0x25')]]={'$like':'%'+_0x5dfe6e['query'][_0xc1e7('0x3b')]+'%'};return _0x2b9751;}})});}_0x3f30f1=_['merge']({},_0x3f30f1,_0x5dfe6e[_0xc1e7('0x3d')]);var _0x34ca6c={'where':_0x3f30f1[_0xc1e7('0x39')]};return db['IntegrationReport'][_0xc1e7('0x19')](_0x34ca6c)[_0xc1e7('0x22')](function(_0x3452c1){_0x1f39c1['count']=_0x3452c1;if(_0x5dfe6e['query'][_0xc1e7('0x3e')]){_0x3f30f1[_0xc1e7('0x3f')]=[{'all':!![]}];}return db['IntegrationReport']['findAll'](_0x3f30f1);})[_0xc1e7('0x22')](function(_0x4de23b){_0x1f39c1['rows']=_0x4de23b;return _0x1f39c1;})['then'](respondWithFilteredResult(_0x4acfab,_0x3f30f1))[_0xc1e7('0x40')](handleError(_0x4acfab,null));};exports['show']=function(_0x535fba,_0x4a987b){var _0x1505fc={'raw':![],'where':{'id':_0x535fba[_0xc1e7('0x41')]['id']}},_0x4255fd={};_0x4255fd[_0xc1e7('0x2c')]=_[_0xc1e7('0x2f')](db[_0xc1e7('0x28')]['rawAttributes']);_0x4255fd[_0xc1e7('0x2e')]=_[_0xc1e7('0x2f')](_0x535fba[_0xc1e7('0x2e')]);_0x4255fd[_0xc1e7('0x3a')]=_['intersection'](_0x4255fd[_0xc1e7('0x2c')],_0x4255fd[_0xc1e7('0x2e')]);_0x1505fc['attributes']=_['intersection'](_0x4255fd[_0xc1e7('0x2c')],qs[_0xc1e7('0x32')](_0x535fba[_0xc1e7('0x2e')][_0xc1e7('0x32')]));_0x1505fc['attributes']=_0x1505fc[_0xc1e7('0x31')][_0xc1e7('0x33')]?_0x1505fc[_0xc1e7('0x31')]:_0x4255fd[_0xc1e7('0x2c')];if(_0x535fba['query'][_0xc1e7('0x3e')]){_0x1505fc[_0xc1e7('0x3f')]=[{'all':!![]}];}_0x1505fc=_[_0xc1e7('0x3c')]({},_0x1505fc,_0x535fba[_0xc1e7('0x3d')]);return db[_0xc1e7('0x28')][_0xc1e7('0x42')](_0x1505fc)['then'](handleEntityNotFound(_0x4a987b,null))[_0xc1e7('0x22')](respondWithResult(_0x4a987b,null))[_0xc1e7('0x40')](handleError(_0x4a987b,null));};exports[_0xc1e7('0x43')]=function(_0x11172f,_0x2cf325){return db[_0xc1e7('0x28')][_0xc1e7('0x43')](_0x11172f[_0xc1e7('0x44')],{})[_0xc1e7('0x22')](respondWithResult(_0x2cf325,0xc9))[_0xc1e7('0x40')](handleError(_0x2cf325,null));};exports[_0xc1e7('0x20')]=function(_0x2b6097,_0x444d56){if(_0x2b6097['body']['id']){delete _0x2b6097['body']['id'];}return db['IntegrationReport'][_0xc1e7('0x42')]({'where':{'id':_0x2b6097[_0xc1e7('0x41')]['id']}})[_0xc1e7('0x22')](handleEntityNotFound(_0x444d56,null))[_0xc1e7('0x22')](saveUpdates(_0x2b6097[_0xc1e7('0x44')],null))['then'](respondWithResult(_0x444d56,null))[_0xc1e7('0x40')](handleError(_0x444d56,null));};exports[_0xc1e7('0x21')]=function(_0x5e14ce,_0x2ad137){return db[_0xc1e7('0x28')][_0xc1e7('0x42')]({'where':{'id':_0x5e14ce[_0xc1e7('0x41')]['id']}})[_0xc1e7('0x22')](handleEntityNotFound(_0x2ad137,null))['then'](removeEntity(_0x2ad137,null))['catch'](handleError(_0x2ad137,null));};exports[_0xc1e7('0x45')]=function(_0x133507,_0x325186){return db['IntegrationReport']['describe']()[_0xc1e7('0x22')](respondWithResult(_0x325186,null))[_0xc1e7('0x40')](handleError(_0x325186,null));};