ed378767da3afa53624a57f63c5cba6f83412f0c
[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 _0xe9af=['attributes','fields','length','hasOwnProperty','nolimit','limit','offset','order','sort','where','merge','VIRTUAL','options','includeAll','findAll','catch','params','include','create','body','duration','createdAt','closedAt','value','find','describe','download','../../components/encryptor','uniqueid','join','root','server/files/screen_recordings','format','%s.cypher','decryptFile','recording','Sequelize','ValidationError','filename','extname','unlink','ScreenRecording\x20not\x20found','Not\x20found','Entity\x20not\x20found','info','isNil','existsSync','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','.cypher','html-pdf','rimraf','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','count','set','Content-Range','apply','save','update','then','destroy','error','stack','name','send','index','map','ScreenRecording','rawAttributes','fieldName','type','key','model','differenceBy','query','keys','filters','intersection'];(function(_0xc40f4e,_0xd791fd){var _0xa57e87=function(_0x26c333){while(--_0x26c333){_0xc40f4e['push'](_0xc40f4e['shift']());}};_0xa57e87(++_0xd791fd);}(_0xe9af,0x9a));var _0xfe9a=function(_0x25eed7,_0x43e335){_0x25eed7=_0x25eed7-0x0;var _0x4bd14a=_0xe9af[_0x25eed7];return _0x4bd14a;};'use strict';var pdf=require(_0xfe9a('0x0'));var emlformat=require('eml-format');var rimraf=require(_0xfe9a('0x1'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0xfe9a('0x2'));var moment=require(_0xfe9a('0x3'));var BPromise=require(_0xfe9a('0x4'));var Mustache=require(_0xfe9a('0x5'));var util=require(_0xfe9a('0x6'));var path=require(_0xfe9a('0x7'));var sox=require(_0xfe9a('0x8'));var csv=require(_0xfe9a('0x9'));var ejs=require(_0xfe9a('0xa'));var fs=require('fs');var _=require(_0xfe9a('0xb'));var squel=require('squel');var crypto=require(_0xfe9a('0xc'));var jsforce=require(_0xfe9a('0xd'));var deskjs=require(_0xfe9a('0xe'));var toCsv=require(_0xfe9a('0x9'));var querystring=require('querystring');var Papa=require(_0xfe9a('0xf'));var Redis=require(_0xfe9a('0x10'));var authService=require(_0xfe9a('0x11'));var qs=require(_0xfe9a('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0xfe9a('0x13'))(_0xfe9a('0x14'));var utils=require(_0xfe9a('0x15'));var config=require(_0xfe9a('0x16'));var licenseUtil=require(_0xfe9a('0x17'));var db=require(_0xfe9a('0x18'))['db'];function respondWithStatusCode(_0x8973b,_0x51439f){_0x51439f=_0x51439f||0xcc;return function(_0x143b93){if(_0x143b93){return _0x8973b[_0xfe9a('0x19')](_0x51439f);}return _0x8973b[_0xfe9a('0x1a')](_0x51439f)[_0xfe9a('0x1b')]();};}function respondWithResult(_0x2c976e,_0x10347d){_0x10347d=_0x10347d||0xc8;return function(_0x44b1a5){if(_0x44b1a5){return _0x2c976e[_0xfe9a('0x1a')](_0x10347d)[_0xfe9a('0x1c')](_0x44b1a5);}};}function respondWithFilteredResult(_0x3e8fc7,_0x5465ba){return function(_0x154132){if(_0x154132){var _0x37fea2=_0x154132[_0xfe9a('0x1d')],_0x3c0baf=_0x5465ba['offset'],_0x1c276d=_0x5465ba['offset']+_0x5465ba['limit'],_0x3bb97f;if(_0x1c276d>=_0x37fea2){_0x1c276d=_0x37fea2;_0x3bb97f=0xc8;}else{_0x3bb97f=0xce;}_0x3e8fc7[_0xfe9a('0x1a')](_0x3bb97f);return _0x3e8fc7[_0xfe9a('0x1e')](_0xfe9a('0x1f'),_0x3c0baf+'-'+_0x1c276d+'/'+_0x37fea2)[_0xfe9a('0x1c')](_0x154132);}return null;};}function patchUpdates(_0x19d36f){return function(_0x55c6eb){try{jsonpatch[_0xfe9a('0x20')](_0x55c6eb,_0x19d36f,!![]);}catch(_0xc36f00){return BPromise['reject'](_0xc36f00);}return _0x55c6eb[_0xfe9a('0x21')]();};}function saveUpdates(_0x4cc422,_0x803c86){return function(_0x558a11){if(_0x558a11){return _0x558a11[_0xfe9a('0x22')](_0x4cc422)[_0xfe9a('0x23')](function(_0x4af75f){return _0x4af75f;});}return null;};}function removeEntity(_0x12cd1a,_0xcf3254){return function(_0x477264){if(_0x477264){return _0x477264[_0xfe9a('0x24')]()[_0xfe9a('0x23')](function(){_0x12cd1a[_0xfe9a('0x1a')](0xcc)['end']();});}};}function handleEntityNotFound(_0x2affde,_0x48afcf){return function(_0x46383a){if(!_0x46383a){_0x2affde[_0xfe9a('0x19')](0x194);}return _0x46383a;};}function handleError(_0x2dc61a,_0x5edc64){_0x5edc64=_0x5edc64||0x1f4;return function(_0x264558){logger[_0xfe9a('0x25')](_0x264558[_0xfe9a('0x26')]);if(_0x264558[_0xfe9a('0x27')]){delete _0x264558[_0xfe9a('0x27')];}_0x2dc61a[_0xfe9a('0x1a')](_0x5edc64)[_0xfe9a('0x28')](_0x264558);};}exports[_0xfe9a('0x29')]=function(_0xd5ad9d,_0x84d118){var _0x43a2c3={},_0x56fc64={},_0x132a7d={'count':0x0,'rows':[]};var _0x50624b=_[_0xfe9a('0x2a')](db[_0xfe9a('0x2b')][_0xfe9a('0x2c')],function(_0x3ca8f4){return{'name':_0x3ca8f4[_0xfe9a('0x2d')],'type':_0x3ca8f4[_0xfe9a('0x2e')][_0xfe9a('0x2f')]};});_0x56fc64[_0xfe9a('0x30')]=_[_0xfe9a('0x31')](_[_0xfe9a('0x2a')](_0x50624b,_0xfe9a('0x27')),['format']);_0x56fc64[_0xfe9a('0x32')]=_[_0xfe9a('0x33')](_0xd5ad9d[_0xfe9a('0x32')]);_0x56fc64[_0xfe9a('0x34')]=_[_0xfe9a('0x35')](_0x56fc64[_0xfe9a('0x30')],_0x56fc64[_0xfe9a('0x32')]);_0x43a2c3[_0xfe9a('0x36')]=_[_0xfe9a('0x35')](_0x56fc64['model'],qs[_0xfe9a('0x37')](_0xd5ad9d[_0xfe9a('0x32')]['fields']));_0x43a2c3['attributes']=_0x43a2c3[_0xfe9a('0x36')][_0xfe9a('0x38')]?_0x43a2c3[_0xfe9a('0x36')]:_0x56fc64['model'];if(!_0xd5ad9d[_0xfe9a('0x32')][_0xfe9a('0x39')](_0xfe9a('0x3a'))){_0x43a2c3[_0xfe9a('0x3b')]=qs[_0xfe9a('0x3b')](_0xd5ad9d['query'][_0xfe9a('0x3b')]);_0x43a2c3[_0xfe9a('0x3c')]=qs[_0xfe9a('0x3c')](_0xd5ad9d[_0xfe9a('0x32')][_0xfe9a('0x3c')]);}_0x43a2c3[_0xfe9a('0x3d')]=qs[_0xfe9a('0x3e')](_0xd5ad9d[_0xfe9a('0x32')][_0xfe9a('0x3e')]);_0x43a2c3[_0xfe9a('0x3f')]=qs[_0xfe9a('0x34')](_['pick'](_0xd5ad9d['query'],_0x56fc64[_0xfe9a('0x34')]),_0x50624b);if(_0xd5ad9d['query']['filter']){_0x43a2c3[_0xfe9a('0x3f')]=_[_0xfe9a('0x40')](_0x43a2c3[_0xfe9a('0x3f')],{'$or':_['map'](_0x50624b,function(_0x3f4c04){if(_0x3f4c04['type']!==_0xfe9a('0x41')){var _0x308d0c={};_0x308d0c[_0x3f4c04[_0xfe9a('0x27')]]={'$like':'%'+_0xd5ad9d[_0xfe9a('0x32')]['filter']+'%'};return _0x308d0c;}})});}_0x43a2c3=_[_0xfe9a('0x40')]({},_0x43a2c3,_0xd5ad9d[_0xfe9a('0x42')]);var _0x408a73={'where':_0x43a2c3[_0xfe9a('0x3f')]};return db[_0xfe9a('0x2b')][_0xfe9a('0x1d')](_0x408a73)['then'](function(_0x5c787c){_0x132a7d[_0xfe9a('0x1d')]=_0x5c787c;if(_0xd5ad9d[_0xfe9a('0x32')][_0xfe9a('0x43')]){_0x43a2c3['include']=[{'all':!![]}];}return db[_0xfe9a('0x2b')][_0xfe9a('0x44')](_0x43a2c3);})['then'](function(_0x37a785){_0x132a7d['rows']=_0x37a785;return _0x132a7d;})[_0xfe9a('0x23')](respondWithFilteredResult(_0x84d118,_0x43a2c3))[_0xfe9a('0x45')](handleError(_0x84d118,null));};exports['show']=function(_0x336a02,_0x4cad10){var _0x165ec4={'raw':![],'where':{'id':_0x336a02[_0xfe9a('0x46')]['id']}},_0x4597c1={};_0x4597c1[_0xfe9a('0x30')]=_[_0xfe9a('0x33')](db[_0xfe9a('0x2b')][_0xfe9a('0x2c')]);_0x4597c1[_0xfe9a('0x32')]=_[_0xfe9a('0x33')](_0x336a02[_0xfe9a('0x32')]);_0x4597c1[_0xfe9a('0x34')]=_[_0xfe9a('0x35')](_0x4597c1['model'],_0x4597c1['query']);_0x165ec4[_0xfe9a('0x36')]=_['intersection'](_0x4597c1[_0xfe9a('0x30')],qs[_0xfe9a('0x37')](_0x336a02[_0xfe9a('0x32')][_0xfe9a('0x37')]));_0x165ec4[_0xfe9a('0x36')]=_0x165ec4[_0xfe9a('0x36')][_0xfe9a('0x38')]?_0x165ec4[_0xfe9a('0x36')]:_0x4597c1[_0xfe9a('0x30')];if(_0x336a02['query'][_0xfe9a('0x43')]){_0x165ec4[_0xfe9a('0x47')]=[{'all':!![]}];}_0x165ec4=_['merge']({},_0x165ec4,_0x336a02['options']);return db['ScreenRecording']['find'](_0x165ec4)['then'](handleEntityNotFound(_0x4cad10,null))['then'](respondWithResult(_0x4cad10,null))[_0xfe9a('0x45')](handleError(_0x4cad10,null));};exports[_0xfe9a('0x48')]=function(_0x273f30,_0xc9b12a){return db[_0xfe9a('0x2b')]['create'](_0x273f30[_0xfe9a('0x49')],{})[_0xfe9a('0x23')](respondWithResult(_0xc9b12a,0xc9))[_0xfe9a('0x45')](handleError(_0xc9b12a,null));};exports[_0xfe9a('0x22')]=function(_0x57cb95,_0x3b22bd){if(_0x57cb95[_0xfe9a('0x49')]['id']){delete _0x57cb95['body']['id'];}delete _0x57cb95[_0xfe9a('0x49')][_0xfe9a('0x4a')];delete _0x57cb95[_0xfe9a('0x49')][_0xfe9a('0x4b')];delete _0x57cb95[_0xfe9a('0x49')][_0xfe9a('0x4c')];delete _0x57cb95[_0xfe9a('0x49')][_0xfe9a('0x4d')];return db['ScreenRecording'][_0xfe9a('0x4e')]({'where':{'id':_0x57cb95['params']['id']}})[_0xfe9a('0x23')](handleEntityNotFound(_0x3b22bd,null))[_0xfe9a('0x23')](saveUpdates(_0x57cb95['body'],null))['then'](respondWithResult(_0x3b22bd,null))[_0xfe9a('0x45')](handleError(_0x3b22bd,null));};exports[_0xfe9a('0x4f')]=function(_0xe9eba3,_0x22e5ca){return db[_0xfe9a('0x2b')][_0xfe9a('0x4f')]()[_0xfe9a('0x23')](respondWithResult(_0x22e5ca,null))[_0xfe9a('0x45')](handleError(_0x22e5ca,null));};exports[_0xfe9a('0x50')]=function(_0x5862e2,_0x5335e7,_0x542973){var _0x1b3f64=require(_0xfe9a('0x51'));var _0x1334c7=![];var _0x4f9b8b={};if(_0x5862e2[_0xfe9a('0x32')][_0xfe9a('0x2e')]&&_0x5862e2[_0xfe9a('0x32')]['type']===_0xfe9a('0x52')){_0x4f9b8b['uniqueid']=_0x5862e2['params']['id'];}else{_0x4f9b8b['id']=_0x5862e2[_0xfe9a('0x46')]['id'];}return db['ScreenRecording'][_0xfe9a('0x4e')]({'where':_0x4f9b8b,'attributes':['id',_0xfe9a('0x4d')],'raw':!![]})[_0xfe9a('0x23')](handleEntityNotFound(_0x5335e7,null))[_0xfe9a('0x23')](function(_0x2c68bf){if(_0x2c68bf){var _0x419990=path[_0xfe9a('0x53')](config[_0xfe9a('0x54')],_0xfe9a('0x55'),_0x2c68bf['value']);var _0xbe66ea=util[_0xfe9a('0x56')](_0xfe9a('0x57'),_0x419990);if(fs['existsSync'](_0xbe66ea)){_0x1334c7=!![];return _0x1b3f64[_0xfe9a('0x58')](_0xbe66ea,_0x419990,config['secrets'][_0xfe9a('0x59')])['then'](function(){return _0x2c68bf;});}return _0x2c68bf;}})[_0xfe9a('0x23')](function(_0x4e80b9){if(_0x4e80b9){var _0x59ed4b=path[_0xfe9a('0x53')](config[_0xfe9a('0x54')],_0xfe9a('0x55'),_0x4e80b9['value']);if(!fs['existsSync'](_0x59ed4b)){throw new db[(_0xfe9a('0x5a'))][(_0xfe9a('0x5b'))]('ScreenRecording\x20not\x20found');}if(_0x4e80b9[_0xfe9a('0x5c')]){return _0x5335e7[_0xfe9a('0x50')](_0x59ed4b,_0x4e80b9[_0xfe9a('0x5c')]+path[_0xfe9a('0x5d')](_0x59ed4b),function(){if(_0x1334c7){fs[_0xfe9a('0x5e')](_0x59ed4b);}});}else{return _0x5335e7[_0xfe9a('0x50')](_0x59ed4b,function(_0x42ec19){if(_0x1334c7){fs[_0xfe9a('0x5e')](_0x59ed4b);}});}}})['catch'](function(_0x2855cb){if(_0x2855cb['message']===_0xfe9a('0x5f')){_0x5335e7[_0xfe9a('0x1a')](0x194)[_0xfe9a('0x28')](_0xfe9a('0x60'));}else{return handleError(_0x5335e7,null);}});};exports['destroy']=function(_0x5f0798,_0x33c688){return db[_0xfe9a('0x2b')][_0xfe9a('0x4e')]({'where':{'id':_0x5f0798[_0xfe9a('0x46')]['id']}})[_0xfe9a('0x23')](function(_0x467788){if(!_0x467788)throw new ReferenceError(_0xfe9a('0x61'));return _0x467788;})[_0xfe9a('0x23')](function(_0x5436b0){var _0x2182b3=path[_0xfe9a('0x53')](config[_0xfe9a('0x54')],_0xfe9a('0x55'),_0x5436b0[_0xfe9a('0x4d')]);logger[_0xfe9a('0x62')]('cancellazione\x20fisica\x20documento\x20%s',_0x2182b3);if(!_[_0xfe9a('0x63')](_0x5436b0[_0xfe9a('0x4d')])&&fs[_0xfe9a('0x64')](_0x2182b3)){logger[_0xfe9a('0x62')]('File:\x20\x22'+_0x2182b3+_0xfe9a('0x65'));fs[_0xfe9a('0x66')](_0x2182b3);}_0x2182b3=_0x2182b3+_0xfe9a('0x67');if(!_[_0xfe9a('0x63')](_0x5436b0[_0xfe9a('0x4d')])&&fs['existsSync'](_0x2182b3)){logger['info']('File:\x20\x22'+_0x2182b3+_0xfe9a('0x65'));fs[_0xfe9a('0x66')](_0x2182b3);}return _0x5436b0;})[_0xfe9a('0x23')](function(_0x19847d){if(!_0x19847d)throw new InternalError();return _0x19847d[_0xfe9a('0x24')]();})[_0xfe9a('0x23')](function(){_0x33c688[_0xfe9a('0x1a')](0xcc)[_0xfe9a('0x1b')]();})[_0xfe9a('0x45')](handleError(_0x33c688,null));};