Built motion from commit (unavailable).|2.5.10
[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 _0x94fd=['keys','query','filters','intersection','attributes','fields','length','hasOwnProperty','limit','order','sort','filter','where','merge','VIRTUAL','options','includeAll','include','findAll','show','rawAttributes','find','catch','create','body','update','createdAt','closedAt','describe','../../components/encryptor','uniqueid','params','join','server/files/screen_recordings','value','%s.cypher','existsSync','decryptFile','secrets','recording','root','ValidationError','filename','download','extname','unlink','message','ScreenRecording\x20not\x20found','Not\x20found','cancellazione\x20fisica\x20documento\x20%s','isNil','info','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','.cypher','html-pdf','eml-format','zip-dir','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','json','count','offset','status','set','Content-Range','apply','reject','save','then','destroy','error','stack','name','send','index','map','ScreenRecording','fieldName','type','key','model','differenceBy','format'];(function(_0x9cd785,_0x5d90f5){var _0x2de7b3=function(_0x1ff2a4){while(--_0x1ff2a4){_0x9cd785['push'](_0x9cd785['shift']());}};_0x2de7b3(++_0x5d90f5);}(_0x94fd,0x111));var _0xd94f=function(_0x52b9fa,_0x31f95b){_0x52b9fa=_0x52b9fa-0x0;var _0x2e4b6e=_0x94fd[_0x52b9fa];return _0x2e4b6e;};'use strict';var pdf=require(_0xd94f('0x0'));var emlformat=require(_0xd94f('0x1'));var rimraf=require('rimraf');var zipdir=require(_0xd94f('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xd94f('0x3'));var moment=require(_0xd94f('0x4'));var BPromise=require(_0xd94f('0x5'));var Mustache=require(_0xd94f('0x6'));var util=require(_0xd94f('0x7'));var path=require(_0xd94f('0x8'));var sox=require(_0xd94f('0x9'));var csv=require(_0xd94f('0xa'));var ejs=require(_0xd94f('0xb'));var fs=require('fs');var _=require(_0xd94f('0xc'));var squel=require(_0xd94f('0xd'));var crypto=require(_0xd94f('0xe'));var jsforce=require(_0xd94f('0xf'));var deskjs=require(_0xd94f('0x10'));var toCsv=require('to-csv');var querystring=require(_0xd94f('0x11'));var Papa=require(_0xd94f('0x12'));var Redis=require(_0xd94f('0x13'));var authService=require(_0xd94f('0x14'));var qs=require(_0xd94f('0x15'));var as=require(_0xd94f('0x16'));var hardwareService=require(_0xd94f('0x17'));var logger=require(_0xd94f('0x18'))(_0xd94f('0x19'));var utils=require(_0xd94f('0x1a'));var config=require('../../config/environment');var licenseUtil=require(_0xd94f('0x1b'));var db=require(_0xd94f('0x1c'))['db'];function respondWithStatusCode(_0xe79660,_0x3138b0){_0x3138b0=_0x3138b0||0xcc;return function(_0x422664){if(_0x422664){return _0xe79660[_0xd94f('0x1d')](_0x3138b0);}return _0xe79660['status'](_0x3138b0)['end']();};}function respondWithResult(_0x1a51cc,_0x1dfc03){_0x1dfc03=_0x1dfc03||0xc8;return function(_0x5a2664){if(_0x5a2664){return _0x1a51cc['status'](_0x1dfc03)[_0xd94f('0x1e')](_0x5a2664);}};}function respondWithFilteredResult(_0x55cfb8,_0x595553){return function(_0x464df0){if(_0x464df0){var _0x415f5d=_0x464df0[_0xd94f('0x1f')],_0x38a832=_0x595553['offset'],_0x5a1f0f=_0x595553[_0xd94f('0x20')]+_0x595553['limit'],_0x12b42b;if(_0x5a1f0f>=_0x415f5d){_0x5a1f0f=_0x415f5d;_0x12b42b=0xc8;}else{_0x12b42b=0xce;}_0x55cfb8[_0xd94f('0x21')](_0x12b42b);return _0x55cfb8[_0xd94f('0x22')](_0xd94f('0x23'),_0x38a832+'-'+_0x5a1f0f+'/'+_0x415f5d)[_0xd94f('0x1e')](_0x464df0);}return null;};}function patchUpdates(_0x1c50be){return function(_0x150b0d){try{jsonpatch[_0xd94f('0x24')](_0x150b0d,_0x1c50be,!![]);}catch(_0x43d206){return BPromise[_0xd94f('0x25')](_0x43d206);}return _0x150b0d[_0xd94f('0x26')]();};}function saveUpdates(_0x55c23d,_0x1d83a6){return function(_0x21f0ab){if(_0x21f0ab){return _0x21f0ab['update'](_0x55c23d)[_0xd94f('0x27')](function(_0x57322b){return _0x57322b;});}return null;};}function removeEntity(_0x3fdd0a,_0x39bf14){return function(_0x43c27d){if(_0x43c27d){return _0x43c27d[_0xd94f('0x28')]()[_0xd94f('0x27')](function(){_0x3fdd0a[_0xd94f('0x21')](0xcc)['end']();});}};}function handleEntityNotFound(_0x4ed710,_0x481b0b){return function(_0x3d4910){if(!_0x3d4910){_0x4ed710[_0xd94f('0x1d')](0x194);}return _0x3d4910;};}function handleError(_0x1b4f5b,_0x366d65){_0x366d65=_0x366d65||0x1f4;return function(_0x4527f0){logger[_0xd94f('0x29')](_0x4527f0[_0xd94f('0x2a')]);if(_0x4527f0[_0xd94f('0x2b')]){delete _0x4527f0[_0xd94f('0x2b')];}_0x1b4f5b[_0xd94f('0x21')](_0x366d65)[_0xd94f('0x2c')](_0x4527f0);};}exports[_0xd94f('0x2d')]=function(_0x11399b,_0xa0c0be){var _0x3c2e65={},_0x1d618b={},_0x159c12={'count':0x0,'rows':[]};var _0x22b9b0=_[_0xd94f('0x2e')](db[_0xd94f('0x2f')]['rawAttributes'],function(_0x5b6b68){return{'name':_0x5b6b68[_0xd94f('0x30')],'type':_0x5b6b68[_0xd94f('0x31')][_0xd94f('0x32')]};});_0x1d618b[_0xd94f('0x33')]=_[_0xd94f('0x34')](_['map'](_0x22b9b0,_0xd94f('0x2b')),[_0xd94f('0x35')]);_0x1d618b['query']=_[_0xd94f('0x36')](_0x11399b[_0xd94f('0x37')]);_0x1d618b[_0xd94f('0x38')]=_[_0xd94f('0x39')](_0x1d618b['model'],_0x1d618b[_0xd94f('0x37')]);_0x3c2e65[_0xd94f('0x3a')]=_['intersection'](_0x1d618b[_0xd94f('0x33')],qs[_0xd94f('0x3b')](_0x11399b['query'][_0xd94f('0x3b')]));_0x3c2e65[_0xd94f('0x3a')]=_0x3c2e65[_0xd94f('0x3a')][_0xd94f('0x3c')]?_0x3c2e65[_0xd94f('0x3a')]:_0x1d618b['model'];if(!_0x11399b['query'][_0xd94f('0x3d')]('nolimit')){_0x3c2e65[_0xd94f('0x3e')]=qs[_0xd94f('0x3e')](_0x11399b['query']['limit']);_0x3c2e65['offset']=qs[_0xd94f('0x20')](_0x11399b[_0xd94f('0x37')][_0xd94f('0x20')]);}_0x3c2e65[_0xd94f('0x3f')]=qs[_0xd94f('0x40')](_0x11399b[_0xd94f('0x37')][_0xd94f('0x40')]);_0x3c2e65['where']=qs['filters'](_['pick'](_0x11399b[_0xd94f('0x37')],_0x1d618b['filters']),_0x22b9b0);if(_0x11399b[_0xd94f('0x37')][_0xd94f('0x41')]){_0x3c2e65[_0xd94f('0x42')]=_[_0xd94f('0x43')](_0x3c2e65[_0xd94f('0x42')],{'$or':_[_0xd94f('0x2e')](_0x22b9b0,function(_0x4ea431){if(_0x4ea431[_0xd94f('0x31')]!==_0xd94f('0x44')){var _0xc3e66c={};_0xc3e66c[_0x4ea431[_0xd94f('0x2b')]]={'$like':'%'+_0x11399b[_0xd94f('0x37')]['filter']+'%'};return _0xc3e66c;}})});}_0x3c2e65=_[_0xd94f('0x43')]({},_0x3c2e65,_0x11399b[_0xd94f('0x45')]);var _0x171b80={'where':_0x3c2e65[_0xd94f('0x42')]};return db['ScreenRecording'][_0xd94f('0x1f')](_0x171b80)[_0xd94f('0x27')](function(_0x10c22f){_0x159c12['count']=_0x10c22f;if(_0x11399b[_0xd94f('0x37')][_0xd94f('0x46')]){_0x3c2e65[_0xd94f('0x47')]=[{'all':!![]}];}return db['ScreenRecording'][_0xd94f('0x48')](_0x3c2e65);})['then'](function(_0xc2ef7f){_0x159c12['rows']=_0xc2ef7f;return _0x159c12;})['then'](respondWithFilteredResult(_0xa0c0be,_0x3c2e65))['catch'](handleError(_0xa0c0be,null));};exports[_0xd94f('0x49')]=function(_0x3b6c19,_0x1eefd3){var _0x4dc39e={'raw':![],'where':{'id':_0x3b6c19['params']['id']}},_0x1c7d9e={};_0x1c7d9e['model']=_[_0xd94f('0x36')](db['ScreenRecording'][_0xd94f('0x4a')]);_0x1c7d9e[_0xd94f('0x37')]=_[_0xd94f('0x36')](_0x3b6c19[_0xd94f('0x37')]);_0x1c7d9e['filters']=_[_0xd94f('0x39')](_0x1c7d9e[_0xd94f('0x33')],_0x1c7d9e['query']);_0x4dc39e[_0xd94f('0x3a')]=_[_0xd94f('0x39')](_0x1c7d9e['model'],qs[_0xd94f('0x3b')](_0x3b6c19[_0xd94f('0x37')]['fields']));_0x4dc39e[_0xd94f('0x3a')]=_0x4dc39e[_0xd94f('0x3a')]['length']?_0x4dc39e['attributes']:_0x1c7d9e['model'];if(_0x3b6c19[_0xd94f('0x37')]['includeAll']){_0x4dc39e['include']=[{'all':!![]}];}_0x4dc39e=_[_0xd94f('0x43')]({},_0x4dc39e,_0x3b6c19['options']);return db[_0xd94f('0x2f')][_0xd94f('0x4b')](_0x4dc39e)[_0xd94f('0x27')](handleEntityNotFound(_0x1eefd3,null))[_0xd94f('0x27')](respondWithResult(_0x1eefd3,null))[_0xd94f('0x4c')](handleError(_0x1eefd3,null));};exports['create']=function(_0x50b55f,_0x257c73){return db[_0xd94f('0x2f')][_0xd94f('0x4d')](_0x50b55f[_0xd94f('0x4e')],{})[_0xd94f('0x27')](respondWithResult(_0x257c73,0xc9))[_0xd94f('0x4c')](handleError(_0x257c73,null));};exports[_0xd94f('0x4f')]=function(_0x39f70f,_0x4e9035){if(_0x39f70f[_0xd94f('0x4e')]['id']){delete _0x39f70f[_0xd94f('0x4e')]['id'];}delete _0x39f70f[_0xd94f('0x4e')]['duration'];delete _0x39f70f[_0xd94f('0x4e')][_0xd94f('0x50')];delete _0x39f70f[_0xd94f('0x4e')][_0xd94f('0x51')];delete _0x39f70f['body']['value'];return db[_0xd94f('0x2f')]['find']({'where':{'id':_0x39f70f['params']['id']}})['then'](handleEntityNotFound(_0x4e9035,null))['then'](saveUpdates(_0x39f70f[_0xd94f('0x4e')],null))[_0xd94f('0x27')](respondWithResult(_0x4e9035,null))[_0xd94f('0x4c')](handleError(_0x4e9035,null));};exports['describe']=function(_0x458bb1,_0x8482ab){return db[_0xd94f('0x2f')][_0xd94f('0x52')]()[_0xd94f('0x27')](respondWithResult(_0x8482ab,null))[_0xd94f('0x4c')](handleError(_0x8482ab,null));};exports['download']=function(_0x5d2090,_0x5d1b07,_0x5da027){var _0x1c9f7e=require(_0xd94f('0x53'));var _0x4b4483=![];var _0x45f163={};if(_0x5d2090[_0xd94f('0x37')]['type']&&_0x5d2090['query']['type']==='uniqueid'){_0x45f163[_0xd94f('0x54')]=_0x5d2090[_0xd94f('0x55')]['id'];}else{_0x45f163['id']=_0x5d2090[_0xd94f('0x55')]['id'];}return db[_0xd94f('0x2f')][_0xd94f('0x4b')]({'where':_0x45f163,'attributes':['id','value'],'raw':!![]})[_0xd94f('0x27')](handleEntityNotFound(_0x5d1b07,null))[_0xd94f('0x27')](function(_0x516e9f){if(_0x516e9f){var _0x5a37fb=path[_0xd94f('0x56')](config['root'],_0xd94f('0x57'),_0x516e9f[_0xd94f('0x58')]);var _0x2a43cb=util[_0xd94f('0x35')](_0xd94f('0x59'),_0x5a37fb);if(fs[_0xd94f('0x5a')](_0x2a43cb)){_0x4b4483=!![];return _0x1c9f7e[_0xd94f('0x5b')](_0x2a43cb,_0x5a37fb,config[_0xd94f('0x5c')][_0xd94f('0x5d')])[_0xd94f('0x27')](function(){return _0x516e9f;});}return _0x516e9f;}})['then'](function(_0xa4551a){if(_0xa4551a){var _0xb5e1c5=path[_0xd94f('0x56')](config[_0xd94f('0x5e')],_0xd94f('0x57'),_0xa4551a[_0xd94f('0x58')]);if(!fs[_0xd94f('0x5a')](_0xb5e1c5)){throw new db['Sequelize'][(_0xd94f('0x5f'))]('ScreenRecording\x20not\x20found');}if(_0xa4551a[_0xd94f('0x60')]){return _0x5d1b07[_0xd94f('0x61')](_0xb5e1c5,_0xa4551a['filename']+path[_0xd94f('0x62')](_0xb5e1c5),function(){if(_0x4b4483){fs[_0xd94f('0x63')](_0xb5e1c5);}});}else{return _0x5d1b07[_0xd94f('0x61')](_0xb5e1c5,function(_0x292930){if(_0x4b4483){fs[_0xd94f('0x63')](_0xb5e1c5);}});}}})['catch'](function(_0x404197){if(_0x404197[_0xd94f('0x64')]===_0xd94f('0x65')){_0x5d1b07[_0xd94f('0x21')](0x194)[_0xd94f('0x2c')](_0xd94f('0x66'));}else{return handleError(_0x5d1b07,null);}});};exports['destroy']=function(_0x36d611,_0x4eceb4){return db[_0xd94f('0x2f')][_0xd94f('0x4b')]({'where':{'id':_0x36d611[_0xd94f('0x55')]['id']}})[_0xd94f('0x27')](function(_0x1ef1cc){if(!_0x1ef1cc)throw new ReferenceError('Entity\x20not\x20found');return _0x1ef1cc;})['then'](function(_0x1e37fb){var _0x3ffd45=path[_0xd94f('0x56')](config['root'],'server/files/screen_recordings',_0x1e37fb['value']);logger['info'](_0xd94f('0x67'),_0x3ffd45);if(!_[_0xd94f('0x68')](_0x1e37fb['value'])&&fs[_0xd94f('0x5a')](_0x3ffd45)){logger[_0xd94f('0x69')](_0xd94f('0x6a')+_0x3ffd45+_0xd94f('0x6b'));fs['unlinkSync'](_0x3ffd45);}_0x3ffd45=_0x3ffd45+_0xd94f('0x6c');if(!_['isNil'](_0x1e37fb[_0xd94f('0x58')])&&fs[_0xd94f('0x5a')](_0x3ffd45)){logger[_0xd94f('0x69')](_0xd94f('0x6a')+_0x3ffd45+_0xd94f('0x6b'));fs['unlinkSync'](_0x3ffd45);}return _0x1e37fb;})[_0xd94f('0x27')](function(_0x300b6f){if(!_0x300b6f)throw new InternalError();return _0x300b6f['destroy']();})[_0xd94f('0x27')](function(){_0x4eceb4[_0xd94f('0x21')](0xcc)['end']();})[_0xd94f('0x4c')](handleError(_0x4eceb4,null));};