Built motion from commit (unavailable).|2.5.16
[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 _0x8fe4=['destroy','end','error','stack','send','index','ScreenRecording','rawAttributes','fieldName','type','key','model','map','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','where','pick','filter','VIRTUAL','name','merge','count','includeAll','include','findAll','catch','show','params','options','find','create','body','duration','closedAt','value','describe','download','../../components/encryptor','uniqueid','join','format','%s.cypher','existsSync','decryptFile','secrets','recording','server/files/screen_recordings','Sequelize','ValidationError','ScreenRecording\x20not\x20found','filename','unlink','root','info','cancellazione\x20fisica\x20documento\x20%s','isNil','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','eml-format','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','to-csv','squel','crypto','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/license/util','sendStatus','status','offset','limit','set','json','apply','save','update','then'];(function(_0x465b6d,_0x1a5b4c){var _0xbfab90=function(_0x1f0df3){while(--_0x1f0df3){_0x465b6d['push'](_0x465b6d['shift']());}};_0xbfab90(++_0x1a5b4c);}(_0x8fe4,0x169));var _0x48fe=function(_0x17ffcd,_0x57acf9){_0x17ffcd=_0x17ffcd-0x0;var _0x36d77f=_0x8fe4[_0x17ffcd];return _0x36d77f;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x48fe('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x48fe('0x1'));var rp=require(_0x48fe('0x2'));var moment=require(_0x48fe('0x3'));var BPromise=require(_0x48fe('0x4'));var Mustache=require(_0x48fe('0x5'));var util=require(_0x48fe('0x6'));var path=require(_0x48fe('0x7'));var sox=require('sox');var csv=require(_0x48fe('0x8'));var ejs=require('ejs');var fs=require('fs');var _=require('lodash');var squel=require(_0x48fe('0x9'));var crypto=require(_0x48fe('0xa'));var jsforce=require('jsforce');var deskjs=require(_0x48fe('0xb'));var toCsv=require(_0x48fe('0x8'));var querystring=require('querystring');var Papa=require(_0x48fe('0xc'));var Redis=require(_0x48fe('0xd'));var authService=require(_0x48fe('0xe'));var qs=require(_0x48fe('0xf'));var as=require(_0x48fe('0x10'));var hardwareService=require(_0x48fe('0x11'));var logger=require(_0x48fe('0x12'))('api');var utils=require(_0x48fe('0x13'));var config=require('../../config/environment');var licenseUtil=require(_0x48fe('0x14'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x4f6692,_0xa0ec3a){_0xa0ec3a=_0xa0ec3a||0xcc;return function(_0x353642){if(_0x353642){return _0x4f6692[_0x48fe('0x15')](_0xa0ec3a);}return _0x4f6692[_0x48fe('0x16')](_0xa0ec3a)['end']();};}function respondWithResult(_0x2ea5ec,_0x3fc88c){_0x3fc88c=_0x3fc88c||0xc8;return function(_0x96ef68){if(_0x96ef68){return _0x2ea5ec['status'](_0x3fc88c)['json'](_0x96ef68);}};}function respondWithFilteredResult(_0x1e5e04,_0xf92fd0){return function(_0x439e00){if(_0x439e00){var _0xe90d7e=_0x439e00['count'],_0x317d37=_0xf92fd0[_0x48fe('0x17')],_0x15a067=_0xf92fd0[_0x48fe('0x17')]+_0xf92fd0[_0x48fe('0x18')],_0x5e923c;if(_0x15a067>=_0xe90d7e){_0x15a067=_0xe90d7e;_0x5e923c=0xc8;}else{_0x5e923c=0xce;}_0x1e5e04[_0x48fe('0x16')](_0x5e923c);return _0x1e5e04[_0x48fe('0x19')]('Content-Range',_0x317d37+'-'+_0x15a067+'/'+_0xe90d7e)[_0x48fe('0x1a')](_0x439e00);}return null;};}function patchUpdates(_0x35dd1b){return function(_0x22cd61){try{jsonpatch[_0x48fe('0x1b')](_0x22cd61,_0x35dd1b,!![]);}catch(_0x310439){return BPromise['reject'](_0x310439);}return _0x22cd61[_0x48fe('0x1c')]();};}function saveUpdates(_0x3b8394,_0x22644d){return function(_0x23ef26){if(_0x23ef26){return _0x23ef26[_0x48fe('0x1d')](_0x3b8394)[_0x48fe('0x1e')](function(_0x433a05){return _0x433a05;});}return null;};}function removeEntity(_0x204e9c,_0x45f734){return function(_0x349626){if(_0x349626){return _0x349626[_0x48fe('0x1f')]()[_0x48fe('0x1e')](function(){_0x204e9c[_0x48fe('0x16')](0xcc)[_0x48fe('0x20')]();});}};}function handleEntityNotFound(_0x585700,_0x11084f){return function(_0x61d627){if(!_0x61d627){_0x585700[_0x48fe('0x15')](0x194);}return _0x61d627;};}function handleError(_0xe1d087,_0x193e23){_0x193e23=_0x193e23||0x1f4;return function(_0x24b146){logger[_0x48fe('0x21')](_0x24b146[_0x48fe('0x22')]);if(_0x24b146['name']){delete _0x24b146['name'];}_0xe1d087[_0x48fe('0x16')](_0x193e23)[_0x48fe('0x23')](_0x24b146);};}exports[_0x48fe('0x24')]=function(_0x3165de,_0x5dd455){var _0x2a4733={},_0x4f93af={},_0x318e4d={'count':0x0,'rows':[]};var _0x27b5d9=_['map'](db[_0x48fe('0x25')][_0x48fe('0x26')],function(_0x157cfc){return{'name':_0x157cfc[_0x48fe('0x27')],'type':_0x157cfc[_0x48fe('0x28')][_0x48fe('0x29')]};});_0x4f93af[_0x48fe('0x2a')]=_['differenceBy'](_[_0x48fe('0x2b')](_0x27b5d9,'name'),['format']);_0x4f93af[_0x48fe('0x2c')]=_[_0x48fe('0x2d')](_0x3165de['query']);_0x4f93af[_0x48fe('0x2e')]=_[_0x48fe('0x2f')](_0x4f93af[_0x48fe('0x2a')],_0x4f93af[_0x48fe('0x2c')]);_0x2a4733[_0x48fe('0x30')]=_['intersection'](_0x4f93af[_0x48fe('0x2a')],qs[_0x48fe('0x31')](_0x3165de[_0x48fe('0x2c')]['fields']));_0x2a4733[_0x48fe('0x30')]=_0x2a4733[_0x48fe('0x30')][_0x48fe('0x32')]?_0x2a4733[_0x48fe('0x30')]:_0x4f93af['model'];if(!_0x3165de[_0x48fe('0x2c')][_0x48fe('0x33')](_0x48fe('0x34'))){_0x2a4733[_0x48fe('0x18')]=qs[_0x48fe('0x18')](_0x3165de[_0x48fe('0x2c')]['limit']);_0x2a4733[_0x48fe('0x17')]=qs[_0x48fe('0x17')](_0x3165de[_0x48fe('0x2c')]['offset']);}_0x2a4733['order']=qs[_0x48fe('0x35')](_0x3165de[_0x48fe('0x2c')][_0x48fe('0x35')]);_0x2a4733[_0x48fe('0x36')]=qs['filters'](_[_0x48fe('0x37')](_0x3165de['query'],_0x4f93af['filters']),_0x27b5d9);if(_0x3165de[_0x48fe('0x2c')][_0x48fe('0x38')]){_0x2a4733[_0x48fe('0x36')]=_['merge'](_0x2a4733['where'],{'$or':_[_0x48fe('0x2b')](_0x27b5d9,function(_0x1eb335){if(_0x1eb335[_0x48fe('0x28')]!==_0x48fe('0x39')){var _0x1dbde0={};_0x1dbde0[_0x1eb335[_0x48fe('0x3a')]]={'$like':'%'+_0x3165de[_0x48fe('0x2c')][_0x48fe('0x38')]+'%'};return _0x1dbde0;}})});}_0x2a4733=_[_0x48fe('0x3b')]({},_0x2a4733,_0x3165de['options']);var _0x5f35c0={'where':_0x2a4733[_0x48fe('0x36')]};return db['ScreenRecording'][_0x48fe('0x3c')](_0x5f35c0)[_0x48fe('0x1e')](function(_0x1b7575){_0x318e4d[_0x48fe('0x3c')]=_0x1b7575;if(_0x3165de['query'][_0x48fe('0x3d')]){_0x2a4733[_0x48fe('0x3e')]=[{'all':!![]}];}return db[_0x48fe('0x25')][_0x48fe('0x3f')](_0x2a4733);})[_0x48fe('0x1e')](function(_0x441a28){_0x318e4d['rows']=_0x441a28;return _0x318e4d;})[_0x48fe('0x1e')](respondWithFilteredResult(_0x5dd455,_0x2a4733))[_0x48fe('0x40')](handleError(_0x5dd455,null));};exports[_0x48fe('0x41')]=function(_0x3fe53d,_0x98a9d0){var _0x27d59b={'raw':![],'where':{'id':_0x3fe53d[_0x48fe('0x42')]['id']}},_0x25cd98={};_0x25cd98[_0x48fe('0x2a')]=_[_0x48fe('0x2d')](db['ScreenRecording'][_0x48fe('0x26')]);_0x25cd98[_0x48fe('0x2c')]=_[_0x48fe('0x2d')](_0x3fe53d[_0x48fe('0x2c')]);_0x25cd98[_0x48fe('0x2e')]=_[_0x48fe('0x2f')](_0x25cd98[_0x48fe('0x2a')],_0x25cd98[_0x48fe('0x2c')]);_0x27d59b[_0x48fe('0x30')]=_[_0x48fe('0x2f')](_0x25cd98[_0x48fe('0x2a')],qs[_0x48fe('0x31')](_0x3fe53d[_0x48fe('0x2c')]['fields']));_0x27d59b[_0x48fe('0x30')]=_0x27d59b[_0x48fe('0x30')][_0x48fe('0x32')]?_0x27d59b[_0x48fe('0x30')]:_0x25cd98[_0x48fe('0x2a')];if(_0x3fe53d['query'][_0x48fe('0x3d')]){_0x27d59b[_0x48fe('0x3e')]=[{'all':!![]}];}_0x27d59b=_[_0x48fe('0x3b')]({},_0x27d59b,_0x3fe53d[_0x48fe('0x43')]);return db[_0x48fe('0x25')][_0x48fe('0x44')](_0x27d59b)[_0x48fe('0x1e')](handleEntityNotFound(_0x98a9d0,null))['then'](respondWithResult(_0x98a9d0,null))[_0x48fe('0x40')](handleError(_0x98a9d0,null));};exports[_0x48fe('0x45')]=function(_0x2dfbd4,_0x27b091){return db['ScreenRecording']['create'](_0x2dfbd4['body'],{})['then'](respondWithResult(_0x27b091,0xc9))['catch'](handleError(_0x27b091,null));};exports[_0x48fe('0x1d')]=function(_0x1783b6,_0xce3bd8){if(_0x1783b6[_0x48fe('0x46')]['id']){delete _0x1783b6['body']['id'];}delete _0x1783b6[_0x48fe('0x46')][_0x48fe('0x47')];delete _0x1783b6[_0x48fe('0x46')]['createdAt'];delete _0x1783b6[_0x48fe('0x46')][_0x48fe('0x48')];delete _0x1783b6[_0x48fe('0x46')][_0x48fe('0x49')];return db[_0x48fe('0x25')][_0x48fe('0x44')]({'where':{'id':_0x1783b6['params']['id']}})[_0x48fe('0x1e')](handleEntityNotFound(_0xce3bd8,null))[_0x48fe('0x1e')](saveUpdates(_0x1783b6[_0x48fe('0x46')],null))[_0x48fe('0x1e')](respondWithResult(_0xce3bd8,null))[_0x48fe('0x40')](handleError(_0xce3bd8,null));};exports[_0x48fe('0x4a')]=function(_0x5f00f6,_0xc8c8e8){return db['ScreenRecording'][_0x48fe('0x4a')]()[_0x48fe('0x1e')](respondWithResult(_0xc8c8e8,null))['catch'](handleError(_0xc8c8e8,null));};exports[_0x48fe('0x4b')]=function(_0x4b57ae,_0x5888b9,_0x6eaffd){var _0x2ec88c=require(_0x48fe('0x4c'));var _0x49c30f=![];var _0x9ed0d={};if(_0x4b57ae[_0x48fe('0x2c')][_0x48fe('0x28')]&&_0x4b57ae['query'][_0x48fe('0x28')]===_0x48fe('0x4d')){_0x9ed0d[_0x48fe('0x4d')]=_0x4b57ae[_0x48fe('0x42')]['id'];}else{_0x9ed0d['id']=_0x4b57ae[_0x48fe('0x42')]['id'];}return db['ScreenRecording']['find']({'where':_0x9ed0d,'attributes':['id',_0x48fe('0x49')],'raw':!![]})[_0x48fe('0x1e')](handleEntityNotFound(_0x5888b9,null))[_0x48fe('0x1e')](function(_0x22d1a8){if(_0x22d1a8){var _0x500235=path[_0x48fe('0x4e')](config['root'],'server/files/screen_recordings',_0x22d1a8['value']);var _0x3918cc=util[_0x48fe('0x4f')](_0x48fe('0x50'),_0x500235);if(fs[_0x48fe('0x51')](_0x3918cc)){_0x49c30f=!![];return _0x2ec88c[_0x48fe('0x52')](_0x3918cc,_0x500235,config[_0x48fe('0x53')][_0x48fe('0x54')])[_0x48fe('0x1e')](function(){return _0x22d1a8;});}return _0x22d1a8;}})[_0x48fe('0x1e')](function(_0xf01104){if(_0xf01104){var _0x40afe3=path[_0x48fe('0x4e')](config['root'],_0x48fe('0x55'),_0xf01104[_0x48fe('0x49')]);if(!fs[_0x48fe('0x51')](_0x40afe3)){throw new db[(_0x48fe('0x56'))][(_0x48fe('0x57'))](_0x48fe('0x58'));}if(_0xf01104[_0x48fe('0x59')]){return _0x5888b9[_0x48fe('0x4b')](_0x40afe3,_0xf01104[_0x48fe('0x59')]+path['extname'](_0x40afe3),function(){if(_0x49c30f){fs[_0x48fe('0x5a')](_0x40afe3);}});}else{return _0x5888b9['download'](_0x40afe3,function(_0x439a8f){if(_0x49c30f){fs[_0x48fe('0x5a')](_0x40afe3);}});}}})[_0x48fe('0x40')](function(_0x4e8aef){if(_0x4e8aef['message']===_0x48fe('0x58')){_0x5888b9[_0x48fe('0x16')](0x194)[_0x48fe('0x23')]('Not\x20found');}else{return handleError(_0x5888b9,null);}});};exports[_0x48fe('0x1f')]=function(_0x59a0fd,_0x1160c2){return db[_0x48fe('0x25')][_0x48fe('0x44')]({'where':{'id':_0x59a0fd[_0x48fe('0x42')]['id']}})[_0x48fe('0x1e')](function(_0x19c585){if(!_0x19c585)throw new ReferenceError('Entity\x20not\x20found');return _0x19c585;})[_0x48fe('0x1e')](function(_0x40cade){var _0x18f6ff=path[_0x48fe('0x4e')](config[_0x48fe('0x5b')],_0x48fe('0x55'),_0x40cade[_0x48fe('0x49')]);logger[_0x48fe('0x5c')](_0x48fe('0x5d'),_0x18f6ff);if(!_[_0x48fe('0x5e')](_0x40cade[_0x48fe('0x49')])&&fs['existsSync'](_0x18f6ff)){logger['info'](_0x48fe('0x5f')+_0x18f6ff+_0x48fe('0x60'));fs[_0x48fe('0x61')](_0x18f6ff);}_0x18f6ff=_0x18f6ff+'.cypher';if(!_[_0x48fe('0x5e')](_0x40cade[_0x48fe('0x49')])&&fs[_0x48fe('0x51')](_0x18f6ff)){logger[_0x48fe('0x5c')](_0x48fe('0x5f')+_0x18f6ff+_0x48fe('0x60'));fs[_0x48fe('0x61')](_0x18f6ff);}return _0x40cade;})[_0x48fe('0x1e')](function(_0x229829){if(!_0x229829)throw new InternalError();return _0x229829[_0x48fe('0x1f')]();})[_0x48fe('0x1e')](function(){_0x1160c2[_0x48fe('0x16')](0xcc)[_0x48fe('0x20')]();})['catch'](handleError(_0x1160c2,null));};