6b7ce641dfdf51c0ede8dd801010396bf910e599
[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 _0xd851=['extname','unlink','destroy','isNil','Entity\x20not\x20found','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','.cypher','info','File:\x20\x22','eml-format','rimraf','request-promise','moment','mustache','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','status','end','json','offset','undefined','count','limit','Content-Range','apply','reject','save','then','error','stack','name','send','merge','body','message','agent','interaction','account','index','map','ScreenRecording','rawAttributes','fieldName','type','key','model','format','query','filters','intersection','attributes','fields','length','order','sort','where','pick','filter','VIRTUAL','includeAll','include','findAll','rows','catch','params','keys','options','create','update','createdAt','closedAt','value','find','describe','download','../../components/encryptor','uniqueid','join','root','server/files/screen_recordings','%s.cypher','decryptFile','secrets','recording','existsSync','ValidationError','ScreenRecording\x20not\x20found','filename'];(function(_0x7be6e,_0xab79f2){var _0x4a7bab=function(_0x45ba0f){while(--_0x45ba0f){_0x7be6e['push'](_0x7be6e['shift']());}};_0x4a7bab(++_0xab79f2);}(_0xd851,0x148));var _0x1d85=function(_0x28f32c,_0x4cc342){_0x28f32c=_0x28f32c-0x0;var _0x355402=_0xd851[_0x28f32c];return _0x355402;};'use strict';var emlformat=require(_0x1d85('0x0'));var rimraf=require(_0x1d85('0x1'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0x1d85('0x2'));var moment=require(_0x1d85('0x3'));var BPromise=require('bluebird');var Mustache=require(_0x1d85('0x4'));var util=require('util');var path=require(_0x1d85('0x5'));var sox=require(_0x1d85('0x6'));var csv=require(_0x1d85('0x7'));var ejs=require(_0x1d85('0x8'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x1d85('0x9'));var squel=require(_0x1d85('0xa'));var crypto=require(_0x1d85('0xb'));var jsforce=require(_0x1d85('0xc'));var deskjs=require(_0x1d85('0xd'));var toCsv=require(_0x1d85('0x7'));var querystring=require(_0x1d85('0xe'));var Papa=require(_0x1d85('0xf'));var Redis=require(_0x1d85('0x10'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x1d85('0x11'));var hardwareService=require(_0x1d85('0x12'));var logger=require(_0x1d85('0x13'))(_0x1d85('0x14'));var utils=require(_0x1d85('0x15'));var config=require('../../config/environment');var licenseUtil=require(_0x1d85('0x16'));var db=require(_0x1d85('0x17'))['db'];function respondWithStatusCode(_0x2ff94a,_0x171ecc){_0x171ecc=_0x171ecc||0xcc;return function(_0x3f2d4c){if(_0x3f2d4c){return _0x2ff94a['sendStatus'](_0x171ecc);}return _0x2ff94a[_0x1d85('0x18')](_0x171ecc)[_0x1d85('0x19')]();};}function respondWithResult(_0x432b02,_0x584679){_0x584679=_0x584679||0xc8;return function(_0x1cd936){if(_0x1cd936){return _0x432b02['status'](_0x584679)[_0x1d85('0x1a')](_0x1cd936);}};}function respondWithFilteredResult(_0x5c9d65,_0x27a826){return function(_0x1c8759){if(_0x1c8759){var _0x462129=typeof _0x27a826[_0x1d85('0x1b')]===_0x1d85('0x1c')&&typeof _0x27a826['limit']===_0x1d85('0x1c');var _0x1cd315=_0x1c8759[_0x1d85('0x1d')];var _0x13ac67=_0x462129?0x0:_0x27a826[_0x1d85('0x1b')];var _0x59ccd8=_0x462129?_0x1c8759[_0x1d85('0x1d')]:_0x27a826[_0x1d85('0x1b')]+_0x27a826[_0x1d85('0x1e')];var _0x2b658e;if(_0x59ccd8>=_0x1cd315){_0x59ccd8=_0x1cd315;_0x2b658e=0xc8;}else{_0x2b658e=0xce;}_0x5c9d65[_0x1d85('0x18')](_0x2b658e);return _0x5c9d65['set'](_0x1d85('0x1f'),_0x13ac67+'-'+_0x59ccd8+'/'+_0x1cd315)[_0x1d85('0x1a')](_0x1c8759);}return null;};}function patchUpdates(_0x23d9cf){return function(_0x2301b0){try{jsonpatch[_0x1d85('0x20')](_0x2301b0,_0x23d9cf,!![]);}catch(_0x11d60f){return BPromise[_0x1d85('0x21')](_0x11d60f);}return _0x2301b0[_0x1d85('0x22')]();};}function saveUpdates(_0x2a97b6,_0xd7a290){return function(_0x132062){if(_0x132062){return _0x132062['update'](_0x2a97b6)['then'](function(_0x51af9d){return _0x51af9d;});}return null;};}function removeEntity(_0x32f3d1,_0x47fd20){return function(_0x2e1643){if(_0x2e1643){return _0x2e1643['destroy']()[_0x1d85('0x23')](function(){_0x32f3d1['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x334e1d,_0x2c3b15){return function(_0x4a59bf){if(!_0x4a59bf){_0x334e1d['sendStatus'](0x194);}return _0x4a59bf;};}function handleError(_0x4acc1c,_0x8e3458){_0x8e3458=_0x8e3458||0x1f4;return function(_0x3d41db){logger[_0x1d85('0x24')](_0x3d41db[_0x1d85('0x25')]);if(_0x3d41db[_0x1d85('0x26')]){delete _0x3d41db[_0x1d85('0x26')];}_0x4acc1c[_0x1d85('0x18')](_0x8e3458)[_0x1d85('0x27')](_0x3d41db);};}function getMustacheRender(_0x16ee30,_0x55983a){return Mustache['render'](_0x16ee30,_[_0x1d85('0x28')](_0x55983a[_0x1d85('0x29')],{'contact':_0x55983a['contact'],'message':_0x55983a[_0x1d85('0x2a')],'agent':_0x55983a[_0x1d85('0x2b')],'interaction':_0x55983a[_0x1d85('0x2c')],'account':_0x55983a[_0x1d85('0x2d')]}))||'';}exports[_0x1d85('0x2e')]=function(_0x428193,_0x2ab58){var _0x11ff0b={},_0x289ad4={},_0x175fe3={'count':0x0,'rows':[]};var _0x7b35ac=_[_0x1d85('0x2f')](db[_0x1d85('0x30')][_0x1d85('0x31')],function(_0x38661c){return{'name':_0x38661c[_0x1d85('0x32')],'type':_0x38661c[_0x1d85('0x33')][_0x1d85('0x34')]};});_0x289ad4[_0x1d85('0x35')]=_['differenceBy'](_[_0x1d85('0x2f')](_0x7b35ac,_0x1d85('0x26')),[_0x1d85('0x36')]);_0x289ad4['query']=_['keys'](_0x428193[_0x1d85('0x37')]);_0x289ad4[_0x1d85('0x38')]=_[_0x1d85('0x39')](_0x289ad4[_0x1d85('0x35')],_0x289ad4[_0x1d85('0x37')]);_0x11ff0b[_0x1d85('0x3a')]=_[_0x1d85('0x39')](_0x289ad4[_0x1d85('0x35')],qs[_0x1d85('0x3b')](_0x428193['query'][_0x1d85('0x3b')]));_0x11ff0b[_0x1d85('0x3a')]=_0x11ff0b[_0x1d85('0x3a')][_0x1d85('0x3c')]?_0x11ff0b['attributes']:_0x289ad4[_0x1d85('0x35')];if(!_0x428193['query']['hasOwnProperty']('nolimit')){_0x11ff0b[_0x1d85('0x1e')]=qs[_0x1d85('0x1e')](_0x428193['query'][_0x1d85('0x1e')]);_0x11ff0b[_0x1d85('0x1b')]=qs[_0x1d85('0x1b')](_0x428193['query'][_0x1d85('0x1b')]);}_0x11ff0b[_0x1d85('0x3d')]=qs[_0x1d85('0x3e')](_0x428193[_0x1d85('0x37')]['sort']);_0x11ff0b[_0x1d85('0x3f')]=qs['filters'](_[_0x1d85('0x40')](_0x428193[_0x1d85('0x37')],_0x289ad4[_0x1d85('0x38')]),_0x7b35ac);if(_0x428193[_0x1d85('0x37')][_0x1d85('0x41')]){_0x11ff0b[_0x1d85('0x3f')]=_['merge'](_0x11ff0b[_0x1d85('0x3f')],{'$or':_[_0x1d85('0x2f')](_0x7b35ac,function(_0x45e456){if(_0x45e456[_0x1d85('0x33')]!==_0x1d85('0x42')){var _0x5c1af1={};_0x5c1af1[_0x45e456[_0x1d85('0x26')]]={'$like':'%'+_0x428193[_0x1d85('0x37')][_0x1d85('0x41')]+'%'};return _0x5c1af1;}})});}_0x11ff0b=_['merge']({},_0x11ff0b,_0x428193['options']);var _0x35eb86={'where':_0x11ff0b['where']};return db[_0x1d85('0x30')][_0x1d85('0x1d')](_0x35eb86)['then'](function(_0x46d657){_0x175fe3[_0x1d85('0x1d')]=_0x46d657;if(_0x428193['query'][_0x1d85('0x43')]){_0x11ff0b[_0x1d85('0x44')]=[{'all':!![]}];}return db['ScreenRecording'][_0x1d85('0x45')](_0x11ff0b);})['then'](function(_0x5978ed){_0x175fe3[_0x1d85('0x46')]=_0x5978ed;return _0x175fe3;})[_0x1d85('0x23')](respondWithFilteredResult(_0x2ab58,_0x11ff0b))[_0x1d85('0x47')](handleError(_0x2ab58,null));};exports['show']=function(_0x6bb370,_0x369c1b){var _0x377f57={'raw':![],'where':{'id':_0x6bb370[_0x1d85('0x48')]['id']}},_0x17336a={};_0x17336a[_0x1d85('0x35')]=_['keys'](db[_0x1d85('0x30')][_0x1d85('0x31')]);_0x17336a['query']=_[_0x1d85('0x49')](_0x6bb370[_0x1d85('0x37')]);_0x17336a['filters']=_[_0x1d85('0x39')](_0x17336a[_0x1d85('0x35')],_0x17336a[_0x1d85('0x37')]);_0x377f57[_0x1d85('0x3a')]=_['intersection'](_0x17336a[_0x1d85('0x35')],qs[_0x1d85('0x3b')](_0x6bb370[_0x1d85('0x37')][_0x1d85('0x3b')]));_0x377f57[_0x1d85('0x3a')]=_0x377f57[_0x1d85('0x3a')][_0x1d85('0x3c')]?_0x377f57[_0x1d85('0x3a')]:_0x17336a['model'];if(_0x6bb370[_0x1d85('0x37')][_0x1d85('0x43')]){_0x377f57['include']=[{'all':!![]}];}_0x377f57=_[_0x1d85('0x28')]({},_0x377f57,_0x6bb370[_0x1d85('0x4a')]);return db[_0x1d85('0x30')]['find'](_0x377f57)[_0x1d85('0x23')](handleEntityNotFound(_0x369c1b,null))[_0x1d85('0x23')](respondWithResult(_0x369c1b,null))[_0x1d85('0x47')](handleError(_0x369c1b,null));};exports[_0x1d85('0x4b')]=function(_0x528c22,_0x5b32c4){return db[_0x1d85('0x30')]['create'](_0x528c22['body'],{})['then'](respondWithResult(_0x5b32c4,0xc9))[_0x1d85('0x47')](handleError(_0x5b32c4,null));};exports[_0x1d85('0x4c')]=function(_0x4d8c4f,_0x5a2b44){if(_0x4d8c4f[_0x1d85('0x29')]['id']){delete _0x4d8c4f[_0x1d85('0x29')]['id'];}delete _0x4d8c4f[_0x1d85('0x29')]['duration'];delete _0x4d8c4f[_0x1d85('0x29')][_0x1d85('0x4d')];delete _0x4d8c4f[_0x1d85('0x29')][_0x1d85('0x4e')];delete _0x4d8c4f['body'][_0x1d85('0x4f')];return db[_0x1d85('0x30')][_0x1d85('0x50')]({'where':{'id':_0x4d8c4f[_0x1d85('0x48')]['id']}})[_0x1d85('0x23')](handleEntityNotFound(_0x5a2b44,null))['then'](saveUpdates(_0x4d8c4f[_0x1d85('0x29')],null))[_0x1d85('0x23')](respondWithResult(_0x5a2b44,null))[_0x1d85('0x47')](handleError(_0x5a2b44,null));};exports['describe']=function(_0x5acfc6,_0x1a3f8f){return db[_0x1d85('0x30')][_0x1d85('0x51')]()[_0x1d85('0x23')](respondWithResult(_0x1a3f8f,null))['catch'](handleError(_0x1a3f8f,null));};exports[_0x1d85('0x52')]=function(_0x3b1978,_0x134234,_0x260ce6){var _0x280a5f=require(_0x1d85('0x53'));var _0x4bc2e2=![];var _0x4db485={};if(_0x3b1978[_0x1d85('0x37')][_0x1d85('0x33')]&&_0x3b1978[_0x1d85('0x37')][_0x1d85('0x33')]===_0x1d85('0x54')){_0x4db485[_0x1d85('0x54')]=_0x3b1978[_0x1d85('0x48')]['id'];}else{_0x4db485['id']=_0x3b1978[_0x1d85('0x48')]['id'];}return db[_0x1d85('0x30')][_0x1d85('0x50')]({'where':_0x4db485,'attributes':['id',_0x1d85('0x4f')],'raw':!![]})[_0x1d85('0x23')](handleEntityNotFound(_0x134234,null))[_0x1d85('0x23')](function(_0x4aecf9){if(_0x4aecf9){var _0x40301b=path[_0x1d85('0x55')](config[_0x1d85('0x56')],_0x1d85('0x57'),_0x4aecf9['value']);var _0x4656c0=util[_0x1d85('0x36')](_0x1d85('0x58'),_0x40301b);if(fs['existsSync'](_0x4656c0)){_0x4bc2e2=!![];return _0x280a5f[_0x1d85('0x59')](_0x4656c0,_0x40301b,config[_0x1d85('0x5a')][_0x1d85('0x5b')])[_0x1d85('0x23')](function(){return _0x4aecf9;});}return _0x4aecf9;}})['then'](function(_0x404a35){if(_0x404a35){var _0x3bc7c3=path[_0x1d85('0x55')](config['root'],_0x1d85('0x57'),_0x404a35[_0x1d85('0x4f')]);if(!fs[_0x1d85('0x5c')](_0x3bc7c3)){throw new db['Sequelize'][(_0x1d85('0x5d'))](_0x1d85('0x5e'));}if(_0x404a35[_0x1d85('0x5f')]){return _0x134234[_0x1d85('0x52')](_0x3bc7c3,_0x404a35[_0x1d85('0x5f')]+path[_0x1d85('0x60')](_0x3bc7c3),function(){if(_0x4bc2e2){fs[_0x1d85('0x61')](_0x3bc7c3);}});}else{return _0x134234[_0x1d85('0x52')](_0x3bc7c3,function(_0x3221ce){if(_0x4bc2e2){fs[_0x1d85('0x61')](_0x3bc7c3);}});}}})[_0x1d85('0x47')](function(_0x34d554){if(_0x34d554[_0x1d85('0x2a')]===_0x1d85('0x5e')){_0x134234[_0x1d85('0x18')](0x194)['send']('Not\x20found');}else{return handleError(_0x134234,null);}});};exports[_0x1d85('0x62')]=function(_0x2954df,_0x560eb4){return db['ScreenRecording'][_0x1d85('0x50')]({'where':{'id':_0x2954df[_0x1d85('0x48')]['id']}})[_0x1d85('0x23')](function(_0x67d93){if(_[_0x1d85('0x63')](_0x67d93)){throw new ReferenceError(_0x1d85('0x64'));}return _0x67d93;})[_0x1d85('0x23')](function(_0x17cac1){var _0x44a4e5=path[_0x1d85('0x55')](config['root'],_0x1d85('0x57'),_0x17cac1[_0x1d85('0x4f')]);logger['info']('cancellazione\x20fisica\x20documento\x20%s',_0x44a4e5);if(!_['isNil'](_0x17cac1['value'])&&fs['existsSync'](_0x44a4e5)){logger['info']('File:\x20\x22'+_0x44a4e5+_0x1d85('0x65'));fs[_0x1d85('0x66')](_0x44a4e5);}_0x44a4e5=_0x44a4e5+_0x1d85('0x67');if(!_[_0x1d85('0x63')](_0x17cac1[_0x1d85('0x4f')])&&fs[_0x1d85('0x5c')](_0x44a4e5)){logger[_0x1d85('0x68')](_0x1d85('0x69')+_0x44a4e5+_0x1d85('0x65'));fs[_0x1d85('0x66')](_0x44a4e5);}return _0x17cac1;})[_0x1d85('0x23')](function(_0x16f6e5){if(!_0x16f6e5)throw new InternalError();return _0x16f6e5[_0x1d85('0x62')]();})[_0x1d85('0x23')](function(){_0x560eb4[_0x1d85('0x18')](0xcc)[_0x1d85('0x19')]();})['catch'](handleError(_0x560eb4,null));};