0f32614fe3b1401c8c74ae27d67ab4863db9f588
[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 _0xaf2d=['[RUNTRANSCRIPT][%d]\x20Transcription\x20job\x20%s\x20created','TranscriptionJob','TranscriptionJobName','transcribeName','transcribeStatus','TranscriptionJobStatus','runTranscribe','Voice\x20Recording\x20not\x20found','Setting','findOne','transcribe','transcribeAccountId','transcribeRegion','bucket','Transcribe\x20not\x20configured','runSentiment','sentimentAccountId','sentimentRegion','language','Sentiment\x20Analysis\x20not\x20configured','Cloud\x20Provider\x20not\x20available','data1','data2','Buckets','Name','[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20not\x20available','NEW','[RUNTRANSCRIPT][%d]\x20Transcript\x20action\x20already\x20requested','IN_PROGRESS','tempSentiment','updateAttributes','writeFile','downloadTranscribe','fileText','root','/server/files/transcribes/transcribe_','.txt','Transcript\x20not\x20available','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','sox','ejs','fs-extra','lodash','crypto','jsforce','desk.js','querystring','papaparse','uuid/v4','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','json','limit','count','offset','set','Content-Range','save','then','destroy','end','error','stack','name','index','map','VoiceRecording','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','merge','VIRTUAL','options','includeAll','include','findAll','rows','params','rawAttributes','catch','create','body','update','describe','download','../../components/encryptor','uniqueid','find','value','%s.cypher','existsSync','secrets','Sequelize','ValidationError','VoiceRecording\x20not\x20found','filename','extname','unlink','message','send','sequelize','MD5','col','$and','push','decryptFile','recording','isNil','Entity\x20not\x20found','info','cancellazione\x20fisica\x20documento\x20%s','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','listBuckets','createBucket','upload','TranscribeService','format','basename','readFileSync','[RUNTRANSCRIPT][%d]\x20Voice\x20recording\x20uploaded\x20in\x20bucket\x20%s\x20(%s)','Location','Bucket','location','[RUNTRANSCRIPT][%d]\x20Sending\x20transcribe\x20request'];(function(_0x57a50d,_0x2871f8){var _0x1b25b3=function(_0x45691e){while(--_0x45691e){_0x57a50d['push'](_0x57a50d['shift']());}};_0x1b25b3(++_0x2871f8);}(_0xaf2d,0xc1));var _0xdaf2=function(_0x47b0ab,_0x2095cc){_0x47b0ab=_0x47b0ab-0x0;var _0x1c7dac=_0xaf2d[_0x47b0ab];return _0x1c7dac;};'use strict';var emlformat=require(_0xdaf2('0x0'));var rimraf=require(_0xdaf2('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xdaf2('0x2'));var rp=require(_0xdaf2('0x3'));var moment=require(_0xdaf2('0x4'));var BPromise=require(_0xdaf2('0x5'));var Mustache=require(_0xdaf2('0x6'));var util=require(_0xdaf2('0x7'));var path=require('path');var sox=require(_0xdaf2('0x8'));var csv=require('to-csv');var ejs=require(_0xdaf2('0x9'));var fs=require('fs');var fs_extra=require(_0xdaf2('0xa'));var _=require(_0xdaf2('0xb'));var squel=require('squel');var crypto=require(_0xdaf2('0xc'));var jsforce=require(_0xdaf2('0xd'));var deskjs=require(_0xdaf2('0xe'));var toCsv=require('to-csv');var querystring=require(_0xdaf2('0xf'));var Papa=require(_0xdaf2('0x10'));var AWS=require('aws-sdk');var uuidv4=require(_0xdaf2('0x11'));var Redis=require(_0xdaf2('0x12'));var authService=require(_0xdaf2('0x13'));var qs=require(_0xdaf2('0x14'));var as=require(_0xdaf2('0x15'));var hardwareService=require(_0xdaf2('0x16'));var logger=require('../../config/logger')(_0xdaf2('0x17'));var utils=require(_0xdaf2('0x18'));var config=require(_0xdaf2('0x19'));var licenseUtil=require(_0xdaf2('0x1a'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0xdb4012,_0xf095d9){_0xf095d9=_0xf095d9||0xcc;return function(_0x20daab){if(_0x20daab){return _0xdb4012[_0xdaf2('0x1b')](_0xf095d9);}return _0xdb4012[_0xdaf2('0x1c')](_0xf095d9)['end']();};}function respondWithResult(_0x444f01,_0x23af2b){_0x23af2b=_0x23af2b||0xc8;return function(_0x318796){if(_0x318796){return _0x444f01[_0xdaf2('0x1c')](_0x23af2b)[_0xdaf2('0x1d')](_0x318796);}};}function respondWithFilteredResult(_0x36fab0,_0x278919){return function(_0x204434){if(_0x204434){var _0x51c96e=typeof _0x278919['offset']==='undefined'&&typeof _0x278919[_0xdaf2('0x1e')]==='undefined';var _0x1a6784=_0x204434[_0xdaf2('0x1f')];var _0x49b99a=_0x51c96e?0x0:_0x278919[_0xdaf2('0x20')];var _0x5c1a53=_0x51c96e?_0x204434[_0xdaf2('0x1f')]:_0x278919[_0xdaf2('0x20')]+_0x278919['limit'];var _0x4c0b0b;if(_0x5c1a53>=_0x1a6784){_0x5c1a53=_0x1a6784;_0x4c0b0b=0xc8;}else{_0x4c0b0b=0xce;}_0x36fab0[_0xdaf2('0x1c')](_0x4c0b0b);return _0x36fab0[_0xdaf2('0x21')](_0xdaf2('0x22'),_0x49b99a+'-'+_0x5c1a53+'/'+_0x1a6784)['json'](_0x204434);}return null;};}function patchUpdates(_0x14186f){return function(_0x5e8c96){try{jsonpatch['apply'](_0x5e8c96,_0x14186f,!![]);}catch(_0x3550e1){return BPromise['reject'](_0x3550e1);}return _0x5e8c96[_0xdaf2('0x23')]();};}function saveUpdates(_0x39d984,_0xccdbf0){return function(_0x48e59e){if(_0x48e59e){return _0x48e59e['update'](_0x39d984)[_0xdaf2('0x24')](function(_0x1b3b9d){return _0x1b3b9d;});}return null;};}function removeEntity(_0x3e34dd,_0x5cc949){return function(_0x1cb7ad){if(_0x1cb7ad){return _0x1cb7ad[_0xdaf2('0x25')]()[_0xdaf2('0x24')](function(){_0x3e34dd[_0xdaf2('0x1c')](0xcc)[_0xdaf2('0x26')]();});}};}function handleEntityNotFound(_0x3f1d83,_0x5ebabc){return function(_0x575217){if(!_0x575217){_0x3f1d83[_0xdaf2('0x1b')](0x194);}return _0x575217;};}function handleError(_0x48f78b,_0x5f2461){_0x5f2461=_0x5f2461||0x1f4;return function(_0x561f4e){logger[_0xdaf2('0x27')](_0x561f4e[_0xdaf2('0x28')]);if(_0x561f4e['name']){delete _0x561f4e[_0xdaf2('0x29')];}_0x48f78b[_0xdaf2('0x1c')](_0x5f2461)['send'](_0x561f4e);};}exports[_0xdaf2('0x2a')]=function(_0xb77f84,_0x13d5b7){var _0x528fc4={},_0x4bbf86={},_0x402520={'count':0x0,'rows':[]};var _0x695866=_[_0xdaf2('0x2b')](db[_0xdaf2('0x2c')]['rawAttributes'],function(_0x48118d){return{'name':_0x48118d[_0xdaf2('0x2d')],'type':_0x48118d[_0xdaf2('0x2e')][_0xdaf2('0x2f')]};});_0x4bbf86[_0xdaf2('0x30')]=_['differenceBy'](_[_0xdaf2('0x2b')](_0x695866,_0xdaf2('0x29')),['format']);_0x4bbf86[_0xdaf2('0x31')]=_[_0xdaf2('0x32')](_0xb77f84['query']);_0x4bbf86[_0xdaf2('0x33')]=_[_0xdaf2('0x34')](_0x4bbf86['model'],_0x4bbf86['query']);_0x528fc4[_0xdaf2('0x35')]=_[_0xdaf2('0x34')](_0x4bbf86[_0xdaf2('0x30')],qs[_0xdaf2('0x36')](_0xb77f84[_0xdaf2('0x31')][_0xdaf2('0x36')]));_0x528fc4[_0xdaf2('0x35')]=_0x528fc4[_0xdaf2('0x35')][_0xdaf2('0x37')]?_0x528fc4['attributes']:_0x4bbf86['model'];if(!_0xb77f84[_0xdaf2('0x31')][_0xdaf2('0x38')](_0xdaf2('0x39'))){_0x528fc4['limit']=qs['limit'](_0xb77f84[_0xdaf2('0x31')][_0xdaf2('0x1e')]);_0x528fc4['offset']=qs[_0xdaf2('0x20')](_0xb77f84['query'][_0xdaf2('0x20')]);}_0x528fc4[_0xdaf2('0x3a')]=qs['sort'](_0xb77f84[_0xdaf2('0x31')][_0xdaf2('0x3b')]);_0x528fc4[_0xdaf2('0x3c')]=qs[_0xdaf2('0x33')](_[_0xdaf2('0x3d')](_0xb77f84[_0xdaf2('0x31')],_0x4bbf86[_0xdaf2('0x33')]),_0x695866);if(_0xb77f84['query']['filter']){_0x528fc4[_0xdaf2('0x3c')]=_[_0xdaf2('0x3e')](_0x528fc4[_0xdaf2('0x3c')],{'$or':_[_0xdaf2('0x2b')](_0x695866,function(_0x43d250){if(_0x43d250[_0xdaf2('0x2e')]!==_0xdaf2('0x3f')){var _0x3726c2={};_0x3726c2[_0x43d250[_0xdaf2('0x29')]]={'$like':'%'+_0xb77f84['query']['filter']+'%'};return _0x3726c2;}})});}_0x528fc4=_[_0xdaf2('0x3e')]({},_0x528fc4,_0xb77f84[_0xdaf2('0x40')]);var _0x1debfb={'where':_0x528fc4[_0xdaf2('0x3c')]};return db[_0xdaf2('0x2c')][_0xdaf2('0x1f')](_0x1debfb)[_0xdaf2('0x24')](function(_0x52d912){_0x402520[_0xdaf2('0x1f')]=_0x52d912;if(_0xb77f84[_0xdaf2('0x31')][_0xdaf2('0x41')]){_0x528fc4[_0xdaf2('0x42')]=[{'all':!![]}];}return db['VoiceRecording'][_0xdaf2('0x43')](_0x528fc4);})[_0xdaf2('0x24')](function(_0x3b045a){_0x402520[_0xdaf2('0x44')]=_0x3b045a;return _0x402520;})[_0xdaf2('0x24')](respondWithFilteredResult(_0x13d5b7,_0x528fc4))['catch'](handleError(_0x13d5b7,null));};exports['show']=function(_0xd078c7,_0x127af1){var _0xf56e3c={'raw':![],'where':{'id':_0xd078c7[_0xdaf2('0x45')]['id']}},_0x185cf0={};_0x185cf0['model']=_[_0xdaf2('0x32')](db[_0xdaf2('0x2c')][_0xdaf2('0x46')]);_0x185cf0[_0xdaf2('0x31')]=_[_0xdaf2('0x32')](_0xd078c7[_0xdaf2('0x31')]);_0x185cf0[_0xdaf2('0x33')]=_[_0xdaf2('0x34')](_0x185cf0['model'],_0x185cf0[_0xdaf2('0x31')]);_0xf56e3c[_0xdaf2('0x35')]=_[_0xdaf2('0x34')](_0x185cf0[_0xdaf2('0x30')],qs[_0xdaf2('0x36')](_0xd078c7[_0xdaf2('0x31')]['fields']));_0xf56e3c[_0xdaf2('0x35')]=_0xf56e3c[_0xdaf2('0x35')][_0xdaf2('0x37')]?_0xf56e3c['attributes']:_0x185cf0[_0xdaf2('0x30')];if(_0xd078c7[_0xdaf2('0x31')][_0xdaf2('0x41')]){_0xf56e3c[_0xdaf2('0x42')]=[{'all':!![]}];}_0xf56e3c=_[_0xdaf2('0x3e')]({},_0xf56e3c,_0xd078c7[_0xdaf2('0x40')]);return db['VoiceRecording']['find'](_0xf56e3c)[_0xdaf2('0x24')](handleEntityNotFound(_0x127af1,null))[_0xdaf2('0x24')](respondWithResult(_0x127af1,null))[_0xdaf2('0x47')](handleError(_0x127af1,null));};exports[_0xdaf2('0x48')]=function(_0x5911cd,_0x5bf500){return db[_0xdaf2('0x2c')][_0xdaf2('0x48')](_0x5911cd[_0xdaf2('0x49')],{})['then'](respondWithResult(_0x5bf500,0xc9))[_0xdaf2('0x47')](handleError(_0x5bf500,null));};exports[_0xdaf2('0x4a')]=function(_0x1d18e5,_0x4c3081){if(_0x1d18e5[_0xdaf2('0x49')]['id']){delete _0x1d18e5[_0xdaf2('0x49')]['id'];}return db[_0xdaf2('0x2c')]['find']({'where':{'id':_0x1d18e5[_0xdaf2('0x45')]['id']}})['then'](handleEntityNotFound(_0x4c3081,null))[_0xdaf2('0x24')](saveUpdates(_0x1d18e5[_0xdaf2('0x49')],null))['then'](respondWithResult(_0x4c3081,null))['catch'](handleError(_0x4c3081,null));};exports[_0xdaf2('0x4b')]=function(_0x7ccb71,_0x502c86){return db[_0xdaf2('0x2c')][_0xdaf2('0x4b')]()['then'](respondWithResult(_0x502c86,null))[_0xdaf2('0x47')](handleError(_0x502c86,null));};exports[_0xdaf2('0x4c')]=function(_0xb82ede,_0x5d6aae,_0x50ef41){var _0x2705ac=require(_0xdaf2('0x4d'));var _0x355302=![];var _0x2422ba={};if(_0xb82ede[_0xdaf2('0x31')][_0xdaf2('0x2e')]&&_0xb82ede[_0xdaf2('0x31')][_0xdaf2('0x2e')]===_0xdaf2('0x4e')){_0x2422ba['uniqueid']=_0xb82ede[_0xdaf2('0x45')]['id'];}else{_0x2422ba['id']=_0xb82ede['params']['id'];}return db['VoiceRecording'][_0xdaf2('0x4f')]({'where':_0x2422ba,'attributes':['id',_0xdaf2('0x50')],'raw':!![]})['then'](handleEntityNotFound(_0x5d6aae,null))['then'](function(_0x119c5e){if(_0x119c5e){var _0x26387e=_0x119c5e[_0xdaf2('0x50')];var _0x548278=util['format'](_0xdaf2('0x51'),_0x26387e);if(fs[_0xdaf2('0x52')](_0x548278)){_0x355302=!![];return _0x2705ac['decryptFile'](_0x548278,_0x26387e,config[_0xdaf2('0x53')]['recording'])[_0xdaf2('0x24')](function(){return _0x119c5e;});}return _0x119c5e;}})[_0xdaf2('0x24')](function(_0x30e1ee){if(_0x30e1ee){var _0x56af1c=_0x30e1ee['value'];if(!fs['existsSync'](_0x56af1c)){throw new db[(_0xdaf2('0x54'))][(_0xdaf2('0x55'))](_0xdaf2('0x56'));}if(_0x30e1ee[_0xdaf2('0x57')]){return _0x5d6aae[_0xdaf2('0x4c')](_0x56af1c,_0x30e1ee[_0xdaf2('0x57')]+path[_0xdaf2('0x58')](_0x56af1c),function(){if(_0x355302){fs[_0xdaf2('0x59')](_0x56af1c);}});}else{return _0x5d6aae[_0xdaf2('0x4c')](_0x56af1c,function(_0x5da956){if(_0x355302){fs[_0xdaf2('0x59')](_0x56af1c);}});}}})[_0xdaf2('0x47')](function(_0x3f3fc1){if(_0x3f3fc1[_0xdaf2('0x5a')]===_0xdaf2('0x56')){_0x5d6aae[_0xdaf2('0x1c')](0x194)[_0xdaf2('0x5b')]('Not\x20found');}else{return handleError(_0x5d6aae,null);}});};exports['downloads']=function(_0x2653f9,_0x31c3c7,_0x2f9bdf){var _0x585f4e=require(_0xdaf2('0x4d'));var _0x4a445e=![];var _0x2a4585={'$and':[db[_0xdaf2('0x5c')][_0xdaf2('0x3c')](db[_0xdaf2('0x5c')]['fn'](_0xdaf2('0x5d'),db[_0xdaf2('0x5c')][_0xdaf2('0x5e')](_0xdaf2('0x4e'))),_0x2653f9[_0xdaf2('0x31')]['token'])]};if(_0x2653f9[_0xdaf2('0x31')]['type']&&_0x2653f9[_0xdaf2('0x31')][_0xdaf2('0x2e')]===_0xdaf2('0x4e')){_0x2a4585[_0xdaf2('0x5f')][_0xdaf2('0x60')]({'uniqueid':_0x2653f9[_0xdaf2('0x45')]['id']});}else{_0x2a4585[_0xdaf2('0x5f')][_0xdaf2('0x60')]({'id':_0x2653f9[_0xdaf2('0x45')]['id']});}return db[_0xdaf2('0x2c')][_0xdaf2('0x4f')]({'where':_0x2a4585,'attributes':['id','value'],'raw':!![]})[_0xdaf2('0x24')](handleEntityNotFound(_0x31c3c7,null))['then'](function(_0x5c346f){if(_0x5c346f){var _0x395f9f=util['format'](_0xdaf2('0x51'),_0x5c346f[_0xdaf2('0x50')]);if(fs[_0xdaf2('0x52')](_0x395f9f)){_0x4a445e=!![];return _0x585f4e[_0xdaf2('0x61')](_0x395f9f,_0x5c346f[_0xdaf2('0x50')],config[_0xdaf2('0x53')][_0xdaf2('0x62')])[_0xdaf2('0x24')](function(){return _0x5c346f;});}return _0x5c346f;}})['then'](function(_0x21d43f){if(_0x21d43f){if(!fs['existsSync'](_0x21d43f[_0xdaf2('0x50')])){throw new db['Sequelize']['ValidationError']('VoiceRecording\x20not\x20found');}if(_0x21d43f[_0xdaf2('0x57')]){return _0x31c3c7[_0xdaf2('0x4c')](_0x21d43f[_0xdaf2('0x50')],_0x21d43f[_0xdaf2('0x57')]+path[_0xdaf2('0x58')](_0x21d43f[_0xdaf2('0x50')]),function(){if(_0x4a445e){fs['unlink'](_0x21d43f['value']);}});}else{return _0x31c3c7[_0xdaf2('0x4c')](_0x21d43f[_0xdaf2('0x50')],function(_0x375e3d){if(_0x4a445e){fs['unlink'](_0x21d43f[_0xdaf2('0x50')]);}});}}})['catch'](handleError(_0x31c3c7,null));};exports[_0xdaf2('0x25')]=function(_0x4985d0,_0x434480){return db['VoiceRecording'][_0xdaf2('0x4f')]({'where':{'id':_0x4985d0[_0xdaf2('0x45')]['id']}})[_0xdaf2('0x24')](function(_0x5b4609){if(_[_0xdaf2('0x63')](_0x5b4609)){throw new ReferenceError(_0xdaf2('0x64'));}return _0x5b4609;})[_0xdaf2('0x24')](function(_0x59eae1){var _0x5d5528=_0x59eae1[_0xdaf2('0x50')];logger[_0xdaf2('0x65')](_0xdaf2('0x66'),_0x5d5528);if(!_['isNil'](_0x59eae1['value'])&&fs[_0xdaf2('0x52')](_0x5d5528)){logger[_0xdaf2('0x65')](_0xdaf2('0x67')+_0x5d5528+'\x22\x20trovato\x20eseguo\x20la\x20cancellazione');fs['unlinkSync'](_0x5d5528);}_0x5d5528=_0x5d5528+'.cypher';if(!_[_0xdaf2('0x63')](_0x59eae1[_0xdaf2('0x50')])&&fs[_0xdaf2('0x52')](_0x5d5528)){logger['info'](_0xdaf2('0x67')+_0x5d5528+_0xdaf2('0x68'));fs['unlinkSync'](_0x5d5528);}return _0x59eae1;})[_0xdaf2('0x24')](function(_0x541181){if(!_0x541181)throw new InternalError();return _0x541181['destroy']();})['then'](function(){_0x434480[_0xdaf2('0x1c')](0xcc)['end']();})[_0xdaf2('0x47')](handleError(_0x434480,null));};function getBucketslist(_0x32fc1e,_0x1c1e89,_0x5f3b63){return new Promise(function(_0x3a95a2,_0x188f2b){var _0xb8079f=new AWS['S3']({'accessKeyId':_0x1c1e89,'secretAccessKey':_0x32fc1e,'region':_0x5f3b63});_0xb8079f[_0xdaf2('0x69')]({},function(_0x11c3a6,_0x4d2abd){if(_0x11c3a6){return _0x188f2b(_0x11c3a6);}else{return _0x3a95a2(_0x4d2abd);}});});}function createBucket(_0x7156ff,_0xba7d23,_0x4a5b9f,_0x2d0126){return new Promise(function(_0xc56566,_0x42b0b2){var _0x4a8a63=new AWS['S3']({'accessKeyId':_0xba7d23,'secretAccessKey':_0x7156ff,'region':_0x4a5b9f});_0x4a8a63[_0xdaf2('0x6a')]({'Bucket':_0x2d0126},function(_0x48f031,_0x3ffd33){if(_0x48f031){return _0x42b0b2(_0x48f031);}else{return _0xc56566(_0x3ffd33);}});});}function uploadFile(_0x41e123,_0x817ce5,_0x369ec9,_0x2b9068,_0x1195ff,_0x3dc53a){return new Promise(function(_0x1c36cd,_0x3e84cc){var _0x52cb8a=new AWS['S3']({'accessKeyId':_0x817ce5,'secretAccessKey':_0x41e123,'region':_0x369ec9});_0x52cb8a[_0xdaf2('0x6b')]({'Bucket':_0x2b9068,'Key':_0x1195ff,'Body':_0x3dc53a},function(_0xb5594c,_0x5b602c){if(_0xb5594c){return _0x3e84cc(_0xb5594c);}else{return _0x1c36cd(_0x5b602c);}});});}function startTranscribe(_0x5d53fb,_0x176734,_0x7278a3,_0x555548,_0x38e716,_0x51513f){return new Promise(function(_0x4331ff,_0x2d52b9){var _0x50ec2e=new AWS[(_0xdaf2('0x6c'))]({'accessKeyId':_0x176734,'secretAccessKey':_0x5d53fb,'region':_0x7278a3});_0x50ec2e['startTranscriptionJob']({'TranscriptionJobName':_0x555548,'LanguageCode':_0x38e716,'Media':{'MediaFileUri':_0x51513f}},function(_0x21d8d3,_0xa2610e){if(_0x21d8d3){return _0x2d52b9(_0x21d8d3);}else{return _0x4331ff(_0xa2610e);}});});}function transcribe(_0xc8112c,_0x2aabf8,_0x5906da,_0x5751ac,_0x533fa9,_0x43169b,_0x2e1e5a){return new Promise(function(_0x1ca1bb,_0x187629){var _0x451517={};logger['info'](util[_0xdaf2('0x6d')]('[RUNTRANSCRIPT][%d]\x20Starting\x20voice\x20recording\x20upload\x20in\x20bucket\x20%s',_0xc8112c,_0x533fa9));return uploadFile(_0x2aabf8,_0x5906da,_0x5751ac,_0x533fa9,path[_0xdaf2('0x6e')](_0x43169b),fs[_0xdaf2('0x6f')](_0x43169b))[_0xdaf2('0x24')](function(_0x5ba97b){logger[_0xdaf2('0x65')](util[_0xdaf2('0x6d')](_0xdaf2('0x70'),_0xc8112c,_0x533fa9,_0x5ba97b[_0xdaf2('0x71')]));_0x451517['bucket']=_0x5ba97b[_0xdaf2('0x72')];_0x451517[_0xdaf2('0x73')]=_0x5ba97b[_0xdaf2('0x71')];logger[_0xdaf2('0x65')](util[_0xdaf2('0x6d')](_0xdaf2('0x74'),_0xc8112c));return startTranscribe(_0x2aabf8,_0x5906da,_0x5751ac,uuidv4(),_0x2e1e5a,_0x5ba97b['Location']);})[_0xdaf2('0x24')](function(_0x17c6eb){logger[_0xdaf2('0x65')](util[_0xdaf2('0x6d')](_0xdaf2('0x75'),_0xc8112c,_0x17c6eb[_0xdaf2('0x76')][_0xdaf2('0x77')]));_0x451517[_0xdaf2('0x78')]=_0x17c6eb['TranscriptionJob'][_0xdaf2('0x77')];_0x451517[_0xdaf2('0x79')]=_0x17c6eb[_0xdaf2('0x76')][_0xdaf2('0x7a')];return _0x1ca1bb(_0x451517);})[_0xdaf2('0x47')](function(_0x43b0c1){return _0x187629(_0x43b0c1);});});}exports[_0xdaf2('0x7b')]=function(_0x2fd71d,_0x1b5aa5,_0x1eed54){var _0x447aef;var _0x54b680;var _0x353267;var _0x577001=require('../../components/encryptor');return db[_0xdaf2('0x2c')]['findOne']({'where':{'id':_0x2fd71d[_0xdaf2('0x45')]['id']}})[_0xdaf2('0x24')](function(_0x16cd8b){if(_0x16cd8b){var _0x4c37c5=util['format'](_0xdaf2('0x51'),_0x16cd8b[_0xdaf2('0x50')]);if(fs[_0xdaf2('0x52')](_0x4c37c5)){cypher=!![];return _0x577001[_0xdaf2('0x61')](_0x4c37c5,_0x16cd8b[_0xdaf2('0x50')],config[_0xdaf2('0x53')]['recording'])[_0xdaf2('0x24')](function(){return _0x16cd8b;});}return _0x16cd8b;}})[_0xdaf2('0x24')](function(_0x1aaf51){if(!_0x1aaf51){throw new db[(_0xdaf2('0x54'))][(_0xdaf2('0x55'))](_0xdaf2('0x7c'));}_0x54b680=_0x1aaf51;return db[_0xdaf2('0x7d')][_0xdaf2('0x7e')]({'where':{'id':0x1}});})[_0xdaf2('0x24')](handleEntityNotFound(_0x1b5aa5,null))[_0xdaf2('0x24')](function(_0x4f256e){if(_0x4f256e){_0x447aef=_0x4f256e;if(!_0x447aef[_0xdaf2('0x7f')]||!_0x447aef[_0xdaf2('0x80')]||!_0x447aef[_0xdaf2('0x81')]||!_0x447aef['language']||!_0x447aef[_0xdaf2('0x82')]){throw new db[(_0xdaf2('0x54'))]['ValidationError'](_0xdaf2('0x83'));}if(_0x2fd71d['body'][_0xdaf2('0x84')]&&(!_0x447aef['sentiment']||!_0x447aef[_0xdaf2('0x85')]||!_0x447aef[_0xdaf2('0x86')]||!_0x447aef[_0xdaf2('0x87')]||!_0x447aef['bucket'])){throw new db[(_0xdaf2('0x54'))][(_0xdaf2('0x55'))](_0xdaf2('0x88'));}return db['CloudProvider'][_0xdaf2('0x7e')]({'where':{'id':_0x447aef[_0xdaf2('0x80')]}});}})['then'](function(_0x13b36b){if(!_0x13b36b){throw new db[(_0xdaf2('0x54'))][(_0xdaf2('0x55'))](_0xdaf2('0x89'));}if(!_0x13b36b[_0xdaf2('0x8a')]||!_0x13b36b[_0xdaf2('0x8b')]){throw new db[(_0xdaf2('0x54'))][(_0xdaf2('0x55'))]('Cloud\x20Provider\x20not\x20configured');}_0x353267=_0x13b36b;return getBucketslist(_0x353267[_0xdaf2('0x8a')],_0x353267[_0xdaf2('0x8b')],_0x447aef[_0xdaf2('0x81')]);})[_0xdaf2('0x24')](function(_0x2f640e){if(_0x2f640e&&_0x2f640e['Buckets']){var _0x28b23b=_['find'](_0x2f640e[_0xdaf2('0x8c')],function(_0x290b68){return _0x290b68[_0xdaf2('0x8d')]===_0x447aef[_0xdaf2('0x82')];});if(!_0x28b23b){logger[_0xdaf2('0x65')](util[_0xdaf2('0x6d')](_0xdaf2('0x8e'),_0x2fd71d[_0xdaf2('0x45')]['id'],_0x447aef['bucket']));return createBucket(_0x353267['data1'],_0x353267[_0xdaf2('0x8b')],_0x447aef['transcribeRegion'],_0x447aef[_0xdaf2('0x82')]);}logger['info'](util[_0xdaf2('0x6d')]('[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20available',_0x2fd71d[_0xdaf2('0x45')]['id'],_0x447aef['bucket']));return;}})[_0xdaf2('0x24')](function(_0x2fb860){if(_0x54b680[_0xdaf2('0x79')]===_0xdaf2('0x8f')){return transcribe(_0x2fd71d[_0xdaf2('0x45')]['id'],_0x353267[_0xdaf2('0x8a')],_0x353267[_0xdaf2('0x8b')],_0x447aef[_0xdaf2('0x81')],_0x447aef[_0xdaf2('0x82')],_0x54b680[_0xdaf2('0x50')],_0x447aef[_0xdaf2('0x87')]);}else{logger[_0xdaf2('0x65')](util[_0xdaf2('0x6d')](_0xdaf2('0x90'),_0x2fd71d[_0xdaf2('0x45')]['id']));return{'transcribeStatus':_0xdaf2('0x91')};}})[_0xdaf2('0x24')](function(_0x26da2b){if(_0x26da2b){_0x26da2b[_0xdaf2('0x92')]=_0x2fd71d[_0xdaf2('0x49')][_0xdaf2('0x84')];return _0x54b680[_0xdaf2('0x93')](_0x26da2b);}})['then'](respondWithResult(_0x1b5aa5,null))[_0xdaf2('0x47')](handleError(_0x1b5aa5,null));};function writeFile(_0x4c44a9,_0x515bfe){return new Promise(function(_0x8cb858,_0x2a14f1){fs[_0xdaf2('0x94')](_0x515bfe,_0x4c44a9,function(_0x4f587d,_0x1ce659){if(_0x4f587d){return _0x2a14f1(_0x4f587d);}else{return _0x8cb858(_0x1ce659);}});});}exports[_0xdaf2('0x95')]=function(_0x31e190,_0x3f946a,_0x5f038e){return db[_0xdaf2('0x2c')][_0xdaf2('0x7e')]({'where':{'id':_0x31e190[_0xdaf2('0x45')]['id']}})[_0xdaf2('0x24')](handleEntityNotFound(_0x3f946a))[_0xdaf2('0x24')](function(_0x3f0d62){if(_0x3f0d62&&_0x3f0d62[_0xdaf2('0x96')]){var _0x4b40be=_0x3f0d62[_0xdaf2('0x96')];var _0x2066d1=config[_0xdaf2('0x97')]+_0xdaf2('0x98')+_0x3f0d62['id']+_0xdaf2('0x99');if(fs[_0xdaf2('0x52')](_0x2066d1)){return _0x2066d1;}return writeFile(_0x4b40be,_0x2066d1)[_0xdaf2('0x24')](function(){return _0x2066d1;});}else{throw new db[(_0xdaf2('0x54'))][(_0xdaf2('0x55'))](_0xdaf2('0x9a'));}})[_0xdaf2('0x24')](function(_0x43b3ec){return _0x3f946a[_0xdaf2('0x4c')](_0x43b3ec);})[_0xdaf2('0x47')](handleError(_0x3f946a));};