b4259d37cc27985ca4f887af89277c39f15ea3a5
[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 _0xdada=['to-csv','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','count','offset','limit','set','json','apply','reject','save','then','destroy','stack','send','map','ScreenRecording','rawAttributes','type','key','model','differenceBy','name','format','query','filters','intersection','fields','attributes','length','nolimit','order','sort','where','filter','VIRTUAL','merge','includeAll','include','findAll','rows','show','params','keys','options','catch','create','body','update','duration','createdAt','closedAt','value','find','describe','download','../../components/encryptor','uniqueid','join','server/files/screen_recordings','%s.cypher','existsSync','recording','Sequelize','ValidationError','ScreenRecording\x20not\x20found','filename','extname','unlink','message','Not\x20found','Entity\x20not\x20found','root','info','cancellazione\x20fisica\x20documento\x20%s','isNil','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','.cypher','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','squel','jsforce'];(function(_0x5a5234,_0x25a515){var _0x3dffb9=function(_0x33b23a){while(--_0x33b23a){_0x5a5234['push'](_0x5a5234['shift']());}};_0x3dffb9(++_0x25a515);}(_0xdada,0xc2));var _0xadad=function(_0x589467,_0x981900){_0x589467=_0x589467-0x0;var _0x36ead8=_0xdada[_0x589467];return _0x36ead8;};'use strict';var pdf=require(_0xadad('0x0'));var emlformat=require(_0xadad('0x1'));var rimraf=require(_0xadad('0x2'));var zipdir=require(_0xadad('0x3'));var jsonpatch=require(_0xadad('0x4'));var rp=require(_0xadad('0x5'));var moment=require(_0xadad('0x6'));var BPromise=require(_0xadad('0x7'));var Mustache=require(_0xadad('0x8'));var util=require(_0xadad('0x9'));var path=require(_0xadad('0xa'));var sox=require(_0xadad('0xb'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var _=require('lodash');var squel=require(_0xadad('0xc'));var crypto=require('crypto');var jsforce=require(_0xadad('0xd'));var deskjs=require('desk.js');var toCsv=require(_0xadad('0xe'));var querystring=require('querystring');var Papa=require(_0xadad('0xf'));var Redis=require('ioredis');var authService=require(_0xadad('0x10'));var qs=require(_0xadad('0x11'));var as=require(_0xadad('0x12'));var hardwareService=require(_0xadad('0x13'));var logger=require('../../config/logger')(_0xadad('0x14'));var utils=require(_0xadad('0x15'));var config=require(_0xadad('0x16'));var db=require(_0xadad('0x17'))['db'];function respondWithStatusCode(_0x172c16,_0x31d4e6){_0x31d4e6=_0x31d4e6||0xcc;return function(_0x17cdec){if(_0x17cdec){return _0x172c16[_0xadad('0x18')](_0x31d4e6);}return _0x172c16[_0xadad('0x19')](_0x31d4e6)[_0xadad('0x1a')]();};}function respondWithResult(_0x4093d5,_0xd5186c){_0xd5186c=_0xd5186c||0xc8;return function(_0x2d1a65){if(_0x2d1a65){return _0x4093d5[_0xadad('0x19')](_0xd5186c)['json'](_0x2d1a65);}};}function respondWithFilteredResult(_0x35f933,_0x2109ab){return function(_0x529670){if(_0x529670){var _0x34eb2f=_0x529670[_0xadad('0x1b')],_0x5c6ab0=_0x2109ab['offset'],_0x274d8b=_0x2109ab[_0xadad('0x1c')]+_0x2109ab[_0xadad('0x1d')],_0x500af7;if(_0x274d8b>=_0x34eb2f){_0x274d8b=_0x34eb2f;_0x500af7=0xc8;}else{_0x500af7=0xce;}_0x35f933[_0xadad('0x19')](_0x500af7);return _0x35f933[_0xadad('0x1e')]('Content-Range',_0x5c6ab0+'-'+_0x274d8b+'/'+_0x34eb2f)[_0xadad('0x1f')](_0x529670);}return null;};}function patchUpdates(_0x36b056){return function(_0x377742){try{jsonpatch[_0xadad('0x20')](_0x377742,_0x36b056,!![]);}catch(_0x357e6f){return BPromise[_0xadad('0x21')](_0x357e6f);}return _0x377742[_0xadad('0x22')]();};}function saveUpdates(_0x3d4c00,_0x455886){return function(_0x47a84e){if(_0x47a84e){return _0x47a84e['update'](_0x3d4c00)[_0xadad('0x23')](function(_0x176d71){return _0x176d71;});}return null;};}function removeEntity(_0x15ba9c,_0x571ff7){return function(_0x2d4931){if(_0x2d4931){return _0x2d4931[_0xadad('0x24')]()[_0xadad('0x23')](function(){_0x15ba9c['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x428902,_0x37cc4e){return function(_0x333137){if(!_0x333137){_0x428902[_0xadad('0x18')](0x194);}return _0x333137;};}function handleError(_0x5ba06a,_0x5d91fb){_0x5d91fb=_0x5d91fb||0x1f4;return function(_0x40fae9){logger['error'](_0x40fae9[_0xadad('0x25')]);if(_0x40fae9['name']){delete _0x40fae9['name'];}_0x5ba06a[_0xadad('0x19')](_0x5d91fb)[_0xadad('0x26')](_0x40fae9);};}exports['index']=function(_0x12a9f8,_0x21f825){var _0x41d0ef={},_0x2d1f20={},_0x1d4b0a={'count':0x0,'rows':[]};var _0x3a2e70=_[_0xadad('0x27')](db[_0xadad('0x28')][_0xadad('0x29')],function(_0x416fd5){return{'name':_0x416fd5['fieldName'],'type':_0x416fd5[_0xadad('0x2a')][_0xadad('0x2b')]};});_0x2d1f20[_0xadad('0x2c')]=_[_0xadad('0x2d')](_[_0xadad('0x27')](_0x3a2e70,_0xadad('0x2e')),[_0xadad('0x2f')]);_0x2d1f20[_0xadad('0x30')]=_['keys'](_0x12a9f8[_0xadad('0x30')]);_0x2d1f20[_0xadad('0x31')]=_[_0xadad('0x32')](_0x2d1f20[_0xadad('0x2c')],_0x2d1f20[_0xadad('0x30')]);_0x41d0ef['attributes']=_[_0xadad('0x32')](_0x2d1f20[_0xadad('0x2c')],qs[_0xadad('0x33')](_0x12a9f8[_0xadad('0x30')][_0xadad('0x33')]));_0x41d0ef[_0xadad('0x34')]=_0x41d0ef[_0xadad('0x34')][_0xadad('0x35')]?_0x41d0ef[_0xadad('0x34')]:_0x2d1f20[_0xadad('0x2c')];if(!_0x12a9f8['query']['hasOwnProperty'](_0xadad('0x36'))){_0x41d0ef[_0xadad('0x1d')]=qs[_0xadad('0x1d')](_0x12a9f8[_0xadad('0x30')]['limit']);_0x41d0ef[_0xadad('0x1c')]=qs[_0xadad('0x1c')](_0x12a9f8[_0xadad('0x30')][_0xadad('0x1c')]);}_0x41d0ef[_0xadad('0x37')]=qs[_0xadad('0x38')](_0x12a9f8[_0xadad('0x30')][_0xadad('0x38')]);_0x41d0ef[_0xadad('0x39')]=qs['filters'](_['pick'](_0x12a9f8[_0xadad('0x30')],_0x2d1f20[_0xadad('0x31')]),_0x3a2e70);if(_0x12a9f8[_0xadad('0x30')][_0xadad('0x3a')]){_0x41d0ef[_0xadad('0x39')]=_['merge'](_0x41d0ef[_0xadad('0x39')],{'$or':_[_0xadad('0x27')](_0x3a2e70,function(_0x271800){if(_0x271800[_0xadad('0x2a')]!==_0xadad('0x3b')){var _0x51c915={};_0x51c915[_0x271800['name']]={'$like':'%'+_0x12a9f8[_0xadad('0x30')][_0xadad('0x3a')]+'%'};return _0x51c915;}})});}_0x41d0ef=_[_0xadad('0x3c')]({},_0x41d0ef,_0x12a9f8['options']);var _0x1bede7={'where':_0x41d0ef[_0xadad('0x39')]};return db['ScreenRecording'][_0xadad('0x1b')](_0x1bede7)['then'](function(_0x3cc58e){_0x1d4b0a[_0xadad('0x1b')]=_0x3cc58e;if(_0x12a9f8['query'][_0xadad('0x3d')]){_0x41d0ef[_0xadad('0x3e')]=[{'all':!![]}];}return db['ScreenRecording'][_0xadad('0x3f')](_0x41d0ef);})['then'](function(_0x27cd9f){_0x1d4b0a[_0xadad('0x40')]=_0x27cd9f;return _0x1d4b0a;})[_0xadad('0x23')](respondWithFilteredResult(_0x21f825,_0x41d0ef))['catch'](handleError(_0x21f825,null));};exports[_0xadad('0x41')]=function(_0x4b51ff,_0x5b1733){var _0x19cf3e={'raw':![],'where':{'id':_0x4b51ff[_0xadad('0x42')]['id']}},_0x23fd76={};_0x23fd76[_0xadad('0x2c')]=_[_0xadad('0x43')](db[_0xadad('0x28')][_0xadad('0x29')]);_0x23fd76[_0xadad('0x30')]=_[_0xadad('0x43')](_0x4b51ff[_0xadad('0x30')]);_0x23fd76[_0xadad('0x31')]=_[_0xadad('0x32')](_0x23fd76[_0xadad('0x2c')],_0x23fd76[_0xadad('0x30')]);_0x19cf3e[_0xadad('0x34')]=_[_0xadad('0x32')](_0x23fd76[_0xadad('0x2c')],qs[_0xadad('0x33')](_0x4b51ff[_0xadad('0x30')][_0xadad('0x33')]));_0x19cf3e[_0xadad('0x34')]=_0x19cf3e['attributes'][_0xadad('0x35')]?_0x19cf3e[_0xadad('0x34')]:_0x23fd76[_0xadad('0x2c')];if(_0x4b51ff['query']['includeAll']){_0x19cf3e[_0xadad('0x3e')]=[{'all':!![]}];}_0x19cf3e=_['merge']({},_0x19cf3e,_0x4b51ff[_0xadad('0x44')]);return db[_0xadad('0x28')]['find'](_0x19cf3e)[_0xadad('0x23')](handleEntityNotFound(_0x5b1733,null))[_0xadad('0x23')](respondWithResult(_0x5b1733,null))[_0xadad('0x45')](handleError(_0x5b1733,null));};exports[_0xadad('0x46')]=function(_0x5887e5,_0x591951){return db[_0xadad('0x28')][_0xadad('0x46')](_0x5887e5[_0xadad('0x47')],{})[_0xadad('0x23')](respondWithResult(_0x591951,0xc9))[_0xadad('0x45')](handleError(_0x591951,null));};exports[_0xadad('0x48')]=function(_0x4d47b6,_0x2f6649){if(_0x4d47b6[_0xadad('0x47')]['id']){delete _0x4d47b6[_0xadad('0x47')]['id'];}delete _0x4d47b6[_0xadad('0x47')][_0xadad('0x49')];delete _0x4d47b6['body'][_0xadad('0x4a')];delete _0x4d47b6['body'][_0xadad('0x4b')];delete _0x4d47b6[_0xadad('0x47')][_0xadad('0x4c')];return db[_0xadad('0x28')][_0xadad('0x4d')]({'where':{'id':_0x4d47b6[_0xadad('0x42')]['id']}})[_0xadad('0x23')](handleEntityNotFound(_0x2f6649,null))[_0xadad('0x23')](saveUpdates(_0x4d47b6[_0xadad('0x47')],null))[_0xadad('0x23')](respondWithResult(_0x2f6649,null))[_0xadad('0x45')](handleError(_0x2f6649,null));};exports[_0xadad('0x4e')]=function(_0x138918,_0x3d9dee){return db[_0xadad('0x28')]['describe']()[_0xadad('0x23')](respondWithResult(_0x3d9dee,null))[_0xadad('0x45')](handleError(_0x3d9dee,null));};exports[_0xadad('0x4f')]=function(_0x3b3327,_0x12cd03,_0x2cb656){var _0x53a2f6=require(_0xadad('0x50'));var _0x34464b=![];var _0x3872cb={};if(_0x3b3327[_0xadad('0x30')][_0xadad('0x2a')]&&_0x3b3327['query']['type']===_0xadad('0x51')){_0x3872cb[_0xadad('0x51')]=_0x3b3327[_0xadad('0x42')]['id'];}else{_0x3872cb['id']=_0x3b3327['params']['id'];}return db[_0xadad('0x28')][_0xadad('0x4d')]({'where':_0x3872cb,'attributes':['id','value'],'raw':!![]})[_0xadad('0x23')](handleEntityNotFound(_0x12cd03,null))[_0xadad('0x23')](function(_0x4159fa){if(_0x4159fa){var _0x2fbff0=path[_0xadad('0x52')](config['root'],_0xadad('0x53'),_0x4159fa[_0xadad('0x4c')]);var _0x308b5b=util[_0xadad('0x2f')](_0xadad('0x54'),_0x2fbff0);if(fs[_0xadad('0x55')](_0x308b5b)){_0x34464b=!![];return _0x53a2f6['decryptFile'](_0x308b5b,_0x2fbff0,config['secrets'][_0xadad('0x56')])[_0xadad('0x23')](function(){return _0x4159fa;});}return _0x4159fa;}})[_0xadad('0x23')](function(_0x2d5b42){if(_0x2d5b42){var _0x223e9d=path[_0xadad('0x52')](config['root'],_0xadad('0x53'),_0x2d5b42['value']);if(!fs[_0xadad('0x55')](_0x223e9d)){throw new db[(_0xadad('0x57'))][(_0xadad('0x58'))](_0xadad('0x59'));}if(_0x2d5b42[_0xadad('0x5a')]){return _0x12cd03[_0xadad('0x4f')](_0x223e9d,_0x2d5b42[_0xadad('0x5a')]+path[_0xadad('0x5b')](_0x223e9d),function(){if(_0x34464b){fs[_0xadad('0x5c')](_0x223e9d);}});}else{return _0x12cd03[_0xadad('0x4f')](_0x223e9d,function(_0x1bd4b6){if(_0x34464b){fs['unlink'](_0x223e9d);}});}}})[_0xadad('0x45')](function(_0x45c00d){if(_0x45c00d[_0xadad('0x5d')]===_0xadad('0x59')){_0x12cd03[_0xadad('0x19')](0x194)[_0xadad('0x26')](_0xadad('0x5e'));}else{return handleError(_0x12cd03,null);}});};exports[_0xadad('0x24')]=function(_0x3546b4,_0xd63e66){return db[_0xadad('0x28')][_0xadad('0x4d')]({'where':{'id':_0x3546b4['params']['id']}})[_0xadad('0x23')](function(_0x2478af){if(!_0x2478af)throw new ReferenceError(_0xadad('0x5f'));return _0x2478af;})[_0xadad('0x23')](function(_0x129a9d){var _0x4ae014=path[_0xadad('0x52')](config[_0xadad('0x60')],'server/files/screen_recordings',_0x129a9d[_0xadad('0x4c')]);logger[_0xadad('0x61')](_0xadad('0x62'),_0x4ae014);if(!_[_0xadad('0x63')](_0x129a9d[_0xadad('0x4c')])&&fs[_0xadad('0x55')](_0x4ae014)){logger[_0xadad('0x61')](_0xadad('0x64')+_0x4ae014+_0xadad('0x65'));fs[_0xadad('0x66')](_0x4ae014);}_0x4ae014=_0x4ae014+_0xadad('0x67');if(!_['isNil'](_0x129a9d[_0xadad('0x4c')])&&fs[_0xadad('0x55')](_0x4ae014)){logger[_0xadad('0x61')](_0xadad('0x64')+_0x4ae014+_0xadad('0x65'));fs[_0xadad('0x66')](_0x4ae014);}return _0x129a9d;})[_0xadad('0x23')](function(_0x3c34a1){if(!_0x3c34a1)throw new InternalError();return _0x3c34a1[_0xadad('0x24')]();})[_0xadad('0x23')](function(){_0xd63e66[_0xadad('0x19')](0xcc)['end']();})[_0xadad('0x45')](handleError(_0xd63e66,null));};