Built motion from commit (unavailable).|2.5.11
[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 _0x88a2=['ScreenRecording\x20not\x20found','Not\x20found','Entity\x20not\x20found','cancellazione\x20fisica\x20documento\x20%s','info','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','.cypher','isNil','end','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','util','path','sox','to-csv','ejs','crypto','desk.js','querystring','ioredis','../../components/auth/service','../../config/logger','../../config/utils','../../config/license/util','sendStatus','status','json','count','offset','Content-Range','apply','save','update','then','destroy','error','stack','name','send','index','map','ScreenRecording','rawAttributes','fieldName','differenceBy','format','query','keys','filters','intersection','model','attributes','fields','hasOwnProperty','nolimit','limit','order','sort','where','filter','merge','type','VIRTUAL','options','include','findAll','rows','catch','show','params','includeAll','find','create','body','duration','closedAt','describe','../../components/encryptor','uniqueid','value','server/files/screen_recordings','existsSync','secrets','recording','join','root','filename','unlink','download'];(function(_0x5ede1a,_0x51e4d0){var _0x9b0761=function(_0x3cf50b){while(--_0x3cf50b){_0x5ede1a['push'](_0x5ede1a['shift']());}};_0x9b0761(++_0x51e4d0);}(_0x88a2,0x1e6));var _0x288a=function(_0x562792,_0x507fbc){_0x562792=_0x562792-0x0;var _0x2b9ae1=_0x88a2[_0x562792];return _0x2b9ae1;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x288a('0x0'));var rimraf=require(_0x288a('0x1'));var zipdir=require(_0x288a('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x288a('0x3'));var moment=require(_0x288a('0x4'));var BPromise=require(_0x288a('0x5'));var Mustache=require('mustache');var util=require(_0x288a('0x6'));var path=require(_0x288a('0x7'));var sox=require(_0x288a('0x8'));var csv=require(_0x288a('0x9'));var ejs=require(_0x288a('0xa'));var fs=require('fs');var _=require('lodash');var squel=require('squel');var crypto=require(_0x288a('0xb'));var jsforce=require('jsforce');var deskjs=require(_0x288a('0xc'));var toCsv=require(_0x288a('0x9'));var querystring=require(_0x288a('0xd'));var Papa=require('papaparse');var Redis=require(_0x288a('0xe'));var authService=require(_0x288a('0xf'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x288a('0x10'))('api');var utils=require(_0x288a('0x11'));var config=require('../../config/environment');var licenseUtil=require(_0x288a('0x12'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0xb5a396,_0x4161ea){_0x4161ea=_0x4161ea||0xcc;return function(_0x1ceb4c){if(_0x1ceb4c){return _0xb5a396[_0x288a('0x13')](_0x4161ea);}return _0xb5a396['status'](_0x4161ea)['end']();};}function respondWithResult(_0x11f136,_0x4229c1){_0x4229c1=_0x4229c1||0xc8;return function(_0x4550dd){if(_0x4550dd){return _0x11f136[_0x288a('0x14')](_0x4229c1)[_0x288a('0x15')](_0x4550dd);}};}function respondWithFilteredResult(_0x3832a2,_0x229110){return function(_0x296966){if(_0x296966){var _0x20fd77=_0x296966[_0x288a('0x16')],_0x1cfb12=_0x229110[_0x288a('0x17')],_0x21c6b3=_0x229110['offset']+_0x229110['limit'],_0x587a47;if(_0x21c6b3>=_0x20fd77){_0x21c6b3=_0x20fd77;_0x587a47=0xc8;}else{_0x587a47=0xce;}_0x3832a2[_0x288a('0x14')](_0x587a47);return _0x3832a2['set'](_0x288a('0x18'),_0x1cfb12+'-'+_0x21c6b3+'/'+_0x20fd77)[_0x288a('0x15')](_0x296966);}return null;};}function patchUpdates(_0x19ac2a){return function(_0x4f0724){try{jsonpatch[_0x288a('0x19')](_0x4f0724,_0x19ac2a,!![]);}catch(_0x5eb240){return BPromise['reject'](_0x5eb240);}return _0x4f0724[_0x288a('0x1a')]();};}function saveUpdates(_0x2a05f3,_0x18396c){return function(_0x2ccc99){if(_0x2ccc99){return _0x2ccc99[_0x288a('0x1b')](_0x2a05f3)[_0x288a('0x1c')](function(_0x2e9408){return _0x2e9408;});}return null;};}function removeEntity(_0x3d3d43,_0x1faf29){return function(_0x519b6){if(_0x519b6){return _0x519b6[_0x288a('0x1d')]()[_0x288a('0x1c')](function(){_0x3d3d43['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x15b7ef,_0x43ec3f){return function(_0x5bad87){if(!_0x5bad87){_0x15b7ef[_0x288a('0x13')](0x194);}return _0x5bad87;};}function handleError(_0x57df5a,_0x412d0d){_0x412d0d=_0x412d0d||0x1f4;return function(_0x2f9b63){logger[_0x288a('0x1e')](_0x2f9b63[_0x288a('0x1f')]);if(_0x2f9b63[_0x288a('0x20')]){delete _0x2f9b63[_0x288a('0x20')];}_0x57df5a[_0x288a('0x14')](_0x412d0d)[_0x288a('0x21')](_0x2f9b63);};}exports[_0x288a('0x22')]=function(_0x716bf6,_0x583498){var _0x503d4a={},_0x4f25ec={},_0x282ec4={'count':0x0,'rows':[]};var _0x58f5f4=_[_0x288a('0x23')](db[_0x288a('0x24')][_0x288a('0x25')],function(_0x42cc1a){return{'name':_0x42cc1a[_0x288a('0x26')],'type':_0x42cc1a['type']['key']};});_0x4f25ec['model']=_[_0x288a('0x27')](_[_0x288a('0x23')](_0x58f5f4,_0x288a('0x20')),[_0x288a('0x28')]);_0x4f25ec[_0x288a('0x29')]=_[_0x288a('0x2a')](_0x716bf6['query']);_0x4f25ec[_0x288a('0x2b')]=_[_0x288a('0x2c')](_0x4f25ec[_0x288a('0x2d')],_0x4f25ec['query']);_0x503d4a[_0x288a('0x2e')]=_[_0x288a('0x2c')](_0x4f25ec[_0x288a('0x2d')],qs[_0x288a('0x2f')](_0x716bf6[_0x288a('0x29')][_0x288a('0x2f')]));_0x503d4a[_0x288a('0x2e')]=_0x503d4a[_0x288a('0x2e')]['length']?_0x503d4a[_0x288a('0x2e')]:_0x4f25ec['model'];if(!_0x716bf6[_0x288a('0x29')][_0x288a('0x30')](_0x288a('0x31'))){_0x503d4a[_0x288a('0x32')]=qs[_0x288a('0x32')](_0x716bf6[_0x288a('0x29')][_0x288a('0x32')]);_0x503d4a[_0x288a('0x17')]=qs['offset'](_0x716bf6['query'][_0x288a('0x17')]);}_0x503d4a[_0x288a('0x33')]=qs[_0x288a('0x34')](_0x716bf6[_0x288a('0x29')][_0x288a('0x34')]);_0x503d4a[_0x288a('0x35')]=qs[_0x288a('0x2b')](_['pick'](_0x716bf6['query'],_0x4f25ec['filters']),_0x58f5f4);if(_0x716bf6[_0x288a('0x29')][_0x288a('0x36')]){_0x503d4a[_0x288a('0x35')]=_[_0x288a('0x37')](_0x503d4a['where'],{'$or':_[_0x288a('0x23')](_0x58f5f4,function(_0x3993cf){if(_0x3993cf[_0x288a('0x38')]!==_0x288a('0x39')){var _0x2c3a6f={};_0x2c3a6f[_0x3993cf['name']]={'$like':'%'+_0x716bf6[_0x288a('0x29')]['filter']+'%'};return _0x2c3a6f;}})});}_0x503d4a=_[_0x288a('0x37')]({},_0x503d4a,_0x716bf6[_0x288a('0x3a')]);var _0x4a8b29={'where':_0x503d4a[_0x288a('0x35')]};return db[_0x288a('0x24')][_0x288a('0x16')](_0x4a8b29)[_0x288a('0x1c')](function(_0x3bdd19){_0x282ec4[_0x288a('0x16')]=_0x3bdd19;if(_0x716bf6[_0x288a('0x29')]['includeAll']){_0x503d4a[_0x288a('0x3b')]=[{'all':!![]}];}return db[_0x288a('0x24')][_0x288a('0x3c')](_0x503d4a);})[_0x288a('0x1c')](function(_0x2fdaca){_0x282ec4[_0x288a('0x3d')]=_0x2fdaca;return _0x282ec4;})[_0x288a('0x1c')](respondWithFilteredResult(_0x583498,_0x503d4a))[_0x288a('0x3e')](handleError(_0x583498,null));};exports[_0x288a('0x3f')]=function(_0x23507e,_0x2ca6a6){var _0x4c2a29={'raw':![],'where':{'id':_0x23507e[_0x288a('0x40')]['id']}},_0xaf9e={};_0xaf9e[_0x288a('0x2d')]=_[_0x288a('0x2a')](db[_0x288a('0x24')][_0x288a('0x25')]);_0xaf9e[_0x288a('0x29')]=_['keys'](_0x23507e[_0x288a('0x29')]);_0xaf9e[_0x288a('0x2b')]=_[_0x288a('0x2c')](_0xaf9e[_0x288a('0x2d')],_0xaf9e[_0x288a('0x29')]);_0x4c2a29[_0x288a('0x2e')]=_[_0x288a('0x2c')](_0xaf9e['model'],qs['fields'](_0x23507e['query'][_0x288a('0x2f')]));_0x4c2a29['attributes']=_0x4c2a29[_0x288a('0x2e')]['length']?_0x4c2a29[_0x288a('0x2e')]:_0xaf9e[_0x288a('0x2d')];if(_0x23507e[_0x288a('0x29')][_0x288a('0x41')]){_0x4c2a29[_0x288a('0x3b')]=[{'all':!![]}];}_0x4c2a29=_[_0x288a('0x37')]({},_0x4c2a29,_0x23507e[_0x288a('0x3a')]);return db[_0x288a('0x24')][_0x288a('0x42')](_0x4c2a29)[_0x288a('0x1c')](handleEntityNotFound(_0x2ca6a6,null))['then'](respondWithResult(_0x2ca6a6,null))[_0x288a('0x3e')](handleError(_0x2ca6a6,null));};exports[_0x288a('0x43')]=function(_0x553046,_0x5f4cc7){return db[_0x288a('0x24')][_0x288a('0x43')](_0x553046[_0x288a('0x44')],{})[_0x288a('0x1c')](respondWithResult(_0x5f4cc7,0xc9))['catch'](handleError(_0x5f4cc7,null));};exports['update']=function(_0xdcbadb,_0x5afea5){if(_0xdcbadb['body']['id']){delete _0xdcbadb[_0x288a('0x44')]['id'];}delete _0xdcbadb['body'][_0x288a('0x45')];delete _0xdcbadb[_0x288a('0x44')]['createdAt'];delete _0xdcbadb[_0x288a('0x44')][_0x288a('0x46')];delete _0xdcbadb[_0x288a('0x44')]['value'];return db[_0x288a('0x24')]['find']({'where':{'id':_0xdcbadb['params']['id']}})[_0x288a('0x1c')](handleEntityNotFound(_0x5afea5,null))['then'](saveUpdates(_0xdcbadb['body'],null))[_0x288a('0x1c')](respondWithResult(_0x5afea5,null))['catch'](handleError(_0x5afea5,null));};exports[_0x288a('0x47')]=function(_0x56b2fd,_0x2e5515){return db[_0x288a('0x24')]['describe']()[_0x288a('0x1c')](respondWithResult(_0x2e5515,null))[_0x288a('0x3e')](handleError(_0x2e5515,null));};exports['download']=function(_0x36f769,_0x1b6d84,_0x519ac6){var _0x5042a0=require(_0x288a('0x48'));var _0x4f3143=![];var _0x275107={};if(_0x36f769['query'][_0x288a('0x38')]&&_0x36f769[_0x288a('0x29')][_0x288a('0x38')]==='uniqueid'){_0x275107[_0x288a('0x49')]=_0x36f769[_0x288a('0x40')]['id'];}else{_0x275107['id']=_0x36f769[_0x288a('0x40')]['id'];}return db[_0x288a('0x24')][_0x288a('0x42')]({'where':_0x275107,'attributes':['id',_0x288a('0x4a')],'raw':!![]})['then'](handleEntityNotFound(_0x1b6d84,null))['then'](function(_0x1c5a3c){if(_0x1c5a3c){var _0x3af084=path['join'](config['root'],_0x288a('0x4b'),_0x1c5a3c['value']);var _0x457379=util[_0x288a('0x28')]('%s.cypher',_0x3af084);if(fs[_0x288a('0x4c')](_0x457379)){_0x4f3143=!![];return _0x5042a0['decryptFile'](_0x457379,_0x3af084,config[_0x288a('0x4d')][_0x288a('0x4e')])[_0x288a('0x1c')](function(){return _0x1c5a3c;});}return _0x1c5a3c;}})[_0x288a('0x1c')](function(_0x195e55){if(_0x195e55){var _0x56de51=path[_0x288a('0x4f')](config[_0x288a('0x50')],_0x288a('0x4b'),_0x195e55[_0x288a('0x4a')]);if(!fs['existsSync'](_0x56de51)){throw new db['Sequelize']['ValidationError']('ScreenRecording\x20not\x20found');}if(_0x195e55[_0x288a('0x51')]){return _0x1b6d84['download'](_0x56de51,_0x195e55[_0x288a('0x51')]+path['extname'](_0x56de51),function(){if(_0x4f3143){fs[_0x288a('0x52')](_0x56de51);}});}else{return _0x1b6d84[_0x288a('0x53')](_0x56de51,function(_0x1ca976){if(_0x4f3143){fs[_0x288a('0x52')](_0x56de51);}});}}})[_0x288a('0x3e')](function(_0x2d84a3){if(_0x2d84a3['message']===_0x288a('0x54')){_0x1b6d84['status'](0x194)['send'](_0x288a('0x55'));}else{return handleError(_0x1b6d84,null);}});};exports['destroy']=function(_0xd9fba1,_0x480772){return db['ScreenRecording']['find']({'where':{'id':_0xd9fba1[_0x288a('0x40')]['id']}})[_0x288a('0x1c')](function(_0x3d3300){if(!_0x3d3300)throw new ReferenceError(_0x288a('0x56'));return _0x3d3300;})['then'](function(_0x43552e){var _0x125bcf=path[_0x288a('0x4f')](config[_0x288a('0x50')],_0x288a('0x4b'),_0x43552e['value']);logger['info'](_0x288a('0x57'),_0x125bcf);if(!_['isNil'](_0x43552e[_0x288a('0x4a')])&&fs[_0x288a('0x4c')](_0x125bcf)){logger[_0x288a('0x58')](_0x288a('0x59')+_0x125bcf+_0x288a('0x5a'));fs[_0x288a('0x5b')](_0x125bcf);}_0x125bcf=_0x125bcf+_0x288a('0x5c');if(!_[_0x288a('0x5d')](_0x43552e[_0x288a('0x4a')])&&fs[_0x288a('0x4c')](_0x125bcf)){logger[_0x288a('0x58')]('File:\x20\x22'+_0x125bcf+_0x288a('0x5a'));fs[_0x288a('0x5b')](_0x125bcf);}return _0x43552e;})[_0x288a('0x1c')](function(_0xd32f1e){if(!_0xd32f1e)throw new InternalError();return _0xd32f1e[_0x288a('0x1d')]();})[_0x288a('0x1c')](function(){_0x480772[_0x288a('0x14')](0xcc)[_0x288a('0x5e')]();})[_0x288a('0x3e')](handleError(_0x480772,null));};