Built motion from commit (unavailable).|2.5.13
[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 _0xce06=['zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','to-csv','squel','jsforce','desk.js','papaparse','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','status','offset','set','json','save','update','then','sendStatus','error','stack','name','send','index','map','fieldName','key','model','query','keys','intersection','fields','attributes','length','hasOwnProperty','nolimit','limit','order','where','filters','pick','merge','VIRTUAL','IntegrationReport','count','includeAll','catch','show','rawAttributes','include','find','create','body','params','destroy','describe','html-pdf','rimraf'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0xce06,0x86));var _0x6ce0=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0xce06[_0x3dd15e];return _0x231fd0;};'use strict';var pdf=require(_0x6ce0('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x6ce0('0x1'));var zipdir=require(_0x6ce0('0x2'));var jsonpatch=require(_0x6ce0('0x3'));var rp=require(_0x6ce0('0x4'));var moment=require('moment');var BPromise=require(_0x6ce0('0x5'));var Mustache=require(_0x6ce0('0x6'));var util=require(_0x6ce0('0x7'));var path=require(_0x6ce0('0x8'));var sox=require(_0x6ce0('0x9'));var csv=require(_0x6ce0('0xa'));var ejs=require('ejs');var fs=require('fs');var _=require('lodash');var squel=require(_0x6ce0('0xb'));var crypto=require('crypto');var jsforce=require(_0x6ce0('0xc'));var deskjs=require(_0x6ce0('0xd'));var toCsv=require(_0x6ce0('0xa'));var querystring=require('querystring');var Papa=require(_0x6ce0('0xe'));var Redis=require('ioredis');var authService=require(_0x6ce0('0xf'));var qs=require('../../components/parsers/qs');var as=require(_0x6ce0('0x10'));var hardwareService=require(_0x6ce0('0x11'));var logger=require(_0x6ce0('0x12'))(_0x6ce0('0x13'));var utils=require(_0x6ce0('0x14'));var config=require('../../config/environment');var licenseUtil=require(_0x6ce0('0x15'));var db=require(_0x6ce0('0x16'))['db'];function respondWithStatusCode(_0x543436,_0x47babf){_0x47babf=_0x47babf||0xcc;return function(_0xd916f2){if(_0xd916f2){return _0x543436['sendStatus'](_0x47babf);}return _0x543436[_0x6ce0('0x17')](_0x47babf)['end']();};}function respondWithResult(_0x1c17b5,_0x7aec08){_0x7aec08=_0x7aec08||0xc8;return function(_0x18bc85){if(_0x18bc85){return _0x1c17b5[_0x6ce0('0x17')](_0x7aec08)['json'](_0x18bc85);}};}function respondWithFilteredResult(_0xa447fe,_0x378718){return function(_0x1de44d){if(_0x1de44d){var _0x21bbfc=_0x1de44d['count'],_0xd5fd47=_0x378718[_0x6ce0('0x18')],_0x3a2b60=_0x378718[_0x6ce0('0x18')]+_0x378718['limit'],_0x155ca0;if(_0x3a2b60>=_0x21bbfc){_0x3a2b60=_0x21bbfc;_0x155ca0=0xc8;}else{_0x155ca0=0xce;}_0xa447fe['status'](_0x155ca0);return _0xa447fe[_0x6ce0('0x19')]('Content-Range',_0xd5fd47+'-'+_0x3a2b60+'/'+_0x21bbfc)[_0x6ce0('0x1a')](_0x1de44d);}return null;};}function patchUpdates(_0x4849ae){return function(_0x17c165){try{jsonpatch['apply'](_0x17c165,_0x4849ae,!![]);}catch(_0x299881){return BPromise['reject'](_0x299881);}return _0x17c165[_0x6ce0('0x1b')]();};}function saveUpdates(_0x838979,_0x480d38){return function(_0x11cda3){if(_0x11cda3){return _0x11cda3[_0x6ce0('0x1c')](_0x838979)[_0x6ce0('0x1d')](function(_0x446b1a){return _0x446b1a;});}return null;};}function removeEntity(_0x57c6c4,_0x76afde){return function(_0xf5a002){if(_0xf5a002){return _0xf5a002['destroy']()[_0x6ce0('0x1d')](function(){_0x57c6c4[_0x6ce0('0x17')](0xcc)['end']();});}};}function handleEntityNotFound(_0xdb2c1c,_0xfc00e8){return function(_0x4bade2){if(!_0x4bade2){_0xdb2c1c[_0x6ce0('0x1e')](0x194);}return _0x4bade2;};}function handleError(_0x100745,_0x19ca62){_0x19ca62=_0x19ca62||0x1f4;return function(_0x2491d5){logger[_0x6ce0('0x1f')](_0x2491d5[_0x6ce0('0x20')]);if(_0x2491d5[_0x6ce0('0x21')]){delete _0x2491d5[_0x6ce0('0x21')];}_0x100745[_0x6ce0('0x17')](_0x19ca62)[_0x6ce0('0x22')](_0x2491d5);};}exports[_0x6ce0('0x23')]=function(_0x57a6a5,_0x7078e){var _0x3f6938={},_0x58dd06={},_0x593982={'count':0x0,'rows':[]};var _0x381004=_[_0x6ce0('0x24')](db['IntegrationReport']['rawAttributes'],function(_0x5f381b){return{'name':_0x5f381b[_0x6ce0('0x25')],'type':_0x5f381b['type'][_0x6ce0('0x26')]};});_0x58dd06[_0x6ce0('0x27')]=_[_0x6ce0('0x24')](_0x381004,_0x6ce0('0x21'));_0x58dd06[_0x6ce0('0x28')]=_[_0x6ce0('0x29')](_0x57a6a5[_0x6ce0('0x28')]);_0x58dd06['filters']=_[_0x6ce0('0x2a')](_0x58dd06['model'],_0x58dd06['query']);_0x3f6938['attributes']=_[_0x6ce0('0x2a')](_0x58dd06['model'],qs['fields'](_0x57a6a5[_0x6ce0('0x28')][_0x6ce0('0x2b')]));_0x3f6938[_0x6ce0('0x2c')]=_0x3f6938[_0x6ce0('0x2c')][_0x6ce0('0x2d')]?_0x3f6938[_0x6ce0('0x2c')]:_0x58dd06[_0x6ce0('0x27')];if(!_0x57a6a5[_0x6ce0('0x28')][_0x6ce0('0x2e')](_0x6ce0('0x2f'))){_0x3f6938[_0x6ce0('0x30')]=qs[_0x6ce0('0x30')](_0x57a6a5[_0x6ce0('0x28')][_0x6ce0('0x30')]);_0x3f6938[_0x6ce0('0x18')]=qs[_0x6ce0('0x18')](_0x57a6a5['query'][_0x6ce0('0x18')]);}_0x3f6938[_0x6ce0('0x31')]=qs['sort'](_0x57a6a5[_0x6ce0('0x28')]['sort']);_0x3f6938[_0x6ce0('0x32')]=qs[_0x6ce0('0x33')](_[_0x6ce0('0x34')](_0x57a6a5['query'],_0x58dd06[_0x6ce0('0x33')]),_0x381004);if(_0x57a6a5['query']['filter']){_0x3f6938[_0x6ce0('0x32')]=_[_0x6ce0('0x35')](_0x3f6938[_0x6ce0('0x32')],{'$or':_[_0x6ce0('0x24')](_0x381004,function(_0x1eec78){if(_0x1eec78['type']!==_0x6ce0('0x36')){var _0x1e4e41={};_0x1e4e41[_0x1eec78[_0x6ce0('0x21')]]={'$like':'%'+_0x57a6a5['query']['filter']+'%'};return _0x1e4e41;}})});}_0x3f6938=_['merge']({},_0x3f6938,_0x57a6a5['options']);var _0x56eabe={'where':_0x3f6938[_0x6ce0('0x32')]};return db[_0x6ce0('0x37')][_0x6ce0('0x38')](_0x56eabe)[_0x6ce0('0x1d')](function(_0x244cb9){_0x593982[_0x6ce0('0x38')]=_0x244cb9;if(_0x57a6a5[_0x6ce0('0x28')][_0x6ce0('0x39')]){_0x3f6938['include']=[{'all':!![]}];}return db[_0x6ce0('0x37')]['findAll'](_0x3f6938);})['then'](function(_0x1ceabc){_0x593982['rows']=_0x1ceabc;return _0x593982;})['then'](respondWithFilteredResult(_0x7078e,_0x3f6938))[_0x6ce0('0x3a')](handleError(_0x7078e,null));};exports[_0x6ce0('0x3b')]=function(_0x2d596d,_0x3faaf4){var _0x547ca0={'raw':![],'where':{'id':_0x2d596d['params']['id']}},_0xc88963={};_0xc88963['model']=_['keys'](db[_0x6ce0('0x37')][_0x6ce0('0x3c')]);_0xc88963[_0x6ce0('0x28')]=_['keys'](_0x2d596d['query']);_0xc88963[_0x6ce0('0x33')]=_[_0x6ce0('0x2a')](_0xc88963[_0x6ce0('0x27')],_0xc88963[_0x6ce0('0x28')]);_0x547ca0[_0x6ce0('0x2c')]=_[_0x6ce0('0x2a')](_0xc88963[_0x6ce0('0x27')],qs[_0x6ce0('0x2b')](_0x2d596d[_0x6ce0('0x28')]['fields']));_0x547ca0['attributes']=_0x547ca0['attributes'][_0x6ce0('0x2d')]?_0x547ca0['attributes']:_0xc88963[_0x6ce0('0x27')];if(_0x2d596d['query']['includeAll']){_0x547ca0[_0x6ce0('0x3d')]=[{'all':!![]}];}_0x547ca0=_[_0x6ce0('0x35')]({},_0x547ca0,_0x2d596d['options']);return db[_0x6ce0('0x37')][_0x6ce0('0x3e')](_0x547ca0)[_0x6ce0('0x1d')](handleEntityNotFound(_0x3faaf4,null))[_0x6ce0('0x1d')](respondWithResult(_0x3faaf4,null))[_0x6ce0('0x3a')](handleError(_0x3faaf4,null));};exports['create']=function(_0x351a27,_0x1d1ef5){return db[_0x6ce0('0x37')][_0x6ce0('0x3f')](_0x351a27[_0x6ce0('0x40')],{})[_0x6ce0('0x1d')](respondWithResult(_0x1d1ef5,0xc9))['catch'](handleError(_0x1d1ef5,null));};exports['update']=function(_0x52e895,_0x2ee995){if(_0x52e895[_0x6ce0('0x40')]['id']){delete _0x52e895[_0x6ce0('0x40')]['id'];}return db['IntegrationReport'][_0x6ce0('0x3e')]({'where':{'id':_0x52e895[_0x6ce0('0x41')]['id']}})[_0x6ce0('0x1d')](handleEntityNotFound(_0x2ee995,null))[_0x6ce0('0x1d')](saveUpdates(_0x52e895['body'],null))[_0x6ce0('0x1d')](respondWithResult(_0x2ee995,null))[_0x6ce0('0x3a')](handleError(_0x2ee995,null));};exports[_0x6ce0('0x42')]=function(_0x52787f,_0xb0c528){return db['IntegrationReport'][_0x6ce0('0x3e')]({'where':{'id':_0x52787f['params']['id']}})[_0x6ce0('0x1d')](handleEntityNotFound(_0xb0c528,null))[_0x6ce0('0x1d')](removeEntity(_0xb0c528,null))[_0x6ce0('0x3a')](handleError(_0xb0c528,null));};exports[_0x6ce0('0x43')]=function(_0x26bb79,_0x5ac052){return db[_0x6ce0('0x37')][_0x6ce0('0x43')]()[_0x6ce0('0x1d')](respondWithResult(_0x5ac052,null))[_0x6ce0('0x3a')](handleError(_0x5ac052,null));};