Built motion from commit (unavailable).|2.5.24
[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 _0x70ba=['util','path','sox','lodash','crypto','jsforce','to-csv','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../mysqldb','sendStatus','status','end','json','count','offset','limit','set','Content-Range','reject','save','update','destroy','then','error','stack','name','send','index','map','type','key','model','differenceBy','format','query','keys','filters','attributes','fields','nolimit','sort','where','pick','filter','VIRTUAL','merge','ScreenRecording','includeAll','include','rows','show','params','rawAttributes','intersection','length','options','find','catch','create','body','duration','createdAt','closedAt','value','describe','download','../../components/encryptor','uniqueid','join','root','server/files/screen_recordings','%s.cypher','existsSync','decryptFile','secrets','Sequelize','ValidationError','extname','unlink','message','Not\x20found','Entity\x20not\x20found','info','cancellazione\x20fisica\x20documento\x20%s','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','.cypher','isNil','html-pdf','eml-format','zip-dir','request-promise','moment','mustache'];(function(_0x27e6e4,_0x466159){var _0x4482c6=function(_0x1abd83){while(--_0x1abd83){_0x27e6e4['push'](_0x27e6e4['shift']());}};_0x4482c6(++_0x466159);}(_0x70ba,0x192));var _0xa70b=function(_0x4ee17d,_0x1b2b58){_0x4ee17d=_0x4ee17d-0x0;var _0x473d94=_0x70ba[_0x4ee17d];return _0x473d94;};'use strict';var pdf=require(_0xa70b('0x0'));var emlformat=require(_0xa70b('0x1'));var rimraf=require('rimraf');var zipdir=require(_0xa70b('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xa70b('0x3'));var moment=require(_0xa70b('0x4'));var BPromise=require('bluebird');var Mustache=require(_0xa70b('0x5'));var util=require(_0xa70b('0x6'));var path=require(_0xa70b('0x7'));var sox=require(_0xa70b('0x8'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var _=require(_0xa70b('0x9'));var squel=require('squel');var crypto=require(_0xa70b('0xa'));var jsforce=require(_0xa70b('0xb'));var deskjs=require('desk.js');var toCsv=require(_0xa70b('0xc'));var querystring=require('querystring');var Papa=require(_0xa70b('0xd'));var Redis=require(_0xa70b('0xe'));var authService=require(_0xa70b('0xf'));var qs=require(_0xa70b('0x10'));var as=require(_0xa70b('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xa70b('0x12'))(_0xa70b('0x13'));var utils=require(_0xa70b('0x14'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0xa70b('0x15'))['db'];function respondWithStatusCode(_0x52fddb,_0x194fcb){_0x194fcb=_0x194fcb||0xcc;return function(_0x3ee14d){if(_0x3ee14d){return _0x52fddb[_0xa70b('0x16')](_0x194fcb);}return _0x52fddb[_0xa70b('0x17')](_0x194fcb)[_0xa70b('0x18')]();};}function respondWithResult(_0x18fa94,_0x206ab7){_0x206ab7=_0x206ab7||0xc8;return function(_0x23a061){if(_0x23a061){return _0x18fa94[_0xa70b('0x17')](_0x206ab7)[_0xa70b('0x19')](_0x23a061);}};}function respondWithFilteredResult(_0x3a7f68,_0x3670aa){return function(_0x202f31){if(_0x202f31){var _0x4fa19f=_0x202f31[_0xa70b('0x1a')],_0x1d9b51=_0x3670aa[_0xa70b('0x1b')],_0x2366b1=_0x3670aa[_0xa70b('0x1b')]+_0x3670aa[_0xa70b('0x1c')],_0x4b6b55;if(_0x2366b1>=_0x4fa19f){_0x2366b1=_0x4fa19f;_0x4b6b55=0xc8;}else{_0x4b6b55=0xce;}_0x3a7f68[_0xa70b('0x17')](_0x4b6b55);return _0x3a7f68[_0xa70b('0x1d')](_0xa70b('0x1e'),_0x1d9b51+'-'+_0x2366b1+'/'+_0x4fa19f)[_0xa70b('0x19')](_0x202f31);}return null;};}function patchUpdates(_0x4a3dd6){return function(_0x59adb9){try{jsonpatch['apply'](_0x59adb9,_0x4a3dd6,!![]);}catch(_0x1da969){return BPromise[_0xa70b('0x1f')](_0x1da969);}return _0x59adb9[_0xa70b('0x20')]();};}function saveUpdates(_0x1ed6fa,_0x50cf6c){return function(_0x4342eb){if(_0x4342eb){return _0x4342eb[_0xa70b('0x21')](_0x1ed6fa)['then'](function(_0x2d78e1){return _0x2d78e1;});}return null;};}function removeEntity(_0x1916a8,_0x7109d6){return function(_0x139368){if(_0x139368){return _0x139368[_0xa70b('0x22')]()[_0xa70b('0x23')](function(){_0x1916a8[_0xa70b('0x17')](0xcc)[_0xa70b('0x18')]();});}};}function handleEntityNotFound(_0x13099e,_0x4b15fd){return function(_0x7e774c){if(!_0x7e774c){_0x13099e[_0xa70b('0x16')](0x194);}return _0x7e774c;};}function handleError(_0x1a56a3,_0x1b0efb){_0x1b0efb=_0x1b0efb||0x1f4;return function(_0x21b573){logger[_0xa70b('0x24')](_0x21b573[_0xa70b('0x25')]);if(_0x21b573[_0xa70b('0x26')]){delete _0x21b573[_0xa70b('0x26')];}_0x1a56a3[_0xa70b('0x17')](_0x1b0efb)[_0xa70b('0x27')](_0x21b573);};}exports[_0xa70b('0x28')]=function(_0x444dce,_0x2385ac){var _0x4b6ae8={},_0x2731cc={},_0x9511e5={'count':0x0,'rows':[]};var _0x368c31=_[_0xa70b('0x29')](db['ScreenRecording']['rawAttributes'],function(_0x15582d){return{'name':_0x15582d['fieldName'],'type':_0x15582d[_0xa70b('0x2a')][_0xa70b('0x2b')]};});_0x2731cc[_0xa70b('0x2c')]=_[_0xa70b('0x2d')](_[_0xa70b('0x29')](_0x368c31,'name'),[_0xa70b('0x2e')]);_0x2731cc[_0xa70b('0x2f')]=_[_0xa70b('0x30')](_0x444dce['query']);_0x2731cc[_0xa70b('0x31')]=_['intersection'](_0x2731cc[_0xa70b('0x2c')],_0x2731cc[_0xa70b('0x2f')]);_0x4b6ae8[_0xa70b('0x32')]=_['intersection'](_0x2731cc[_0xa70b('0x2c')],qs[_0xa70b('0x33')](_0x444dce[_0xa70b('0x2f')][_0xa70b('0x33')]));_0x4b6ae8['attributes']=_0x4b6ae8[_0xa70b('0x32')]['length']?_0x4b6ae8[_0xa70b('0x32')]:_0x2731cc['model'];if(!_0x444dce[_0xa70b('0x2f')]['hasOwnProperty'](_0xa70b('0x34'))){_0x4b6ae8[_0xa70b('0x1c')]=qs['limit'](_0x444dce[_0xa70b('0x2f')]['limit']);_0x4b6ae8[_0xa70b('0x1b')]=qs[_0xa70b('0x1b')](_0x444dce[_0xa70b('0x2f')][_0xa70b('0x1b')]);}_0x4b6ae8['order']=qs[_0xa70b('0x35')](_0x444dce[_0xa70b('0x2f')]['sort']);_0x4b6ae8[_0xa70b('0x36')]=qs[_0xa70b('0x31')](_[_0xa70b('0x37')](_0x444dce['query'],_0x2731cc[_0xa70b('0x31')]),_0x368c31);if(_0x444dce[_0xa70b('0x2f')][_0xa70b('0x38')]){_0x4b6ae8[_0xa70b('0x36')]=_['merge'](_0x4b6ae8[_0xa70b('0x36')],{'$or':_[_0xa70b('0x29')](_0x368c31,function(_0x4c329f){if(_0x4c329f[_0xa70b('0x2a')]!==_0xa70b('0x39')){var _0x5e2c14={};_0x5e2c14[_0x4c329f[_0xa70b('0x26')]]={'$like':'%'+_0x444dce['query'][_0xa70b('0x38')]+'%'};return _0x5e2c14;}})});}_0x4b6ae8=_[_0xa70b('0x3a')]({},_0x4b6ae8,_0x444dce['options']);var _0x1350d9={'where':_0x4b6ae8[_0xa70b('0x36')]};return db[_0xa70b('0x3b')][_0xa70b('0x1a')](_0x1350d9)[_0xa70b('0x23')](function(_0x41fb47){_0x9511e5['count']=_0x41fb47;if(_0x444dce[_0xa70b('0x2f')][_0xa70b('0x3c')]){_0x4b6ae8[_0xa70b('0x3d')]=[{'all':!![]}];}return db[_0xa70b('0x3b')]['findAll'](_0x4b6ae8);})[_0xa70b('0x23')](function(_0x36b6bd){_0x9511e5[_0xa70b('0x3e')]=_0x36b6bd;return _0x9511e5;})[_0xa70b('0x23')](respondWithFilteredResult(_0x2385ac,_0x4b6ae8))['catch'](handleError(_0x2385ac,null));};exports[_0xa70b('0x3f')]=function(_0x595162,_0x2c6edb){var _0x21f45a={'raw':![],'where':{'id':_0x595162[_0xa70b('0x40')]['id']}},_0x486325={};_0x486325[_0xa70b('0x2c')]=_[_0xa70b('0x30')](db[_0xa70b('0x3b')][_0xa70b('0x41')]);_0x486325['query']=_[_0xa70b('0x30')](_0x595162['query']);_0x486325[_0xa70b('0x31')]=_[_0xa70b('0x42')](_0x486325['model'],_0x486325[_0xa70b('0x2f')]);_0x21f45a[_0xa70b('0x32')]=_['intersection'](_0x486325[_0xa70b('0x2c')],qs[_0xa70b('0x33')](_0x595162[_0xa70b('0x2f')][_0xa70b('0x33')]));_0x21f45a[_0xa70b('0x32')]=_0x21f45a[_0xa70b('0x32')][_0xa70b('0x43')]?_0x21f45a['attributes']:_0x486325[_0xa70b('0x2c')];if(_0x595162[_0xa70b('0x2f')][_0xa70b('0x3c')]){_0x21f45a[_0xa70b('0x3d')]=[{'all':!![]}];}_0x21f45a=_[_0xa70b('0x3a')]({},_0x21f45a,_0x595162[_0xa70b('0x44')]);return db[_0xa70b('0x3b')][_0xa70b('0x45')](_0x21f45a)['then'](handleEntityNotFound(_0x2c6edb,null))[_0xa70b('0x23')](respondWithResult(_0x2c6edb,null))[_0xa70b('0x46')](handleError(_0x2c6edb,null));};exports[_0xa70b('0x47')]=function(_0x1c183e,_0x15fc99){return db[_0xa70b('0x3b')][_0xa70b('0x47')](_0x1c183e[_0xa70b('0x48')],{})['then'](respondWithResult(_0x15fc99,0xc9))['catch'](handleError(_0x15fc99,null));};exports['update']=function(_0x20d3c4,_0x51fe6c){if(_0x20d3c4[_0xa70b('0x48')]['id']){delete _0x20d3c4['body']['id'];}delete _0x20d3c4[_0xa70b('0x48')][_0xa70b('0x49')];delete _0x20d3c4['body'][_0xa70b('0x4a')];delete _0x20d3c4['body'][_0xa70b('0x4b')];delete _0x20d3c4[_0xa70b('0x48')][_0xa70b('0x4c')];return db[_0xa70b('0x3b')][_0xa70b('0x45')]({'where':{'id':_0x20d3c4[_0xa70b('0x40')]['id']}})['then'](handleEntityNotFound(_0x51fe6c,null))[_0xa70b('0x23')](saveUpdates(_0x20d3c4['body'],null))[_0xa70b('0x23')](respondWithResult(_0x51fe6c,null))[_0xa70b('0x46')](handleError(_0x51fe6c,null));};exports[_0xa70b('0x4d')]=function(_0x25fac5,_0x2aa288){return db[_0xa70b('0x3b')][_0xa70b('0x4d')]()[_0xa70b('0x23')](respondWithResult(_0x2aa288,null))[_0xa70b('0x46')](handleError(_0x2aa288,null));};exports[_0xa70b('0x4e')]=function(_0x256e4f,_0x4bde42,_0x4af63e){var _0x5b180f=require(_0xa70b('0x4f'));var _0x1f5886=![];var _0x489afb={};if(_0x256e4f[_0xa70b('0x2f')][_0xa70b('0x2a')]&&_0x256e4f[_0xa70b('0x2f')][_0xa70b('0x2a')]===_0xa70b('0x50')){_0x489afb[_0xa70b('0x50')]=_0x256e4f[_0xa70b('0x40')]['id'];}else{_0x489afb['id']=_0x256e4f['params']['id'];}return db[_0xa70b('0x3b')][_0xa70b('0x45')]({'where':_0x489afb,'attributes':['id',_0xa70b('0x4c')],'raw':!![]})[_0xa70b('0x23')](handleEntityNotFound(_0x4bde42,null))[_0xa70b('0x23')](function(_0x7adaf5){if(_0x7adaf5){var _0x4beef8=path[_0xa70b('0x51')](config[_0xa70b('0x52')],_0xa70b('0x53'),_0x7adaf5[_0xa70b('0x4c')]);var _0x5c1cc9=util[_0xa70b('0x2e')](_0xa70b('0x54'),_0x4beef8);if(fs[_0xa70b('0x55')](_0x5c1cc9)){_0x1f5886=!![];return _0x5b180f[_0xa70b('0x56')](_0x5c1cc9,_0x4beef8,config[_0xa70b('0x57')]['recording'])[_0xa70b('0x23')](function(){return _0x7adaf5;});}return _0x7adaf5;}})[_0xa70b('0x23')](function(_0x1a797a){if(_0x1a797a){var _0x5f23e0=path['join'](config[_0xa70b('0x52')],_0xa70b('0x53'),_0x1a797a[_0xa70b('0x4c')]);if(!fs[_0xa70b('0x55')](_0x5f23e0)){throw new db[(_0xa70b('0x58'))][(_0xa70b('0x59'))]('ScreenRecording\x20not\x20found');}if(_0x1a797a['filename']){return _0x4bde42[_0xa70b('0x4e')](_0x5f23e0,_0x1a797a['filename']+path[_0xa70b('0x5a')](_0x5f23e0),function(){if(_0x1f5886){fs[_0xa70b('0x5b')](_0x5f23e0);}});}else{return _0x4bde42[_0xa70b('0x4e')](_0x5f23e0,function(_0x505ede){if(_0x1f5886){fs['unlink'](_0x5f23e0);}});}}})['catch'](function(_0x1dbdea){if(_0x1dbdea[_0xa70b('0x5c')]==='ScreenRecording\x20not\x20found'){_0x4bde42[_0xa70b('0x17')](0x194)[_0xa70b('0x27')](_0xa70b('0x5d'));}else{return handleError(_0x4bde42,null);}});};exports[_0xa70b('0x22')]=function(_0x3a2eee,_0x2b755b){return db[_0xa70b('0x3b')][_0xa70b('0x45')]({'where':{'id':_0x3a2eee[_0xa70b('0x40')]['id']}})[_0xa70b('0x23')](function(_0x2eaa6){if(!_0x2eaa6)throw new ReferenceError(_0xa70b('0x5e'));return _0x2eaa6;})[_0xa70b('0x23')](function(_0x58d8c2){var _0xbcb559=path[_0xa70b('0x51')](config[_0xa70b('0x52')],_0xa70b('0x53'),_0x58d8c2['value']);logger[_0xa70b('0x5f')](_0xa70b('0x60'),_0xbcb559);if(!_['isNil'](_0x58d8c2[_0xa70b('0x4c')])&&fs['existsSync'](_0xbcb559)){logger[_0xa70b('0x5f')](_0xa70b('0x61')+_0xbcb559+_0xa70b('0x62'));fs[_0xa70b('0x63')](_0xbcb559);}_0xbcb559=_0xbcb559+_0xa70b('0x64');if(!_[_0xa70b('0x65')](_0x58d8c2[_0xa70b('0x4c')])&&fs[_0xa70b('0x55')](_0xbcb559)){logger[_0xa70b('0x5f')]('File:\x20\x22'+_0xbcb559+_0xa70b('0x62'));fs[_0xa70b('0x63')](_0xbcb559);}return _0x58d8c2;})[_0xa70b('0x23')](function(_0x1c7863){if(!_0x1c7863)throw new InternalError();return _0x1c7863[_0xa70b('0x22')]();})[_0xa70b('0x23')](function(){_0x2b755b[_0xa70b('0x17')](0xcc)[_0xa70b('0x18')]();})[_0xa70b('0x46')](handleError(_0x2b755b,null));};