Built motion from commit (unavailable).|2.5.4
[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 _0xb338=['secrets','recording','existsSync','Sequelize','ValidationError','filename','extname','unlink','message','Not\x20found','info','cancellazione\x20fisica\x20documento\x20%s','isNil','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','File:\x20\x22','eml-format','rimraf','zip-dir','fast-json-patch','moment','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/environment','sendStatus','status','end','count','offset','limit','set','Content-Range','apply','save','destroy','error','stack','name','send','index','map','rawAttributes','key','model','query','keys','filters','intersection','fields','attributes','length','nolimit','order','sort','where','filter','merge','type','VIRTUAL','options','ScreenRecording','then','includeAll','include','findAll','rows','catch','show','find','body','update','duration','createdAt','value','describe','download','uniqueid','params','join','root','server/files/screen_recordings','format','decryptFile'];(function(_0x5a6150,_0x5df91f){var _0x4cd8f2=function(_0x26f6aa){while(--_0x26f6aa){_0x5a6150['push'](_0x5a6150['shift']());}};_0x4cd8f2(++_0x5df91f);}(_0xb338,0x130));var _0x8b33=function(_0x28e655,_0xb50ac){_0x28e655=_0x28e655-0x0;var _0x267f07=_0xb338[_0x28e655];return _0x267f07;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x8b33('0x0'));var rimraf=require(_0x8b33('0x1'));var zipdir=require(_0x8b33('0x2'));var jsonpatch=require(_0x8b33('0x3'));var rp=require('request-promise');var moment=require(_0x8b33('0x4'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x8b33('0x5'));var path=require(_0x8b33('0x6'));var sox=require(_0x8b33('0x7'));var csv=require(_0x8b33('0x8'));var ejs=require(_0x8b33('0x9'));var fs=require('fs');var _=require(_0x8b33('0xa'));var squel=require(_0x8b33('0xb'));var crypto=require(_0x8b33('0xc'));var jsforce=require(_0x8b33('0xd'));var deskjs=require(_0x8b33('0xe'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0x8b33('0xf'));var qs=require(_0x8b33('0x10'));var as=require(_0x8b33('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x8b33('0x12'))(_0x8b33('0x13'));var utils=require('../../config/utils');var config=require(_0x8b33('0x14'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x155724,_0x1e1538){_0x1e1538=_0x1e1538||0xcc;return function(_0x459397){if(_0x459397){return _0x155724[_0x8b33('0x15')](_0x1e1538);}return _0x155724[_0x8b33('0x16')](_0x1e1538)[_0x8b33('0x17')]();};}function respondWithResult(_0x56d6bb,_0x21e0a5){_0x21e0a5=_0x21e0a5||0xc8;return function(_0x5dfe5e){if(_0x5dfe5e){return _0x56d6bb[_0x8b33('0x16')](_0x21e0a5)['json'](_0x5dfe5e);}};}function respondWithFilteredResult(_0x70815f,_0x569d91){return function(_0x18557f){if(_0x18557f){var _0x2f6e2d=_0x18557f[_0x8b33('0x18')],_0x1ac263=_0x569d91[_0x8b33('0x19')],_0x706124=_0x569d91['offset']+_0x569d91[_0x8b33('0x1a')],_0x4be20c;if(_0x706124>=_0x2f6e2d){_0x706124=_0x2f6e2d;_0x4be20c=0xc8;}else{_0x4be20c=0xce;}_0x70815f[_0x8b33('0x16')](_0x4be20c);return _0x70815f[_0x8b33('0x1b')](_0x8b33('0x1c'),_0x1ac263+'-'+_0x706124+'/'+_0x2f6e2d)['json'](_0x18557f);}return null;};}function patchUpdates(_0x5ad69d){return function(_0x239a65){try{jsonpatch[_0x8b33('0x1d')](_0x239a65,_0x5ad69d,!![]);}catch(_0x239c6b){return BPromise['reject'](_0x239c6b);}return _0x239a65[_0x8b33('0x1e')]();};}function saveUpdates(_0xe7e4ba,_0x513989){return function(_0x598801){if(_0x598801){return _0x598801['update'](_0xe7e4ba)['then'](function(_0x36129d){return _0x36129d;});}return null;};}function removeEntity(_0x537f79,_0x256a0c){return function(_0x1fd150){if(_0x1fd150){return _0x1fd150[_0x8b33('0x1f')]()['then'](function(){_0x537f79[_0x8b33('0x16')](0xcc)[_0x8b33('0x17')]();});}};}function handleEntityNotFound(_0x41b5e1,_0x31ac86){return function(_0x18b892){if(!_0x18b892){_0x41b5e1['sendStatus'](0x194);}return _0x18b892;};}function handleError(_0x461e09,_0x3ab759){_0x3ab759=_0x3ab759||0x1f4;return function(_0x1a1f4b){logger[_0x8b33('0x20')](_0x1a1f4b[_0x8b33('0x21')]);if(_0x1a1f4b[_0x8b33('0x22')]){delete _0x1a1f4b[_0x8b33('0x22')];}_0x461e09['status'](_0x3ab759)[_0x8b33('0x23')](_0x1a1f4b);};}exports[_0x8b33('0x24')]=function(_0x5a8d7a,_0x572de7){var _0x1c996f={},_0x47c84e={},_0x54027e={'count':0x0,'rows':[]};var _0x1273dc=_[_0x8b33('0x25')](db['ScreenRecording'][_0x8b33('0x26')],function(_0x31539b){return{'name':_0x31539b['fieldName'],'type':_0x31539b['type'][_0x8b33('0x27')]};});_0x47c84e[_0x8b33('0x28')]=_['differenceBy'](_[_0x8b33('0x25')](_0x1273dc,_0x8b33('0x22')),['format']);_0x47c84e[_0x8b33('0x29')]=_[_0x8b33('0x2a')](_0x5a8d7a[_0x8b33('0x29')]);_0x47c84e[_0x8b33('0x2b')]=_[_0x8b33('0x2c')](_0x47c84e['model'],_0x47c84e[_0x8b33('0x29')]);_0x1c996f['attributes']=_[_0x8b33('0x2c')](_0x47c84e[_0x8b33('0x28')],qs[_0x8b33('0x2d')](_0x5a8d7a['query'][_0x8b33('0x2d')]));_0x1c996f[_0x8b33('0x2e')]=_0x1c996f[_0x8b33('0x2e')][_0x8b33('0x2f')]?_0x1c996f['attributes']:_0x47c84e['model'];if(!_0x5a8d7a[_0x8b33('0x29')]['hasOwnProperty'](_0x8b33('0x30'))){_0x1c996f[_0x8b33('0x1a')]=qs[_0x8b33('0x1a')](_0x5a8d7a['query']['limit']);_0x1c996f[_0x8b33('0x19')]=qs[_0x8b33('0x19')](_0x5a8d7a[_0x8b33('0x29')][_0x8b33('0x19')]);}_0x1c996f[_0x8b33('0x31')]=qs['sort'](_0x5a8d7a[_0x8b33('0x29')][_0x8b33('0x32')]);_0x1c996f[_0x8b33('0x33')]=qs[_0x8b33('0x2b')](_['pick'](_0x5a8d7a[_0x8b33('0x29')],_0x47c84e['filters']),_0x1273dc);if(_0x5a8d7a[_0x8b33('0x29')][_0x8b33('0x34')]){_0x1c996f['where']=_[_0x8b33('0x35')](_0x1c996f[_0x8b33('0x33')],{'$or':_[_0x8b33('0x25')](_0x1273dc,function(_0x5c3a6a){if(_0x5c3a6a[_0x8b33('0x36')]!==_0x8b33('0x37')){var _0x1674c0={};_0x1674c0[_0x5c3a6a[_0x8b33('0x22')]]={'$like':'%'+_0x5a8d7a[_0x8b33('0x29')]['filter']+'%'};return _0x1674c0;}})});}_0x1c996f=_['merge']({},_0x1c996f,_0x5a8d7a[_0x8b33('0x38')]);var _0x216b5d={'where':_0x1c996f[_0x8b33('0x33')]};return db[_0x8b33('0x39')][_0x8b33('0x18')](_0x216b5d)[_0x8b33('0x3a')](function(_0x4b050f){_0x54027e[_0x8b33('0x18')]=_0x4b050f;if(_0x5a8d7a[_0x8b33('0x29')][_0x8b33('0x3b')]){_0x1c996f[_0x8b33('0x3c')]=[{'all':!![]}];}return db[_0x8b33('0x39')][_0x8b33('0x3d')](_0x1c996f);})[_0x8b33('0x3a')](function(_0x32c663){_0x54027e[_0x8b33('0x3e')]=_0x32c663;return _0x54027e;})[_0x8b33('0x3a')](respondWithFilteredResult(_0x572de7,_0x1c996f))[_0x8b33('0x3f')](handleError(_0x572de7,null));};exports[_0x8b33('0x40')]=function(_0x26809b,_0x2db812){var _0x403fa6={'raw':![],'where':{'id':_0x26809b['params']['id']}},_0x5e1693={};_0x5e1693[_0x8b33('0x28')]=_[_0x8b33('0x2a')](db[_0x8b33('0x39')]['rawAttributes']);_0x5e1693[_0x8b33('0x29')]=_[_0x8b33('0x2a')](_0x26809b[_0x8b33('0x29')]);_0x5e1693[_0x8b33('0x2b')]=_['intersection'](_0x5e1693[_0x8b33('0x28')],_0x5e1693[_0x8b33('0x29')]);_0x403fa6[_0x8b33('0x2e')]=_['intersection'](_0x5e1693[_0x8b33('0x28')],qs['fields'](_0x26809b[_0x8b33('0x29')][_0x8b33('0x2d')]));_0x403fa6[_0x8b33('0x2e')]=_0x403fa6[_0x8b33('0x2e')][_0x8b33('0x2f')]?_0x403fa6[_0x8b33('0x2e')]:_0x5e1693[_0x8b33('0x28')];if(_0x26809b[_0x8b33('0x29')]['includeAll']){_0x403fa6[_0x8b33('0x3c')]=[{'all':!![]}];}_0x403fa6=_[_0x8b33('0x35')]({},_0x403fa6,_0x26809b[_0x8b33('0x38')]);return db[_0x8b33('0x39')][_0x8b33('0x41')](_0x403fa6)[_0x8b33('0x3a')](handleEntityNotFound(_0x2db812,null))['then'](respondWithResult(_0x2db812,null))[_0x8b33('0x3f')](handleError(_0x2db812,null));};exports['create']=function(_0x2e098a,_0x18e337){return db[_0x8b33('0x39')]['create'](_0x2e098a[_0x8b33('0x42')],{})[_0x8b33('0x3a')](respondWithResult(_0x18e337,0xc9))[_0x8b33('0x3f')](handleError(_0x18e337,null));};exports[_0x8b33('0x43')]=function(_0x6f2bfa,_0x3a1501){if(_0x6f2bfa[_0x8b33('0x42')]['id']){delete _0x6f2bfa[_0x8b33('0x42')]['id'];}delete _0x6f2bfa['body'][_0x8b33('0x44')];delete _0x6f2bfa['body'][_0x8b33('0x45')];delete _0x6f2bfa[_0x8b33('0x42')]['closedAt'];delete _0x6f2bfa[_0x8b33('0x42')][_0x8b33('0x46')];return db[_0x8b33('0x39')][_0x8b33('0x41')]({'where':{'id':_0x6f2bfa['params']['id']}})['then'](handleEntityNotFound(_0x3a1501,null))[_0x8b33('0x3a')](saveUpdates(_0x6f2bfa['body'],null))[_0x8b33('0x3a')](respondWithResult(_0x3a1501,null))[_0x8b33('0x3f')](handleError(_0x3a1501,null));};exports[_0x8b33('0x47')]=function(_0x5c345d,_0x12c9ae){return db['ScreenRecording'][_0x8b33('0x47')]()[_0x8b33('0x3a')](respondWithResult(_0x12c9ae,null))[_0x8b33('0x3f')](handleError(_0x12c9ae,null));};exports[_0x8b33('0x48')]=function(_0x2cb569,_0x580ab6,_0x104a1e){var _0x1ed47c=require('../../components/encryptor');var _0x4c0ef2=![];var _0x5a1763={};if(_0x2cb569[_0x8b33('0x29')]['type']&&_0x2cb569[_0x8b33('0x29')][_0x8b33('0x36')]==='uniqueid'){_0x5a1763[_0x8b33('0x49')]=_0x2cb569[_0x8b33('0x4a')]['id'];}else{_0x5a1763['id']=_0x2cb569[_0x8b33('0x4a')]['id'];}return db['ScreenRecording']['find']({'where':_0x5a1763,'attributes':['id',_0x8b33('0x46')],'raw':!![]})[_0x8b33('0x3a')](handleEntityNotFound(_0x580ab6,null))[_0x8b33('0x3a')](function(_0x11b894){if(_0x11b894){var _0x1443ae=path[_0x8b33('0x4b')](config[_0x8b33('0x4c')],_0x8b33('0x4d'),_0x11b894[_0x8b33('0x46')]);var _0x39e909=util[_0x8b33('0x4e')]('%s.cypher',_0x1443ae);if(fs['existsSync'](_0x39e909)){_0x4c0ef2=!![];return _0x1ed47c[_0x8b33('0x4f')](_0x39e909,_0x1443ae,config[_0x8b33('0x50')][_0x8b33('0x51')])[_0x8b33('0x3a')](function(){return _0x11b894;});}return _0x11b894;}})['then'](function(_0x14063e){if(_0x14063e){var _0x5b5b53=path['join'](config[_0x8b33('0x4c')],'server/files/screen_recordings',_0x14063e[_0x8b33('0x46')]);if(!fs[_0x8b33('0x52')](_0x5b5b53)){throw new db[(_0x8b33('0x53'))][(_0x8b33('0x54'))]('ScreenRecording\x20not\x20found');}if(_0x14063e[_0x8b33('0x55')]){return _0x580ab6[_0x8b33('0x48')](_0x5b5b53,_0x14063e[_0x8b33('0x55')]+path[_0x8b33('0x56')](_0x5b5b53),function(){if(_0x4c0ef2){fs[_0x8b33('0x57')](_0x5b5b53);}});}else{return _0x580ab6['download'](_0x5b5b53,function(_0x1146d7){if(_0x4c0ef2){fs['unlink'](_0x5b5b53);}});}}})[_0x8b33('0x3f')](function(_0x1e0206){if(_0x1e0206[_0x8b33('0x58')]==='ScreenRecording\x20not\x20found'){_0x580ab6[_0x8b33('0x16')](0x194)['send'](_0x8b33('0x59'));}else{return handleError(_0x580ab6,null);}});};exports['destroy']=function(_0x566279,_0x713b7e){return db['ScreenRecording'][_0x8b33('0x41')]({'where':{'id':_0x566279['params']['id']}})['then'](function(_0x2fed0f){if(!_0x2fed0f)throw new ReferenceError('Entity\x20not\x20found');return _0x2fed0f;})['then'](function(_0x344e6c){var _0x6b519=path[_0x8b33('0x4b')](config[_0x8b33('0x4c')],_0x8b33('0x4d'),_0x344e6c[_0x8b33('0x46')]);logger[_0x8b33('0x5a')](_0x8b33('0x5b'),_0x6b519);if(!_[_0x8b33('0x5c')](_0x344e6c[_0x8b33('0x46')])&&fs[_0x8b33('0x52')](_0x6b519)){logger[_0x8b33('0x5a')]('File:\x20\x22'+_0x6b519+_0x8b33('0x5d'));fs[_0x8b33('0x5e')](_0x6b519);}_0x6b519=_0x6b519+'.cypher';if(!_['isNil'](_0x344e6c[_0x8b33('0x46')])&&fs[_0x8b33('0x52')](_0x6b519)){logger[_0x8b33('0x5a')](_0x8b33('0x5f')+_0x6b519+'\x22\x20trovato\x20eseguo\x20la\x20cancellazione');fs[_0x8b33('0x5e')](_0x6b519);}return _0x344e6c;})[_0x8b33('0x3a')](function(_0x42d144){if(!_0x42d144)throw new InternalError();return _0x42d144[_0x8b33('0x1f')]();})['then'](function(){_0x713b7e[_0x8b33('0x16')](0xcc)[_0x8b33('0x17')]();})[_0x8b33('0x3f')](handleError(_0x713b7e,null));};