Built motion from commit (unavailable).|2.5.0
[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 _0x9957=['includeAll','include','findAll','catch','params','options','find','body','update','duration','createdAt','closedAt','value','describe','../../components/encryptor','join','root','server/files/screen_recordings','%s.cypher','existsSync','decryptFile','secrets','recording','Sequelize','ValidationError','ScreenRecording\x20not\x20found','download','filename','extname','unlink','message','Not\x20found','Entity\x20not\x20found','cancellazione\x20fisica\x20documento\x20%s','info','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','.cypher','isNil','html-pdf','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','path','sox','to-csv','ejs','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../mysqldb','sendStatus','status','end','json','offset','limit','set','Content-Range','reject','save','then','destroy','error','stack','name','send','map','rawAttributes','fieldName','type','key','format','query','keys','filters','intersection','model','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','ScreenRecording','count'];(function(_0x302590,_0x23df0e){var _0x5ecdc5=function(_0x542935){while(--_0x542935){_0x302590['push'](_0x302590['shift']());}};_0x5ecdc5(++_0x23df0e);}(_0x9957,0x93));var _0x7995=function(_0x5ddb1c,_0x5ea4df){_0x5ddb1c=_0x5ddb1c-0x0;var _0x354adc=_0x9957[_0x5ddb1c];return _0x354adc;};'use strict';var pdf=require(_0x7995('0x0'));var emlformat=require(_0x7995('0x1'));var rimraf=require(_0x7995('0x2'));var zipdir=require(_0x7995('0x3'));var jsonpatch=require('fast-json-patch');var rp=require(_0x7995('0x4'));var moment=require(_0x7995('0x5'));var BPromise=require(_0x7995('0x6'));var Mustache=require(_0x7995('0x7'));var util=require('util');var path=require(_0x7995('0x8'));var sox=require(_0x7995('0x9'));var csv=require(_0x7995('0xa'));var ejs=require(_0x7995('0xb'));var fs=require('fs');var _=require(_0x7995('0xc'));var squel=require(_0x7995('0xd'));var crypto=require('crypto');var jsforce=require(_0x7995('0xe'));var deskjs=require(_0x7995('0xf'));var toCsv=require('to-csv');var querystring=require(_0x7995('0x10'));var Papa=require(_0x7995('0x11'));var Redis=require(_0x7995('0x12'));var authService=require(_0x7995('0x13'));var qs=require(_0x7995('0x14'));var as=require(_0x7995('0x15'));var hardwareService=require(_0x7995('0x16'));var logger=require('../../config/logger')(_0x7995('0x17'));var utils=require(_0x7995('0x18'));var config=require('../../config/environment');var db=require(_0x7995('0x19'))['db'];function respondWithStatusCode(_0x2cb37a,_0x19a27e){_0x19a27e=_0x19a27e||0xcc;return function(_0x385f00){if(_0x385f00){return _0x2cb37a[_0x7995('0x1a')](_0x19a27e);}return _0x2cb37a[_0x7995('0x1b')](_0x19a27e)[_0x7995('0x1c')]();};}function respondWithResult(_0x4cc004,_0x58f5ad){_0x58f5ad=_0x58f5ad||0xc8;return function(_0x2b4e94){if(_0x2b4e94){return _0x4cc004[_0x7995('0x1b')](_0x58f5ad)[_0x7995('0x1d')](_0x2b4e94);}};}function respondWithFilteredResult(_0x321ae8,_0x3f1d3e){return function(_0x1a5310){if(_0x1a5310){var _0x2202ce=_0x1a5310['count'],_0x41cbf0=_0x3f1d3e[_0x7995('0x1e')],_0x5377e5=_0x3f1d3e[_0x7995('0x1e')]+_0x3f1d3e[_0x7995('0x1f')],_0x2eeacc;if(_0x5377e5>=_0x2202ce){_0x5377e5=_0x2202ce;_0x2eeacc=0xc8;}else{_0x2eeacc=0xce;}_0x321ae8[_0x7995('0x1b')](_0x2eeacc);return _0x321ae8[_0x7995('0x20')](_0x7995('0x21'),_0x41cbf0+'-'+_0x5377e5+'/'+_0x2202ce)['json'](_0x1a5310);}return null;};}function patchUpdates(_0x54c9ae){return function(_0x2536c8){try{jsonpatch['apply'](_0x2536c8,_0x54c9ae,!![]);}catch(_0x555f74){return BPromise[_0x7995('0x22')](_0x555f74);}return _0x2536c8[_0x7995('0x23')]();};}function saveUpdates(_0x4cbe10,_0x3a9b54){return function(_0x51f276){if(_0x51f276){return _0x51f276['update'](_0x4cbe10)[_0x7995('0x24')](function(_0x327b1f){return _0x327b1f;});}return null;};}function removeEntity(_0x350fd9,_0x1a8568){return function(_0x460924){if(_0x460924){return _0x460924[_0x7995('0x25')]()['then'](function(){_0x350fd9[_0x7995('0x1b')](0xcc)[_0x7995('0x1c')]();});}};}function handleEntityNotFound(_0x204507,_0x285437){return function(_0x563799){if(!_0x563799){_0x204507[_0x7995('0x1a')](0x194);}return _0x563799;};}function handleError(_0x475351,_0x472195){_0x472195=_0x472195||0x1f4;return function(_0x59405a){logger[_0x7995('0x26')](_0x59405a[_0x7995('0x27')]);if(_0x59405a[_0x7995('0x28')]){delete _0x59405a[_0x7995('0x28')];}_0x475351[_0x7995('0x1b')](_0x472195)[_0x7995('0x29')](_0x59405a);};}exports['index']=function(_0x47625f,_0x5911c3){var _0x229742={},_0x49bc7e={},_0xf16cc2={'count':0x0,'rows':[]};var _0x132a42=_[_0x7995('0x2a')](db['ScreenRecording'][_0x7995('0x2b')],function(_0x514445){return{'name':_0x514445[_0x7995('0x2c')],'type':_0x514445[_0x7995('0x2d')][_0x7995('0x2e')]};});_0x49bc7e['model']=_['differenceBy'](_['map'](_0x132a42,_0x7995('0x28')),[_0x7995('0x2f')]);_0x49bc7e[_0x7995('0x30')]=_[_0x7995('0x31')](_0x47625f[_0x7995('0x30')]);_0x49bc7e[_0x7995('0x32')]=_['intersection'](_0x49bc7e['model'],_0x49bc7e[_0x7995('0x30')]);_0x229742['attributes']=_[_0x7995('0x33')](_0x49bc7e[_0x7995('0x34')],qs[_0x7995('0x35')](_0x47625f[_0x7995('0x30')][_0x7995('0x35')]));_0x229742['attributes']=_0x229742[_0x7995('0x36')][_0x7995('0x37')]?_0x229742['attributes']:_0x49bc7e['model'];if(!_0x47625f['query'][_0x7995('0x38')](_0x7995('0x39'))){_0x229742['limit']=qs[_0x7995('0x1f')](_0x47625f['query'][_0x7995('0x1f')]);_0x229742[_0x7995('0x1e')]=qs[_0x7995('0x1e')](_0x47625f['query']['offset']);}_0x229742[_0x7995('0x3a')]=qs['sort'](_0x47625f['query'][_0x7995('0x3b')]);_0x229742[_0x7995('0x3c')]=qs['filters'](_[_0x7995('0x3d')](_0x47625f[_0x7995('0x30')],_0x49bc7e[_0x7995('0x32')]));if(_0x47625f[_0x7995('0x30')][_0x7995('0x3e')]){_0x229742['where']=_[_0x7995('0x3f')](_0x229742[_0x7995('0x3c')],{'$or':_[_0x7995('0x2a')](_0x132a42,function(_0x1d60b8){if(_0x1d60b8['type']!==_0x7995('0x40')){var _0x235df7={};_0x235df7[_0x1d60b8[_0x7995('0x28')]]={'$like':'%'+_0x47625f[_0x7995('0x30')][_0x7995('0x3e')]+'%'};return _0x235df7;}})});}_0x229742=_[_0x7995('0x3f')]({},_0x229742,_0x47625f['options']);var _0x183a68={'where':_0x229742[_0x7995('0x3c')]};return db[_0x7995('0x41')][_0x7995('0x42')](_0x183a68)[_0x7995('0x24')](function(_0x298fc2){_0xf16cc2[_0x7995('0x42')]=_0x298fc2;if(_0x47625f[_0x7995('0x30')][_0x7995('0x43')]){_0x229742[_0x7995('0x44')]=[{'all':!![]}];}return db[_0x7995('0x41')][_0x7995('0x45')](_0x229742);})[_0x7995('0x24')](function(_0x53cda2){_0xf16cc2['rows']=_0x53cda2;return _0xf16cc2;})[_0x7995('0x24')](respondWithFilteredResult(_0x5911c3,_0x229742))[_0x7995('0x46')](handleError(_0x5911c3,null));};exports['show']=function(_0x4b0855,_0x3f8522){var _0x4a9fef={'raw':![],'where':{'id':_0x4b0855[_0x7995('0x47')]['id']}},_0x504a33={};_0x504a33[_0x7995('0x34')]=_[_0x7995('0x31')](db['ScreenRecording'][_0x7995('0x2b')]);_0x504a33['query']=_[_0x7995('0x31')](_0x4b0855['query']);_0x504a33['filters']=_[_0x7995('0x33')](_0x504a33[_0x7995('0x34')],_0x504a33[_0x7995('0x30')]);_0x4a9fef[_0x7995('0x36')]=_['intersection'](_0x504a33[_0x7995('0x34')],qs[_0x7995('0x35')](_0x4b0855[_0x7995('0x30')][_0x7995('0x35')]));_0x4a9fef['attributes']=_0x4a9fef['attributes'][_0x7995('0x37')]?_0x4a9fef['attributes']:_0x504a33[_0x7995('0x34')];if(_0x4b0855['query'][_0x7995('0x43')]){_0x4a9fef['include']=[{'all':!![]}];}_0x4a9fef=_[_0x7995('0x3f')]({},_0x4a9fef,_0x4b0855[_0x7995('0x48')]);return db['ScreenRecording'][_0x7995('0x49')](_0x4a9fef)[_0x7995('0x24')](handleEntityNotFound(_0x3f8522,null))[_0x7995('0x24')](respondWithResult(_0x3f8522,null))[_0x7995('0x46')](handleError(_0x3f8522,null));};exports['create']=function(_0x2458cb,_0x3e787d){return db[_0x7995('0x41')]['create'](_0x2458cb[_0x7995('0x4a')],{})[_0x7995('0x24')](respondWithResult(_0x3e787d,0xc9))[_0x7995('0x46')](handleError(_0x3e787d,null));};exports[_0x7995('0x4b')]=function(_0x255313,_0x51934b){if(_0x255313[_0x7995('0x4a')]['id']){delete _0x255313[_0x7995('0x4a')]['id'];}delete _0x255313['body'][_0x7995('0x4c')];delete _0x255313['body'][_0x7995('0x4d')];delete _0x255313[_0x7995('0x4a')][_0x7995('0x4e')];delete _0x255313[_0x7995('0x4a')][_0x7995('0x4f')];return db[_0x7995('0x41')][_0x7995('0x49')]({'where':{'id':_0x255313['params']['id']}})[_0x7995('0x24')](handleEntityNotFound(_0x51934b,null))[_0x7995('0x24')](saveUpdates(_0x255313[_0x7995('0x4a')],null))['then'](respondWithResult(_0x51934b,null))[_0x7995('0x46')](handleError(_0x51934b,null));};exports[_0x7995('0x50')]=function(_0x12d4b8,_0x47d1d8){return db['ScreenRecording']['describe']()[_0x7995('0x24')](respondWithResult(_0x47d1d8,null))[_0x7995('0x46')](handleError(_0x47d1d8,null));};exports['download']=function(_0x1cd85,_0x29f300,_0x31f27c){var _0x1a9bd7=require(_0x7995('0x51'));var _0x528c8e=![];var _0x29ee32={};if(_0x1cd85['query'][_0x7995('0x2d')]&&_0x1cd85[_0x7995('0x30')][_0x7995('0x2d')]==='uniqueid'){_0x29ee32['uniqueid']=_0x1cd85['params']['id'];}else{_0x29ee32['id']=_0x1cd85['params']['id'];}return db[_0x7995('0x41')][_0x7995('0x49')]({'where':_0x29ee32,'attributes':['id',_0x7995('0x4f')],'raw':!![]})[_0x7995('0x24')](handleEntityNotFound(_0x29f300,null))[_0x7995('0x24')](function(_0x357e60){if(_0x357e60){var _0x1f4270=path[_0x7995('0x52')](config[_0x7995('0x53')],_0x7995('0x54'),_0x357e60[_0x7995('0x4f')]);var _0x133c63=util[_0x7995('0x2f')](_0x7995('0x55'),_0x1f4270);if(fs[_0x7995('0x56')](_0x133c63)){_0x528c8e=!![];return _0x1a9bd7[_0x7995('0x57')](_0x133c63,_0x1f4270,config[_0x7995('0x58')][_0x7995('0x59')])[_0x7995('0x24')](function(){return _0x357e60;});}return _0x357e60;}})['then'](function(_0x56a374){if(_0x56a374){var _0x630737=path[_0x7995('0x52')](config[_0x7995('0x53')],'server/files/screen_recordings',_0x56a374['value']);if(!fs[_0x7995('0x56')](_0x630737)){throw new db[(_0x7995('0x5a'))][(_0x7995('0x5b'))](_0x7995('0x5c'));}if(_0x56a374['filename']){return _0x29f300[_0x7995('0x5d')](_0x630737,_0x56a374[_0x7995('0x5e')]+path[_0x7995('0x5f')](_0x630737),function(){if(_0x528c8e){fs[_0x7995('0x60')](_0x630737);}});}else{return _0x29f300['download'](_0x630737,function(_0x5e2d97){if(_0x528c8e){fs[_0x7995('0x60')](_0x630737);}});}}})[_0x7995('0x46')](function(_0x6c0221){if(_0x6c0221[_0x7995('0x61')]===_0x7995('0x5c')){_0x29f300[_0x7995('0x1b')](0x194)[_0x7995('0x29')](_0x7995('0x62'));}else{return handleError(_0x29f300,null);}});};exports[_0x7995('0x25')]=function(_0x50caf5,_0x18f230){return db[_0x7995('0x41')][_0x7995('0x49')]({'where':{'id':_0x50caf5[_0x7995('0x47')]['id']}})['then'](function(_0x51bf6a){if(!_0x51bf6a)throw new ReferenceError(_0x7995('0x63'));return _0x51bf6a;})[_0x7995('0x24')](function(_0x47d5d7){var _0x971a23=path[_0x7995('0x52')](config[_0x7995('0x53')],_0x7995('0x54'),_0x47d5d7[_0x7995('0x4f')]);logger['info'](_0x7995('0x64'),_0x971a23);if(!_['isNil'](_0x47d5d7[_0x7995('0x4f')])&&fs[_0x7995('0x56')](_0x971a23)){logger[_0x7995('0x65')](_0x7995('0x66')+_0x971a23+_0x7995('0x67'));fs[_0x7995('0x68')](_0x971a23);}_0x971a23=_0x971a23+_0x7995('0x69');if(!_[_0x7995('0x6a')](_0x47d5d7[_0x7995('0x4f')])&&fs[_0x7995('0x56')](_0x971a23)){logger[_0x7995('0x65')](_0x7995('0x66')+_0x971a23+'\x22\x20trovato\x20eseguo\x20la\x20cancellazione');fs[_0x7995('0x68')](_0x971a23);}return _0x47d5d7;})[_0x7995('0x24')](function(_0x293480){if(!_0x293480)throw new InternalError();return _0x293480[_0x7995('0x25')]();})[_0x7995('0x24')](function(){_0x18f230['status'](0xcc)['end']();})[_0x7995('0x46')](handleError(_0x18f230,null));};