Built motion from commit (unavailable).|2.5.6
[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 _0xb009=['ejs','lodash','squel','crypto','jsforce','querystring','../../components/auth/service','../../components/parsers/advancedSearch','../../config/logger','../../config/utils','../../config/environment','sendStatus','status','end','json','count','offset','set','Content-Range','reject','update','then','destroy','error','stack','name','send','map','ScreenRecording','fieldName','type','key','model','format','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','limit','order','sort','where','pick','merge','VIRTUAL','filter','options','includeAll','include','findAll','rows','catch','show','params','rawAttributes','create','body','duration','createdAt','closedAt','value','find','describe','uniqueid','join','server/files/screen_recordings','existsSync','decryptFile','secrets','recording','root','ValidationError','ScreenRecording\x20not\x20found','download','filename','unlink','Not\x20found','Entity\x20not\x20found','info','cancellazione\x20fisica\x20documento\x20%s','isNil','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','.cypher','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','sox','to-csv'];(function(_0x1b4e6e,_0x5c260c){var _0x55a228=function(_0x36cc2b){while(--_0x36cc2b){_0x1b4e6e['push'](_0x1b4e6e['shift']());}};_0x55a228(++_0x5c260c);}(_0xb009,0x186));var _0x9b00=function(_0x508c71,_0x55b144){_0x508c71=_0x508c71-0x0;var _0x1a1f53=_0xb009[_0x508c71];return _0x1a1f53;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x9b00('0x0'));var rimraf=require(_0x9b00('0x1'));var zipdir=require(_0x9b00('0x2'));var jsonpatch=require(_0x9b00('0x3'));var rp=require('request-promise');var moment=require(_0x9b00('0x4'));var BPromise=require(_0x9b00('0x5'));var Mustache=require(_0x9b00('0x6'));var util=require(_0x9b00('0x7'));var path=require('path');var sox=require(_0x9b00('0x8'));var csv=require(_0x9b00('0x9'));var ejs=require(_0x9b00('0xa'));var fs=require('fs');var _=require(_0x9b00('0xb'));var squel=require(_0x9b00('0xc'));var crypto=require(_0x9b00('0xd'));var jsforce=require(_0x9b00('0xe'));var deskjs=require('desk.js');var toCsv=require(_0x9b00('0x9'));var querystring=require(_0x9b00('0xf'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0x9b00('0x10'));var qs=require('../../components/parsers/qs');var as=require(_0x9b00('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x9b00('0x12'))('api');var utils=require(_0x9b00('0x13'));var config=require(_0x9b00('0x14'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x14bfe1,_0x4fc7eb){_0x4fc7eb=_0x4fc7eb||0xcc;return function(_0x26c26f){if(_0x26c26f){return _0x14bfe1[_0x9b00('0x15')](_0x4fc7eb);}return _0x14bfe1[_0x9b00('0x16')](_0x4fc7eb)[_0x9b00('0x17')]();};}function respondWithResult(_0x31b59d,_0x91631c){_0x91631c=_0x91631c||0xc8;return function(_0x39d73b){if(_0x39d73b){return _0x31b59d['status'](_0x91631c)[_0x9b00('0x18')](_0x39d73b);}};}function respondWithFilteredResult(_0x169172,_0x2ec08a){return function(_0x358d46){if(_0x358d46){var _0xb19148=_0x358d46[_0x9b00('0x19')],_0x27a9f1=_0x2ec08a[_0x9b00('0x1a')],_0xda2be1=_0x2ec08a[_0x9b00('0x1a')]+_0x2ec08a['limit'],_0x2b023f;if(_0xda2be1>=_0xb19148){_0xda2be1=_0xb19148;_0x2b023f=0xc8;}else{_0x2b023f=0xce;}_0x169172['status'](_0x2b023f);return _0x169172[_0x9b00('0x1b')](_0x9b00('0x1c'),_0x27a9f1+'-'+_0xda2be1+'/'+_0xb19148)[_0x9b00('0x18')](_0x358d46);}return null;};}function patchUpdates(_0x5ae9ef){return function(_0x9fcbe0){try{jsonpatch['apply'](_0x9fcbe0,_0x5ae9ef,!![]);}catch(_0x2821b1){return BPromise[_0x9b00('0x1d')](_0x2821b1);}return _0x9fcbe0['save']();};}function saveUpdates(_0x14e05e,_0x4fd9e0){return function(_0x3a699d){if(_0x3a699d){return _0x3a699d[_0x9b00('0x1e')](_0x14e05e)[_0x9b00('0x1f')](function(_0xf84650){return _0xf84650;});}return null;};}function removeEntity(_0x1f00ed,_0x123bed){return function(_0x40c48b){if(_0x40c48b){return _0x40c48b[_0x9b00('0x20')]()[_0x9b00('0x1f')](function(){_0x1f00ed[_0x9b00('0x16')](0xcc)[_0x9b00('0x17')]();});}};}function handleEntityNotFound(_0x18aab5,_0x1707a){return function(_0xb20877){if(!_0xb20877){_0x18aab5['sendStatus'](0x194);}return _0xb20877;};}function handleError(_0x55bebf,_0x486bf0){_0x486bf0=_0x486bf0||0x1f4;return function(_0x23861a){logger[_0x9b00('0x21')](_0x23861a[_0x9b00('0x22')]);if(_0x23861a[_0x9b00('0x23')]){delete _0x23861a[_0x9b00('0x23')];}_0x55bebf[_0x9b00('0x16')](_0x486bf0)[_0x9b00('0x24')](_0x23861a);};}exports['index']=function(_0x5409cd,_0x4215f2){var _0x41a060={},_0x564c28={},_0x2c58b9={'count':0x0,'rows':[]};var _0x41ca3c=_[_0x9b00('0x25')](db[_0x9b00('0x26')]['rawAttributes'],function(_0x3219b2){return{'name':_0x3219b2[_0x9b00('0x27')],'type':_0x3219b2[_0x9b00('0x28')][_0x9b00('0x29')]};});_0x564c28[_0x9b00('0x2a')]=_['differenceBy'](_['map'](_0x41ca3c,_0x9b00('0x23')),[_0x9b00('0x2b')]);_0x564c28[_0x9b00('0x2c')]=_[_0x9b00('0x2d')](_0x5409cd['query']);_0x564c28[_0x9b00('0x2e')]=_[_0x9b00('0x2f')](_0x564c28[_0x9b00('0x2a')],_0x564c28[_0x9b00('0x2c')]);_0x41a060[_0x9b00('0x30')]=_[_0x9b00('0x2f')](_0x564c28[_0x9b00('0x2a')],qs[_0x9b00('0x31')](_0x5409cd['query'][_0x9b00('0x31')]));_0x41a060[_0x9b00('0x30')]=_0x41a060[_0x9b00('0x30')][_0x9b00('0x32')]?_0x41a060[_0x9b00('0x30')]:_0x564c28[_0x9b00('0x2a')];if(!_0x5409cd['query'][_0x9b00('0x33')](_0x9b00('0x34'))){_0x41a060[_0x9b00('0x35')]=qs['limit'](_0x5409cd[_0x9b00('0x2c')][_0x9b00('0x35')]);_0x41a060[_0x9b00('0x1a')]=qs[_0x9b00('0x1a')](_0x5409cd[_0x9b00('0x2c')][_0x9b00('0x1a')]);}_0x41a060[_0x9b00('0x36')]=qs[_0x9b00('0x37')](_0x5409cd['query']['sort']);_0x41a060[_0x9b00('0x38')]=qs[_0x9b00('0x2e')](_[_0x9b00('0x39')](_0x5409cd[_0x9b00('0x2c')],_0x564c28[_0x9b00('0x2e')]),_0x41ca3c);if(_0x5409cd[_0x9b00('0x2c')]['filter']){_0x41a060[_0x9b00('0x38')]=_[_0x9b00('0x3a')](_0x41a060[_0x9b00('0x38')],{'$or':_[_0x9b00('0x25')](_0x41ca3c,function(_0x44d3e7){if(_0x44d3e7[_0x9b00('0x28')]!==_0x9b00('0x3b')){var _0x1dc362={};_0x1dc362[_0x44d3e7[_0x9b00('0x23')]]={'$like':'%'+_0x5409cd[_0x9b00('0x2c')][_0x9b00('0x3c')]+'%'};return _0x1dc362;}})});}_0x41a060=_['merge']({},_0x41a060,_0x5409cd[_0x9b00('0x3d')]);var _0x57f4d9={'where':_0x41a060[_0x9b00('0x38')]};return db[_0x9b00('0x26')][_0x9b00('0x19')](_0x57f4d9)[_0x9b00('0x1f')](function(_0x7d23d7){_0x2c58b9[_0x9b00('0x19')]=_0x7d23d7;if(_0x5409cd['query'][_0x9b00('0x3e')]){_0x41a060[_0x9b00('0x3f')]=[{'all':!![]}];}return db['ScreenRecording'][_0x9b00('0x40')](_0x41a060);})[_0x9b00('0x1f')](function(_0x5684c3){_0x2c58b9[_0x9b00('0x41')]=_0x5684c3;return _0x2c58b9;})['then'](respondWithFilteredResult(_0x4215f2,_0x41a060))[_0x9b00('0x42')](handleError(_0x4215f2,null));};exports[_0x9b00('0x43')]=function(_0x4d0cec,_0x59c000){var _0x4dd89d={'raw':![],'where':{'id':_0x4d0cec[_0x9b00('0x44')]['id']}},_0x3fb155={};_0x3fb155[_0x9b00('0x2a')]=_[_0x9b00('0x2d')](db[_0x9b00('0x26')][_0x9b00('0x45')]);_0x3fb155['query']=_[_0x9b00('0x2d')](_0x4d0cec['query']);_0x3fb155[_0x9b00('0x2e')]=_[_0x9b00('0x2f')](_0x3fb155['model'],_0x3fb155['query']);_0x4dd89d[_0x9b00('0x30')]=_[_0x9b00('0x2f')](_0x3fb155[_0x9b00('0x2a')],qs['fields'](_0x4d0cec[_0x9b00('0x2c')]['fields']));_0x4dd89d[_0x9b00('0x30')]=_0x4dd89d[_0x9b00('0x30')]['length']?_0x4dd89d[_0x9b00('0x30')]:_0x3fb155[_0x9b00('0x2a')];if(_0x4d0cec[_0x9b00('0x2c')][_0x9b00('0x3e')]){_0x4dd89d[_0x9b00('0x3f')]=[{'all':!![]}];}_0x4dd89d=_[_0x9b00('0x3a')]({},_0x4dd89d,_0x4d0cec[_0x9b00('0x3d')]);return db[_0x9b00('0x26')]['find'](_0x4dd89d)['then'](handleEntityNotFound(_0x59c000,null))[_0x9b00('0x1f')](respondWithResult(_0x59c000,null))['catch'](handleError(_0x59c000,null));};exports[_0x9b00('0x46')]=function(_0x4d24f3,_0x31827a){return db[_0x9b00('0x26')][_0x9b00('0x46')](_0x4d24f3['body'],{})[_0x9b00('0x1f')](respondWithResult(_0x31827a,0xc9))['catch'](handleError(_0x31827a,null));};exports[_0x9b00('0x1e')]=function(_0x221566,_0x3f185a){if(_0x221566[_0x9b00('0x47')]['id']){delete _0x221566[_0x9b00('0x47')]['id'];}delete _0x221566[_0x9b00('0x47')][_0x9b00('0x48')];delete _0x221566['body'][_0x9b00('0x49')];delete _0x221566[_0x9b00('0x47')][_0x9b00('0x4a')];delete _0x221566[_0x9b00('0x47')][_0x9b00('0x4b')];return db[_0x9b00('0x26')][_0x9b00('0x4c')]({'where':{'id':_0x221566[_0x9b00('0x44')]['id']}})[_0x9b00('0x1f')](handleEntityNotFound(_0x3f185a,null))['then'](saveUpdates(_0x221566[_0x9b00('0x47')],null))[_0x9b00('0x1f')](respondWithResult(_0x3f185a,null))[_0x9b00('0x42')](handleError(_0x3f185a,null));};exports['describe']=function(_0x45f991,_0x3c60b9){return db[_0x9b00('0x26')][_0x9b00('0x4d')]()[_0x9b00('0x1f')](respondWithResult(_0x3c60b9,null))[_0x9b00('0x42')](handleError(_0x3c60b9,null));};exports['download']=function(_0x2e0958,_0x11ec81,_0x6dd682){var _0x4ef00e=require('../../components/encryptor');var _0x36384e=![];var _0x2ff323={};if(_0x2e0958[_0x9b00('0x2c')][_0x9b00('0x28')]&&_0x2e0958[_0x9b00('0x2c')][_0x9b00('0x28')]===_0x9b00('0x4e')){_0x2ff323[_0x9b00('0x4e')]=_0x2e0958[_0x9b00('0x44')]['id'];}else{_0x2ff323['id']=_0x2e0958['params']['id'];}return db[_0x9b00('0x26')][_0x9b00('0x4c')]({'where':_0x2ff323,'attributes':['id','value'],'raw':!![]})['then'](handleEntityNotFound(_0x11ec81,null))[_0x9b00('0x1f')](function(_0x8f2db8){if(_0x8f2db8){var _0x4047bb=path[_0x9b00('0x4f')](config['root'],_0x9b00('0x50'),_0x8f2db8[_0x9b00('0x4b')]);var _0x3087e6=util['format']('%s.cypher',_0x4047bb);if(fs[_0x9b00('0x51')](_0x3087e6)){_0x36384e=!![];return _0x4ef00e[_0x9b00('0x52')](_0x3087e6,_0x4047bb,config[_0x9b00('0x53')][_0x9b00('0x54')])['then'](function(){return _0x8f2db8;});}return _0x8f2db8;}})[_0x9b00('0x1f')](function(_0x301e00){if(_0x301e00){var _0x33bd1c=path[_0x9b00('0x4f')](config[_0x9b00('0x55')],_0x9b00('0x50'),_0x301e00['value']);if(!fs[_0x9b00('0x51')](_0x33bd1c)){throw new db['Sequelize'][(_0x9b00('0x56'))](_0x9b00('0x57'));}if(_0x301e00['filename']){return _0x11ec81[_0x9b00('0x58')](_0x33bd1c,_0x301e00[_0x9b00('0x59')]+path['extname'](_0x33bd1c),function(){if(_0x36384e){fs[_0x9b00('0x5a')](_0x33bd1c);}});}else{return _0x11ec81[_0x9b00('0x58')](_0x33bd1c,function(_0x54633e){if(_0x36384e){fs['unlink'](_0x33bd1c);}});}}})['catch'](function(_0xea796e){if(_0xea796e['message']===_0x9b00('0x57')){_0x11ec81[_0x9b00('0x16')](0x194)[_0x9b00('0x24')](_0x9b00('0x5b'));}else{return handleError(_0x11ec81,null);}});};exports['destroy']=function(_0xf427e8,_0x26f684){return db['ScreenRecording'][_0x9b00('0x4c')]({'where':{'id':_0xf427e8[_0x9b00('0x44')]['id']}})[_0x9b00('0x1f')](function(_0x36e968){if(!_0x36e968)throw new ReferenceError(_0x9b00('0x5c'));return _0x36e968;})[_0x9b00('0x1f')](function(_0x1d875c){var _0x1dbc10=path['join'](config[_0x9b00('0x55')],_0x9b00('0x50'),_0x1d875c[_0x9b00('0x4b')]);logger[_0x9b00('0x5d')](_0x9b00('0x5e'),_0x1dbc10);if(!_[_0x9b00('0x5f')](_0x1d875c[_0x9b00('0x4b')])&&fs[_0x9b00('0x51')](_0x1dbc10)){logger[_0x9b00('0x5d')](_0x9b00('0x60')+_0x1dbc10+_0x9b00('0x61'));fs[_0x9b00('0x62')](_0x1dbc10);}_0x1dbc10=_0x1dbc10+_0x9b00('0x63');if(!_['isNil'](_0x1d875c[_0x9b00('0x4b')])&&fs['existsSync'](_0x1dbc10)){logger[_0x9b00('0x5d')](_0x9b00('0x60')+_0x1dbc10+_0x9b00('0x61'));fs[_0x9b00('0x62')](_0x1dbc10);}return _0x1d875c;})[_0x9b00('0x1f')](function(_0x34f764){if(!_0x34f764)throw new InternalError();return _0x34f764['destroy']();})[_0x9b00('0x1f')](function(){_0x26f684['status'](0xcc)[_0x9b00('0x17')]();})[_0x9b00('0x42')](handleError(_0x26f684,null));};