Built motion from commit (unavailable).|2.5.14
[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 _0xe251=['pick','filter','merge','VIRTUAL','options','include','rows','catch','show','params','length','includeAll','find','create','body','duration','createdAt','closedAt','value','describe','download','../../components/encryptor','type','join','root','server/files/screen_recordings','%s.cypher','existsSync','decryptFile','recording','Sequelize','ValidationError','ScreenRecording\x20not\x20found','filename','extname','unlink','Not\x20found','Entity\x20not\x20found','cancellazione\x20fisica\x20documento\x20%s','info','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','.cypher','isNil','html-pdf','eml-format','zip-dir','request-promise','moment','bluebird','sox','ejs','lodash','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','status','json','count','offset','limit','set','Content-Range','reject','save','update','then','destroy','end','error','stack','name','send','index','map','ScreenRecording','rawAttributes','fieldName','key','differenceBy','format','query','keys','filters','intersection','model','attributes','fields','hasOwnProperty','order','sort','where'];(function(_0x54ece6,_0x11a6c6){var _0x2cfd35=function(_0x8163c6){while(--_0x8163c6){_0x54ece6['push'](_0x54ece6['shift']());}};_0x2cfd35(++_0x11a6c6);}(_0xe251,0x1c0));var _0x1e25=function(_0x16b992,_0x43d74c){_0x16b992=_0x16b992-0x0;var _0x385c78=_0xe251[_0x16b992];return _0x385c78;};'use strict';var pdf=require(_0x1e25('0x0'));var emlformat=require(_0x1e25('0x1'));var rimraf=require('rimraf');var zipdir=require(_0x1e25('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x1e25('0x3'));var moment=require(_0x1e25('0x4'));var BPromise=require(_0x1e25('0x5'));var Mustache=require('mustache');var util=require('util');var path=require('path');var sox=require(_0x1e25('0x6'));var csv=require('to-csv');var ejs=require(_0x1e25('0x7'));var fs=require('fs');var _=require(_0x1e25('0x8'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x1e25('0x9'));var deskjs=require(_0x1e25('0xa'));var toCsv=require('to-csv');var querystring=require(_0x1e25('0xb'));var Papa=require('papaparse');var Redis=require(_0x1e25('0xc'));var authService=require(_0x1e25('0xd'));var qs=require(_0x1e25('0xe'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x1e25('0xf'));var logger=require(_0x1e25('0x10'))(_0x1e25('0x11'));var utils=require(_0x1e25('0x12'));var config=require('../../config/environment');var licenseUtil=require(_0x1e25('0x13'));var db=require(_0x1e25('0x14'))['db'];function respondWithStatusCode(_0x3b0051,_0x325873){_0x325873=_0x325873||0xcc;return function(_0x393f9f){if(_0x393f9f){return _0x3b0051['sendStatus'](_0x325873);}return _0x3b0051['status'](_0x325873)['end']();};}function respondWithResult(_0x1b9f7e,_0x247498){_0x247498=_0x247498||0xc8;return function(_0x3817b2){if(_0x3817b2){return _0x1b9f7e[_0x1e25('0x15')](_0x247498)[_0x1e25('0x16')](_0x3817b2);}};}function respondWithFilteredResult(_0x405cf8,_0x3005a5){return function(_0x5704f2){if(_0x5704f2){var _0x1d8e25=_0x5704f2[_0x1e25('0x17')],_0x40bf18=_0x3005a5[_0x1e25('0x18')],_0x3abe83=_0x3005a5[_0x1e25('0x18')]+_0x3005a5[_0x1e25('0x19')],_0x141eb6;if(_0x3abe83>=_0x1d8e25){_0x3abe83=_0x1d8e25;_0x141eb6=0xc8;}else{_0x141eb6=0xce;}_0x405cf8[_0x1e25('0x15')](_0x141eb6);return _0x405cf8[_0x1e25('0x1a')](_0x1e25('0x1b'),_0x40bf18+'-'+_0x3abe83+'/'+_0x1d8e25)['json'](_0x5704f2);}return null;};}function patchUpdates(_0x61a470){return function(_0x3dcaf0){try{jsonpatch['apply'](_0x3dcaf0,_0x61a470,!![]);}catch(_0x5f0156){return BPromise[_0x1e25('0x1c')](_0x5f0156);}return _0x3dcaf0[_0x1e25('0x1d')]();};}function saveUpdates(_0x5d1f26,_0x4de212){return function(_0x57d74a){if(_0x57d74a){return _0x57d74a[_0x1e25('0x1e')](_0x5d1f26)[_0x1e25('0x1f')](function(_0x398e09){return _0x398e09;});}return null;};}function removeEntity(_0x2b9cc2,_0x5eb681){return function(_0x27d68b){if(_0x27d68b){return _0x27d68b[_0x1e25('0x20')]()[_0x1e25('0x1f')](function(){_0x2b9cc2[_0x1e25('0x15')](0xcc)[_0x1e25('0x21')]();});}};}function handleEntityNotFound(_0x1bc382,_0x1117a9){return function(_0x3e86e1){if(!_0x3e86e1){_0x1bc382['sendStatus'](0x194);}return _0x3e86e1;};}function handleError(_0x426525,_0x2180b7){_0x2180b7=_0x2180b7||0x1f4;return function(_0x23068f){logger[_0x1e25('0x22')](_0x23068f[_0x1e25('0x23')]);if(_0x23068f[_0x1e25('0x24')]){delete _0x23068f[_0x1e25('0x24')];}_0x426525['status'](_0x2180b7)[_0x1e25('0x25')](_0x23068f);};}exports[_0x1e25('0x26')]=function(_0x43b321,_0x15ab3c){var _0x520656={},_0xe36bd={},_0x8cf468={'count':0x0,'rows':[]};var _0x3f4cf0=_[_0x1e25('0x27')](db[_0x1e25('0x28')][_0x1e25('0x29')],function(_0x1716d0){return{'name':_0x1716d0[_0x1e25('0x2a')],'type':_0x1716d0['type'][_0x1e25('0x2b')]};});_0xe36bd['model']=_[_0x1e25('0x2c')](_[_0x1e25('0x27')](_0x3f4cf0,_0x1e25('0x24')),[_0x1e25('0x2d')]);_0xe36bd[_0x1e25('0x2e')]=_[_0x1e25('0x2f')](_0x43b321[_0x1e25('0x2e')]);_0xe36bd[_0x1e25('0x30')]=_[_0x1e25('0x31')](_0xe36bd[_0x1e25('0x32')],_0xe36bd[_0x1e25('0x2e')]);_0x520656[_0x1e25('0x33')]=_[_0x1e25('0x31')](_0xe36bd['model'],qs[_0x1e25('0x34')](_0x43b321['query'][_0x1e25('0x34')]));_0x520656['attributes']=_0x520656[_0x1e25('0x33')]['length']?_0x520656[_0x1e25('0x33')]:_0xe36bd[_0x1e25('0x32')];if(!_0x43b321[_0x1e25('0x2e')][_0x1e25('0x35')]('nolimit')){_0x520656['limit']=qs[_0x1e25('0x19')](_0x43b321[_0x1e25('0x2e')][_0x1e25('0x19')]);_0x520656[_0x1e25('0x18')]=qs[_0x1e25('0x18')](_0x43b321['query'][_0x1e25('0x18')]);}_0x520656[_0x1e25('0x36')]=qs[_0x1e25('0x37')](_0x43b321[_0x1e25('0x2e')][_0x1e25('0x37')]);_0x520656[_0x1e25('0x38')]=qs[_0x1e25('0x30')](_[_0x1e25('0x39')](_0x43b321[_0x1e25('0x2e')],_0xe36bd[_0x1e25('0x30')]),_0x3f4cf0);if(_0x43b321[_0x1e25('0x2e')][_0x1e25('0x3a')]){_0x520656[_0x1e25('0x38')]=_[_0x1e25('0x3b')](_0x520656['where'],{'$or':_[_0x1e25('0x27')](_0x3f4cf0,function(_0x277e57){if(_0x277e57['type']!==_0x1e25('0x3c')){var _0xe24231={};_0xe24231[_0x277e57[_0x1e25('0x24')]]={'$like':'%'+_0x43b321['query']['filter']+'%'};return _0xe24231;}})});}_0x520656=_[_0x1e25('0x3b')]({},_0x520656,_0x43b321[_0x1e25('0x3d')]);var _0x2e628f={'where':_0x520656[_0x1e25('0x38')]};return db[_0x1e25('0x28')][_0x1e25('0x17')](_0x2e628f)[_0x1e25('0x1f')](function(_0x20539d){_0x8cf468[_0x1e25('0x17')]=_0x20539d;if(_0x43b321[_0x1e25('0x2e')]['includeAll']){_0x520656[_0x1e25('0x3e')]=[{'all':!![]}];}return db['ScreenRecording']['findAll'](_0x520656);})[_0x1e25('0x1f')](function(_0x4b2ce9){_0x8cf468[_0x1e25('0x3f')]=_0x4b2ce9;return _0x8cf468;})['then'](respondWithFilteredResult(_0x15ab3c,_0x520656))[_0x1e25('0x40')](handleError(_0x15ab3c,null));};exports[_0x1e25('0x41')]=function(_0x64ff69,_0x1446a1){var _0x2615c8={'raw':![],'where':{'id':_0x64ff69[_0x1e25('0x42')]['id']}},_0x7ce347={};_0x7ce347['model']=_[_0x1e25('0x2f')](db[_0x1e25('0x28')]['rawAttributes']);_0x7ce347[_0x1e25('0x2e')]=_[_0x1e25('0x2f')](_0x64ff69['query']);_0x7ce347[_0x1e25('0x30')]=_[_0x1e25('0x31')](_0x7ce347['model'],_0x7ce347[_0x1e25('0x2e')]);_0x2615c8[_0x1e25('0x33')]=_[_0x1e25('0x31')](_0x7ce347['model'],qs[_0x1e25('0x34')](_0x64ff69[_0x1e25('0x2e')][_0x1e25('0x34')]));_0x2615c8[_0x1e25('0x33')]=_0x2615c8['attributes'][_0x1e25('0x43')]?_0x2615c8[_0x1e25('0x33')]:_0x7ce347['model'];if(_0x64ff69[_0x1e25('0x2e')][_0x1e25('0x44')]){_0x2615c8[_0x1e25('0x3e')]=[{'all':!![]}];}_0x2615c8=_[_0x1e25('0x3b')]({},_0x2615c8,_0x64ff69[_0x1e25('0x3d')]);return db['ScreenRecording'][_0x1e25('0x45')](_0x2615c8)[_0x1e25('0x1f')](handleEntityNotFound(_0x1446a1,null))[_0x1e25('0x1f')](respondWithResult(_0x1446a1,null))[_0x1e25('0x40')](handleError(_0x1446a1,null));};exports[_0x1e25('0x46')]=function(_0x46c367,_0x1b2156){return db[_0x1e25('0x28')][_0x1e25('0x46')](_0x46c367[_0x1e25('0x47')],{})[_0x1e25('0x1f')](respondWithResult(_0x1b2156,0xc9))['catch'](handleError(_0x1b2156,null));};exports[_0x1e25('0x1e')]=function(_0x53ba87,_0x543b16){if(_0x53ba87['body']['id']){delete _0x53ba87[_0x1e25('0x47')]['id'];}delete _0x53ba87[_0x1e25('0x47')][_0x1e25('0x48')];delete _0x53ba87['body'][_0x1e25('0x49')];delete _0x53ba87[_0x1e25('0x47')][_0x1e25('0x4a')];delete _0x53ba87['body'][_0x1e25('0x4b')];return db[_0x1e25('0x28')][_0x1e25('0x45')]({'where':{'id':_0x53ba87['params']['id']}})[_0x1e25('0x1f')](handleEntityNotFound(_0x543b16,null))[_0x1e25('0x1f')](saveUpdates(_0x53ba87[_0x1e25('0x47')],null))[_0x1e25('0x1f')](respondWithResult(_0x543b16,null))[_0x1e25('0x40')](handleError(_0x543b16,null));};exports[_0x1e25('0x4c')]=function(_0x2a24d0,_0x17f8ab){return db[_0x1e25('0x28')][_0x1e25('0x4c')]()[_0x1e25('0x1f')](respondWithResult(_0x17f8ab,null))[_0x1e25('0x40')](handleError(_0x17f8ab,null));};exports[_0x1e25('0x4d')]=function(_0x40ced6,_0x2e5b66,_0xc22476){var _0xb56904=require(_0x1e25('0x4e'));var _0x19b509=![];var _0x400a2b={};if(_0x40ced6[_0x1e25('0x2e')][_0x1e25('0x4f')]&&_0x40ced6[_0x1e25('0x2e')][_0x1e25('0x4f')]==='uniqueid'){_0x400a2b['uniqueid']=_0x40ced6[_0x1e25('0x42')]['id'];}else{_0x400a2b['id']=_0x40ced6[_0x1e25('0x42')]['id'];}return db['ScreenRecording'][_0x1e25('0x45')]({'where':_0x400a2b,'attributes':['id','value'],'raw':!![]})[_0x1e25('0x1f')](handleEntityNotFound(_0x2e5b66,null))[_0x1e25('0x1f')](function(_0x2705c9){if(_0x2705c9){var _0x41ecb8=path[_0x1e25('0x50')](config[_0x1e25('0x51')],_0x1e25('0x52'),_0x2705c9[_0x1e25('0x4b')]);var _0x24998f=util[_0x1e25('0x2d')](_0x1e25('0x53'),_0x41ecb8);if(fs[_0x1e25('0x54')](_0x24998f)){_0x19b509=!![];return _0xb56904[_0x1e25('0x55')](_0x24998f,_0x41ecb8,config['secrets'][_0x1e25('0x56')])[_0x1e25('0x1f')](function(){return _0x2705c9;});}return _0x2705c9;}})[_0x1e25('0x1f')](function(_0x2cc50b){if(_0x2cc50b){var _0x464409=path[_0x1e25('0x50')](config[_0x1e25('0x51')],_0x1e25('0x52'),_0x2cc50b['value']);if(!fs[_0x1e25('0x54')](_0x464409)){throw new db[(_0x1e25('0x57'))][(_0x1e25('0x58'))](_0x1e25('0x59'));}if(_0x2cc50b[_0x1e25('0x5a')]){return _0x2e5b66[_0x1e25('0x4d')](_0x464409,_0x2cc50b[_0x1e25('0x5a')]+path[_0x1e25('0x5b')](_0x464409),function(){if(_0x19b509){fs[_0x1e25('0x5c')](_0x464409);}});}else{return _0x2e5b66[_0x1e25('0x4d')](_0x464409,function(_0x2867f9){if(_0x19b509){fs['unlink'](_0x464409);}});}}})[_0x1e25('0x40')](function(_0x4d046f){if(_0x4d046f['message']==='ScreenRecording\x20not\x20found'){_0x2e5b66[_0x1e25('0x15')](0x194)[_0x1e25('0x25')](_0x1e25('0x5d'));}else{return handleError(_0x2e5b66,null);}});};exports[_0x1e25('0x20')]=function(_0x34033c,_0x5aa0cc){return db[_0x1e25('0x28')]['find']({'where':{'id':_0x34033c[_0x1e25('0x42')]['id']}})[_0x1e25('0x1f')](function(_0x402e17){if(!_0x402e17)throw new ReferenceError(_0x1e25('0x5e'));return _0x402e17;})[_0x1e25('0x1f')](function(_0x155680){var _0x56a6a9=path[_0x1e25('0x50')](config[_0x1e25('0x51')],'server/files/screen_recordings',_0x155680['value']);logger['info'](_0x1e25('0x5f'),_0x56a6a9);if(!_['isNil'](_0x155680[_0x1e25('0x4b')])&&fs[_0x1e25('0x54')](_0x56a6a9)){logger[_0x1e25('0x60')]('File:\x20\x22'+_0x56a6a9+_0x1e25('0x61'));fs[_0x1e25('0x62')](_0x56a6a9);}_0x56a6a9=_0x56a6a9+_0x1e25('0x63');if(!_[_0x1e25('0x64')](_0x155680[_0x1e25('0x4b')])&&fs[_0x1e25('0x54')](_0x56a6a9)){logger[_0x1e25('0x60')]('File:\x20\x22'+_0x56a6a9+_0x1e25('0x61'));fs[_0x1e25('0x62')](_0x56a6a9);}return _0x155680;})[_0x1e25('0x1f')](function(_0x5b66c9){if(!_0x5b66c9)throw new InternalError();return _0x5b66c9['destroy']();})[_0x1e25('0x1f')](function(){_0x5aa0cc['status'](0xcc)['end']();})[_0x1e25('0x40')](handleError(_0x5aa0cc,null));};