Built motion from commit (unavailable).|2.4.18
[motion2.git] / server / api / screenRecording / screenRecording.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 _0x4ded=['hasOwnProperty','order','sort','where','filters','pick','filter','merge','options','ScreenRecording','then','includeAll','findAll','rows','show','params','keys','intersection','catch','create','body','createdAt','value','find','describe','download','type','uniqueid','root','%s.cypher','decryptFile','join','server/files/screen_recordings','existsSync','Sequelize','ValidationError','ScreenRecording\x20not\x20found','filename','unlink','message','Not\x20found','Entity\x20not\x20found','info','cancellazione\x20fisica\x20documento\x20%s','isNil','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','File:\x20\x22','html-pdf','eml-format','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','status','end','count','offset','limit','set','Content-Range','json','apply','reject','save','update','destroy','error','name','send','map','rawAttributes','fieldName','key','model','differenceBy','format','query','attributes','fields','length'];(function(_0x1157ba,_0x11f61e){var _0x2221eb=function(_0x1735c1){while(--_0x1735c1){_0x1157ba['push'](_0x1157ba['shift']());}};_0x2221eb(++_0x11f61e);}(_0x4ded,0xf8));var _0xd4de=function(_0x2e3bd1,_0x24df30){_0x2e3bd1=_0x2e3bd1-0x0;var _0x40dbd3=_0x4ded[_0x2e3bd1];return _0x40dbd3;};'use strict';var pdf=require(_0xd4de('0x0'));var emlformat=require(_0xd4de('0x1'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0xd4de('0x2'));var rp=require(_0xd4de('0x3'));var moment=require(_0xd4de('0x4'));var BPromise=require(_0xd4de('0x5'));var Mustache=require(_0xd4de('0x6'));var util=require(_0xd4de('0x7'));var path=require(_0xd4de('0x8'));var sox=require(_0xd4de('0x9'));var csv=require(_0xd4de('0xa'));var ejs=require(_0xd4de('0xb'));var fs=require('fs');var _=require(_0xd4de('0xc'));var squel=require(_0xd4de('0xd'));var crypto=require('crypto');var jsforce=require(_0xd4de('0xe'));var deskjs=require(_0xd4de('0xf'));var toCsv=require(_0xd4de('0xa'));var querystring=require(_0xd4de('0x10'));var Papa=require('papaparse');var Redis=require(_0xd4de('0x11'));var authService=require(_0xd4de('0x12'));var qs=require(_0xd4de('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xd4de('0x14'));var logger=require(_0xd4de('0x15'))('api');var utils=require(_0xd4de('0x16'));var config=require(_0xd4de('0x17'));var db=require(_0xd4de('0x18'))['db'];function respondWithStatusCode(_0x49c4c1,_0x346808){_0x346808=_0x346808||0xcc;return function(_0x465d1c){if(_0x465d1c){return _0x49c4c1['sendStatus'](_0x346808);}return _0x49c4c1[_0xd4de('0x19')](_0x346808)[_0xd4de('0x1a')]();};}function respondWithResult(_0x3ccef4,_0x1bdb84){_0x1bdb84=_0x1bdb84||0xc8;return function(_0x56896e){if(_0x56896e){return _0x3ccef4[_0xd4de('0x19')](_0x1bdb84)['json'](_0x56896e);}};}function respondWithFilteredResult(_0x4464f9,_0x4ae364){return function(_0x3aa4f2){if(_0x3aa4f2){var _0x5e5ce7=_0x3aa4f2[_0xd4de('0x1b')],_0x2720b7=_0x4ae364[_0xd4de('0x1c')],_0x5091e4=_0x4ae364[_0xd4de('0x1c')]+_0x4ae364[_0xd4de('0x1d')],_0x2180bf;if(_0x5091e4>=_0x5e5ce7){_0x5091e4=_0x5e5ce7;_0x2180bf=0xc8;}else{_0x2180bf=0xce;}_0x4464f9[_0xd4de('0x19')](_0x2180bf);return _0x4464f9[_0xd4de('0x1e')](_0xd4de('0x1f'),_0x2720b7+'-'+_0x5091e4+'/'+_0x5e5ce7)[_0xd4de('0x20')](_0x3aa4f2);}return null;};}function patchUpdates(_0x226ecd){return function(_0x425e1c){try{jsonpatch[_0xd4de('0x21')](_0x425e1c,_0x226ecd,!![]);}catch(_0x41984d){return BPromise[_0xd4de('0x22')](_0x41984d);}return _0x425e1c[_0xd4de('0x23')]();};}function saveUpdates(_0x100b68,_0x25f044){return function(_0x198584){if(_0x198584){return _0x198584[_0xd4de('0x24')](_0x100b68)['then'](function(_0x45adc4){return _0x45adc4;});}return null;};}function removeEntity(_0x1066be,_0x77d72f){return function(_0xe02907){if(_0xe02907){return _0xe02907[_0xd4de('0x25')]()['then'](function(){_0x1066be[_0xd4de('0x19')](0xcc)[_0xd4de('0x1a')]();});}};}function handleEntityNotFound(_0x1f5538,_0x52359c){return function(_0x51afd5){if(!_0x51afd5){_0x1f5538['sendStatus'](0x194);}return _0x51afd5;};}function handleError(_0x21433f,_0x4ba5d8){_0x4ba5d8=_0x4ba5d8||0x1f4;return function(_0x322c2a){logger[_0xd4de('0x26')](_0x322c2a['stack']);if(_0x322c2a[_0xd4de('0x27')]){delete _0x322c2a[_0xd4de('0x27')];}_0x21433f[_0xd4de('0x19')](_0x4ba5d8)[_0xd4de('0x28')](_0x322c2a);};}exports['index']=function(_0x3ce2f4,_0x44dcda){var _0x304572={},_0x3b51eb={},_0x3e9b65={'count':0x0,'rows':[]};var _0x480525=_[_0xd4de('0x29')](db['ScreenRecording'][_0xd4de('0x2a')],function(_0x2a248a){return{'name':_0x2a248a[_0xd4de('0x2b')],'type':_0x2a248a['type'][_0xd4de('0x2c')]};});_0x3b51eb[_0xd4de('0x2d')]=_[_0xd4de('0x2e')](_[_0xd4de('0x29')](_0x480525,_0xd4de('0x27')),[_0xd4de('0x2f')]);_0x3b51eb[_0xd4de('0x30')]=_['keys'](_0x3ce2f4[_0xd4de('0x30')]);_0x3b51eb['filters']=_['intersection'](_0x3b51eb[_0xd4de('0x2d')],_0x3b51eb['query']);_0x304572[_0xd4de('0x31')]=_['intersection'](_0x3b51eb['model'],qs[_0xd4de('0x32')](_0x3ce2f4['query']['fields']));_0x304572[_0xd4de('0x31')]=_0x304572[_0xd4de('0x31')][_0xd4de('0x33')]?_0x304572[_0xd4de('0x31')]:_0x3b51eb[_0xd4de('0x2d')];if(!_0x3ce2f4['query'][_0xd4de('0x34')]('nolimit')){_0x304572[_0xd4de('0x1d')]=qs['limit'](_0x3ce2f4[_0xd4de('0x30')][_0xd4de('0x1d')]);_0x304572[_0xd4de('0x1c')]=qs[_0xd4de('0x1c')](_0x3ce2f4[_0xd4de('0x30')]['offset']);}_0x304572[_0xd4de('0x35')]=qs[_0xd4de('0x36')](_0x3ce2f4['query']['sort']);_0x304572[_0xd4de('0x37')]=qs[_0xd4de('0x38')](_[_0xd4de('0x39')](_0x3ce2f4[_0xd4de('0x30')],_0x3b51eb[_0xd4de('0x38')]));if(_0x3ce2f4[_0xd4de('0x30')][_0xd4de('0x3a')]){_0x304572[_0xd4de('0x37')]=_[_0xd4de('0x3b')](_0x304572['where'],{'$or':_[_0xd4de('0x29')](_0x480525,function(_0x570769){if(_0x570769['type']!=='VIRTUAL'){var _0x367936={};_0x367936[_0x570769[_0xd4de('0x27')]]={'$like':'%'+_0x3ce2f4[_0xd4de('0x30')][_0xd4de('0x3a')]+'%'};return _0x367936;}})});}_0x304572=_[_0xd4de('0x3b')]({},_0x304572,_0x3ce2f4[_0xd4de('0x3c')]);var _0x33d903={'where':_0x304572[_0xd4de('0x37')]};return db[_0xd4de('0x3d')]['count'](_0x33d903)[_0xd4de('0x3e')](function(_0x21f3e9){_0x3e9b65[_0xd4de('0x1b')]=_0x21f3e9;if(_0x3ce2f4[_0xd4de('0x30')][_0xd4de('0x3f')]){_0x304572['include']=[{'all':!![]}];}return db[_0xd4de('0x3d')][_0xd4de('0x40')](_0x304572);})[_0xd4de('0x3e')](function(_0x4b9147){_0x3e9b65[_0xd4de('0x41')]=_0x4b9147;return _0x3e9b65;})[_0xd4de('0x3e')](respondWithFilteredResult(_0x44dcda,_0x304572))['catch'](handleError(_0x44dcda,null));};exports[_0xd4de('0x42')]=function(_0xac1976,_0x1ee827){var _0x4775e6={'raw':![],'where':{'id':_0xac1976[_0xd4de('0x43')]['id']}},_0x12aea5={};_0x12aea5[_0xd4de('0x2d')]=_[_0xd4de('0x44')](db[_0xd4de('0x3d')][_0xd4de('0x2a')]);_0x12aea5[_0xd4de('0x30')]=_[_0xd4de('0x44')](_0xac1976['query']);_0x12aea5[_0xd4de('0x38')]=_['intersection'](_0x12aea5[_0xd4de('0x2d')],_0x12aea5[_0xd4de('0x30')]);_0x4775e6[_0xd4de('0x31')]=_[_0xd4de('0x45')](_0x12aea5['model'],qs['fields'](_0xac1976[_0xd4de('0x30')][_0xd4de('0x32')]));_0x4775e6[_0xd4de('0x31')]=_0x4775e6['attributes'][_0xd4de('0x33')]?_0x4775e6[_0xd4de('0x31')]:_0x12aea5[_0xd4de('0x2d')];if(_0xac1976[_0xd4de('0x30')]['includeAll']){_0x4775e6['include']=[{'all':!![]}];}_0x4775e6=_[_0xd4de('0x3b')]({},_0x4775e6,_0xac1976['options']);return db[_0xd4de('0x3d')]['find'](_0x4775e6)[_0xd4de('0x3e')](handleEntityNotFound(_0x1ee827,null))[_0xd4de('0x3e')](respondWithResult(_0x1ee827,null))[_0xd4de('0x46')](handleError(_0x1ee827,null));};exports[_0xd4de('0x47')]=function(_0x254c7e,_0x42a029){return db[_0xd4de('0x3d')][_0xd4de('0x47')](_0x254c7e['body'],{})[_0xd4de('0x3e')](respondWithResult(_0x42a029,0xc9))[_0xd4de('0x46')](handleError(_0x42a029,null));};exports[_0xd4de('0x24')]=function(_0x3d7710,_0x42a812){if(_0x3d7710['body']['id']){delete _0x3d7710[_0xd4de('0x48')]['id'];}delete _0x3d7710[_0xd4de('0x48')]['duration'];delete _0x3d7710[_0xd4de('0x48')][_0xd4de('0x49')];delete _0x3d7710[_0xd4de('0x48')]['closedAt'];delete _0x3d7710[_0xd4de('0x48')][_0xd4de('0x4a')];return db[_0xd4de('0x3d')][_0xd4de('0x4b')]({'where':{'id':_0x3d7710[_0xd4de('0x43')]['id']}})[_0xd4de('0x3e')](handleEntityNotFound(_0x42a812,null))[_0xd4de('0x3e')](saveUpdates(_0x3d7710['body'],null))['then'](respondWithResult(_0x42a812,null))[_0xd4de('0x46')](handleError(_0x42a812,null));};exports[_0xd4de('0x4c')]=function(_0x2c23d4,_0x15f3b5){return db['ScreenRecording']['describe']()[_0xd4de('0x3e')](respondWithResult(_0x15f3b5,null))[_0xd4de('0x46')](handleError(_0x15f3b5,null));};exports[_0xd4de('0x4d')]=function(_0x18d859,_0x2d30fe,_0x19f621){var _0x42d0c7=require('../../components/encryptor');var _0x511610=![];var _0x137cda={};if(_0x18d859[_0xd4de('0x30')]['type']&&_0x18d859[_0xd4de('0x30')][_0xd4de('0x4e')]==='uniqueid'){_0x137cda[_0xd4de('0x4f')]=_0x18d859['params']['id'];}else{_0x137cda['id']=_0x18d859[_0xd4de('0x43')]['id'];}return db[_0xd4de('0x3d')][_0xd4de('0x4b')]({'where':_0x137cda,'attributes':['id',_0xd4de('0x4a')],'raw':!![]})[_0xd4de('0x3e')](handleEntityNotFound(_0x2d30fe,null))[_0xd4de('0x3e')](function(_0x381b81){if(_0x381b81){var _0x60336=path['join'](config[_0xd4de('0x50')],'server/files/screen_recordings',_0x381b81[_0xd4de('0x4a')]);var _0x4ca990=util['format'](_0xd4de('0x51'),_0x60336);if(fs['existsSync'](_0x4ca990)){_0x511610=!![];return _0x42d0c7[_0xd4de('0x52')](_0x4ca990,_0x60336,config['secrets']['recording'])[_0xd4de('0x3e')](function(){return _0x381b81;});}return _0x381b81;}})['then'](function(_0x57c58c){if(_0x57c58c){var _0x2f0339=path[_0xd4de('0x53')](config[_0xd4de('0x50')],_0xd4de('0x54'),_0x57c58c[_0xd4de('0x4a')]);if(!fs[_0xd4de('0x55')](_0x2f0339)){throw new db[(_0xd4de('0x56'))][(_0xd4de('0x57'))](_0xd4de('0x58'));}if(_0x57c58c['filename']){return _0x2d30fe[_0xd4de('0x4d')](_0x2f0339,_0x57c58c[_0xd4de('0x59')]+path['extname'](_0x2f0339),function(){if(_0x511610){fs['unlink'](_0x2f0339);}});}else{return _0x2d30fe[_0xd4de('0x4d')](_0x2f0339,function(_0x48a942){if(_0x511610){fs[_0xd4de('0x5a')](_0x2f0339);}});}}})[_0xd4de('0x46')](function(_0x3e9ee9){if(_0x3e9ee9[_0xd4de('0x5b')]===_0xd4de('0x58')){_0x2d30fe[_0xd4de('0x19')](0x194)[_0xd4de('0x28')](_0xd4de('0x5c'));}else{return handleError(_0x2d30fe,null);}});};exports[_0xd4de('0x25')]=function(_0x5d953c,_0x2acb64){return db[_0xd4de('0x3d')][_0xd4de('0x4b')]({'where':{'id':_0x5d953c[_0xd4de('0x43')]['id']}})['then'](function(_0x4317a4){if(!_0x4317a4)throw new ReferenceError(_0xd4de('0x5d'));return _0x4317a4;})[_0xd4de('0x3e')](function(_0x19f68d){var _0x9f3ae6=path[_0xd4de('0x53')](config[_0xd4de('0x50')],_0xd4de('0x54'),_0x19f68d[_0xd4de('0x4a')]);logger[_0xd4de('0x5e')](_0xd4de('0x5f'),_0x9f3ae6);if(!_[_0xd4de('0x60')](_0x19f68d[_0xd4de('0x4a')])&&fs[_0xd4de('0x55')](_0x9f3ae6)){logger[_0xd4de('0x5e')]('File:\x20\x22'+_0x9f3ae6+_0xd4de('0x61'));fs[_0xd4de('0x62')](_0x9f3ae6);}_0x9f3ae6=_0x9f3ae6+'.cypher';if(!_['isNil'](_0x19f68d[_0xd4de('0x4a')])&&fs[_0xd4de('0x55')](_0x9f3ae6)){logger[_0xd4de('0x5e')](_0xd4de('0x63')+_0x9f3ae6+_0xd4de('0x61'));fs['unlinkSync'](_0x9f3ae6);}return _0x19f68d;})['then'](function(_0x221def){if(!_0x221def)throw new InternalError();return _0x221def[_0xd4de('0x25')]();})[_0xd4de('0x3e')](function(){_0x2acb64[_0xd4de('0x19')](0xcc)[_0xd4de('0x1a')]();})[_0xd4de('0x46')](handleError(_0x2acb64,null));};