Built motion from commit caf7d5f0.|2.5.39
[motion2.git] / server / api / voiceRecording / voiceRecording.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 _0xf7d7=['../../components/encryptor','uniqueid','value','%s.cypher','existsSync','decryptFile','secrets','recording','Sequelize','ValidationError','VoiceRecording\x20not\x20found','filename','unlink','message','sequelize','MD5','col','token','push','extname','isNil','Entity\x20not\x20found','info','cancellazione\x20fisica\x20documento\x20%s','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','listBuckets','createBucket','upload','startTranscriptionJob','[RUNTRANSCRIPT][%d]\x20Starting\x20voice\x20recording\x20upload\x20in\x20bucket\x20%s','basename','readFileSync','[RUNTRANSCRIPT][%d]\x20Voice\x20recording\x20uploaded\x20in\x20bucket\x20%s\x20(%s)','Location','Bucket','[RUNTRANSCRIPT][%d]\x20Sending\x20transcribe\x20request','[RUNTRANSCRIPT][%d]\x20Transcription\x20job\x20%s\x20created','TranscriptionJob','transcribeName','transcribeStatus','TranscriptionJobStatus','Voice\x20Recording\x20not\x20found','Setting','transcribe','transcribeAccountId','transcribeRegion','language','bucket','Transcribe\x20not\x20configured','runSentiment','sentiment','sentimentAccountId','sentimentRegion','Sentiment\x20Analysis\x20not\x20configured','CloudProvider','findOne','Cloud\x20Provider\x20not\x20available','data2','Cloud\x20Provider\x20not\x20configured','data1','Buckets','NEW','[RUNTRANSCRIPT][%d]\x20Transcript\x20action\x20already\x20requested','IN_PROGRESS','updateAttributes','writeFile','downloadTranscribe','fileText','root','/server/files/transcribes/transcribe_','.txt','Transcript\x20not\x20available','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','util','path','sox','ejs','lodash','squel','desk.js','querystring','aws-sdk','uuid/v4','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/utils','../../mysqldb','sendStatus','status','end','undefined','limit','offset','set','Content-Range','json','save','update','then','destroy','stack','name','send','index','map','VoiceRecording','rawAttributes','type','differenceBy','format','query','keys','filters','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','order','sort','pick','filter','merge','where','VIRTUAL','count','include','rows','catch','show','params','options','create','body','find','describe','download'];(function(_0x547456,_0x1de17e){var _0xc1fd7b=function(_0x12be35){while(--_0x12be35){_0x547456['push'](_0x547456['shift']());}};_0xc1fd7b(++_0x1de17e);}(_0xf7d7,0xdd));var _0x7f7d=function(_0x465a0c,_0x19d4d5){_0x465a0c=_0x465a0c-0x0;var _0x1e202e=_0xf7d7[_0x465a0c];return _0x1e202e;};'use strict';var emlformat=require(_0x7f7d('0x0'));var rimraf=require(_0x7f7d('0x1'));var zipdir=require(_0x7f7d('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x7f7d('0x3'));var moment=require(_0x7f7d('0x4'));var BPromise=require(_0x7f7d('0x5'));var Mustache=require(_0x7f7d('0x6'));var util=require(_0x7f7d('0x7'));var path=require(_0x7f7d('0x8'));var sox=require(_0x7f7d('0x9'));var csv=require('to-csv');var ejs=require(_0x7f7d('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x7f7d('0xb'));var squel=require(_0x7f7d('0xc'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x7f7d('0xd'));var toCsv=require('to-csv');var querystring=require(_0x7f7d('0xe'));var Papa=require('papaparse');var AWS=require(_0x7f7d('0xf'));var uuidv4=require(_0x7f7d('0x10'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0x7f7d('0x11'));var as=require(_0x7f7d('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')('api');var utils=require(_0x7f7d('0x13'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x7f7d('0x14'))['db'];function respondWithStatusCode(_0x16e9b5,_0x46be17){_0x46be17=_0x46be17||0xcc;return function(_0x3d3601){if(_0x3d3601){return _0x16e9b5[_0x7f7d('0x15')](_0x46be17);}return _0x16e9b5[_0x7f7d('0x16')](_0x46be17)[_0x7f7d('0x17')]();};}function respondWithResult(_0x27b40c,_0x1e9014){_0x1e9014=_0x1e9014||0xc8;return function(_0x15e100){if(_0x15e100){return _0x27b40c[_0x7f7d('0x16')](_0x1e9014)['json'](_0x15e100);}};}function respondWithFilteredResult(_0x4b9501,_0xe0e4b){return function(_0x526206){if(_0x526206){var _0x22914b=typeof _0xe0e4b['offset']===_0x7f7d('0x18')&&typeof _0xe0e4b[_0x7f7d('0x19')]===_0x7f7d('0x18');var _0xfbb6d=_0x526206['count'];var _0x1a9a34=_0x22914b?0x0:_0xe0e4b['offset'];var _0x56d8cb=_0x22914b?_0x526206['count']:_0xe0e4b[_0x7f7d('0x1a')]+_0xe0e4b[_0x7f7d('0x19')];var _0x3516d2;if(_0x56d8cb>=_0xfbb6d){_0x56d8cb=_0xfbb6d;_0x3516d2=0xc8;}else{_0x3516d2=0xce;}_0x4b9501['status'](_0x3516d2);return _0x4b9501[_0x7f7d('0x1b')](_0x7f7d('0x1c'),_0x1a9a34+'-'+_0x56d8cb+'/'+_0xfbb6d)[_0x7f7d('0x1d')](_0x526206);}return null;};}function patchUpdates(_0x358fb4){return function(_0x2d7915){try{jsonpatch['apply'](_0x2d7915,_0x358fb4,!![]);}catch(_0x29c611){return BPromise['reject'](_0x29c611);}return _0x2d7915[_0x7f7d('0x1e')]();};}function saveUpdates(_0x4abf69,_0x5d01f3){return function(_0x3a55b3){if(_0x3a55b3){return _0x3a55b3[_0x7f7d('0x1f')](_0x4abf69)[_0x7f7d('0x20')](function(_0x4970ba){return _0x4970ba;});}return null;};}function removeEntity(_0x2034ee,_0x1d97f4){return function(_0x19178a){if(_0x19178a){return _0x19178a[_0x7f7d('0x21')]()[_0x7f7d('0x20')](function(){_0x2034ee['status'](0xcc)[_0x7f7d('0x17')]();});}};}function handleEntityNotFound(_0x5042ad,_0x42f280){return function(_0x518b5a){if(!_0x518b5a){_0x5042ad[_0x7f7d('0x15')](0x194);}return _0x518b5a;};}function handleError(_0x21fc57,_0x4dc4ce){_0x4dc4ce=_0x4dc4ce||0x1f4;return function(_0x4192d3){logger['error'](_0x4192d3[_0x7f7d('0x22')]);if(_0x4192d3[_0x7f7d('0x23')]){delete _0x4192d3[_0x7f7d('0x23')];}_0x21fc57[_0x7f7d('0x16')](_0x4dc4ce)[_0x7f7d('0x24')](_0x4192d3);};}exports[_0x7f7d('0x25')]=function(_0x51db3a,_0xc1a49c){var _0x2a2695={},_0x1422a5={},_0x4f0a50={'count':0x0,'rows':[]};var _0x4e504f=_[_0x7f7d('0x26')](db[_0x7f7d('0x27')][_0x7f7d('0x28')],function(_0x4643b3){return{'name':_0x4643b3['fieldName'],'type':_0x4643b3[_0x7f7d('0x29')]['key']};});_0x1422a5['model']=_[_0x7f7d('0x2a')](_[_0x7f7d('0x26')](_0x4e504f,'name'),[_0x7f7d('0x2b')]);_0x1422a5[_0x7f7d('0x2c')]=_[_0x7f7d('0x2d')](_0x51db3a[_0x7f7d('0x2c')]);_0x1422a5[_0x7f7d('0x2e')]=_[_0x7f7d('0x2f')](_0x1422a5[_0x7f7d('0x30')],_0x1422a5[_0x7f7d('0x2c')]);_0x2a2695[_0x7f7d('0x31')]=_[_0x7f7d('0x2f')](_0x1422a5[_0x7f7d('0x30')],qs[_0x7f7d('0x32')](_0x51db3a[_0x7f7d('0x2c')][_0x7f7d('0x32')]));_0x2a2695[_0x7f7d('0x31')]=_0x2a2695['attributes'][_0x7f7d('0x33')]?_0x2a2695[_0x7f7d('0x31')]:_0x1422a5['model'];if(!_0x51db3a[_0x7f7d('0x2c')][_0x7f7d('0x34')](_0x7f7d('0x35'))){_0x2a2695[_0x7f7d('0x19')]=qs[_0x7f7d('0x19')](_0x51db3a['query']['limit']);_0x2a2695[_0x7f7d('0x1a')]=qs[_0x7f7d('0x1a')](_0x51db3a[_0x7f7d('0x2c')][_0x7f7d('0x1a')]);}_0x2a2695[_0x7f7d('0x36')]=qs[_0x7f7d('0x37')](_0x51db3a[_0x7f7d('0x2c')][_0x7f7d('0x37')]);_0x2a2695['where']=qs[_0x7f7d('0x2e')](_[_0x7f7d('0x38')](_0x51db3a[_0x7f7d('0x2c')],_0x1422a5[_0x7f7d('0x2e')]),_0x4e504f);if(_0x51db3a['query'][_0x7f7d('0x39')]){_0x2a2695['where']=_[_0x7f7d('0x3a')](_0x2a2695[_0x7f7d('0x3b')],{'$or':_[_0x7f7d('0x26')](_0x4e504f,function(_0x497f71){if(_0x497f71[_0x7f7d('0x29')]!==_0x7f7d('0x3c')){var _0x27a770={};_0x27a770[_0x497f71[_0x7f7d('0x23')]]={'$like':'%'+_0x51db3a[_0x7f7d('0x2c')][_0x7f7d('0x39')]+'%'};return _0x27a770;}})});}_0x2a2695=_[_0x7f7d('0x3a')]({},_0x2a2695,_0x51db3a['options']);var _0x15d30a={'where':_0x2a2695['where']};return db[_0x7f7d('0x27')][_0x7f7d('0x3d')](_0x15d30a)['then'](function(_0xfd6ab8){_0x4f0a50[_0x7f7d('0x3d')]=_0xfd6ab8;if(_0x51db3a[_0x7f7d('0x2c')]['includeAll']){_0x2a2695[_0x7f7d('0x3e')]=[{'all':!![]}];}return db['VoiceRecording']['findAll'](_0x2a2695);})['then'](function(_0x49cb48){_0x4f0a50[_0x7f7d('0x3f')]=_0x49cb48;return _0x4f0a50;})[_0x7f7d('0x20')](respondWithFilteredResult(_0xc1a49c,_0x2a2695))[_0x7f7d('0x40')](handleError(_0xc1a49c,null));};exports[_0x7f7d('0x41')]=function(_0x464768,_0x4cb891){var _0x37ab6a={'raw':![],'where':{'id':_0x464768[_0x7f7d('0x42')]['id']}},_0x5426f3={};_0x5426f3[_0x7f7d('0x30')]=_[_0x7f7d('0x2d')](db[_0x7f7d('0x27')][_0x7f7d('0x28')]);_0x5426f3[_0x7f7d('0x2c')]=_[_0x7f7d('0x2d')](_0x464768[_0x7f7d('0x2c')]);_0x5426f3[_0x7f7d('0x2e')]=_[_0x7f7d('0x2f')](_0x5426f3[_0x7f7d('0x30')],_0x5426f3[_0x7f7d('0x2c')]);_0x37ab6a[_0x7f7d('0x31')]=_['intersection'](_0x5426f3[_0x7f7d('0x30')],qs[_0x7f7d('0x32')](_0x464768['query']['fields']));_0x37ab6a[_0x7f7d('0x31')]=_0x37ab6a[_0x7f7d('0x31')][_0x7f7d('0x33')]?_0x37ab6a[_0x7f7d('0x31')]:_0x5426f3[_0x7f7d('0x30')];if(_0x464768[_0x7f7d('0x2c')]['includeAll']){_0x37ab6a[_0x7f7d('0x3e')]=[{'all':!![]}];}_0x37ab6a=_['merge']({},_0x37ab6a,_0x464768[_0x7f7d('0x43')]);return db[_0x7f7d('0x27')]['find'](_0x37ab6a)[_0x7f7d('0x20')](handleEntityNotFound(_0x4cb891,null))['then'](respondWithResult(_0x4cb891,null))[_0x7f7d('0x40')](handleError(_0x4cb891,null));};exports[_0x7f7d('0x44')]=function(_0x5795a2,_0x33c088){return db['VoiceRecording'][_0x7f7d('0x44')](_0x5795a2['body'],{})[_0x7f7d('0x20')](respondWithResult(_0x33c088,0xc9))[_0x7f7d('0x40')](handleError(_0x33c088,null));};exports[_0x7f7d('0x1f')]=function(_0x2fd95b,_0x563433){if(_0x2fd95b['body']['id']){delete _0x2fd95b[_0x7f7d('0x45')]['id'];}return db[_0x7f7d('0x27')][_0x7f7d('0x46')]({'where':{'id':_0x2fd95b[_0x7f7d('0x42')]['id']}})[_0x7f7d('0x20')](handleEntityNotFound(_0x563433,null))[_0x7f7d('0x20')](saveUpdates(_0x2fd95b[_0x7f7d('0x45')],null))[_0x7f7d('0x20')](respondWithResult(_0x563433,null))[_0x7f7d('0x40')](handleError(_0x563433,null));};exports[_0x7f7d('0x47')]=function(_0x22ad2c,_0x12808e){return db[_0x7f7d('0x27')][_0x7f7d('0x47')]()[_0x7f7d('0x20')](respondWithResult(_0x12808e,null))[_0x7f7d('0x40')](handleError(_0x12808e,null));};exports[_0x7f7d('0x48')]=function(_0x453ee6,_0xd01ec3,_0x16e8f7){var _0x7e1200=require(_0x7f7d('0x49'));var _0x342b90=![];var _0x120ae6={};if(_0x453ee6[_0x7f7d('0x2c')][_0x7f7d('0x29')]&&_0x453ee6[_0x7f7d('0x2c')][_0x7f7d('0x29')]===_0x7f7d('0x4a')){_0x120ae6[_0x7f7d('0x4a')]=_0x453ee6[_0x7f7d('0x42')]['id'];}else{_0x120ae6['id']=_0x453ee6[_0x7f7d('0x42')]['id'];}return db['VoiceRecording'][_0x7f7d('0x46')]({'where':_0x120ae6,'attributes':['id','value'],'raw':!![]})[_0x7f7d('0x20')](handleEntityNotFound(_0xd01ec3,null))[_0x7f7d('0x20')](function(_0x1bffd7){if(_0x1bffd7){var _0x4091a4=_0x1bffd7[_0x7f7d('0x4b')];var _0x34345a=util['format'](_0x7f7d('0x4c'),_0x4091a4);if(fs[_0x7f7d('0x4d')](_0x34345a)){_0x342b90=!![];return _0x7e1200[_0x7f7d('0x4e')](_0x34345a,_0x4091a4,config[_0x7f7d('0x4f')][_0x7f7d('0x50')])[_0x7f7d('0x20')](function(){return _0x1bffd7;});}return _0x1bffd7;}})[_0x7f7d('0x20')](function(_0x331b3a){if(_0x331b3a){var _0x1d6117=_0x331b3a['value'];if(!fs['existsSync'](_0x1d6117)){throw new db[(_0x7f7d('0x51'))][(_0x7f7d('0x52'))](_0x7f7d('0x53'));}if(_0x331b3a[_0x7f7d('0x54')]){return _0xd01ec3[_0x7f7d('0x48')](_0x1d6117,_0x331b3a[_0x7f7d('0x54')]+path['extname'](_0x1d6117),function(){if(_0x342b90){fs[_0x7f7d('0x55')](_0x1d6117);}});}else{return _0xd01ec3[_0x7f7d('0x48')](_0x1d6117,function(_0x515b22){if(_0x342b90){fs[_0x7f7d('0x55')](_0x1d6117);}});}}})[_0x7f7d('0x40')](function(_0x69f8f6){if(_0x69f8f6[_0x7f7d('0x56')]===_0x7f7d('0x53')){_0xd01ec3[_0x7f7d('0x16')](0x194)[_0x7f7d('0x24')]('Not\x20found');}else{return handleError(_0xd01ec3,null);}});};exports['downloads']=function(_0x49e8b5,_0x32d39b,_0x100a21){var _0x33c533=require('../../components/encryptor');var _0x50d2e7=![];var _0x1dd5ca={'$and':[db['sequelize'][_0x7f7d('0x3b')](db[_0x7f7d('0x57')]['fn'](_0x7f7d('0x58'),db['sequelize'][_0x7f7d('0x59')](_0x7f7d('0x4a'))),_0x49e8b5['query'][_0x7f7d('0x5a')])]};if(_0x49e8b5[_0x7f7d('0x2c')][_0x7f7d('0x29')]&&_0x49e8b5['query'][_0x7f7d('0x29')]==='uniqueid'){_0x1dd5ca['$and'][_0x7f7d('0x5b')]({'uniqueid':_0x49e8b5[_0x7f7d('0x42')]['id']});}else{_0x1dd5ca['$and'][_0x7f7d('0x5b')]({'id':_0x49e8b5[_0x7f7d('0x42')]['id']});}return db[_0x7f7d('0x27')]['find']({'where':_0x1dd5ca,'attributes':['id',_0x7f7d('0x4b')],'raw':!![]})[_0x7f7d('0x20')](handleEntityNotFound(_0x32d39b,null))[_0x7f7d('0x20')](function(_0x57c621){if(_0x57c621){var _0x3ae9c2=util[_0x7f7d('0x2b')](_0x7f7d('0x4c'),_0x57c621[_0x7f7d('0x4b')]);if(fs[_0x7f7d('0x4d')](_0x3ae9c2)){_0x50d2e7=!![];return _0x33c533[_0x7f7d('0x4e')](_0x3ae9c2,_0x57c621[_0x7f7d('0x4b')],config[_0x7f7d('0x4f')][_0x7f7d('0x50')])[_0x7f7d('0x20')](function(){return _0x57c621;});}return _0x57c621;}})[_0x7f7d('0x20')](function(_0x146e88){if(_0x146e88){if(!fs['existsSync'](_0x146e88[_0x7f7d('0x4b')])){throw new db[(_0x7f7d('0x51'))][(_0x7f7d('0x52'))]('VoiceRecording\x20not\x20found');}if(_0x146e88[_0x7f7d('0x54')]){return _0x32d39b[_0x7f7d('0x48')](_0x146e88['value'],_0x146e88['filename']+path[_0x7f7d('0x5c')](_0x146e88[_0x7f7d('0x4b')]),function(){if(_0x50d2e7){fs[_0x7f7d('0x55')](_0x146e88['value']);}});}else{return _0x32d39b['download'](_0x146e88['value'],function(_0x4f63e8){if(_0x50d2e7){fs['unlink'](_0x146e88[_0x7f7d('0x4b')]);}});}}})[_0x7f7d('0x40')](handleError(_0x32d39b,null));};exports['destroy']=function(_0x2bd35b,_0x37f824){return db['VoiceRecording'][_0x7f7d('0x46')]({'where':{'id':_0x2bd35b['params']['id']}})[_0x7f7d('0x20')](function(_0x30eb52){if(_[_0x7f7d('0x5d')](_0x30eb52)){throw new ReferenceError(_0x7f7d('0x5e'));}return _0x30eb52;})[_0x7f7d('0x20')](function(_0xedb096){var _0x416c33=_0xedb096[_0x7f7d('0x4b')];logger[_0x7f7d('0x5f')](_0x7f7d('0x60'),_0x416c33);if(!_[_0x7f7d('0x5d')](_0xedb096[_0x7f7d('0x4b')])&&fs[_0x7f7d('0x4d')](_0x416c33)){logger[_0x7f7d('0x5f')](_0x7f7d('0x61')+_0x416c33+_0x7f7d('0x62'));fs[_0x7f7d('0x63')](_0x416c33);}_0x416c33=_0x416c33+'.cypher';if(!_[_0x7f7d('0x5d')](_0xedb096[_0x7f7d('0x4b')])&&fs[_0x7f7d('0x4d')](_0x416c33)){logger[_0x7f7d('0x5f')](_0x7f7d('0x61')+_0x416c33+_0x7f7d('0x62'));fs[_0x7f7d('0x63')](_0x416c33);}return _0xedb096;})['then'](function(_0x13aaa6){if(!_0x13aaa6)throw new InternalError();return _0x13aaa6[_0x7f7d('0x21')]();})['then'](function(){_0x37f824[_0x7f7d('0x16')](0xcc)['end']();})[_0x7f7d('0x40')](handleError(_0x37f824,null));};function getBucketslist(_0x3f195c,_0x4daf98,_0x5a4202){return new Promise(function(_0x3a7051,_0x372dc4){var _0x1fad57=new AWS['S3']({'accessKeyId':_0x4daf98,'secretAccessKey':_0x3f195c,'region':_0x5a4202});_0x1fad57[_0x7f7d('0x64')]({},function(_0x2faddc,_0x545630){if(_0x2faddc){return _0x372dc4(_0x2faddc);}else{return _0x3a7051(_0x545630);}});});}function createBucket(_0x7ec1a2,_0x1086e9,_0x55e234,_0x22b839){return new Promise(function(_0x37cdb4,_0x313c66){var _0x217ee7=new AWS['S3']({'accessKeyId':_0x1086e9,'secretAccessKey':_0x7ec1a2,'region':_0x55e234});_0x217ee7[_0x7f7d('0x65')]({'Bucket':_0x22b839},function(_0x5872d2,_0x5c3c38){if(_0x5872d2){return _0x313c66(_0x5872d2);}else{return _0x37cdb4(_0x5c3c38);}});});}function uploadFile(_0x379b47,_0x3a3141,_0x17eb21,_0x66257a,_0x4f9be1,_0x1f803){return new Promise(function(_0x54e64f,_0x3af49c){var _0x411161=new AWS['S3']({'accessKeyId':_0x3a3141,'secretAccessKey':_0x379b47,'region':_0x17eb21});_0x411161[_0x7f7d('0x66')]({'Bucket':_0x66257a,'Key':_0x4f9be1,'Body':_0x1f803},function(_0x1c31b4,_0x988e54){if(_0x1c31b4){return _0x3af49c(_0x1c31b4);}else{return _0x54e64f(_0x988e54);}});});}function startTranscribe(_0x27b2e1,_0x344161,_0x4be208,_0x387238,_0x4985fe,_0x1a484a){return new Promise(function(_0x5be4da,_0x555346){var _0x3eb33d=new AWS['TranscribeService']({'accessKeyId':_0x344161,'secretAccessKey':_0x27b2e1,'region':_0x4be208});_0x3eb33d[_0x7f7d('0x67')]({'TranscriptionJobName':_0x387238,'LanguageCode':_0x4985fe,'Media':{'MediaFileUri':_0x1a484a}},function(_0x3addd7,_0x421ac6){if(_0x3addd7){return _0x555346(_0x3addd7);}else{return _0x5be4da(_0x421ac6);}});});}function transcribe(_0x25e7ce,_0x1bee56,_0x156cf9,_0x2b443d,_0x1fa100,_0x5ee2c0,_0x4e10e3){return new Promise(function(_0xc601af,_0x212f2a){var _0x510632={};logger[_0x7f7d('0x5f')](util[_0x7f7d('0x2b')](_0x7f7d('0x68'),_0x25e7ce,_0x1fa100));return uploadFile(_0x1bee56,_0x156cf9,_0x2b443d,_0x1fa100,path[_0x7f7d('0x69')](_0x5ee2c0),fs[_0x7f7d('0x6a')](_0x5ee2c0))[_0x7f7d('0x20')](function(_0xd1ba4e){logger[_0x7f7d('0x5f')](util[_0x7f7d('0x2b')](_0x7f7d('0x6b'),_0x25e7ce,_0x1fa100,_0xd1ba4e[_0x7f7d('0x6c')]));_0x510632['bucket']=_0xd1ba4e[_0x7f7d('0x6d')];_0x510632['location']=_0xd1ba4e[_0x7f7d('0x6c')];logger['info'](util[_0x7f7d('0x2b')](_0x7f7d('0x6e'),_0x25e7ce));return startTranscribe(_0x1bee56,_0x156cf9,_0x2b443d,uuidv4(),_0x4e10e3,_0xd1ba4e[_0x7f7d('0x6c')]);})[_0x7f7d('0x20')](function(_0x6d9c45){logger[_0x7f7d('0x5f')](util[_0x7f7d('0x2b')](_0x7f7d('0x6f'),_0x25e7ce,_0x6d9c45[_0x7f7d('0x70')]['TranscriptionJobName']));_0x510632[_0x7f7d('0x71')]=_0x6d9c45['TranscriptionJob']['TranscriptionJobName'];_0x510632[_0x7f7d('0x72')]=_0x6d9c45[_0x7f7d('0x70')][_0x7f7d('0x73')];return _0xc601af(_0x510632);})[_0x7f7d('0x40')](function(_0x181366){return _0x212f2a(_0x181366);});});}exports['runTranscribe']=function(_0x5ccd43,_0x412c45,_0x5986b2){var _0xd4a802;var _0x32cf12;var _0x52499e;var _0x2122a4=require(_0x7f7d('0x49'));return db['VoiceRecording']['findOne']({'where':{'id':_0x5ccd43['params']['id']}})[_0x7f7d('0x20')](function(_0x4620ef){if(_0x4620ef){var _0x1ce717=util['format'](_0x7f7d('0x4c'),_0x4620ef['value']);if(fs[_0x7f7d('0x4d')](_0x1ce717)){cypher=!![];return _0x2122a4[_0x7f7d('0x4e')](_0x1ce717,_0x4620ef[_0x7f7d('0x4b')],config[_0x7f7d('0x4f')][_0x7f7d('0x50')])['then'](function(){return _0x4620ef;});}return _0x4620ef;}})[_0x7f7d('0x20')](function(_0xaa2eab){if(!_0xaa2eab){throw new db[(_0x7f7d('0x51'))][(_0x7f7d('0x52'))](_0x7f7d('0x74'));}_0x32cf12=_0xaa2eab;return db[_0x7f7d('0x75')]['findOne']({'where':{'id':0x1}});})[_0x7f7d('0x20')](handleEntityNotFound(_0x412c45,null))[_0x7f7d('0x20')](function(_0x537114){if(_0x537114){_0xd4a802=_0x537114;if(!_0xd4a802[_0x7f7d('0x76')]||!_0xd4a802[_0x7f7d('0x77')]||!_0xd4a802[_0x7f7d('0x78')]||!_0xd4a802[_0x7f7d('0x79')]||!_0xd4a802[_0x7f7d('0x7a')]){throw new db[(_0x7f7d('0x51'))]['ValidationError'](_0x7f7d('0x7b'));}if(_0x5ccd43[_0x7f7d('0x45')][_0x7f7d('0x7c')]&&(!_0xd4a802[_0x7f7d('0x7d')]||!_0xd4a802[_0x7f7d('0x7e')]||!_0xd4a802[_0x7f7d('0x7f')]||!_0xd4a802[_0x7f7d('0x79')]||!_0xd4a802['bucket'])){throw new db[(_0x7f7d('0x51'))]['ValidationError'](_0x7f7d('0x80'));}return db[_0x7f7d('0x81')][_0x7f7d('0x82')]({'where':{'id':_0xd4a802[_0x7f7d('0x77')]}});}})[_0x7f7d('0x20')](function(_0x49e5ab){if(!_0x49e5ab){throw new db['Sequelize'][(_0x7f7d('0x52'))](_0x7f7d('0x83'));}if(!_0x49e5ab['data1']||!_0x49e5ab[_0x7f7d('0x84')]){throw new db[(_0x7f7d('0x51'))][(_0x7f7d('0x52'))](_0x7f7d('0x85'));}_0x52499e=_0x49e5ab;return getBucketslist(_0x52499e[_0x7f7d('0x86')],_0x52499e[_0x7f7d('0x84')],_0xd4a802['transcribeRegion']);})['then'](function(_0x37dcb2){if(_0x37dcb2&&_0x37dcb2[_0x7f7d('0x87')]){var _0x589646=_['find'](_0x37dcb2['Buckets'],function(_0x262ab0){return _0x262ab0['Name']===_0xd4a802[_0x7f7d('0x7a')];});if(!_0x589646){logger[_0x7f7d('0x5f')](util['format']('[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20not\x20available',_0x5ccd43['params']['id'],_0xd4a802[_0x7f7d('0x7a')]));return createBucket(_0x52499e[_0x7f7d('0x86')],_0x52499e['data2'],_0xd4a802[_0x7f7d('0x78')],_0xd4a802['bucket']);}logger['info'](util[_0x7f7d('0x2b')]('[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20available',_0x5ccd43[_0x7f7d('0x42')]['id'],_0xd4a802[_0x7f7d('0x7a')]));return;}})[_0x7f7d('0x20')](function(_0x5bb216){if(_0x32cf12[_0x7f7d('0x72')]===_0x7f7d('0x88')){return transcribe(_0x5ccd43[_0x7f7d('0x42')]['id'],_0x52499e['data1'],_0x52499e[_0x7f7d('0x84')],_0xd4a802[_0x7f7d('0x78')],_0xd4a802['bucket'],_0x32cf12[_0x7f7d('0x4b')],_0xd4a802[_0x7f7d('0x79')]);}else{logger[_0x7f7d('0x5f')](util[_0x7f7d('0x2b')](_0x7f7d('0x89'),_0x5ccd43[_0x7f7d('0x42')]['id']));return{'transcribeStatus':_0x7f7d('0x8a')};}})[_0x7f7d('0x20')](function(_0x1b1985){if(_0x1b1985){_0x1b1985['tempSentiment']=_0x5ccd43[_0x7f7d('0x45')][_0x7f7d('0x7c')];return _0x32cf12[_0x7f7d('0x8b')](_0x1b1985);}})['then'](respondWithResult(_0x412c45,null))[_0x7f7d('0x40')](handleError(_0x412c45,null));};function writeFile(_0x1e9b17,_0x263f66){return new Promise(function(_0x3e67d3,_0x960eb0){fs[_0x7f7d('0x8c')](_0x263f66,_0x1e9b17,function(_0x47a8e0,_0x393e29){if(_0x47a8e0){return _0x960eb0(_0x47a8e0);}else{return _0x3e67d3(_0x393e29);}});});}exports[_0x7f7d('0x8d')]=function(_0x148b36,_0x942ca6,_0x16d91b){return db['VoiceRecording'][_0x7f7d('0x82')]({'where':{'id':_0x148b36[_0x7f7d('0x42')]['id']}})[_0x7f7d('0x20')](handleEntityNotFound(_0x942ca6))[_0x7f7d('0x20')](function(_0xcd94e0){if(_0xcd94e0&&_0xcd94e0[_0x7f7d('0x8e')]){var _0x4cc612=_0xcd94e0[_0x7f7d('0x8e')];var _0x5562d7=config[_0x7f7d('0x8f')]+_0x7f7d('0x90')+_0xcd94e0['id']+_0x7f7d('0x91');if(fs[_0x7f7d('0x4d')](_0x5562d7)){return _0x5562d7;}return writeFile(_0x4cc612,_0x5562d7)['then'](function(){return _0x5562d7;});}else{throw new db[(_0x7f7d('0x51'))]['ValidationError'](_0x7f7d('0x92'));}})[_0x7f7d('0x20')](function(_0x323235){return _0x942ca6['download'](_0x323235);})[_0x7f7d('0x40')](handleError(_0x942ca6));};