a1f3f9871deb261d4c1871a16ae44d95a590f97e
[motion2.git] / server / api / squareRecording / squareRecording.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 _0x12d6=['type','model','map','query','keys','filters','intersection','attributes','fields','length','nolimit','order','sort','where','pick','filter','merge','options','SquareRecording','includeAll','findAll','params','include','find','catch','create','body','../../components/encryptor','savePath','format','%s.cypher','existsSync','secrets','recording','Sequelize','ValidationError','filename','download','extname','unlink','message','SquareRecording\x20not\x20found','destroy','info','cancellazione\x20fisica\x20documento\x20%s','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','.cypher','unlinkSync','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','offset','undefined','count','limit','set','reject','save','update','then','sendStatus','error','name','send','index','rawAttributes'];(function(_0x563bac,_0x219b08){var _0x1a89c7=function(_0x20b51e){while(--_0x20b51e){_0x563bac['push'](_0x563bac['shift']());}};_0x1a89c7(++_0x219b08);}(_0x12d6,0x91));var _0x612d=function(_0x432682,_0x253044){_0x432682=_0x432682-0x0;var _0x463d05=_0x12d6[_0x432682];return _0x463d05;};'use strict';var emlformat=require(_0x612d('0x0'));var rimraf=require(_0x612d('0x1'));var zipdir=require(_0x612d('0x2'));var jsonpatch=require(_0x612d('0x3'));var rp=require(_0x612d('0x4'));var moment=require(_0x612d('0x5'));var BPromise=require(_0x612d('0x6'));var Mustache=require(_0x612d('0x7'));var util=require(_0x612d('0x8'));var path=require(_0x612d('0x9'));var sox=require(_0x612d('0xa'));var csv=require(_0x612d('0xb'));var ejs=require(_0x612d('0xc'));var fs=require('fs');var fs_extra=require(_0x612d('0xd'));var _=require(_0x612d('0xe'));var squel=require('squel');var crypto=require(_0x612d('0xf'));var jsforce=require(_0x612d('0x10'));var deskjs=require(_0x612d('0x11'));var toCsv=require('to-csv');var querystring=require(_0x612d('0x12'));var Papa=require(_0x612d('0x13'));var Redis=require(_0x612d('0x14'));var authService=require(_0x612d('0x15'));var qs=require(_0x612d('0x16'));var as=require(_0x612d('0x17'));var hardwareService=require(_0x612d('0x18'));var logger=require('../../config/logger')('api');var utils=require(_0x612d('0x19'));var config=require(_0x612d('0x1a'));var licenseUtil=require(_0x612d('0x1b'));var db=require(_0x612d('0x1c'))['db'];function respondWithStatusCode(_0x1f32c2,_0x1a7b80){_0x1a7b80=_0x1a7b80||0xcc;return function(_0x3483d6){if(_0x3483d6){return _0x1f32c2['sendStatus'](_0x1a7b80);}return _0x1f32c2[_0x612d('0x1d')](_0x1a7b80)[_0x612d('0x1e')]();};}function respondWithResult(_0x2d747b,_0x58121c){_0x58121c=_0x58121c||0xc8;return function(_0x403273){if(_0x403273){return _0x2d747b['status'](_0x58121c)[_0x612d('0x1f')](_0x403273);}};}function respondWithFilteredResult(_0x50aaab,_0x31ba62){return function(_0x4c2517){if(_0x4c2517){var _0x1a38ee=typeof _0x31ba62[_0x612d('0x20')]===_0x612d('0x21')&&typeof _0x31ba62['limit']===_0x612d('0x21');var _0x3047cc=_0x4c2517[_0x612d('0x22')];var _0x100fa3=_0x1a38ee?0x0:_0x31ba62['offset'];var _0x15a59b=_0x1a38ee?_0x4c2517['count']:_0x31ba62[_0x612d('0x20')]+_0x31ba62[_0x612d('0x23')];var _0x92f397;if(_0x15a59b>=_0x3047cc){_0x15a59b=_0x3047cc;_0x92f397=0xc8;}else{_0x92f397=0xce;}_0x50aaab[_0x612d('0x1d')](_0x92f397);return _0x50aaab[_0x612d('0x24')]('Content-Range',_0x100fa3+'-'+_0x15a59b+'/'+_0x3047cc)[_0x612d('0x1f')](_0x4c2517);}return null;};}function patchUpdates(_0x2d019a){return function(_0x230467){try{jsonpatch['apply'](_0x230467,_0x2d019a,!![]);}catch(_0x357a00){return BPromise[_0x612d('0x25')](_0x357a00);}return _0x230467[_0x612d('0x26')]();};}function saveUpdates(_0x175745,_0x5afdf6){return function(_0x209310){if(_0x209310){return _0x209310[_0x612d('0x27')](_0x175745)[_0x612d('0x28')](function(_0xa4075f){return _0xa4075f;});}return null;};}function removeEntity(_0x33cce3,_0x3b1d16){return function(_0x476e9d){if(_0x476e9d){return _0x476e9d['destroy']()[_0x612d('0x28')](function(){_0x33cce3[_0x612d('0x1d')](0xcc)[_0x612d('0x1e')]();});}};}function handleEntityNotFound(_0x4c73d0,_0x7be13d){return function(_0x2bd6d6){if(!_0x2bd6d6){_0x4c73d0[_0x612d('0x29')](0x194);}return _0x2bd6d6;};}function handleError(_0x221a56,_0x154e01){_0x154e01=_0x154e01||0x1f4;return function(_0x437928){logger[_0x612d('0x2a')](_0x437928['stack']);if(_0x437928[_0x612d('0x2b')]){delete _0x437928[_0x612d('0x2b')];}_0x221a56[_0x612d('0x1d')](_0x154e01)[_0x612d('0x2c')](_0x437928);};}exports[_0x612d('0x2d')]=function(_0x2452b0,_0x28bada){var _0x57708d={},_0x39eef8={},_0x5646bd={'count':0x0,'rows':[]};var _0x284c38=_['map'](db['SquareRecording'][_0x612d('0x2e')],function(_0x54f78e){return{'name':_0x54f78e['fieldName'],'type':_0x54f78e[_0x612d('0x2f')]['key']};});_0x39eef8[_0x612d('0x30')]=_[_0x612d('0x31')](_0x284c38,_0x612d('0x2b'));_0x39eef8[_0x612d('0x32')]=_[_0x612d('0x33')](_0x2452b0[_0x612d('0x32')]);_0x39eef8[_0x612d('0x34')]=_[_0x612d('0x35')](_0x39eef8['model'],_0x39eef8[_0x612d('0x32')]);_0x57708d[_0x612d('0x36')]=_[_0x612d('0x35')](_0x39eef8[_0x612d('0x30')],qs[_0x612d('0x37')](_0x2452b0[_0x612d('0x32')][_0x612d('0x37')]));_0x57708d['attributes']=_0x57708d[_0x612d('0x36')][_0x612d('0x38')]?_0x57708d[_0x612d('0x36')]:_0x39eef8[_0x612d('0x30')];if(!_0x2452b0[_0x612d('0x32')]['hasOwnProperty'](_0x612d('0x39'))){_0x57708d[_0x612d('0x23')]=qs[_0x612d('0x23')](_0x2452b0[_0x612d('0x32')][_0x612d('0x23')]);_0x57708d[_0x612d('0x20')]=qs[_0x612d('0x20')](_0x2452b0['query'][_0x612d('0x20')]);}_0x57708d[_0x612d('0x3a')]=qs[_0x612d('0x3b')](_0x2452b0['query'][_0x612d('0x3b')]);_0x57708d[_0x612d('0x3c')]=qs['filters'](_[_0x612d('0x3d')](_0x2452b0[_0x612d('0x32')],_0x39eef8[_0x612d('0x34')]),_0x284c38);if(_0x2452b0['query'][_0x612d('0x3e')]){_0x57708d[_0x612d('0x3c')]=_[_0x612d('0x3f')](_0x57708d[_0x612d('0x3c')],{'$or':_['map'](_0x284c38,function(_0x41e8d5){if(_0x41e8d5['type']!=='VIRTUAL'){var _0x5aa0d8={};_0x5aa0d8[_0x41e8d5[_0x612d('0x2b')]]={'$like':'%'+_0x2452b0[_0x612d('0x32')]['filter']+'%'};return _0x5aa0d8;}})});}_0x57708d=_[_0x612d('0x3f')]({},_0x57708d,_0x2452b0[_0x612d('0x40')]);var _0x3a366a={'where':_0x57708d[_0x612d('0x3c')]};return db[_0x612d('0x41')]['count'](_0x3a366a)[_0x612d('0x28')](function(_0x4f2452){_0x5646bd[_0x612d('0x22')]=_0x4f2452;if(_0x2452b0[_0x612d('0x32')][_0x612d('0x42')]){_0x57708d['include']=[{'all':!![]}];}return db['SquareRecording'][_0x612d('0x43')](_0x57708d);})['then'](function(_0x1c79a9){_0x5646bd['rows']=_0x1c79a9;return _0x5646bd;})[_0x612d('0x28')](respondWithFilteredResult(_0x28bada,_0x57708d))['catch'](handleError(_0x28bada,null));};exports['show']=function(_0x4a33f5,_0x22e6ef){var _0xdae05d={'raw':!![],'where':{'id':_0x4a33f5[_0x612d('0x44')]['id']}},_0x408567={};_0x408567[_0x612d('0x30')]=_[_0x612d('0x33')](db[_0x612d('0x41')][_0x612d('0x2e')]);_0x408567[_0x612d('0x32')]=_[_0x612d('0x33')](_0x4a33f5[_0x612d('0x32')]);_0x408567[_0x612d('0x34')]=_['intersection'](_0x408567[_0x612d('0x30')],_0x408567[_0x612d('0x32')]);_0xdae05d[_0x612d('0x36')]=_[_0x612d('0x35')](_0x408567[_0x612d('0x30')],qs[_0x612d('0x37')](_0x4a33f5['query'][_0x612d('0x37')]));_0xdae05d[_0x612d('0x36')]=_0xdae05d[_0x612d('0x36')][_0x612d('0x38')]?_0xdae05d[_0x612d('0x36')]:_0x408567[_0x612d('0x30')];if(_0x4a33f5['query']['includeAll']){_0xdae05d[_0x612d('0x45')]=[{'all':!![]}];}_0xdae05d=_[_0x612d('0x3f')]({},_0xdae05d,_0x4a33f5[_0x612d('0x40')]);return db['SquareRecording'][_0x612d('0x46')](_0xdae05d)['then'](handleEntityNotFound(_0x22e6ef,null))[_0x612d('0x28')](respondWithResult(_0x22e6ef,null))[_0x612d('0x47')](handleError(_0x22e6ef,null));};exports[_0x612d('0x48')]=function(_0xe3cbb7,_0x217f4b){return db['SquareRecording'][_0x612d('0x48')](_0xe3cbb7[_0x612d('0x49')],{})[_0x612d('0x28')](respondWithResult(_0x217f4b,0xc9))[_0x612d('0x47')](handleError(_0x217f4b,null));};exports[_0x612d('0x27')]=function(_0x20af6c,_0x521084){if(_0x20af6c[_0x612d('0x49')]['id']){delete _0x20af6c[_0x612d('0x49')]['id'];}return db['SquareRecording']['find']({'where':{'id':_0x20af6c[_0x612d('0x44')]['id']}})['then'](handleEntityNotFound(_0x521084,null))[_0x612d('0x28')](saveUpdates(_0x20af6c[_0x612d('0x49')],null))[_0x612d('0x28')](respondWithResult(_0x521084,null))[_0x612d('0x47')](handleError(_0x521084,null));};exports['download']=function(_0x1e5f60,_0x22d3e4,_0x1f8845){var _0x3ce188=require(_0x612d('0x4a'));var _0x21ca6c=![];var _0x56aff3={};if(_0x1e5f60['query']['type']&&_0x1e5f60[_0x612d('0x32')][_0x612d('0x2f')]==='uniqueid'){_0x56aff3['uniqueid']=_0x1e5f60[_0x612d('0x44')]['id'];}else{_0x56aff3['id']=_0x1e5f60['params']['id'];}return db[_0x612d('0x41')][_0x612d('0x46')]({'where':_0x56aff3,'attributes':['id',_0x612d('0x4b'),'filename'],'raw':!![]})[_0x612d('0x28')](handleEntityNotFound(_0x22d3e4,null))['then'](function(_0x118174){if(_0x118174){var _0x361296=_0x118174[_0x612d('0x4b')];var _0x40e113=util[_0x612d('0x4c')](_0x612d('0x4d'),_0x361296);if(fs[_0x612d('0x4e')](_0x40e113)){_0x21ca6c=!![];return _0x3ce188['decryptFile'](_0x40e113,_0x361296,config[_0x612d('0x4f')][_0x612d('0x50')])[_0x612d('0x28')](function(){return _0x118174;});}return _0x118174;}})['then'](function(_0x1b3cd5){if(_0x1b3cd5){var _0x548836=_0x1b3cd5[_0x612d('0x4b')];if(!fs['existsSync'](_0x548836)){throw new db[(_0x612d('0x51'))][(_0x612d('0x52'))]('SquareRecording\x20not\x20found');}if(_0x1b3cd5[_0x612d('0x53')]){return _0x22d3e4[_0x612d('0x54')](_0x548836,_0x1b3cd5[_0x612d('0x53')]+path[_0x612d('0x55')](_0x548836),function(){if(_0x21ca6c){fs[_0x612d('0x56')](_0x548836);}});}else{return _0x22d3e4['download'](_0x548836,function(_0xc7d6e1){if(_0x21ca6c){fs[_0x612d('0x56')](_0x548836);}});}}})[_0x612d('0x47')](function(_0x33ebf4){if(_0x33ebf4[_0x612d('0x57')]===_0x612d('0x58')){_0x22d3e4[_0x612d('0x1d')](0x194)[_0x612d('0x2c')]('Not\x20found');}else{return handleError(_0x22d3e4,null);}});};exports[_0x612d('0x59')]=function(_0x103a13,_0x45f6ff){return db[_0x612d('0x41')]['find']({'where':{'id':_0x103a13[_0x612d('0x44')]['id']}})[_0x612d('0x28')](function(_0x1821ef){if(_['isNil'](_0x1821ef)){throw new ReferenceError('Entity\x20not\x20found');}return _0x1821ef;})[_0x612d('0x28')](function(_0x3c7653){var _0x2d3500=_0x3c7653[_0x612d('0x4b')];logger[_0x612d('0x5a')](_0x612d('0x5b'),_0x2d3500);if(!_['isNil'](_0x3c7653['savePath'])&&fs[_0x612d('0x4e')](_0x2d3500)){logger[_0x612d('0x5a')](_0x612d('0x5c')+_0x2d3500+_0x612d('0x5d'));fs['unlinkSync'](_0x2d3500);}_0x2d3500=_0x2d3500+_0x612d('0x5e');if(!_['isNil'](_0x3c7653[_0x612d('0x4b')])&&fs[_0x612d('0x4e')](_0x2d3500)){logger['info']('File:\x20\x22'+_0x2d3500+_0x612d('0x5d'));fs[_0x612d('0x5f')](_0x2d3500);}return _0x3c7653;})[_0x612d('0x28')](function(_0x193da4){if(!_0x193da4)throw new InternalError();return _0x193da4[_0x612d('0x59')]();})[_0x612d('0x28')](function(){_0x45f6ff['status'](0xcc)[_0x612d('0x1e')]();})[_0x612d('0x47')](handleError(_0x45f6ff,null));};