Built motion from commit (unavailable).|2.5.17
[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 _0x2882=['fileText','/server/files/transcribes/transcribe_','Transcript\x20not\x20available','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','jsforce','desk.js','querystring','papaparse','aws-sdk','uuid/v4','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','json','offset','limit','set','Content-Range','apply','reject','save','update','destroy','then','end','error','name','send','index','map','VoiceRecording','rawAttributes','fieldName','type','model','differenceBy','format','query','keys','filters','intersection','attributes','fields','length','order','sort','where','filter','merge','VIRTUAL','options','count','includeAll','include','catch','show','params','find','create','body','describe','download','uniqueid','value','%s.cypher','existsSync','decryptFile','secrets','recording','Sequelize','ValidationError','VoiceRecording\x20not\x20found','filename','extname','unlink','Not\x20found','../../components/encryptor','sequelize','MD5','col','$and','push','Entity\x20not\x20found','info','cancellazione\x20fisica\x20documento\x20%s','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','.cypher','TranscribeService','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','TranscriptionJobName','transcribeStatus','TranscriptionJobStatus','runTranscribe','findOne','Voice\x20Recording\x20not\x20found','Setting','transcribe','transcribeAccountId','bucket','Transcribe\x20not\x20configured','sentiment','sentimentAccountId','sentimentRegion','Sentiment\x20Analysis\x20not\x20configured','Cloud\x20Provider\x20not\x20available','Cloud\x20Provider\x20not\x20configured','data1','Buckets','Name','data2','transcribeRegion','[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20available','[RUNTRANSCRIPT][%d]\x20Transcript\x20action\x20already\x20requested','tempSentiment','runSentiment','updateAttributes','writeFile','downloadTranscribe'];(function(_0x1d478b,_0x3c1b11){var _0x5a0a51=function(_0x202508){while(--_0x202508){_0x1d478b['push'](_0x1d478b['shift']());}};_0x5a0a51(++_0x3c1b11);}(_0x2882,0x1cb));var _0x2288=function(_0x8723ad,_0x59d434){_0x8723ad=_0x8723ad-0x0;var _0x3e9c53=_0x2882[_0x8723ad];return _0x3e9c53;};'use strict';var pdf=require('html-pdf');var emlformat=require('eml-format');var rimraf=require(_0x2288('0x0'));var zipdir=require(_0x2288('0x1'));var jsonpatch=require(_0x2288('0x2'));var rp=require(_0x2288('0x3'));var moment=require(_0x2288('0x4'));var BPromise=require(_0x2288('0x5'));var Mustache=require(_0x2288('0x6'));var util=require(_0x2288('0x7'));var path=require(_0x2288('0x8'));var sox=require(_0x2288('0x9'));var csv=require(_0x2288('0xa'));var ejs=require(_0x2288('0xb'));var fs=require('fs');var _=require(_0x2288('0xc'));var squel=require(_0x2288('0xd'));var crypto=require('crypto');var jsforce=require(_0x2288('0xe'));var deskjs=require(_0x2288('0xf'));var toCsv=require(_0x2288('0xa'));var querystring=require(_0x2288('0x10'));var Papa=require(_0x2288('0x11'));var AWS=require(_0x2288('0x12'));var uuidv4=require(_0x2288('0x13'));var Redis=require(_0x2288('0x14'));var authService=require(_0x2288('0x15'));var qs=require(_0x2288('0x16'));var as=require(_0x2288('0x17'));var hardwareService=require(_0x2288('0x18'));var logger=require('../../config/logger')(_0x2288('0x19'));var utils=require(_0x2288('0x1a'));var config=require(_0x2288('0x1b'));var licenseUtil=require(_0x2288('0x1c'));var db=require(_0x2288('0x1d'))['db'];function respondWithStatusCode(_0x2685b4,_0x1decda){_0x1decda=_0x1decda||0xcc;return function(_0x20ba2d){if(_0x20ba2d){return _0x2685b4[_0x2288('0x1e')](_0x1decda);}return _0x2685b4[_0x2288('0x1f')](_0x1decda)['end']();};}function respondWithResult(_0x2521c9,_0xf1e9a5){_0xf1e9a5=_0xf1e9a5||0xc8;return function(_0x56de7a){if(_0x56de7a){return _0x2521c9[_0x2288('0x1f')](_0xf1e9a5)[_0x2288('0x20')](_0x56de7a);}};}function respondWithFilteredResult(_0x212ca3,_0x4721c9){return function(_0x784fbc){if(_0x784fbc){var _0x41ed04=_0x784fbc['count'],_0x28b746=_0x4721c9[_0x2288('0x21')],_0x128de=_0x4721c9[_0x2288('0x21')]+_0x4721c9[_0x2288('0x22')],_0x525716;if(_0x128de>=_0x41ed04){_0x128de=_0x41ed04;_0x525716=0xc8;}else{_0x525716=0xce;}_0x212ca3[_0x2288('0x1f')](_0x525716);return _0x212ca3[_0x2288('0x23')](_0x2288('0x24'),_0x28b746+'-'+_0x128de+'/'+_0x41ed04)[_0x2288('0x20')](_0x784fbc);}return null;};}function patchUpdates(_0x5248e7){return function(_0x3fae1d){try{jsonpatch[_0x2288('0x25')](_0x3fae1d,_0x5248e7,!![]);}catch(_0x537b13){return BPromise[_0x2288('0x26')](_0x537b13);}return _0x3fae1d[_0x2288('0x27')]();};}function saveUpdates(_0x2ada7d,_0x2c4de3){return function(_0x333f9f){if(_0x333f9f){return _0x333f9f[_0x2288('0x28')](_0x2ada7d)['then'](function(_0x41d149){return _0x41d149;});}return null;};}function removeEntity(_0x3d452a,_0x20e1fd){return function(_0x567e7f){if(_0x567e7f){return _0x567e7f[_0x2288('0x29')]()[_0x2288('0x2a')](function(){_0x3d452a[_0x2288('0x1f')](0xcc)[_0x2288('0x2b')]();});}};}function handleEntityNotFound(_0xb081a3,_0x1207f3){return function(_0x16c08f){if(!_0x16c08f){_0xb081a3[_0x2288('0x1e')](0x194);}return _0x16c08f;};}function handleError(_0x3d62e1,_0x3a7797){_0x3a7797=_0x3a7797||0x1f4;return function(_0x10422f){logger[_0x2288('0x2c')](_0x10422f['stack']);if(_0x10422f[_0x2288('0x2d')]){delete _0x10422f[_0x2288('0x2d')];}_0x3d62e1[_0x2288('0x1f')](_0x3a7797)[_0x2288('0x2e')](_0x10422f);};}exports[_0x2288('0x2f')]=function(_0x5687d6,_0x2435bc){var _0x3b3b27={},_0x1c3d8c={},_0x54d20a={'count':0x0,'rows':[]};var _0x4b706e=_[_0x2288('0x30')](db[_0x2288('0x31')][_0x2288('0x32')],function(_0x677a79){return{'name':_0x677a79[_0x2288('0x33')],'type':_0x677a79[_0x2288('0x34')]['key']};});_0x1c3d8c[_0x2288('0x35')]=_[_0x2288('0x36')](_[_0x2288('0x30')](_0x4b706e,_0x2288('0x2d')),[_0x2288('0x37')]);_0x1c3d8c[_0x2288('0x38')]=_[_0x2288('0x39')](_0x5687d6[_0x2288('0x38')]);_0x1c3d8c[_0x2288('0x3a')]=_[_0x2288('0x3b')](_0x1c3d8c[_0x2288('0x35')],_0x1c3d8c['query']);_0x3b3b27[_0x2288('0x3c')]=_[_0x2288('0x3b')](_0x1c3d8c['model'],qs['fields'](_0x5687d6[_0x2288('0x38')][_0x2288('0x3d')]));_0x3b3b27['attributes']=_0x3b3b27[_0x2288('0x3c')][_0x2288('0x3e')]?_0x3b3b27[_0x2288('0x3c')]:_0x1c3d8c['model'];if(!_0x5687d6[_0x2288('0x38')]['hasOwnProperty']('nolimit')){_0x3b3b27[_0x2288('0x22')]=qs[_0x2288('0x22')](_0x5687d6[_0x2288('0x38')][_0x2288('0x22')]);_0x3b3b27[_0x2288('0x21')]=qs['offset'](_0x5687d6[_0x2288('0x38')]['offset']);}_0x3b3b27[_0x2288('0x3f')]=qs['sort'](_0x5687d6[_0x2288('0x38')][_0x2288('0x40')]);_0x3b3b27[_0x2288('0x41')]=qs[_0x2288('0x3a')](_['pick'](_0x5687d6[_0x2288('0x38')],_0x1c3d8c[_0x2288('0x3a')]),_0x4b706e);if(_0x5687d6[_0x2288('0x38')][_0x2288('0x42')]){_0x3b3b27[_0x2288('0x41')]=_[_0x2288('0x43')](_0x3b3b27[_0x2288('0x41')],{'$or':_[_0x2288('0x30')](_0x4b706e,function(_0x4b6f0b){if(_0x4b6f0b['type']!==_0x2288('0x44')){var _0x59253c={};_0x59253c[_0x4b6f0b[_0x2288('0x2d')]]={'$like':'%'+_0x5687d6[_0x2288('0x38')]['filter']+'%'};return _0x59253c;}})});}_0x3b3b27=_[_0x2288('0x43')]({},_0x3b3b27,_0x5687d6[_0x2288('0x45')]);var _0x5a1919={'where':_0x3b3b27[_0x2288('0x41')]};return db[_0x2288('0x31')][_0x2288('0x46')](_0x5a1919)['then'](function(_0x427c55){_0x54d20a['count']=_0x427c55;if(_0x5687d6[_0x2288('0x38')][_0x2288('0x47')]){_0x3b3b27[_0x2288('0x48')]=[{'all':!![]}];}return db[_0x2288('0x31')]['findAll'](_0x3b3b27);})['then'](function(_0x1f8cdb){_0x54d20a['rows']=_0x1f8cdb;return _0x54d20a;})['then'](respondWithFilteredResult(_0x2435bc,_0x3b3b27))[_0x2288('0x49')](handleError(_0x2435bc,null));};exports[_0x2288('0x4a')]=function(_0x2a2bfc,_0x4fffc1){var _0x3bd233={'raw':![],'where':{'id':_0x2a2bfc[_0x2288('0x4b')]['id']}},_0x217962={};_0x217962[_0x2288('0x35')]=_[_0x2288('0x39')](db['VoiceRecording'][_0x2288('0x32')]);_0x217962[_0x2288('0x38')]=_['keys'](_0x2a2bfc[_0x2288('0x38')]);_0x217962[_0x2288('0x3a')]=_[_0x2288('0x3b')](_0x217962[_0x2288('0x35')],_0x217962['query']);_0x3bd233['attributes']=_[_0x2288('0x3b')](_0x217962[_0x2288('0x35')],qs[_0x2288('0x3d')](_0x2a2bfc[_0x2288('0x38')][_0x2288('0x3d')]));_0x3bd233[_0x2288('0x3c')]=_0x3bd233['attributes']['length']?_0x3bd233[_0x2288('0x3c')]:_0x217962[_0x2288('0x35')];if(_0x2a2bfc[_0x2288('0x38')][_0x2288('0x47')]){_0x3bd233[_0x2288('0x48')]=[{'all':!![]}];}_0x3bd233=_[_0x2288('0x43')]({},_0x3bd233,_0x2a2bfc['options']);return db['VoiceRecording'][_0x2288('0x4c')](_0x3bd233)['then'](handleEntityNotFound(_0x4fffc1,null))['then'](respondWithResult(_0x4fffc1,null))[_0x2288('0x49')](handleError(_0x4fffc1,null));};exports[_0x2288('0x4d')]=function(_0x32343a,_0x5d8770){return db['VoiceRecording'][_0x2288('0x4d')](_0x32343a[_0x2288('0x4e')],{})[_0x2288('0x2a')](respondWithResult(_0x5d8770,0xc9))[_0x2288('0x49')](handleError(_0x5d8770,null));};exports[_0x2288('0x28')]=function(_0x1470f0,_0x35cf5f){if(_0x1470f0[_0x2288('0x4e')]['id']){delete _0x1470f0[_0x2288('0x4e')]['id'];}return db[_0x2288('0x31')]['find']({'where':{'id':_0x1470f0[_0x2288('0x4b')]['id']}})[_0x2288('0x2a')](handleEntityNotFound(_0x35cf5f,null))[_0x2288('0x2a')](saveUpdates(_0x1470f0[_0x2288('0x4e')],null))[_0x2288('0x2a')](respondWithResult(_0x35cf5f,null))[_0x2288('0x49')](handleError(_0x35cf5f,null));};exports['describe']=function(_0x6a170f,_0x1b554a){return db[_0x2288('0x31')][_0x2288('0x4f')]()[_0x2288('0x2a')](respondWithResult(_0x1b554a,null))['catch'](handleError(_0x1b554a,null));};exports[_0x2288('0x50')]=function(_0x5418d9,_0x39688e,_0x53395a){var _0x37772b=require('../../components/encryptor');var _0x51e0a5=![];var _0x3b59a4={};if(_0x5418d9['query']['type']&&_0x5418d9[_0x2288('0x38')]['type']===_0x2288('0x51')){_0x3b59a4[_0x2288('0x51')]=_0x5418d9[_0x2288('0x4b')]['id'];}else{_0x3b59a4['id']=_0x5418d9[_0x2288('0x4b')]['id'];}return db[_0x2288('0x31')][_0x2288('0x4c')]({'where':_0x3b59a4,'attributes':['id',_0x2288('0x52')],'raw':!![]})[_0x2288('0x2a')](handleEntityNotFound(_0x39688e,null))[_0x2288('0x2a')](function(_0x57972e){if(_0x57972e){var _0x104ede=_0x57972e['value'];var _0x11f904=util['format'](_0x2288('0x53'),_0x104ede);if(fs[_0x2288('0x54')](_0x11f904)){_0x51e0a5=!![];return _0x37772b[_0x2288('0x55')](_0x11f904,_0x104ede,config[_0x2288('0x56')][_0x2288('0x57')])[_0x2288('0x2a')](function(){return _0x57972e;});}return _0x57972e;}})[_0x2288('0x2a')](function(_0x7bd08c){if(_0x7bd08c){var _0x2fdc1b=_0x7bd08c['value'];if(!fs[_0x2288('0x54')](_0x2fdc1b)){throw new db[(_0x2288('0x58'))][(_0x2288('0x59'))](_0x2288('0x5a'));}if(_0x7bd08c[_0x2288('0x5b')]){return _0x39688e[_0x2288('0x50')](_0x2fdc1b,_0x7bd08c[_0x2288('0x5b')]+path[_0x2288('0x5c')](_0x2fdc1b),function(){if(_0x51e0a5){fs['unlink'](_0x2fdc1b);}});}else{return _0x39688e['download'](_0x2fdc1b,function(_0x37b8e2){if(_0x51e0a5){fs[_0x2288('0x5d')](_0x2fdc1b);}});}}})[_0x2288('0x49')](function(_0x60650c){if(_0x60650c['message']===_0x2288('0x5a')){_0x39688e[_0x2288('0x1f')](0x194)[_0x2288('0x2e')](_0x2288('0x5e'));}else{return handleError(_0x39688e,null);}});};exports['downloads']=function(_0x25f928,_0x1a104b,_0x9eedd2){var _0xc38ad0=require(_0x2288('0x5f'));var _0xdbd8c0=![];var _0x514734={'$and':[db[_0x2288('0x60')][_0x2288('0x41')](db['sequelize']['fn'](_0x2288('0x61'),db[_0x2288('0x60')][_0x2288('0x62')](_0x2288('0x51'))),_0x25f928[_0x2288('0x38')]['token'])]};if(_0x25f928[_0x2288('0x38')][_0x2288('0x34')]&&_0x25f928['query'][_0x2288('0x34')]===_0x2288('0x51')){_0x514734[_0x2288('0x63')][_0x2288('0x64')]({'uniqueid':_0x25f928[_0x2288('0x4b')]['id']});}else{_0x514734[_0x2288('0x63')][_0x2288('0x64')]({'id':_0x25f928[_0x2288('0x4b')]['id']});}return db[_0x2288('0x31')][_0x2288('0x4c')]({'where':_0x514734,'attributes':['id',_0x2288('0x52')],'raw':!![]})['then'](handleEntityNotFound(_0x1a104b,null))[_0x2288('0x2a')](function(_0x4430cf){if(_0x4430cf){var _0x498d78=util[_0x2288('0x37')](_0x2288('0x53'),_0x4430cf['value']);if(fs[_0x2288('0x54')](_0x498d78)){_0xdbd8c0=!![];return _0xc38ad0[_0x2288('0x55')](_0x498d78,_0x4430cf[_0x2288('0x52')],config['secrets'][_0x2288('0x57')])[_0x2288('0x2a')](function(){return _0x4430cf;});}return _0x4430cf;}})[_0x2288('0x2a')](function(_0x32f32c){if(_0x32f32c){if(!fs[_0x2288('0x54')](_0x32f32c[_0x2288('0x52')])){throw new db[(_0x2288('0x58'))][(_0x2288('0x59'))]('VoiceRecording\x20not\x20found');}if(_0x32f32c[_0x2288('0x5b')]){return _0x1a104b['download'](_0x32f32c[_0x2288('0x52')],_0x32f32c[_0x2288('0x5b')]+path[_0x2288('0x5c')](_0x32f32c[_0x2288('0x52')]),function(){if(_0xdbd8c0){fs[_0x2288('0x5d')](_0x32f32c[_0x2288('0x52')]);}});}else{return _0x1a104b['download'](_0x32f32c['value'],function(_0x39d102){if(_0xdbd8c0){fs['unlink'](_0x32f32c[_0x2288('0x52')]);}});}}})[_0x2288('0x49')](handleError(_0x1a104b,null));};exports[_0x2288('0x29')]=function(_0x77348,_0x1dbaed){return db[_0x2288('0x31')][_0x2288('0x4c')]({'where':{'id':_0x77348[_0x2288('0x4b')]['id']}})[_0x2288('0x2a')](function(_0x4bf533){if(!_0x4bf533)throw new ReferenceError(_0x2288('0x65'));return _0x4bf533;})[_0x2288('0x2a')](function(_0x30c1d1){var _0x1f4872=_0x30c1d1['value'];logger[_0x2288('0x66')](_0x2288('0x67'),_0x1f4872);if(!_['isNil'](_0x30c1d1['value'])&&fs[_0x2288('0x54')](_0x1f4872)){logger[_0x2288('0x66')](_0x2288('0x68')+_0x1f4872+_0x2288('0x69'));fs[_0x2288('0x6a')](_0x1f4872);}_0x1f4872=_0x1f4872+_0x2288('0x6b');if(!_['isNil'](_0x30c1d1[_0x2288('0x52')])&&fs[_0x2288('0x54')](_0x1f4872)){logger[_0x2288('0x66')](_0x2288('0x68')+_0x1f4872+'\x22\x20trovato\x20eseguo\x20la\x20cancellazione');fs['unlinkSync'](_0x1f4872);}return _0x30c1d1;})[_0x2288('0x2a')](function(_0x23e521){if(!_0x23e521)throw new InternalError();return _0x23e521['destroy']();})[_0x2288('0x2a')](function(){_0x1dbaed[_0x2288('0x1f')](0xcc)[_0x2288('0x2b')]();})[_0x2288('0x49')](handleError(_0x1dbaed,null));};function getBucketslist(_0x60408a,_0x60827d,_0x288da5){return new Promise(function(_0x5e6970,_0x27fd0f){var _0x2c9588=new AWS['S3']({'accessKeyId':_0x60827d,'secretAccessKey':_0x60408a,'region':_0x288da5});_0x2c9588['listBuckets']({},function(_0x346711,_0x735471){if(_0x346711){return _0x27fd0f(_0x346711);}else{return _0x5e6970(_0x735471);}});});}function createBucket(_0x452d25,_0xd30829,_0x33f6bc,_0x176b4c){return new Promise(function(_0x3e5a33,_0x559c99){var _0x1c3aa7=new AWS['S3']({'accessKeyId':_0xd30829,'secretAccessKey':_0x452d25,'region':_0x33f6bc});_0x1c3aa7['createBucket']({'Bucket':_0x176b4c},function(_0x1d32e2,_0x3d6886){if(_0x1d32e2){return _0x559c99(_0x1d32e2);}else{return _0x3e5a33(_0x3d6886);}});});}function uploadFile(_0x191f0b,_0x25164e,_0x2b924a,_0x538e5e,_0x57de30,_0x1cd7cf){return new Promise(function(_0x36f0b9,_0xc8937a){var _0x20f1eb=new AWS['S3']({'accessKeyId':_0x25164e,'secretAccessKey':_0x191f0b,'region':_0x2b924a});_0x20f1eb['upload']({'Bucket':_0x538e5e,'Key':_0x57de30,'Body':_0x1cd7cf},function(_0x2631d3,_0x7f8d17){if(_0x2631d3){return _0xc8937a(_0x2631d3);}else{return _0x36f0b9(_0x7f8d17);}});});}function startTranscribe(_0xba229a,_0xffe6ed,_0x4a242d,_0xbd4ae0,_0x4d9ad4,_0x2ddff0){return new Promise(function(_0x5ea063,_0x2cbfa4){var _0x5eefc5=new AWS[(_0x2288('0x6c'))]({'accessKeyId':_0xffe6ed,'secretAccessKey':_0xba229a,'region':_0x4a242d});_0x5eefc5[_0x2288('0x6d')]({'TranscriptionJobName':_0xbd4ae0,'LanguageCode':_0x4d9ad4,'Media':{'MediaFileUri':_0x2ddff0}},function(_0x441c17,_0x1a8753){if(_0x441c17){return _0x2cbfa4(_0x441c17);}else{return _0x5ea063(_0x1a8753);}});});}function transcribe(_0x17d9ae,_0x601b98,_0x4b0a3d,_0x2eff05,_0xf9176e,_0x1737ce,_0x20202f){return new Promise(function(_0x3faef1,_0xef77b5){var _0x2f748c={};logger['info'](util['format'](_0x2288('0x6e'),_0x17d9ae,_0xf9176e));return uploadFile(_0x601b98,_0x4b0a3d,_0x2eff05,_0xf9176e,path[_0x2288('0x6f')](_0x1737ce),fs[_0x2288('0x70')](_0x1737ce))[_0x2288('0x2a')](function(_0x1c4d96){logger['info'](util[_0x2288('0x37')](_0x2288('0x71'),_0x17d9ae,_0xf9176e,_0x1c4d96[_0x2288('0x72')]));_0x2f748c['bucket']=_0x1c4d96[_0x2288('0x73')];_0x2f748c['location']=_0x1c4d96[_0x2288('0x72')];logger[_0x2288('0x66')](util[_0x2288('0x37')](_0x2288('0x74'),_0x17d9ae));return startTranscribe(_0x601b98,_0x4b0a3d,_0x2eff05,uuidv4(),_0x20202f,_0x1c4d96[_0x2288('0x72')]);})[_0x2288('0x2a')](function(_0x4d4ec4){logger[_0x2288('0x66')](util[_0x2288('0x37')](_0x2288('0x75'),_0x17d9ae,_0x4d4ec4[_0x2288('0x76')]['TranscriptionJobName']));_0x2f748c[_0x2288('0x77')]=_0x4d4ec4['TranscriptionJob'][_0x2288('0x78')];_0x2f748c[_0x2288('0x79')]=_0x4d4ec4[_0x2288('0x76')][_0x2288('0x7a')];return _0x3faef1(_0x2f748c);})[_0x2288('0x49')](function(_0x52ab3d){return _0xef77b5(_0x52ab3d);});});}exports[_0x2288('0x7b')]=function(_0x32a0e9,_0x2afda5,_0x27b5c0){var _0x4474c6;var _0x4b09fa;var _0x39e224;var _0x461393=require('../../components/encryptor');return db['VoiceRecording'][_0x2288('0x7c')]({'where':{'id':_0x32a0e9['params']['id']}})['then'](function(_0x524930){if(_0x524930){var _0x3db5db=util[_0x2288('0x37')](_0x2288('0x53'),_0x524930[_0x2288('0x52')]);if(fs[_0x2288('0x54')](_0x3db5db)){cypher=!![];return _0x461393[_0x2288('0x55')](_0x3db5db,_0x524930[_0x2288('0x52')],config['secrets'][_0x2288('0x57')])[_0x2288('0x2a')](function(){return _0x524930;});}return _0x524930;}})['then'](function(_0x5c90b4){if(!_0x5c90b4){throw new db[(_0x2288('0x58'))][(_0x2288('0x59'))](_0x2288('0x7d'));}_0x4b09fa=_0x5c90b4;return db[_0x2288('0x7e')][_0x2288('0x7c')]({'where':{'id':0x1}});})[_0x2288('0x2a')](handleEntityNotFound(_0x2afda5,null))['then'](function(_0x5c3c63){if(_0x5c3c63){_0x4474c6=_0x5c3c63;if(!_0x4474c6[_0x2288('0x7f')]||!_0x4474c6[_0x2288('0x80')]||!_0x4474c6['transcribeRegion']||!_0x4474c6['language']||!_0x4474c6[_0x2288('0x81')]){throw new db['Sequelize']['ValidationError'](_0x2288('0x82'));}if(_0x32a0e9[_0x2288('0x4e')]['runSentiment']&&(!_0x4474c6[_0x2288('0x83')]||!_0x4474c6[_0x2288('0x84')]||!_0x4474c6[_0x2288('0x85')]||!_0x4474c6['language']||!_0x4474c6[_0x2288('0x81')])){throw new db[(_0x2288('0x58'))][(_0x2288('0x59'))](_0x2288('0x86'));}return db['CloudProvider']['findOne']({'where':{'id':_0x4474c6[_0x2288('0x80')]}});}})['then'](function(_0x20e8b1){if(!_0x20e8b1){throw new db[(_0x2288('0x58'))]['ValidationError'](_0x2288('0x87'));}if(!_0x20e8b1['data1']||!_0x20e8b1['data2']){throw new db['Sequelize'][(_0x2288('0x59'))](_0x2288('0x88'));}_0x39e224=_0x20e8b1;return getBucketslist(_0x39e224[_0x2288('0x89')],_0x39e224['data2'],_0x4474c6['transcribeRegion']);})['then'](function(_0x211900){if(_0x211900&&_0x211900['Buckets']){var _0x3a9968=_['find'](_0x211900[_0x2288('0x8a')],function(_0x332d41){return _0x332d41[_0x2288('0x8b')]===_0x4474c6[_0x2288('0x81')];});if(!_0x3a9968){logger[_0x2288('0x66')](util['format']('[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20not\x20available',_0x32a0e9[_0x2288('0x4b')]['id'],_0x4474c6[_0x2288('0x81')]));return createBucket(_0x39e224[_0x2288('0x89')],_0x39e224[_0x2288('0x8c')],_0x4474c6[_0x2288('0x8d')],_0x4474c6[_0x2288('0x81')]);}logger[_0x2288('0x66')](util[_0x2288('0x37')](_0x2288('0x8e'),_0x32a0e9[_0x2288('0x4b')]['id'],_0x4474c6[_0x2288('0x81')]));return;}})[_0x2288('0x2a')](function(_0x3fafab){if(_0x4b09fa[_0x2288('0x79')]==='NEW'){return transcribe(_0x32a0e9[_0x2288('0x4b')]['id'],_0x39e224['data1'],_0x39e224[_0x2288('0x8c')],_0x4474c6[_0x2288('0x8d')],_0x4474c6[_0x2288('0x81')],_0x4b09fa[_0x2288('0x52')],_0x4474c6['language']);}else{logger[_0x2288('0x66')](util[_0x2288('0x37')](_0x2288('0x8f'),_0x32a0e9[_0x2288('0x4b')]['id']));return{'transcribeStatus':'IN_PROGRESS'};}})[_0x2288('0x2a')](function(_0x5d6405){if(_0x5d6405){_0x5d6405[_0x2288('0x90')]=_0x32a0e9[_0x2288('0x4e')][_0x2288('0x91')];return _0x4b09fa[_0x2288('0x92')](_0x5d6405);}})[_0x2288('0x2a')](respondWithResult(_0x2afda5,null))['catch'](handleError(_0x2afda5,null));};function writeFile(_0x5e41fe,_0x2b3263){return new Promise(function(_0x1c2ec0,_0x5a0cee){fs[_0x2288('0x93')](_0x2b3263,_0x5e41fe,function(_0x4c76b3,_0x43fd62){if(_0x4c76b3){return _0x5a0cee(_0x4c76b3);}else{return _0x1c2ec0(_0x43fd62);}});});}exports[_0x2288('0x94')]=function(_0x17a071,_0x20bbf3,_0x836eb){return db[_0x2288('0x31')]['findOne']({'where':{'id':_0x17a071[_0x2288('0x4b')]['id']}})[_0x2288('0x2a')](handleEntityNotFound(_0x20bbf3))['then'](function(_0xce8295){if(_0xce8295&&_0xce8295['fileText']){var _0xe52c8=_0xce8295[_0x2288('0x95')];var _0x59bfa4=config['root']+_0x2288('0x96')+_0xce8295['id']+'.txt';if(fs[_0x2288('0x54')](_0x59bfa4)){return _0x59bfa4;}return writeFile(_0xe52c8,_0x59bfa4)['then'](function(){return _0x59bfa4;});}else{throw new db[(_0x2288('0x58'))][(_0x2288('0x59'))](_0x2288('0x97'));}})[_0x2288('0x2a')](function(_0x15a64f){return _0x20bbf3['download'](_0x15a64f);})[_0x2288('0x49')](handleError(_0x20bbf3));};