Built motion from commit (unavailable).|2.5.13
[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 _0x1ecc=['keys','filters','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','where','filter','VIRTUAL','merge','options','includeAll','include','catch','show','params','create','body','duration','closedAt','value','find','describe','download','uniqueid','join','root','server/files/screen_recordings','format','%s.cypher','existsSync','decryptFile','secrets','Sequelize','ScreenRecording\x20not\x20found','filename','extname','unlink','message','send','Not\x20found','Entity\x20not\x20found','cancellazione\x20fisica\x20documento\x20%s','isNil','info','unlinkSync','.cypher','File:\x20\x22','html-pdf','rimraf','zip-dir','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','querystring','papaparse','ioredis','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/environment','../../mysqldb','sendStatus','status','end','json','count','offset','limit','set','apply','reject','save','update','then','destroy','error','name','index','map','ScreenRecording','fieldName','type','key','model','query'];(function(_0x104579,_0x1d03f1){var _0x475c76=function(_0x4c196d){while(--_0x4c196d){_0x104579['push'](_0x104579['shift']());}};_0x475c76(++_0x1d03f1);}(_0x1ecc,0xf7));var _0xc1ec=function(_0x5e3701,_0x596265){_0x5e3701=_0x5e3701-0x0;var _0x345dcf=_0x1ecc[_0x5e3701];return _0x345dcf;};'use strict';var pdf=require(_0xc1ec('0x0'));var emlformat=require('eml-format');var rimraf=require(_0xc1ec('0x1'));var zipdir=require(_0xc1ec('0x2'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0xc1ec('0x3'));var BPromise=require(_0xc1ec('0x4'));var Mustache=require(_0xc1ec('0x5'));var util=require(_0xc1ec('0x6'));var path=require(_0xc1ec('0x7'));var sox=require(_0xc1ec('0x8'));var csv=require(_0xc1ec('0x9'));var ejs=require(_0xc1ec('0xa'));var fs=require('fs');var _=require(_0xc1ec('0xb'));var squel=require(_0xc1ec('0xc'));var crypto=require(_0xc1ec('0xd'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0xc1ec('0x9'));var querystring=require(_0xc1ec('0xe'));var Papa=require(_0xc1ec('0xf'));var Redis=require(_0xc1ec('0x10'));var authService=require('../../components/auth/service');var qs=require(_0xc1ec('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xc1ec('0x12'));var logger=require(_0xc1ec('0x13'))(_0xc1ec('0x14'));var utils=require('../../config/utils');var config=require(_0xc1ec('0x15'));var licenseUtil=require('../../config/license/util');var db=require(_0xc1ec('0x16'))['db'];function respondWithStatusCode(_0x5d3aea,_0x581d85){_0x581d85=_0x581d85||0xcc;return function(_0x586c17){if(_0x586c17){return _0x5d3aea[_0xc1ec('0x17')](_0x581d85);}return _0x5d3aea[_0xc1ec('0x18')](_0x581d85)[_0xc1ec('0x19')]();};}function respondWithResult(_0x84af53,_0x48ab55){_0x48ab55=_0x48ab55||0xc8;return function(_0x4570a4){if(_0x4570a4){return _0x84af53[_0xc1ec('0x18')](_0x48ab55)[_0xc1ec('0x1a')](_0x4570a4);}};}function respondWithFilteredResult(_0x18874f,_0x13085d){return function(_0x118c39){if(_0x118c39){var _0x581f7b=_0x118c39[_0xc1ec('0x1b')],_0x1fdf42=_0x13085d[_0xc1ec('0x1c')],_0x5c62bb=_0x13085d['offset']+_0x13085d[_0xc1ec('0x1d')],_0xe17322;if(_0x5c62bb>=_0x581f7b){_0x5c62bb=_0x581f7b;_0xe17322=0xc8;}else{_0xe17322=0xce;}_0x18874f[_0xc1ec('0x18')](_0xe17322);return _0x18874f[_0xc1ec('0x1e')]('Content-Range',_0x1fdf42+'-'+_0x5c62bb+'/'+_0x581f7b)[_0xc1ec('0x1a')](_0x118c39);}return null;};}function patchUpdates(_0x4665a6){return function(_0x56cea8){try{jsonpatch[_0xc1ec('0x1f')](_0x56cea8,_0x4665a6,!![]);}catch(_0x484ffd){return BPromise[_0xc1ec('0x20')](_0x484ffd);}return _0x56cea8[_0xc1ec('0x21')]();};}function saveUpdates(_0x5de32e,_0xa43296){return function(_0x4077fd){if(_0x4077fd){return _0x4077fd[_0xc1ec('0x22')](_0x5de32e)[_0xc1ec('0x23')](function(_0x2ab928){return _0x2ab928;});}return null;};}function removeEntity(_0x4800ac,_0x5c8461){return function(_0xd882fc){if(_0xd882fc){return _0xd882fc[_0xc1ec('0x24')]()[_0xc1ec('0x23')](function(){_0x4800ac['status'](0xcc)[_0xc1ec('0x19')]();});}};}function handleEntityNotFound(_0x26edad,_0x313167){return function(_0x16a5bf){if(!_0x16a5bf){_0x26edad[_0xc1ec('0x17')](0x194);}return _0x16a5bf;};}function handleError(_0x54a47d,_0x500377){_0x500377=_0x500377||0x1f4;return function(_0x8307aa){logger[_0xc1ec('0x25')](_0x8307aa['stack']);if(_0x8307aa[_0xc1ec('0x26')]){delete _0x8307aa[_0xc1ec('0x26')];}_0x54a47d[_0xc1ec('0x18')](_0x500377)['send'](_0x8307aa);};}exports[_0xc1ec('0x27')]=function(_0x420bfa,_0x5b5fd0){var _0x3a7e62={},_0x1dfd5b={},_0x8274a7={'count':0x0,'rows':[]};var _0x57e0ed=_[_0xc1ec('0x28')](db[_0xc1ec('0x29')]['rawAttributes'],function(_0x205399){return{'name':_0x205399[_0xc1ec('0x2a')],'type':_0x205399[_0xc1ec('0x2b')][_0xc1ec('0x2c')]};});_0x1dfd5b[_0xc1ec('0x2d')]=_['differenceBy'](_['map'](_0x57e0ed,_0xc1ec('0x26')),['format']);_0x1dfd5b[_0xc1ec('0x2e')]=_[_0xc1ec('0x2f')](_0x420bfa[_0xc1ec('0x2e')]);_0x1dfd5b[_0xc1ec('0x30')]=_['intersection'](_0x1dfd5b[_0xc1ec('0x2d')],_0x1dfd5b[_0xc1ec('0x2e')]);_0x3a7e62[_0xc1ec('0x31')]=_[_0xc1ec('0x32')](_0x1dfd5b['model'],qs[_0xc1ec('0x33')](_0x420bfa[_0xc1ec('0x2e')][_0xc1ec('0x33')]));_0x3a7e62['attributes']=_0x3a7e62[_0xc1ec('0x31')][_0xc1ec('0x34')]?_0x3a7e62[_0xc1ec('0x31')]:_0x1dfd5b['model'];if(!_0x420bfa['query'][_0xc1ec('0x35')](_0xc1ec('0x36'))){_0x3a7e62[_0xc1ec('0x1d')]=qs[_0xc1ec('0x1d')](_0x420bfa[_0xc1ec('0x2e')][_0xc1ec('0x1d')]);_0x3a7e62[_0xc1ec('0x1c')]=qs[_0xc1ec('0x1c')](_0x420bfa[_0xc1ec('0x2e')]['offset']);}_0x3a7e62[_0xc1ec('0x37')]=qs['sort'](_0x420bfa[_0xc1ec('0x2e')]['sort']);_0x3a7e62[_0xc1ec('0x38')]=qs['filters'](_['pick'](_0x420bfa[_0xc1ec('0x2e')],_0x1dfd5b[_0xc1ec('0x30')]),_0x57e0ed);if(_0x420bfa[_0xc1ec('0x2e')][_0xc1ec('0x39')]){_0x3a7e62[_0xc1ec('0x38')]=_['merge'](_0x3a7e62[_0xc1ec('0x38')],{'$or':_['map'](_0x57e0ed,function(_0x39f846){if(_0x39f846[_0xc1ec('0x2b')]!==_0xc1ec('0x3a')){var _0x2d596c={};_0x2d596c[_0x39f846['name']]={'$like':'%'+_0x420bfa[_0xc1ec('0x2e')][_0xc1ec('0x39')]+'%'};return _0x2d596c;}})});}_0x3a7e62=_[_0xc1ec('0x3b')]({},_0x3a7e62,_0x420bfa[_0xc1ec('0x3c')]);var _0x5a2fa5={'where':_0x3a7e62[_0xc1ec('0x38')]};return db[_0xc1ec('0x29')][_0xc1ec('0x1b')](_0x5a2fa5)[_0xc1ec('0x23')](function(_0x1e0768){_0x8274a7[_0xc1ec('0x1b')]=_0x1e0768;if(_0x420bfa[_0xc1ec('0x2e')][_0xc1ec('0x3d')]){_0x3a7e62[_0xc1ec('0x3e')]=[{'all':!![]}];}return db[_0xc1ec('0x29')]['findAll'](_0x3a7e62);})['then'](function(_0x190249){_0x8274a7['rows']=_0x190249;return _0x8274a7;})[_0xc1ec('0x23')](respondWithFilteredResult(_0x5b5fd0,_0x3a7e62))[_0xc1ec('0x3f')](handleError(_0x5b5fd0,null));};exports[_0xc1ec('0x40')]=function(_0x5d718f,_0x380fec){var _0x4d9059={'raw':![],'where':{'id':_0x5d718f[_0xc1ec('0x41')]['id']}},_0x278383={};_0x278383[_0xc1ec('0x2d')]=_[_0xc1ec('0x2f')](db[_0xc1ec('0x29')]['rawAttributes']);_0x278383['query']=_[_0xc1ec('0x2f')](_0x5d718f[_0xc1ec('0x2e')]);_0x278383[_0xc1ec('0x30')]=_[_0xc1ec('0x32')](_0x278383[_0xc1ec('0x2d')],_0x278383[_0xc1ec('0x2e')]);_0x4d9059[_0xc1ec('0x31')]=_[_0xc1ec('0x32')](_0x278383[_0xc1ec('0x2d')],qs['fields'](_0x5d718f[_0xc1ec('0x2e')][_0xc1ec('0x33')]));_0x4d9059[_0xc1ec('0x31')]=_0x4d9059[_0xc1ec('0x31')][_0xc1ec('0x34')]?_0x4d9059[_0xc1ec('0x31')]:_0x278383['model'];if(_0x5d718f['query'][_0xc1ec('0x3d')]){_0x4d9059[_0xc1ec('0x3e')]=[{'all':!![]}];}_0x4d9059=_[_0xc1ec('0x3b')]({},_0x4d9059,_0x5d718f[_0xc1ec('0x3c')]);return db[_0xc1ec('0x29')]['find'](_0x4d9059)[_0xc1ec('0x23')](handleEntityNotFound(_0x380fec,null))[_0xc1ec('0x23')](respondWithResult(_0x380fec,null))[_0xc1ec('0x3f')](handleError(_0x380fec,null));};exports[_0xc1ec('0x42')]=function(_0x3e1b9b,_0x5d748e){return db['ScreenRecording']['create'](_0x3e1b9b['body'],{})[_0xc1ec('0x23')](respondWithResult(_0x5d748e,0xc9))[_0xc1ec('0x3f')](handleError(_0x5d748e,null));};exports[_0xc1ec('0x22')]=function(_0x3f718d,_0x3bb952){if(_0x3f718d[_0xc1ec('0x43')]['id']){delete _0x3f718d['body']['id'];}delete _0x3f718d[_0xc1ec('0x43')][_0xc1ec('0x44')];delete _0x3f718d[_0xc1ec('0x43')]['createdAt'];delete _0x3f718d['body'][_0xc1ec('0x45')];delete _0x3f718d[_0xc1ec('0x43')][_0xc1ec('0x46')];return db['ScreenRecording'][_0xc1ec('0x47')]({'where':{'id':_0x3f718d[_0xc1ec('0x41')]['id']}})[_0xc1ec('0x23')](handleEntityNotFound(_0x3bb952,null))['then'](saveUpdates(_0x3f718d['body'],null))[_0xc1ec('0x23')](respondWithResult(_0x3bb952,null))['catch'](handleError(_0x3bb952,null));};exports[_0xc1ec('0x48')]=function(_0x1c7c1f,_0x5f4dc1){return db[_0xc1ec('0x29')]['describe']()[_0xc1ec('0x23')](respondWithResult(_0x5f4dc1,null))[_0xc1ec('0x3f')](handleError(_0x5f4dc1,null));};exports[_0xc1ec('0x49')]=function(_0x562f8f,_0x28d8ff,_0x800dba){var _0x125204=require('../../components/encryptor');var _0x565321=![];var _0x56b55d={};if(_0x562f8f[_0xc1ec('0x2e')][_0xc1ec('0x2b')]&&_0x562f8f[_0xc1ec('0x2e')][_0xc1ec('0x2b')]===_0xc1ec('0x4a')){_0x56b55d[_0xc1ec('0x4a')]=_0x562f8f['params']['id'];}else{_0x56b55d['id']=_0x562f8f[_0xc1ec('0x41')]['id'];}return db[_0xc1ec('0x29')][_0xc1ec('0x47')]({'where':_0x56b55d,'attributes':['id',_0xc1ec('0x46')],'raw':!![]})['then'](handleEntityNotFound(_0x28d8ff,null))[_0xc1ec('0x23')](function(_0x3891f3){if(_0x3891f3){var _0x5b2683=path[_0xc1ec('0x4b')](config[_0xc1ec('0x4c')],_0xc1ec('0x4d'),_0x3891f3[_0xc1ec('0x46')]);var _0x5c5cb4=util[_0xc1ec('0x4e')](_0xc1ec('0x4f'),_0x5b2683);if(fs[_0xc1ec('0x50')](_0x5c5cb4)){_0x565321=!![];return _0x125204[_0xc1ec('0x51')](_0x5c5cb4,_0x5b2683,config[_0xc1ec('0x52')]['recording'])[_0xc1ec('0x23')](function(){return _0x3891f3;});}return _0x3891f3;}})[_0xc1ec('0x23')](function(_0x5f1573){if(_0x5f1573){var _0x363503=path['join'](config['root'],_0xc1ec('0x4d'),_0x5f1573[_0xc1ec('0x46')]);if(!fs[_0xc1ec('0x50')](_0x363503)){throw new db[(_0xc1ec('0x53'))]['ValidationError'](_0xc1ec('0x54'));}if(_0x5f1573[_0xc1ec('0x55')]){return _0x28d8ff['download'](_0x363503,_0x5f1573['filename']+path[_0xc1ec('0x56')](_0x363503),function(){if(_0x565321){fs[_0xc1ec('0x57')](_0x363503);}});}else{return _0x28d8ff['download'](_0x363503,function(_0x5a44cd){if(_0x565321){fs['unlink'](_0x363503);}});}}})[_0xc1ec('0x3f')](function(_0x52e166){if(_0x52e166[_0xc1ec('0x58')]===_0xc1ec('0x54')){_0x28d8ff[_0xc1ec('0x18')](0x194)[_0xc1ec('0x59')](_0xc1ec('0x5a'));}else{return handleError(_0x28d8ff,null);}});};exports[_0xc1ec('0x24')]=function(_0xb61921,_0x308f0a){return db[_0xc1ec('0x29')][_0xc1ec('0x47')]({'where':{'id':_0xb61921[_0xc1ec('0x41')]['id']}})[_0xc1ec('0x23')](function(_0x1c9d65){if(!_0x1c9d65)throw new ReferenceError(_0xc1ec('0x5b'));return _0x1c9d65;})['then'](function(_0x9465d1){var _0x510c88=path[_0xc1ec('0x4b')](config['root'],_0xc1ec('0x4d'),_0x9465d1['value']);logger['info'](_0xc1ec('0x5c'),_0x510c88);if(!_[_0xc1ec('0x5d')](_0x9465d1[_0xc1ec('0x46')])&&fs[_0xc1ec('0x50')](_0x510c88)){logger[_0xc1ec('0x5e')]('File:\x20\x22'+_0x510c88+'\x22\x20trovato\x20eseguo\x20la\x20cancellazione');fs[_0xc1ec('0x5f')](_0x510c88);}_0x510c88=_0x510c88+_0xc1ec('0x60');if(!_['isNil'](_0x9465d1[_0xc1ec('0x46')])&&fs['existsSync'](_0x510c88)){logger[_0xc1ec('0x5e')](_0xc1ec('0x61')+_0x510c88+'\x22\x20trovato\x20eseguo\x20la\x20cancellazione');fs[_0xc1ec('0x5f')](_0x510c88);}return _0x9465d1;})['then'](function(_0x3fb520){if(!_0x3fb520)throw new InternalError();return _0x3fb520[_0xc1ec('0x24')]();})[_0xc1ec('0x23')](function(){_0x308f0a['status'](0xcc)['end']();})['catch'](handleError(_0x308f0a,null));};