Built motion from commit (unavailable).|2.4.17
[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 _0x325a=['lodash','crypto','jsforce','desk.js','to-csv','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/utils','../../config/environment','../../mysqldb','sendStatus','end','status','json','offset','limit','Content-Range','apply','reject','save','update','then','destroy','stack','name','index','map','rawAttributes','fieldName','type','model','differenceBy','format','query','filters','intersection','attributes','fields','hasOwnProperty','sort','pick','where','merge','VIRTUAL','filter','options','ScreenRecording','count','include','findAll','rows','catch','show','params','keys','includeAll','find','create','body','duration','createdAt','closedAt','value','describe','download','join','root','server/files/screen_recordings','%s.cypher','decryptFile','recording','existsSync','Sequelize','filename','extname','unlink','ScreenRecording\x20not\x20found','Not\x20found','Entity\x20not\x20found','cancellazione\x20fisica\x20documento\x20%s','isNil','info','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','.cypher','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','ejs'];(function(_0x25a45a,_0x156e4b){var _0x237f87=function(_0x17c9e5){while(--_0x17c9e5){_0x25a45a['push'](_0x25a45a['shift']());}};_0x237f87(++_0x156e4b);}(_0x325a,0xbc));var _0xa325=function(_0x36d938,_0x53001a){_0x36d938=_0x36d938-0x0;var _0x5d4ec7=_0x325a[_0x36d938];return _0x5d4ec7;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0xa325('0x0'));var rimraf=require(_0xa325('0x1'));var zipdir=require(_0xa325('0x2'));var jsonpatch=require(_0xa325('0x3'));var rp=require(_0xa325('0x4'));var moment=require(_0xa325('0x5'));var BPromise=require(_0xa325('0x6'));var Mustache=require(_0xa325('0x7'));var util=require(_0xa325('0x8'));var path=require(_0xa325('0x9'));var sox=require(_0xa325('0xa'));var csv=require('to-csv');var ejs=require(_0xa325('0xb'));var fs=require('fs');var _=require(_0xa325('0xc'));var squel=require('squel');var crypto=require(_0xa325('0xd'));var jsforce=require(_0xa325('0xe'));var deskjs=require(_0xa325('0xf'));var toCsv=require(_0xa325('0x10'));var querystring=require('querystring');var Papa=require(_0xa325('0x11'));var Redis=require(_0xa325('0x12'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0xa325('0x13'));var hardwareService=require(_0xa325('0x14'));var logger=require('../../config/logger')('api');var utils=require(_0xa325('0x15'));var config=require(_0xa325('0x16'));var db=require(_0xa325('0x17'))['db'];function respondWithStatusCode(_0x38a724,_0x49c12a){_0x49c12a=_0x49c12a||0xcc;return function(_0x55085e){if(_0x55085e){return _0x38a724[_0xa325('0x18')](_0x49c12a);}return _0x38a724['status'](_0x49c12a)[_0xa325('0x19')]();};}function respondWithResult(_0x480657,_0x26c287){_0x26c287=_0x26c287||0xc8;return function(_0x405e58){if(_0x405e58){return _0x480657[_0xa325('0x1a')](_0x26c287)[_0xa325('0x1b')](_0x405e58);}};}function respondWithFilteredResult(_0x616137,_0x48ba26){return function(_0x3ead68){if(_0x3ead68){var _0x34f919=_0x3ead68['count'],_0x32cc74=_0x48ba26[_0xa325('0x1c')],_0x44fa64=_0x48ba26['offset']+_0x48ba26[_0xa325('0x1d')],_0x456d46;if(_0x44fa64>=_0x34f919){_0x44fa64=_0x34f919;_0x456d46=0xc8;}else{_0x456d46=0xce;}_0x616137[_0xa325('0x1a')](_0x456d46);return _0x616137['set'](_0xa325('0x1e'),_0x32cc74+'-'+_0x44fa64+'/'+_0x34f919)[_0xa325('0x1b')](_0x3ead68);}return null;};}function patchUpdates(_0x4e4135){return function(_0x435e1f){try{jsonpatch[_0xa325('0x1f')](_0x435e1f,_0x4e4135,!![]);}catch(_0x16abf9){return BPromise[_0xa325('0x20')](_0x16abf9);}return _0x435e1f[_0xa325('0x21')]();};}function saveUpdates(_0x1688ee,_0x4b7306){return function(_0x31f249){if(_0x31f249){return _0x31f249[_0xa325('0x22')](_0x1688ee)[_0xa325('0x23')](function(_0x13ca55){return _0x13ca55;});}return null;};}function removeEntity(_0x35e786,_0x4445b8){return function(_0x3d3b19){if(_0x3d3b19){return _0x3d3b19[_0xa325('0x24')]()[_0xa325('0x23')](function(){_0x35e786['status'](0xcc)[_0xa325('0x19')]();});}};}function handleEntityNotFound(_0x19d670,_0x4e6ae7){return function(_0x289cbf){if(!_0x289cbf){_0x19d670[_0xa325('0x18')](0x194);}return _0x289cbf;};}function handleError(_0x37dcf9,_0x3a9400){_0x3a9400=_0x3a9400||0x1f4;return function(_0x52d6a8){logger['error'](_0x52d6a8[_0xa325('0x25')]);if(_0x52d6a8[_0xa325('0x26')]){delete _0x52d6a8['name'];}_0x37dcf9[_0xa325('0x1a')](_0x3a9400)['send'](_0x52d6a8);};}exports[_0xa325('0x27')]=function(_0x14da2c,_0x432a98){var _0x8e9ad6={},_0x2a7a58={},_0x4ea0fe={'count':0x0,'rows':[]};var _0x3bf671=_[_0xa325('0x28')](db['ScreenRecording'][_0xa325('0x29')],function(_0x4f74e5){return{'name':_0x4f74e5[_0xa325('0x2a')],'type':_0x4f74e5[_0xa325('0x2b')]['key']};});_0x2a7a58[_0xa325('0x2c')]=_[_0xa325('0x2d')](_[_0xa325('0x28')](_0x3bf671,'name'),[_0xa325('0x2e')]);_0x2a7a58['query']=_['keys'](_0x14da2c[_0xa325('0x2f')]);_0x2a7a58[_0xa325('0x30')]=_[_0xa325('0x31')](_0x2a7a58['model'],_0x2a7a58['query']);_0x8e9ad6[_0xa325('0x32')]=_[_0xa325('0x31')](_0x2a7a58[_0xa325('0x2c')],qs[_0xa325('0x33')](_0x14da2c['query']['fields']));_0x8e9ad6[_0xa325('0x32')]=_0x8e9ad6[_0xa325('0x32')]['length']?_0x8e9ad6[_0xa325('0x32')]:_0x2a7a58[_0xa325('0x2c')];if(!_0x14da2c[_0xa325('0x2f')][_0xa325('0x34')]('nolimit')){_0x8e9ad6[_0xa325('0x1d')]=qs[_0xa325('0x1d')](_0x14da2c[_0xa325('0x2f')]['limit']);_0x8e9ad6[_0xa325('0x1c')]=qs['offset'](_0x14da2c['query'][_0xa325('0x1c')]);}_0x8e9ad6['order']=qs['sort'](_0x14da2c['query'][_0xa325('0x35')]);_0x8e9ad6['where']=qs['filters'](_[_0xa325('0x36')](_0x14da2c[_0xa325('0x2f')],_0x2a7a58['filters']));if(_0x14da2c[_0xa325('0x2f')]['filter']){_0x8e9ad6[_0xa325('0x37')]=_[_0xa325('0x38')](_0x8e9ad6['where'],{'$or':_['map'](_0x3bf671,function(_0x55c72b){if(_0x55c72b[_0xa325('0x2b')]!==_0xa325('0x39')){var _0x18f813={};_0x18f813[_0x55c72b[_0xa325('0x26')]]={'$like':'%'+_0x14da2c['query'][_0xa325('0x3a')]+'%'};return _0x18f813;}})});}_0x8e9ad6=_[_0xa325('0x38')]({},_0x8e9ad6,_0x14da2c[_0xa325('0x3b')]);var _0x314e88={'where':_0x8e9ad6[_0xa325('0x37')]};return db[_0xa325('0x3c')]['count'](_0x314e88)[_0xa325('0x23')](function(_0x18b501){_0x4ea0fe[_0xa325('0x3d')]=_0x18b501;if(_0x14da2c['query']['includeAll']){_0x8e9ad6[_0xa325('0x3e')]=[{'all':!![]}];}return db[_0xa325('0x3c')][_0xa325('0x3f')](_0x8e9ad6);})[_0xa325('0x23')](function(_0x3dfae9){_0x4ea0fe[_0xa325('0x40')]=_0x3dfae9;return _0x4ea0fe;})[_0xa325('0x23')](respondWithFilteredResult(_0x432a98,_0x8e9ad6))[_0xa325('0x41')](handleError(_0x432a98,null));};exports[_0xa325('0x42')]=function(_0x16da47,_0x2152bb){var _0x3a77c9={'raw':![],'where':{'id':_0x16da47[_0xa325('0x43')]['id']}},_0x23b0f1={};_0x23b0f1['model']=_[_0xa325('0x44')](db[_0xa325('0x3c')]['rawAttributes']);_0x23b0f1['query']=_[_0xa325('0x44')](_0x16da47[_0xa325('0x2f')]);_0x23b0f1[_0xa325('0x30')]=_['intersection'](_0x23b0f1[_0xa325('0x2c')],_0x23b0f1[_0xa325('0x2f')]);_0x3a77c9['attributes']=_[_0xa325('0x31')](_0x23b0f1[_0xa325('0x2c')],qs[_0xa325('0x33')](_0x16da47[_0xa325('0x2f')][_0xa325('0x33')]));_0x3a77c9['attributes']=_0x3a77c9['attributes']['length']?_0x3a77c9[_0xa325('0x32')]:_0x23b0f1[_0xa325('0x2c')];if(_0x16da47[_0xa325('0x2f')][_0xa325('0x45')]){_0x3a77c9[_0xa325('0x3e')]=[{'all':!![]}];}_0x3a77c9=_[_0xa325('0x38')]({},_0x3a77c9,_0x16da47[_0xa325('0x3b')]);return db[_0xa325('0x3c')][_0xa325('0x46')](_0x3a77c9)[_0xa325('0x23')](handleEntityNotFound(_0x2152bb,null))['then'](respondWithResult(_0x2152bb,null))['catch'](handleError(_0x2152bb,null));};exports[_0xa325('0x47')]=function(_0x509f16,_0x7408af){return db[_0xa325('0x3c')][_0xa325('0x47')](_0x509f16[_0xa325('0x48')],{})[_0xa325('0x23')](respondWithResult(_0x7408af,0xc9))[_0xa325('0x41')](handleError(_0x7408af,null));};exports['update']=function(_0x3f9150,_0x2bc9b6){if(_0x3f9150[_0xa325('0x48')]['id']){delete _0x3f9150[_0xa325('0x48')]['id'];}delete _0x3f9150[_0xa325('0x48')][_0xa325('0x49')];delete _0x3f9150[_0xa325('0x48')][_0xa325('0x4a')];delete _0x3f9150['body'][_0xa325('0x4b')];delete _0x3f9150[_0xa325('0x48')][_0xa325('0x4c')];return db[_0xa325('0x3c')][_0xa325('0x46')]({'where':{'id':_0x3f9150[_0xa325('0x43')]['id']}})[_0xa325('0x23')](handleEntityNotFound(_0x2bc9b6,null))[_0xa325('0x23')](saveUpdates(_0x3f9150['body'],null))[_0xa325('0x23')](respondWithResult(_0x2bc9b6,null))[_0xa325('0x41')](handleError(_0x2bc9b6,null));};exports['describe']=function(_0x2b6150,_0x5bf26e){return db[_0xa325('0x3c')][_0xa325('0x4d')]()[_0xa325('0x23')](respondWithResult(_0x5bf26e,null))[_0xa325('0x41')](handleError(_0x5bf26e,null));};exports[_0xa325('0x4e')]=function(_0x369fbb,_0x325a79,_0x51a0b3){var _0x2aaab0=require('../../components/encryptor');var _0x2c3305=![];var _0x5e4144={};if(_0x369fbb['query'][_0xa325('0x2b')]&&_0x369fbb[_0xa325('0x2f')][_0xa325('0x2b')]==='uniqueid'){_0x5e4144['uniqueid']=_0x369fbb[_0xa325('0x43')]['id'];}else{_0x5e4144['id']=_0x369fbb['params']['id'];}return db[_0xa325('0x3c')]['find']({'where':_0x5e4144,'attributes':['id',_0xa325('0x4c')],'raw':!![]})[_0xa325('0x23')](handleEntityNotFound(_0x325a79,null))[_0xa325('0x23')](function(_0x4f7f07){if(_0x4f7f07){var _0x20ebfa=path[_0xa325('0x4f')](config[_0xa325('0x50')],_0xa325('0x51'),_0x4f7f07['value']);var _0x1d3ef9=util['format'](_0xa325('0x52'),_0x20ebfa);if(fs['existsSync'](_0x1d3ef9)){_0x2c3305=!![];return _0x2aaab0[_0xa325('0x53')](_0x1d3ef9,_0x20ebfa,config['secrets'][_0xa325('0x54')])[_0xa325('0x23')](function(){return _0x4f7f07;});}return _0x4f7f07;}})['then'](function(_0x4247c5){if(_0x4247c5){var _0x14071c=path['join'](config[_0xa325('0x50')],_0xa325('0x51'),_0x4247c5[_0xa325('0x4c')]);if(!fs[_0xa325('0x55')](_0x14071c)){throw new db[(_0xa325('0x56'))]['ValidationError']('ScreenRecording\x20not\x20found');}if(_0x4247c5[_0xa325('0x57')]){return _0x325a79[_0xa325('0x4e')](_0x14071c,_0x4247c5[_0xa325('0x57')]+path[_0xa325('0x58')](_0x14071c),function(){if(_0x2c3305){fs[_0xa325('0x59')](_0x14071c);}});}else{return _0x325a79['download'](_0x14071c,function(_0x282aa5){if(_0x2c3305){fs[_0xa325('0x59')](_0x14071c);}});}}})[_0xa325('0x41')](function(_0xdbf031){if(_0xdbf031['message']===_0xa325('0x5a')){_0x325a79[_0xa325('0x1a')](0x194)['send'](_0xa325('0x5b'));}else{return handleError(_0x325a79,null);}});};exports[_0xa325('0x24')]=function(_0x3655ee,_0x536e68){return db[_0xa325('0x3c')][_0xa325('0x46')]({'where':{'id':_0x3655ee['params']['id']}})[_0xa325('0x23')](function(_0x345e3a){if(!_0x345e3a)throw new ReferenceError(_0xa325('0x5c'));return _0x345e3a;})[_0xa325('0x23')](function(_0x4afb42){var _0x33f7ed=path[_0xa325('0x4f')](config[_0xa325('0x50')],_0xa325('0x51'),_0x4afb42['value']);logger['info'](_0xa325('0x5d'),_0x33f7ed);if(!_[_0xa325('0x5e')](_0x4afb42[_0xa325('0x4c')])&&fs[_0xa325('0x55')](_0x33f7ed)){logger[_0xa325('0x5f')](_0xa325('0x60')+_0x33f7ed+_0xa325('0x61'));fs[_0xa325('0x62')](_0x33f7ed);}_0x33f7ed=_0x33f7ed+_0xa325('0x63');if(!_['isNil'](_0x4afb42[_0xa325('0x4c')])&&fs['existsSync'](_0x33f7ed)){logger[_0xa325('0x5f')]('File:\x20\x22'+_0x33f7ed+'\x22\x20trovato\x20eseguo\x20la\x20cancellazione');fs[_0xa325('0x62')](_0x33f7ed);}return _0x4afb42;})[_0xa325('0x23')](function(_0x21029c){if(!_0x21029c)throw new InternalError();return _0x21029c['destroy']();})['then'](function(){_0x536e68[_0xa325('0x1a')](0xcc)[_0xa325('0x19')]();})[_0xa325('0x41')](handleError(_0x536e68,null));};