Built motion from commit (unavailable).|2.5.31
[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 _0xc6d9=['moment','mustache','util','path','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/environment','../../mysqldb','sendStatus','status','end','offset','undefined','limit','set','Content-Range','apply','save','update','then','destroy','name','send','render','merge','body','message','agent','account','index','map','ScreenRecording','rawAttributes','fieldName','type','key','model','format','query','keys','filters','intersection','attributes','fields','length','nolimit','order','sort','where','pick','filter','VIRTUAL','options','count','include','findAll','rows','catch','show','params','includeAll','find','create','duration','createdAt','closedAt','value','describe','../../components/encryptor','uniqueid','root','existsSync','decryptFile','recording','server/files/screen_recordings','Sequelize','ScreenRecording\x20not\x20found','filename','download','extname','unlink','Not\x20found','join','info','isNil','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','.cypher','rimraf','zip-dir','fast-json-patch','request-promise'];(function(_0x11b53b,_0x188564){var _0x529666=function(_0x54ef3a){while(--_0x54ef3a){_0x11b53b['push'](_0x11b53b['shift']());}};_0x529666(++_0x188564);}(_0xc6d9,0xd0));var _0x9c6d=function(_0x2a1fec,_0x1ac998){_0x2a1fec=_0x2a1fec-0x0;var _0x162010=_0xc6d9[_0x2a1fec];return _0x162010;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x9c6d('0x0'));var zipdir=require(_0x9c6d('0x1'));var jsonpatch=require(_0x9c6d('0x2'));var rp=require(_0x9c6d('0x3'));var moment=require(_0x9c6d('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x9c6d('0x5'));var util=require(_0x9c6d('0x6'));var path=require(_0x9c6d('0x7'));var sox=require('sox');var csv=require(_0x9c6d('0x8'));var ejs=require(_0x9c6d('0x9'));var fs=require('fs');var fs_extra=require(_0x9c6d('0xa'));var _=require(_0x9c6d('0xb'));var squel=require(_0x9c6d('0xc'));var crypto=require(_0x9c6d('0xd'));var jsforce=require(_0x9c6d('0xe'));var deskjs=require('desk.js');var toCsv=require(_0x9c6d('0x8'));var querystring=require(_0x9c6d('0xf'));var Papa=require(_0x9c6d('0x10'));var Redis=require(_0x9c6d('0x11'));var authService=require(_0x9c6d('0x12'));var qs=require(_0x9c6d('0x13'));var as=require(_0x9c6d('0x14'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x9c6d('0x15'))(_0x9c6d('0x16'));var utils=require('../../config/utils');var config=require(_0x9c6d('0x17'));var licenseUtil=require('../../config/license/util');var db=require(_0x9c6d('0x18'))['db'];function respondWithStatusCode(_0x3b0072,_0x53022d){_0x53022d=_0x53022d||0xcc;return function(_0x2e90a1){if(_0x2e90a1){return _0x3b0072[_0x9c6d('0x19')](_0x53022d);}return _0x3b0072[_0x9c6d('0x1a')](_0x53022d)[_0x9c6d('0x1b')]();};}function respondWithResult(_0x2d8414,_0x2e3ce5){_0x2e3ce5=_0x2e3ce5||0xc8;return function(_0x2b508a){if(_0x2b508a){return _0x2d8414['status'](_0x2e3ce5)['json'](_0x2b508a);}};}function respondWithFilteredResult(_0x4501b7,_0x3c8950){return function(_0x29ed71){if(_0x29ed71){var _0x109323=typeof _0x3c8950[_0x9c6d('0x1c')]===_0x9c6d('0x1d')&&typeof _0x3c8950[_0x9c6d('0x1e')]===_0x9c6d('0x1d');var _0x4c4f26=_0x29ed71['count'];var _0x33ea81=_0x109323?0x0:_0x3c8950[_0x9c6d('0x1c')];var _0x459494=_0x109323?_0x29ed71['count']:_0x3c8950[_0x9c6d('0x1c')]+_0x3c8950[_0x9c6d('0x1e')];var _0x48bd75;if(_0x459494>=_0x4c4f26){_0x459494=_0x4c4f26;_0x48bd75=0xc8;}else{_0x48bd75=0xce;}_0x4501b7['status'](_0x48bd75);return _0x4501b7[_0x9c6d('0x1f')](_0x9c6d('0x20'),_0x33ea81+'-'+_0x459494+'/'+_0x4c4f26)['json'](_0x29ed71);}return null;};}function patchUpdates(_0x486129){return function(_0x26db5b){try{jsonpatch[_0x9c6d('0x21')](_0x26db5b,_0x486129,!![]);}catch(_0x58c5fd){return BPromise['reject'](_0x58c5fd);}return _0x26db5b[_0x9c6d('0x22')]();};}function saveUpdates(_0x3e073a,_0x1513e8){return function(_0x4f5404){if(_0x4f5404){return _0x4f5404[_0x9c6d('0x23')](_0x3e073a)[_0x9c6d('0x24')](function(_0x1df99f){return _0x1df99f;});}return null;};}function removeEntity(_0xf1caa2,_0x225808){return function(_0x35998b){if(_0x35998b){return _0x35998b[_0x9c6d('0x25')]()[_0x9c6d('0x24')](function(){_0xf1caa2[_0x9c6d('0x1a')](0xcc)[_0x9c6d('0x1b')]();});}};}function handleEntityNotFound(_0x538d8a,_0x1d89b3){return function(_0x27dd93){if(!_0x27dd93){_0x538d8a['sendStatus'](0x194);}return _0x27dd93;};}function handleError(_0x6ae110,_0x4f3711){_0x4f3711=_0x4f3711||0x1f4;return function(_0x23c3f3){logger['error'](_0x23c3f3['stack']);if(_0x23c3f3[_0x9c6d('0x26')]){delete _0x23c3f3[_0x9c6d('0x26')];}_0x6ae110[_0x9c6d('0x1a')](_0x4f3711)[_0x9c6d('0x27')](_0x23c3f3);};}function getMustacheRender(_0x320171,_0x22018a){return Mustache[_0x9c6d('0x28')](_0x320171,_[_0x9c6d('0x29')](_0x22018a[_0x9c6d('0x2a')],{'contact':_0x22018a['contact'],'message':_0x22018a[_0x9c6d('0x2b')],'agent':_0x22018a[_0x9c6d('0x2c')],'interaction':_0x22018a['interaction'],'account':_0x22018a[_0x9c6d('0x2d')]}))||'';}exports[_0x9c6d('0x2e')]=function(_0x18ce95,_0xc21d1d){var _0x18a2e0={},_0x192feb={},_0xcaf576={'count':0x0,'rows':[]};var _0x418bd8=_[_0x9c6d('0x2f')](db[_0x9c6d('0x30')][_0x9c6d('0x31')],function(_0x336099){return{'name':_0x336099[_0x9c6d('0x32')],'type':_0x336099[_0x9c6d('0x33')][_0x9c6d('0x34')]};});_0x192feb[_0x9c6d('0x35')]=_['differenceBy'](_[_0x9c6d('0x2f')](_0x418bd8,_0x9c6d('0x26')),[_0x9c6d('0x36')]);_0x192feb[_0x9c6d('0x37')]=_[_0x9c6d('0x38')](_0x18ce95['query']);_0x192feb[_0x9c6d('0x39')]=_[_0x9c6d('0x3a')](_0x192feb[_0x9c6d('0x35')],_0x192feb[_0x9c6d('0x37')]);_0x18a2e0[_0x9c6d('0x3b')]=_[_0x9c6d('0x3a')](_0x192feb[_0x9c6d('0x35')],qs[_0x9c6d('0x3c')](_0x18ce95[_0x9c6d('0x37')][_0x9c6d('0x3c')]));_0x18a2e0[_0x9c6d('0x3b')]=_0x18a2e0['attributes'][_0x9c6d('0x3d')]?_0x18a2e0[_0x9c6d('0x3b')]:_0x192feb[_0x9c6d('0x35')];if(!_0x18ce95[_0x9c6d('0x37')]['hasOwnProperty'](_0x9c6d('0x3e'))){_0x18a2e0[_0x9c6d('0x1e')]=qs[_0x9c6d('0x1e')](_0x18ce95[_0x9c6d('0x37')]['limit']);_0x18a2e0[_0x9c6d('0x1c')]=qs['offset'](_0x18ce95['query'][_0x9c6d('0x1c')]);}_0x18a2e0[_0x9c6d('0x3f')]=qs[_0x9c6d('0x40')](_0x18ce95[_0x9c6d('0x37')][_0x9c6d('0x40')]);_0x18a2e0[_0x9c6d('0x41')]=qs[_0x9c6d('0x39')](_[_0x9c6d('0x42')](_0x18ce95[_0x9c6d('0x37')],_0x192feb[_0x9c6d('0x39')]),_0x418bd8);if(_0x18ce95['query'][_0x9c6d('0x43')]){_0x18a2e0[_0x9c6d('0x41')]=_[_0x9c6d('0x29')](_0x18a2e0[_0x9c6d('0x41')],{'$or':_[_0x9c6d('0x2f')](_0x418bd8,function(_0x5151da){if(_0x5151da['type']!==_0x9c6d('0x44')){var _0x3272e3={};_0x3272e3[_0x5151da[_0x9c6d('0x26')]]={'$like':'%'+_0x18ce95[_0x9c6d('0x37')][_0x9c6d('0x43')]+'%'};return _0x3272e3;}})});}_0x18a2e0=_[_0x9c6d('0x29')]({},_0x18a2e0,_0x18ce95[_0x9c6d('0x45')]);var _0x201b99={'where':_0x18a2e0[_0x9c6d('0x41')]};return db['ScreenRecording'][_0x9c6d('0x46')](_0x201b99)['then'](function(_0x5c916c){_0xcaf576[_0x9c6d('0x46')]=_0x5c916c;if(_0x18ce95['query']['includeAll']){_0x18a2e0[_0x9c6d('0x47')]=[{'all':!![]}];}return db[_0x9c6d('0x30')][_0x9c6d('0x48')](_0x18a2e0);})[_0x9c6d('0x24')](function(_0x3bbc97){_0xcaf576[_0x9c6d('0x49')]=_0x3bbc97;return _0xcaf576;})[_0x9c6d('0x24')](respondWithFilteredResult(_0xc21d1d,_0x18a2e0))[_0x9c6d('0x4a')](handleError(_0xc21d1d,null));};exports[_0x9c6d('0x4b')]=function(_0x1dba51,_0x304d8a){var _0x266662={'raw':![],'where':{'id':_0x1dba51[_0x9c6d('0x4c')]['id']}},_0x441feb={};_0x441feb[_0x9c6d('0x35')]=_[_0x9c6d('0x38')](db[_0x9c6d('0x30')][_0x9c6d('0x31')]);_0x441feb[_0x9c6d('0x37')]=_['keys'](_0x1dba51[_0x9c6d('0x37')]);_0x441feb[_0x9c6d('0x39')]=_[_0x9c6d('0x3a')](_0x441feb[_0x9c6d('0x35')],_0x441feb[_0x9c6d('0x37')]);_0x266662[_0x9c6d('0x3b')]=_['intersection'](_0x441feb['model'],qs[_0x9c6d('0x3c')](_0x1dba51[_0x9c6d('0x37')][_0x9c6d('0x3c')]));_0x266662[_0x9c6d('0x3b')]=_0x266662[_0x9c6d('0x3b')][_0x9c6d('0x3d')]?_0x266662[_0x9c6d('0x3b')]:_0x441feb['model'];if(_0x1dba51[_0x9c6d('0x37')][_0x9c6d('0x4d')]){_0x266662[_0x9c6d('0x47')]=[{'all':!![]}];}_0x266662=_[_0x9c6d('0x29')]({},_0x266662,_0x1dba51[_0x9c6d('0x45')]);return db[_0x9c6d('0x30')][_0x9c6d('0x4e')](_0x266662)[_0x9c6d('0x24')](handleEntityNotFound(_0x304d8a,null))[_0x9c6d('0x24')](respondWithResult(_0x304d8a,null))[_0x9c6d('0x4a')](handleError(_0x304d8a,null));};exports[_0x9c6d('0x4f')]=function(_0x42c7f7,_0x332b82){return db[_0x9c6d('0x30')][_0x9c6d('0x4f')](_0x42c7f7[_0x9c6d('0x2a')],{})['then'](respondWithResult(_0x332b82,0xc9))['catch'](handleError(_0x332b82,null));};exports['update']=function(_0x2478b6,_0x1cb00e){if(_0x2478b6[_0x9c6d('0x2a')]['id']){delete _0x2478b6[_0x9c6d('0x2a')]['id'];}delete _0x2478b6[_0x9c6d('0x2a')][_0x9c6d('0x50')];delete _0x2478b6[_0x9c6d('0x2a')][_0x9c6d('0x51')];delete _0x2478b6[_0x9c6d('0x2a')][_0x9c6d('0x52')];delete _0x2478b6[_0x9c6d('0x2a')][_0x9c6d('0x53')];return db['ScreenRecording'][_0x9c6d('0x4e')]({'where':{'id':_0x2478b6[_0x9c6d('0x4c')]['id']}})[_0x9c6d('0x24')](handleEntityNotFound(_0x1cb00e,null))[_0x9c6d('0x24')](saveUpdates(_0x2478b6['body'],null))['then'](respondWithResult(_0x1cb00e,null))[_0x9c6d('0x4a')](handleError(_0x1cb00e,null));};exports[_0x9c6d('0x54')]=function(_0x181fac,_0xa307ba){return db[_0x9c6d('0x30')][_0x9c6d('0x54')]()['then'](respondWithResult(_0xa307ba,null))[_0x9c6d('0x4a')](handleError(_0xa307ba,null));};exports['download']=function(_0x31025c,_0x31dfa4,_0x1b822a){var _0x4999cf=require(_0x9c6d('0x55'));var _0x5a0331=![];var _0x2c790f={};if(_0x31025c[_0x9c6d('0x37')][_0x9c6d('0x33')]&&_0x31025c[_0x9c6d('0x37')][_0x9c6d('0x33')]===_0x9c6d('0x56')){_0x2c790f['uniqueid']=_0x31025c[_0x9c6d('0x4c')]['id'];}else{_0x2c790f['id']=_0x31025c[_0x9c6d('0x4c')]['id'];}return db[_0x9c6d('0x30')][_0x9c6d('0x4e')]({'where':_0x2c790f,'attributes':['id',_0x9c6d('0x53')],'raw':!![]})[_0x9c6d('0x24')](handleEntityNotFound(_0x31dfa4,null))[_0x9c6d('0x24')](function(_0x382f12){if(_0x382f12){var _0x3da4d5=path['join'](config[_0x9c6d('0x57')],'server/files/screen_recordings',_0x382f12[_0x9c6d('0x53')]);var _0xb99ba4=util[_0x9c6d('0x36')]('%s.cypher',_0x3da4d5);if(fs[_0x9c6d('0x58')](_0xb99ba4)){_0x5a0331=!![];return _0x4999cf[_0x9c6d('0x59')](_0xb99ba4,_0x3da4d5,config['secrets'][_0x9c6d('0x5a')])['then'](function(){return _0x382f12;});}return _0x382f12;}})['then'](function(_0x2f4fcd){if(_0x2f4fcd){var _0x2d518e=path['join'](config[_0x9c6d('0x57')],_0x9c6d('0x5b'),_0x2f4fcd[_0x9c6d('0x53')]);if(!fs['existsSync'](_0x2d518e)){throw new db[(_0x9c6d('0x5c'))]['ValidationError'](_0x9c6d('0x5d'));}if(_0x2f4fcd[_0x9c6d('0x5e')]){return _0x31dfa4[_0x9c6d('0x5f')](_0x2d518e,_0x2f4fcd[_0x9c6d('0x5e')]+path[_0x9c6d('0x60')](_0x2d518e),function(){if(_0x5a0331){fs[_0x9c6d('0x61')](_0x2d518e);}});}else{return _0x31dfa4[_0x9c6d('0x5f')](_0x2d518e,function(_0x2a8dcf){if(_0x5a0331){fs[_0x9c6d('0x61')](_0x2d518e);}});}}})['catch'](function(_0x4712f7){if(_0x4712f7[_0x9c6d('0x2b')]==='ScreenRecording\x20not\x20found'){_0x31dfa4[_0x9c6d('0x1a')](0x194)[_0x9c6d('0x27')](_0x9c6d('0x62'));}else{return handleError(_0x31dfa4,null);}});};exports[_0x9c6d('0x25')]=function(_0x25ea82,_0x520d18){return db[_0x9c6d('0x30')][_0x9c6d('0x4e')]({'where':{'id':_0x25ea82[_0x9c6d('0x4c')]['id']}})[_0x9c6d('0x24')](function(_0x290b81){if(_['isNil'](_0x290b81)){throw new ReferenceError('Entity\x20not\x20found');}return _0x290b81;})['then'](function(_0x379efb){var _0xd6b751=path[_0x9c6d('0x63')](config[_0x9c6d('0x57')],'server/files/screen_recordings',_0x379efb[_0x9c6d('0x53')]);logger[_0x9c6d('0x64')]('cancellazione\x20fisica\x20documento\x20%s',_0xd6b751);if(!_[_0x9c6d('0x65')](_0x379efb[_0x9c6d('0x53')])&&fs[_0x9c6d('0x58')](_0xd6b751)){logger['info'](_0x9c6d('0x66')+_0xd6b751+_0x9c6d('0x67'));fs[_0x9c6d('0x68')](_0xd6b751);}_0xd6b751=_0xd6b751+_0x9c6d('0x69');if(!_[_0x9c6d('0x65')](_0x379efb[_0x9c6d('0x53')])&&fs[_0x9c6d('0x58')](_0xd6b751)){logger[_0x9c6d('0x64')]('File:\x20\x22'+_0xd6b751+'\x22\x20trovato\x20eseguo\x20la\x20cancellazione');fs['unlinkSync'](_0xd6b751);}return _0x379efb;})[_0x9c6d('0x24')](function(_0x379e5e){if(!_0x379e5e)throw new InternalError();return _0x379e5e['destroy']();})[_0x9c6d('0x24')](function(){_0x520d18[_0x9c6d('0x1a')](0xcc)[_0x9c6d('0x1b')]();})['catch'](handleError(_0x520d18,null));};