Built motion from commit (unavailable).|2.5.23
[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 _0x3be5=['length','hasOwnProperty','sort','where','merge','VIRTUAL','filter','options','ScreenRecording','includeAll','findAll','rows','catch','params','include','find','create','body','update','duration','closedAt','describe','download','uniqueid','value','join','root','server/files/screen_recordings','%s.cypher','existsSync','decryptFile','secrets','recording','Sequelize','ValidationError','ScreenRecording\x20not\x20found','filename','extname','unlink','Entity\x20not\x20found','info','cancellazione\x20fisica\x20documento\x20%s','isNil','File:\x20\x22','unlinkSync','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','html-pdf','eml-format','zip-dir','fast-json-patch','request-promise','mustache','sox','to-csv','jsforce','desk.js','papaparse','ioredis','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','count','offset','limit','set','apply','save','then','destroy','error','name','send','index','map','rawAttributes','fieldName','type','key','model','format','query','keys','filters','intersection','attributes','fields'];(function(_0x42fd2a,_0x2946f2){var _0x1e74d1=function(_0x4d3303){while(--_0x4d3303){_0x42fd2a['push'](_0x42fd2a['shift']());}};_0x1e74d1(++_0x2946f2);}(_0x3be5,0xea));var _0x53be=function(_0x239b35,_0x448cef){_0x239b35=_0x239b35-0x0;var _0x5b2e9a=_0x3be5[_0x239b35];return _0x5b2e9a;};'use strict';var pdf=require(_0x53be('0x0'));var emlformat=require(_0x53be('0x1'));var rimraf=require('rimraf');var zipdir=require(_0x53be('0x2'));var jsonpatch=require(_0x53be('0x3'));var rp=require(_0x53be('0x4'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x53be('0x5'));var util=require('util');var path=require('path');var sox=require(_0x53be('0x6'));var csv=require(_0x53be('0x7'));var ejs=require('ejs');var fs=require('fs');var _=require('lodash');var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x53be('0x8'));var deskjs=require(_0x53be('0x9'));var toCsv=require(_0x53be('0x7'));var querystring=require('querystring');var Papa=require(_0x53be('0xa'));var Redis=require(_0x53be('0xb'));var authService=require('../../components/auth/service');var qs=require(_0x53be('0xc'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x53be('0xd'));var logger=require(_0x53be('0xe'))('api');var utils=require(_0x53be('0xf'));var config=require(_0x53be('0x10'));var licenseUtil=require(_0x53be('0x11'));var db=require(_0x53be('0x12'))['db'];function respondWithStatusCode(_0x1d99e6,_0xacf175){_0xacf175=_0xacf175||0xcc;return function(_0x12960a){if(_0x12960a){return _0x1d99e6[_0x53be('0x13')](_0xacf175);}return _0x1d99e6[_0x53be('0x14')](_0xacf175)[_0x53be('0x15')]();};}function respondWithResult(_0x472552,_0x4197b2){_0x4197b2=_0x4197b2||0xc8;return function(_0x3a9151){if(_0x3a9151){return _0x472552['status'](_0x4197b2)[_0x53be('0x16')](_0x3a9151);}};}function respondWithFilteredResult(_0x93c3f0,_0x1eb98d){return function(_0x4b8780){if(_0x4b8780){var _0x1408e5=_0x4b8780[_0x53be('0x17')],_0x3d0e5b=_0x1eb98d[_0x53be('0x18')],_0x23df66=_0x1eb98d[_0x53be('0x18')]+_0x1eb98d[_0x53be('0x19')],_0x41bf0e;if(_0x23df66>=_0x1408e5){_0x23df66=_0x1408e5;_0x41bf0e=0xc8;}else{_0x41bf0e=0xce;}_0x93c3f0[_0x53be('0x14')](_0x41bf0e);return _0x93c3f0[_0x53be('0x1a')]('Content-Range',_0x3d0e5b+'-'+_0x23df66+'/'+_0x1408e5)['json'](_0x4b8780);}return null;};}function patchUpdates(_0x303944){return function(_0x5712a7){try{jsonpatch[_0x53be('0x1b')](_0x5712a7,_0x303944,!![]);}catch(_0xcb9743){return BPromise['reject'](_0xcb9743);}return _0x5712a7[_0x53be('0x1c')]();};}function saveUpdates(_0x1f9a01,_0x5dd148){return function(_0x411e27){if(_0x411e27){return _0x411e27['update'](_0x1f9a01)[_0x53be('0x1d')](function(_0x567d2c){return _0x567d2c;});}return null;};}function removeEntity(_0x51b472,_0x5d71a4){return function(_0x143b86){if(_0x143b86){return _0x143b86[_0x53be('0x1e')]()[_0x53be('0x1d')](function(){_0x51b472[_0x53be('0x14')](0xcc)[_0x53be('0x15')]();});}};}function handleEntityNotFound(_0x256ace,_0xb08019){return function(_0x1a3c13){if(!_0x1a3c13){_0x256ace[_0x53be('0x13')](0x194);}return _0x1a3c13;};}function handleError(_0x10f154,_0xe27305){_0xe27305=_0xe27305||0x1f4;return function(_0x1d2cb5){logger[_0x53be('0x1f')](_0x1d2cb5['stack']);if(_0x1d2cb5[_0x53be('0x20')]){delete _0x1d2cb5[_0x53be('0x20')];}_0x10f154[_0x53be('0x14')](_0xe27305)[_0x53be('0x21')](_0x1d2cb5);};}exports[_0x53be('0x22')]=function(_0x4c0644,_0x482f7f){var _0x4be766={},_0x597a41={},_0x1e881c={'count':0x0,'rows':[]};var _0x3550d8=_[_0x53be('0x23')](db['ScreenRecording'][_0x53be('0x24')],function(_0x518cb4){return{'name':_0x518cb4[_0x53be('0x25')],'type':_0x518cb4[_0x53be('0x26')][_0x53be('0x27')]};});_0x597a41[_0x53be('0x28')]=_['differenceBy'](_[_0x53be('0x23')](_0x3550d8,_0x53be('0x20')),[_0x53be('0x29')]);_0x597a41[_0x53be('0x2a')]=_[_0x53be('0x2b')](_0x4c0644[_0x53be('0x2a')]);_0x597a41[_0x53be('0x2c')]=_[_0x53be('0x2d')](_0x597a41[_0x53be('0x28')],_0x597a41['query']);_0x4be766[_0x53be('0x2e')]=_['intersection'](_0x597a41[_0x53be('0x28')],qs[_0x53be('0x2f')](_0x4c0644[_0x53be('0x2a')][_0x53be('0x2f')]));_0x4be766[_0x53be('0x2e')]=_0x4be766[_0x53be('0x2e')][_0x53be('0x30')]?_0x4be766[_0x53be('0x2e')]:_0x597a41['model'];if(!_0x4c0644[_0x53be('0x2a')][_0x53be('0x31')]('nolimit')){_0x4be766[_0x53be('0x19')]=qs[_0x53be('0x19')](_0x4c0644[_0x53be('0x2a')][_0x53be('0x19')]);_0x4be766[_0x53be('0x18')]=qs[_0x53be('0x18')](_0x4c0644[_0x53be('0x2a')][_0x53be('0x18')]);}_0x4be766['order']=qs[_0x53be('0x32')](_0x4c0644[_0x53be('0x2a')]['sort']);_0x4be766[_0x53be('0x33')]=qs['filters'](_['pick'](_0x4c0644['query'],_0x597a41['filters']),_0x3550d8);if(_0x4c0644[_0x53be('0x2a')]['filter']){_0x4be766[_0x53be('0x33')]=_[_0x53be('0x34')](_0x4be766['where'],{'$or':_[_0x53be('0x23')](_0x3550d8,function(_0x45740b){if(_0x45740b['type']!==_0x53be('0x35')){var _0x4341de={};_0x4341de[_0x45740b[_0x53be('0x20')]]={'$like':'%'+_0x4c0644[_0x53be('0x2a')][_0x53be('0x36')]+'%'};return _0x4341de;}})});}_0x4be766=_[_0x53be('0x34')]({},_0x4be766,_0x4c0644[_0x53be('0x37')]);var _0x5566d2={'where':_0x4be766[_0x53be('0x33')]};return db[_0x53be('0x38')][_0x53be('0x17')](_0x5566d2)['then'](function(_0x3290c8){_0x1e881c[_0x53be('0x17')]=_0x3290c8;if(_0x4c0644[_0x53be('0x2a')][_0x53be('0x39')]){_0x4be766['include']=[{'all':!![]}];}return db[_0x53be('0x38')][_0x53be('0x3a')](_0x4be766);})['then'](function(_0x50b7db){_0x1e881c[_0x53be('0x3b')]=_0x50b7db;return _0x1e881c;})['then'](respondWithFilteredResult(_0x482f7f,_0x4be766))[_0x53be('0x3c')](handleError(_0x482f7f,null));};exports['show']=function(_0x5b465b,_0x3c69e2){var _0x172344={'raw':![],'where':{'id':_0x5b465b[_0x53be('0x3d')]['id']}},_0x22b5c4={};_0x22b5c4[_0x53be('0x28')]=_[_0x53be('0x2b')](db['ScreenRecording'][_0x53be('0x24')]);_0x22b5c4[_0x53be('0x2a')]=_['keys'](_0x5b465b[_0x53be('0x2a')]);_0x22b5c4[_0x53be('0x2c')]=_[_0x53be('0x2d')](_0x22b5c4[_0x53be('0x28')],_0x22b5c4[_0x53be('0x2a')]);_0x172344['attributes']=_['intersection'](_0x22b5c4[_0x53be('0x28')],qs[_0x53be('0x2f')](_0x5b465b['query'][_0x53be('0x2f')]));_0x172344['attributes']=_0x172344[_0x53be('0x2e')][_0x53be('0x30')]?_0x172344['attributes']:_0x22b5c4[_0x53be('0x28')];if(_0x5b465b['query'][_0x53be('0x39')]){_0x172344[_0x53be('0x3e')]=[{'all':!![]}];}_0x172344=_[_0x53be('0x34')]({},_0x172344,_0x5b465b[_0x53be('0x37')]);return db['ScreenRecording'][_0x53be('0x3f')](_0x172344)[_0x53be('0x1d')](handleEntityNotFound(_0x3c69e2,null))[_0x53be('0x1d')](respondWithResult(_0x3c69e2,null))[_0x53be('0x3c')](handleError(_0x3c69e2,null));};exports['create']=function(_0x35093d,_0x4bd54b){return db[_0x53be('0x38')][_0x53be('0x40')](_0x35093d[_0x53be('0x41')],{})[_0x53be('0x1d')](respondWithResult(_0x4bd54b,0xc9))[_0x53be('0x3c')](handleError(_0x4bd54b,null));};exports[_0x53be('0x42')]=function(_0x3a27a8,_0x5bebf3){if(_0x3a27a8[_0x53be('0x41')]['id']){delete _0x3a27a8[_0x53be('0x41')]['id'];}delete _0x3a27a8['body'][_0x53be('0x43')];delete _0x3a27a8[_0x53be('0x41')]['createdAt'];delete _0x3a27a8['body'][_0x53be('0x44')];delete _0x3a27a8['body']['value'];return db[_0x53be('0x38')][_0x53be('0x3f')]({'where':{'id':_0x3a27a8['params']['id']}})['then'](handleEntityNotFound(_0x5bebf3,null))['then'](saveUpdates(_0x3a27a8[_0x53be('0x41')],null))[_0x53be('0x1d')](respondWithResult(_0x5bebf3,null))[_0x53be('0x3c')](handleError(_0x5bebf3,null));};exports['describe']=function(_0x5098cf,_0x4fc332){return db[_0x53be('0x38')][_0x53be('0x45')]()['then'](respondWithResult(_0x4fc332,null))['catch'](handleError(_0x4fc332,null));};exports[_0x53be('0x46')]=function(_0x3171b5,_0x3bd264,_0x48fc7f){var _0x18edf3=require('../../components/encryptor');var _0x692608=![];var _0x188130={};if(_0x3171b5['query'][_0x53be('0x26')]&&_0x3171b5[_0x53be('0x2a')][_0x53be('0x26')]===_0x53be('0x47')){_0x188130[_0x53be('0x47')]=_0x3171b5[_0x53be('0x3d')]['id'];}else{_0x188130['id']=_0x3171b5['params']['id'];}return db[_0x53be('0x38')][_0x53be('0x3f')]({'where':_0x188130,'attributes':['id',_0x53be('0x48')],'raw':!![]})[_0x53be('0x1d')](handleEntityNotFound(_0x3bd264,null))['then'](function(_0x2c8a82){if(_0x2c8a82){var _0x46228b=path[_0x53be('0x49')](config[_0x53be('0x4a')],_0x53be('0x4b'),_0x2c8a82[_0x53be('0x48')]);var _0x143ad2=util[_0x53be('0x29')](_0x53be('0x4c'),_0x46228b);if(fs[_0x53be('0x4d')](_0x143ad2)){_0x692608=!![];return _0x18edf3[_0x53be('0x4e')](_0x143ad2,_0x46228b,config[_0x53be('0x4f')][_0x53be('0x50')])[_0x53be('0x1d')](function(){return _0x2c8a82;});}return _0x2c8a82;}})[_0x53be('0x1d')](function(_0x293d7b){if(_0x293d7b){var _0x41e5c5=path[_0x53be('0x49')](config[_0x53be('0x4a')],_0x53be('0x4b'),_0x293d7b[_0x53be('0x48')]);if(!fs[_0x53be('0x4d')](_0x41e5c5)){throw new db[(_0x53be('0x51'))][(_0x53be('0x52'))](_0x53be('0x53'));}if(_0x293d7b[_0x53be('0x54')]){return _0x3bd264[_0x53be('0x46')](_0x41e5c5,_0x293d7b['filename']+path[_0x53be('0x55')](_0x41e5c5),function(){if(_0x692608){fs['unlink'](_0x41e5c5);}});}else{return _0x3bd264['download'](_0x41e5c5,function(_0x57c97c){if(_0x692608){fs[_0x53be('0x56')](_0x41e5c5);}});}}})['catch'](function(_0x5e11d3){if(_0x5e11d3['message']===_0x53be('0x53')){_0x3bd264[_0x53be('0x14')](0x194)[_0x53be('0x21')]('Not\x20found');}else{return handleError(_0x3bd264,null);}});};exports[_0x53be('0x1e')]=function(_0x4ddd45,_0x173f84){return db[_0x53be('0x38')][_0x53be('0x3f')]({'where':{'id':_0x4ddd45[_0x53be('0x3d')]['id']}})['then'](function(_0x98a906){if(!_0x98a906)throw new ReferenceError(_0x53be('0x57'));return _0x98a906;})[_0x53be('0x1d')](function(_0x40a650){var _0x49df77=path[_0x53be('0x49')](config['root'],_0x53be('0x4b'),_0x40a650[_0x53be('0x48')]);logger[_0x53be('0x58')](_0x53be('0x59'),_0x49df77);if(!_[_0x53be('0x5a')](_0x40a650[_0x53be('0x48')])&&fs[_0x53be('0x4d')](_0x49df77)){logger[_0x53be('0x58')](_0x53be('0x5b')+_0x49df77+'\x22\x20trovato\x20eseguo\x20la\x20cancellazione');fs[_0x53be('0x5c')](_0x49df77);}_0x49df77=_0x49df77+'.cypher';if(!_[_0x53be('0x5a')](_0x40a650[_0x53be('0x48')])&&fs['existsSync'](_0x49df77)){logger[_0x53be('0x58')](_0x53be('0x5b')+_0x49df77+_0x53be('0x5d'));fs[_0x53be('0x5c')](_0x49df77);}return _0x40a650;})[_0x53be('0x1d')](function(_0x4752bf){if(!_0x4752bf)throw new InternalError();return _0x4752bf['destroy']();})[_0x53be('0x1d')](function(){_0x173f84[_0x53be('0x14')](0xcc)[_0x53be('0x15')]();})[_0x53be('0x3c')](handleError(_0x173f84,null));};