21ce9aa9cf50f1147a96cbf1a1d613eb7a3f91d8
[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 _0xd9ae=['token','$and','push','%s.cypher','existsSync','extname','destroy','isNil','info','cancellazione\x20fisica\x20documento\x20%s','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','.cypher','createBucket','upload','TranscribeService','startTranscriptionJob','readFileSync','[RUNTRANSCRIPT][%d]\x20Voice\x20recording\x20uploaded\x20in\x20bucket\x20%s\x20(%s)','Location','bucket','Bucket','location','[RUNTRANSCRIPT][%d]\x20Sending\x20transcribe\x20request','[RUNTRANSCRIPT][%d]\x20Transcription\x20job\x20%s\x20created','TranscriptionJob','transcribeName','TranscriptionJobName','transcribeStatus','TranscriptionJobStatus','runTranscribe','Voice\x20Recording\x20not\x20found','Setting','findOne','transcribeAccountId','transcribeRegion','runSentiment','sentiment','sentimentAccountId','sentimentRegion','Sentiment\x20Analysis\x20not\x20configured','CloudProvider','Cloud\x20Provider\x20not\x20available','data1','data2','Cloud\x20Provider\x20not\x20configured','Buckets','Name','[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20not\x20available','[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20available','NEW','language','[RUNTRANSCRIPT][%d]\x20Transcript\x20action\x20already\x20requested','IN_PROGRESS','tempSentiment','writeFile','downloadTranscribe','fileText','root','/server/files/transcribes/transcribe_','.txt','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','sox','to-csv','ejs','fs-extra','squel','crypto','jsforce','desk.js','querystring','papaparse','aws-sdk','uuid/v4','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/license/util','../../mysqldb','status','end','offset','undefined','count','limit','set','Content-Range','json','reject','save','then','sendStatus','name','index','map','VoiceRecording','fieldName','type','key','model','differenceBy','format','keys','filters','intersection','query','fields','attributes','length','hasOwnProperty','nolimit','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','catch','show','rawAttributes','find','create','body','update','params','describe','../../components/encryptor','uniqueid','value','decryptFile','secrets','recording','Sequelize','ValidationError','filename','download','unlink','message','VoiceRecording\x20not\x20found','Not\x20found','downloads','sequelize','MD5','col'];(function(_0xdf6837,_0x440887){var _0x254cfa=function(_0x3bcbc2){while(--_0x3bcbc2){_0xdf6837['push'](_0xdf6837['shift']());}};_0x254cfa(++_0x440887);}(_0xd9ae,0x17e));var _0xed9a=function(_0x545ba9,_0x59409b){_0x545ba9=_0x545ba9-0x0;var _0x3954f5=_0xd9ae[_0x545ba9];return _0x3954f5;};'use strict';var emlformat=require(_0xed9a('0x0'));var rimraf=require(_0xed9a('0x1'));var zipdir=require(_0xed9a('0x2'));var jsonpatch=require(_0xed9a('0x3'));var rp=require(_0xed9a('0x4'));var moment=require(_0xed9a('0x5'));var BPromise=require('bluebird');var Mustache=require(_0xed9a('0x6'));var util=require(_0xed9a('0x7'));var path=require('path');var sox=require(_0xed9a('0x8'));var csv=require(_0xed9a('0x9'));var ejs=require(_0xed9a('0xa'));var fs=require('fs');var fs_extra=require(_0xed9a('0xb'));var _=require('lodash');var squel=require(_0xed9a('0xc'));var crypto=require(_0xed9a('0xd'));var jsforce=require(_0xed9a('0xe'));var deskjs=require(_0xed9a('0xf'));var toCsv=require(_0xed9a('0x9'));var querystring=require(_0xed9a('0x10'));var Papa=require(_0xed9a('0x11'));var AWS=require(_0xed9a('0x12'));var uuidv4=require(_0xed9a('0x13'));var Redis=require('ioredis');var authService=require(_0xed9a('0x14'));var qs=require(_0xed9a('0x15'));var as=require(_0xed9a('0x16'));var hardwareService=require(_0xed9a('0x17'));var logger=require('../../config/logger')(_0xed9a('0x18'));var utils=require(_0xed9a('0x19'));var config=require('../../config/environment');var licenseUtil=require(_0xed9a('0x1a'));var db=require(_0xed9a('0x1b'))['db'];function respondWithStatusCode(_0x410fa2,_0xc60b8a){_0xc60b8a=_0xc60b8a||0xcc;return function(_0x5ca580){if(_0x5ca580){return _0x410fa2['sendStatus'](_0xc60b8a);}return _0x410fa2[_0xed9a('0x1c')](_0xc60b8a)[_0xed9a('0x1d')]();};}function respondWithResult(_0x36bcda,_0xc113a8){_0xc113a8=_0xc113a8||0xc8;return function(_0x83036c){if(_0x83036c){return _0x36bcda[_0xed9a('0x1c')](_0xc113a8)['json'](_0x83036c);}};}function respondWithFilteredResult(_0x45395b,_0x5edada){return function(_0x38bfd9){if(_0x38bfd9){var _0x1d2bdc=typeof _0x5edada[_0xed9a('0x1e')]==='undefined'&&typeof _0x5edada['limit']===_0xed9a('0x1f');var _0x2d91b0=_0x38bfd9[_0xed9a('0x20')];var _0x5a817c=_0x1d2bdc?0x0:_0x5edada[_0xed9a('0x1e')];var _0x57e3a7=_0x1d2bdc?_0x38bfd9['count']:_0x5edada['offset']+_0x5edada[_0xed9a('0x21')];var _0x485abf;if(_0x57e3a7>=_0x2d91b0){_0x57e3a7=_0x2d91b0;_0x485abf=0xc8;}else{_0x485abf=0xce;}_0x45395b[_0xed9a('0x1c')](_0x485abf);return _0x45395b[_0xed9a('0x22')](_0xed9a('0x23'),_0x5a817c+'-'+_0x57e3a7+'/'+_0x2d91b0)[_0xed9a('0x24')](_0x38bfd9);}return null;};}function patchUpdates(_0x216ecc){return function(_0x11871b){try{jsonpatch['apply'](_0x11871b,_0x216ecc,!![]);}catch(_0x241698){return BPromise[_0xed9a('0x25')](_0x241698);}return _0x11871b[_0xed9a('0x26')]();};}function saveUpdates(_0x50c023,_0x31ce8b){return function(_0x545fa6){if(_0x545fa6){return _0x545fa6['update'](_0x50c023)['then'](function(_0xdca20e){return _0xdca20e;});}return null;};}function removeEntity(_0x5472e1,_0xa8802d){return function(_0x192f14){if(_0x192f14){return _0x192f14['destroy']()[_0xed9a('0x27')](function(){_0x5472e1[_0xed9a('0x1c')](0xcc)[_0xed9a('0x1d')]();});}};}function handleEntityNotFound(_0x1f31f6,_0x1888d6){return function(_0x38d7a6){if(!_0x38d7a6){_0x1f31f6[_0xed9a('0x28')](0x194);}return _0x38d7a6;};}function handleError(_0x10d8de,_0x43228a){_0x43228a=_0x43228a||0x1f4;return function(_0x4bf61e){logger['error'](_0x4bf61e['stack']);if(_0x4bf61e['name']){delete _0x4bf61e[_0xed9a('0x29')];}_0x10d8de[_0xed9a('0x1c')](_0x43228a)['send'](_0x4bf61e);};}exports[_0xed9a('0x2a')]=function(_0x22b720,_0x5cf3d0){var _0x5aa15f={},_0x24947e={},_0x470ca8={'count':0x0,'rows':[]};var _0x55e7e5=_[_0xed9a('0x2b')](db[_0xed9a('0x2c')]['rawAttributes'],function(_0x1303bb){return{'name':_0x1303bb[_0xed9a('0x2d')],'type':_0x1303bb[_0xed9a('0x2e')][_0xed9a('0x2f')]};});_0x24947e[_0xed9a('0x30')]=_[_0xed9a('0x31')](_[_0xed9a('0x2b')](_0x55e7e5,'name'),[_0xed9a('0x32')]);_0x24947e['query']=_[_0xed9a('0x33')](_0x22b720['query']);_0x24947e[_0xed9a('0x34')]=_[_0xed9a('0x35')](_0x24947e[_0xed9a('0x30')],_0x24947e[_0xed9a('0x36')]);_0x5aa15f['attributes']=_[_0xed9a('0x35')](_0x24947e[_0xed9a('0x30')],qs[_0xed9a('0x37')](_0x22b720[_0xed9a('0x36')][_0xed9a('0x37')]));_0x5aa15f['attributes']=_0x5aa15f[_0xed9a('0x38')][_0xed9a('0x39')]?_0x5aa15f['attributes']:_0x24947e['model'];if(!_0x22b720['query'][_0xed9a('0x3a')](_0xed9a('0x3b'))){_0x5aa15f['limit']=qs[_0xed9a('0x21')](_0x22b720['query'][_0xed9a('0x21')]);_0x5aa15f[_0xed9a('0x1e')]=qs[_0xed9a('0x1e')](_0x22b720[_0xed9a('0x36')][_0xed9a('0x1e')]);}_0x5aa15f['order']=qs[_0xed9a('0x3c')](_0x22b720[_0xed9a('0x36')][_0xed9a('0x3c')]);_0x5aa15f[_0xed9a('0x3d')]=qs[_0xed9a('0x34')](_[_0xed9a('0x3e')](_0x22b720['query'],_0x24947e[_0xed9a('0x34')]),_0x55e7e5);if(_0x22b720[_0xed9a('0x36')][_0xed9a('0x3f')]){_0x5aa15f[_0xed9a('0x3d')]=_[_0xed9a('0x40')](_0x5aa15f[_0xed9a('0x3d')],{'$or':_[_0xed9a('0x2b')](_0x55e7e5,function(_0x25e456){if(_0x25e456[_0xed9a('0x2e')]!==_0xed9a('0x41')){var _0xfd0264={};_0xfd0264[_0x25e456[_0xed9a('0x29')]]={'$like':'%'+_0x22b720[_0xed9a('0x36')][_0xed9a('0x3f')]+'%'};return _0xfd0264;}})});}_0x5aa15f=_[_0xed9a('0x40')]({},_0x5aa15f,_0x22b720[_0xed9a('0x42')]);var _0x34e7d7={'where':_0x5aa15f[_0xed9a('0x3d')]};return db[_0xed9a('0x2c')]['count'](_0x34e7d7)[_0xed9a('0x27')](function(_0x13378e){_0x470ca8[_0xed9a('0x20')]=_0x13378e;if(_0x22b720[_0xed9a('0x36')][_0xed9a('0x43')]){_0x5aa15f[_0xed9a('0x44')]=[{'all':!![]}];}return db[_0xed9a('0x2c')][_0xed9a('0x45')](_0x5aa15f);})[_0xed9a('0x27')](function(_0x4a17f1){_0x470ca8[_0xed9a('0x46')]=_0x4a17f1;return _0x470ca8;})['then'](respondWithFilteredResult(_0x5cf3d0,_0x5aa15f))[_0xed9a('0x47')](handleError(_0x5cf3d0,null));};exports[_0xed9a('0x48')]=function(_0x3c106f,_0x588d58){var _0x15360d={'raw':![],'where':{'id':_0x3c106f['params']['id']}},_0x52227f={};_0x52227f[_0xed9a('0x30')]=_['keys'](db[_0xed9a('0x2c')][_0xed9a('0x49')]);_0x52227f[_0xed9a('0x36')]=_[_0xed9a('0x33')](_0x3c106f['query']);_0x52227f[_0xed9a('0x34')]=_[_0xed9a('0x35')](_0x52227f[_0xed9a('0x30')],_0x52227f[_0xed9a('0x36')]);_0x15360d['attributes']=_[_0xed9a('0x35')](_0x52227f[_0xed9a('0x30')],qs[_0xed9a('0x37')](_0x3c106f[_0xed9a('0x36')][_0xed9a('0x37')]));_0x15360d[_0xed9a('0x38')]=_0x15360d[_0xed9a('0x38')]['length']?_0x15360d[_0xed9a('0x38')]:_0x52227f[_0xed9a('0x30')];if(_0x3c106f[_0xed9a('0x36')][_0xed9a('0x43')]){_0x15360d['include']=[{'all':!![]}];}_0x15360d=_[_0xed9a('0x40')]({},_0x15360d,_0x3c106f[_0xed9a('0x42')]);return db[_0xed9a('0x2c')][_0xed9a('0x4a')](_0x15360d)[_0xed9a('0x27')](handleEntityNotFound(_0x588d58,null))['then'](respondWithResult(_0x588d58,null))[_0xed9a('0x47')](handleError(_0x588d58,null));};exports[_0xed9a('0x4b')]=function(_0x5c67eb,_0x50bc58){return db['VoiceRecording']['create'](_0x5c67eb[_0xed9a('0x4c')],{})[_0xed9a('0x27')](respondWithResult(_0x50bc58,0xc9))[_0xed9a('0x47')](handleError(_0x50bc58,null));};exports[_0xed9a('0x4d')]=function(_0x500761,_0x539632){if(_0x500761[_0xed9a('0x4c')]['id']){delete _0x500761[_0xed9a('0x4c')]['id'];}return db[_0xed9a('0x2c')]['find']({'where':{'id':_0x500761[_0xed9a('0x4e')]['id']}})[_0xed9a('0x27')](handleEntityNotFound(_0x539632,null))[_0xed9a('0x27')](saveUpdates(_0x500761['body'],null))[_0xed9a('0x27')](respondWithResult(_0x539632,null))[_0xed9a('0x47')](handleError(_0x539632,null));};exports['describe']=function(_0x48511d,_0xb43a02){return db[_0xed9a('0x2c')][_0xed9a('0x4f')]()['then'](respondWithResult(_0xb43a02,null))['catch'](handleError(_0xb43a02,null));};exports['download']=function(_0x601f7,_0x534ad8,_0x9a9bed){var _0x4c3e73=require(_0xed9a('0x50'));var _0x5bdde0=![];var _0xe023f1={};if(_0x601f7[_0xed9a('0x36')][_0xed9a('0x2e')]&&_0x601f7['query'][_0xed9a('0x2e')]===_0xed9a('0x51')){_0xe023f1[_0xed9a('0x51')]=_0x601f7['params']['id'];}else{_0xe023f1['id']=_0x601f7[_0xed9a('0x4e')]['id'];}return db[_0xed9a('0x2c')][_0xed9a('0x4a')]({'where':_0xe023f1,'attributes':['id',_0xed9a('0x52')],'raw':!![]})[_0xed9a('0x27')](handleEntityNotFound(_0x534ad8,null))['then'](function(_0x520243){if(_0x520243){var _0x521f44=_0x520243[_0xed9a('0x52')];var _0x534eb9=util[_0xed9a('0x32')]('%s.cypher',_0x521f44);if(fs['existsSync'](_0x534eb9)){_0x5bdde0=!![];return _0x4c3e73[_0xed9a('0x53')](_0x534eb9,_0x521f44,config[_0xed9a('0x54')][_0xed9a('0x55')])['then'](function(){return _0x520243;});}return _0x520243;}})[_0xed9a('0x27')](function(_0xfe1dd2){if(_0xfe1dd2){var _0x8332a7=_0xfe1dd2[_0xed9a('0x52')];if(!fs['existsSync'](_0x8332a7)){throw new db[(_0xed9a('0x56'))][(_0xed9a('0x57'))]('VoiceRecording\x20not\x20found');}if(_0xfe1dd2[_0xed9a('0x58')]){return _0x534ad8[_0xed9a('0x59')](_0x8332a7,_0xfe1dd2['filename']+path['extname'](_0x8332a7),function(){if(_0x5bdde0){fs[_0xed9a('0x5a')](_0x8332a7);}});}else{return _0x534ad8[_0xed9a('0x59')](_0x8332a7,function(_0xd85ed8){if(_0x5bdde0){fs[_0xed9a('0x5a')](_0x8332a7);}});}}})[_0xed9a('0x47')](function(_0x4e9f1b){if(_0x4e9f1b[_0xed9a('0x5b')]===_0xed9a('0x5c')){_0x534ad8[_0xed9a('0x1c')](0x194)['send'](_0xed9a('0x5d'));}else{return handleError(_0x534ad8,null);}});};exports[_0xed9a('0x5e')]=function(_0x5200b6,_0x3b5e4a,_0x165a04){var _0x2fbeb6=require('../../components/encryptor');var _0x522280=![];var _0x289699={'$and':[db['sequelize'][_0xed9a('0x3d')](db[_0xed9a('0x5f')]['fn'](_0xed9a('0x60'),db[_0xed9a('0x5f')][_0xed9a('0x61')]('uniqueid')),_0x5200b6[_0xed9a('0x36')][_0xed9a('0x62')])]};if(_0x5200b6['query'][_0xed9a('0x2e')]&&_0x5200b6['query'][_0xed9a('0x2e')]===_0xed9a('0x51')){_0x289699[_0xed9a('0x63')][_0xed9a('0x64')]({'uniqueid':_0x5200b6[_0xed9a('0x4e')]['id']});}else{_0x289699[_0xed9a('0x63')][_0xed9a('0x64')]({'id':_0x5200b6[_0xed9a('0x4e')]['id']});}return db[_0xed9a('0x2c')][_0xed9a('0x4a')]({'where':_0x289699,'attributes':['id','value'],'raw':!![]})[_0xed9a('0x27')](handleEntityNotFound(_0x3b5e4a,null))[_0xed9a('0x27')](function(_0x299b1d){if(_0x299b1d){var _0x2efd57=util[_0xed9a('0x32')](_0xed9a('0x65'),_0x299b1d['value']);if(fs['existsSync'](_0x2efd57)){_0x522280=!![];return _0x2fbeb6[_0xed9a('0x53')](_0x2efd57,_0x299b1d[_0xed9a('0x52')],config[_0xed9a('0x54')][_0xed9a('0x55')])['then'](function(){return _0x299b1d;});}return _0x299b1d;}})[_0xed9a('0x27')](function(_0x5ddf64){if(_0x5ddf64){if(!fs[_0xed9a('0x66')](_0x5ddf64[_0xed9a('0x52')])){throw new db[(_0xed9a('0x56'))][(_0xed9a('0x57'))](_0xed9a('0x5c'));}if(_0x5ddf64[_0xed9a('0x58')]){return _0x3b5e4a[_0xed9a('0x59')](_0x5ddf64[_0xed9a('0x52')],_0x5ddf64['filename']+path[_0xed9a('0x67')](_0x5ddf64[_0xed9a('0x52')]),function(){if(_0x522280){fs[_0xed9a('0x5a')](_0x5ddf64['value']);}});}else{return _0x3b5e4a[_0xed9a('0x59')](_0x5ddf64['value'],function(_0x203bcb){if(_0x522280){fs['unlink'](_0x5ddf64[_0xed9a('0x52')]);}});}}})['catch'](handleError(_0x3b5e4a,null));};exports[_0xed9a('0x68')]=function(_0x574394,_0x257331){return db['VoiceRecording'][_0xed9a('0x4a')]({'where':{'id':_0x574394[_0xed9a('0x4e')]['id']}})[_0xed9a('0x27')](function(_0x124cdb){if(_[_0xed9a('0x69')](_0x124cdb)){throw new ReferenceError('Entity\x20not\x20found');}return _0x124cdb;})['then'](function(_0x5bf85a){var _0x171431=_0x5bf85a[_0xed9a('0x52')];logger[_0xed9a('0x6a')](_0xed9a('0x6b'),_0x171431);if(!_['isNil'](_0x5bf85a[_0xed9a('0x52')])&&fs['existsSync'](_0x171431)){logger[_0xed9a('0x6a')](_0xed9a('0x6c')+_0x171431+_0xed9a('0x6d'));fs[_0xed9a('0x6e')](_0x171431);}_0x171431=_0x171431+_0xed9a('0x6f');if(!_[_0xed9a('0x69')](_0x5bf85a[_0xed9a('0x52')])&&fs['existsSync'](_0x171431)){logger[_0xed9a('0x6a')](_0xed9a('0x6c')+_0x171431+_0xed9a('0x6d'));fs[_0xed9a('0x6e')](_0x171431);}return _0x5bf85a;})[_0xed9a('0x27')](function(_0x516785){if(!_0x516785)throw new InternalError();return _0x516785[_0xed9a('0x68')]();})[_0xed9a('0x27')](function(){_0x257331[_0xed9a('0x1c')](0xcc)[_0xed9a('0x1d')]();})['catch'](handleError(_0x257331,null));};function getBucketslist(_0xd3e998,_0x49b1bc,_0x2c1ee9){return new Promise(function(_0x73f3de,_0x25b2db){var _0x34f484=new AWS['S3']({'accessKeyId':_0x49b1bc,'secretAccessKey':_0xd3e998,'region':_0x2c1ee9});_0x34f484['listBuckets']({},function(_0x158ea4,_0x2631f3){if(_0x158ea4){return _0x25b2db(_0x158ea4);}else{return _0x73f3de(_0x2631f3);}});});}function createBucket(_0x251f65,_0x129ef3,_0x44a853,_0x389317){return new Promise(function(_0x1f28ac,_0x426a24){var _0x20e6b3=new AWS['S3']({'accessKeyId':_0x129ef3,'secretAccessKey':_0x251f65,'region':_0x44a853});_0x20e6b3[_0xed9a('0x70')]({'Bucket':_0x389317},function(_0x46f6b9,_0x326525){if(_0x46f6b9){return _0x426a24(_0x46f6b9);}else{return _0x1f28ac(_0x326525);}});});}function uploadFile(_0x16d21b,_0x39114c,_0x174a08,_0x47ecb4,_0x24a2bb,_0x344b86){return new Promise(function(_0x541b89,_0x5e7fba){var _0x162de3=new AWS['S3']({'accessKeyId':_0x39114c,'secretAccessKey':_0x16d21b,'region':_0x174a08});_0x162de3[_0xed9a('0x71')]({'Bucket':_0x47ecb4,'Key':_0x24a2bb,'Body':_0x344b86},function(_0x38760b,_0x548b4c){if(_0x38760b){return _0x5e7fba(_0x38760b);}else{return _0x541b89(_0x548b4c);}});});}function startTranscribe(_0x876f71,_0x4b5589,_0x2b7ef4,_0x42484c,_0x19748c,_0x2adade){return new Promise(function(_0x280962,_0x3b314c){var _0x56cfe6=new AWS[(_0xed9a('0x72'))]({'accessKeyId':_0x4b5589,'secretAccessKey':_0x876f71,'region':_0x2b7ef4});_0x56cfe6[_0xed9a('0x73')]({'TranscriptionJobName':_0x42484c,'LanguageCode':_0x19748c,'Media':{'MediaFileUri':_0x2adade}},function(_0x15b492,_0x591b92){if(_0x15b492){return _0x3b314c(_0x15b492);}else{return _0x280962(_0x591b92);}});});}function transcribe(_0x53a3c2,_0x558d83,_0xc90107,_0x5852d0,_0x353693,_0x1fc3c8,_0xc3fa49){return new Promise(function(_0x258034,_0x15487e){var _0x4a25be={};logger[_0xed9a('0x6a')](util[_0xed9a('0x32')]('[RUNTRANSCRIPT][%d]\x20Starting\x20voice\x20recording\x20upload\x20in\x20bucket\x20%s',_0x53a3c2,_0x353693));return uploadFile(_0x558d83,_0xc90107,_0x5852d0,_0x353693,path['basename'](_0x1fc3c8),fs[_0xed9a('0x74')](_0x1fc3c8))[_0xed9a('0x27')](function(_0x4798c9){logger[_0xed9a('0x6a')](util[_0xed9a('0x32')](_0xed9a('0x75'),_0x53a3c2,_0x353693,_0x4798c9[_0xed9a('0x76')]));_0x4a25be[_0xed9a('0x77')]=_0x4798c9[_0xed9a('0x78')];_0x4a25be[_0xed9a('0x79')]=_0x4798c9['Location'];logger['info'](util[_0xed9a('0x32')](_0xed9a('0x7a'),_0x53a3c2));return startTranscribe(_0x558d83,_0xc90107,_0x5852d0,uuidv4(),_0xc3fa49,_0x4798c9[_0xed9a('0x76')]);})[_0xed9a('0x27')](function(_0x32f98f){logger[_0xed9a('0x6a')](util[_0xed9a('0x32')](_0xed9a('0x7b'),_0x53a3c2,_0x32f98f[_0xed9a('0x7c')]['TranscriptionJobName']));_0x4a25be[_0xed9a('0x7d')]=_0x32f98f['TranscriptionJob'][_0xed9a('0x7e')];_0x4a25be[_0xed9a('0x7f')]=_0x32f98f[_0xed9a('0x7c')][_0xed9a('0x80')];return _0x258034(_0x4a25be);})[_0xed9a('0x47')](function(_0x23229d){return _0x15487e(_0x23229d);});});}exports[_0xed9a('0x81')]=function(_0x114bb5,_0x35cb15,_0x252401){var _0x4692e4;var _0x5b507a;var _0x32b6d5;var _0x3ce735=require(_0xed9a('0x50'));return db[_0xed9a('0x2c')]['findOne']({'where':{'id':_0x114bb5[_0xed9a('0x4e')]['id']}})[_0xed9a('0x27')](function(_0x172877){if(_0x172877){var _0x1d6037=util[_0xed9a('0x32')](_0xed9a('0x65'),_0x172877[_0xed9a('0x52')]);if(fs['existsSync'](_0x1d6037)){cypher=!![];return _0x3ce735['decryptFile'](_0x1d6037,_0x172877[_0xed9a('0x52')],config[_0xed9a('0x54')][_0xed9a('0x55')])[_0xed9a('0x27')](function(){return _0x172877;});}return _0x172877;}})[_0xed9a('0x27')](function(_0x183968){if(!_0x183968){throw new db[(_0xed9a('0x56'))][(_0xed9a('0x57'))](_0xed9a('0x82'));}_0x5b507a=_0x183968;return db[_0xed9a('0x83')][_0xed9a('0x84')]({'where':{'id':0x1}});})['then'](handleEntityNotFound(_0x35cb15,null))[_0xed9a('0x27')](function(_0x2b3750){if(_0x2b3750){_0x4692e4=_0x2b3750;if(!_0x4692e4['transcribe']||!_0x4692e4[_0xed9a('0x85')]||!_0x4692e4[_0xed9a('0x86')]||!_0x4692e4['language']||!_0x4692e4['bucket']){throw new db[(_0xed9a('0x56'))][(_0xed9a('0x57'))]('Transcribe\x20not\x20configured');}if(_0x114bb5[_0xed9a('0x4c')][_0xed9a('0x87')]&&(!_0x4692e4[_0xed9a('0x88')]||!_0x4692e4[_0xed9a('0x89')]||!_0x4692e4[_0xed9a('0x8a')]||!_0x4692e4['language']||!_0x4692e4[_0xed9a('0x77')])){throw new db[(_0xed9a('0x56'))][(_0xed9a('0x57'))](_0xed9a('0x8b'));}return db[_0xed9a('0x8c')]['findOne']({'where':{'id':_0x4692e4['transcribeAccountId']}});}})[_0xed9a('0x27')](function(_0x2709c7){if(!_0x2709c7){throw new db[(_0xed9a('0x56'))][(_0xed9a('0x57'))](_0xed9a('0x8d'));}if(!_0x2709c7[_0xed9a('0x8e')]||!_0x2709c7[_0xed9a('0x8f')]){throw new db['Sequelize'][(_0xed9a('0x57'))](_0xed9a('0x90'));}_0x32b6d5=_0x2709c7;return getBucketslist(_0x32b6d5[_0xed9a('0x8e')],_0x32b6d5[_0xed9a('0x8f')],_0x4692e4[_0xed9a('0x86')]);})[_0xed9a('0x27')](function(_0x2d95db){if(_0x2d95db&&_0x2d95db[_0xed9a('0x91')]){var _0x3bc284=_[_0xed9a('0x4a')](_0x2d95db['Buckets'],function(_0x25c453){return _0x25c453[_0xed9a('0x92')]===_0x4692e4[_0xed9a('0x77')];});if(!_0x3bc284){logger[_0xed9a('0x6a')](util[_0xed9a('0x32')](_0xed9a('0x93'),_0x114bb5[_0xed9a('0x4e')]['id'],_0x4692e4[_0xed9a('0x77')]));return createBucket(_0x32b6d5[_0xed9a('0x8e')],_0x32b6d5[_0xed9a('0x8f')],_0x4692e4['transcribeRegion'],_0x4692e4[_0xed9a('0x77')]);}logger[_0xed9a('0x6a')](util['format'](_0xed9a('0x94'),_0x114bb5[_0xed9a('0x4e')]['id'],_0x4692e4['bucket']));return;}})['then'](function(_0x3c458b){if(_0x5b507a[_0xed9a('0x7f')]===_0xed9a('0x95')){return transcribe(_0x114bb5[_0xed9a('0x4e')]['id'],_0x32b6d5[_0xed9a('0x8e')],_0x32b6d5['data2'],_0x4692e4[_0xed9a('0x86')],_0x4692e4[_0xed9a('0x77')],_0x5b507a[_0xed9a('0x52')],_0x4692e4[_0xed9a('0x96')]);}else{logger[_0xed9a('0x6a')](util['format'](_0xed9a('0x97'),_0x114bb5[_0xed9a('0x4e')]['id']));return{'transcribeStatus':_0xed9a('0x98')};}})['then'](function(_0x3bfc49){if(_0x3bfc49){_0x3bfc49[_0xed9a('0x99')]=_0x114bb5[_0xed9a('0x4c')]['runSentiment'];return _0x5b507a['updateAttributes'](_0x3bfc49);}})[_0xed9a('0x27')](respondWithResult(_0x35cb15,null))[_0xed9a('0x47')](handleError(_0x35cb15,null));};function writeFile(_0x299916,_0x2186ea){return new Promise(function(_0x25512b,_0x315d4f){fs[_0xed9a('0x9a')](_0x2186ea,_0x299916,function(_0x2ba5f6,_0x118e79){if(_0x2ba5f6){return _0x315d4f(_0x2ba5f6);}else{return _0x25512b(_0x118e79);}});});}exports[_0xed9a('0x9b')]=function(_0x2e88a8,_0x497e3f,_0x5d3a9f){return db['VoiceRecording'][_0xed9a('0x84')]({'where':{'id':_0x2e88a8[_0xed9a('0x4e')]['id']}})[_0xed9a('0x27')](handleEntityNotFound(_0x497e3f))[_0xed9a('0x27')](function(_0x443a9a){if(_0x443a9a&&_0x443a9a['fileText']){var _0x594bc7=_0x443a9a[_0xed9a('0x9c')];var _0xa18a1d=config[_0xed9a('0x9d')]+_0xed9a('0x9e')+_0x443a9a['id']+_0xed9a('0x9f');if(fs[_0xed9a('0x66')](_0xa18a1d)){return _0xa18a1d;}return writeFile(_0x594bc7,_0xa18a1d)[_0xed9a('0x27')](function(){return _0xa18a1d;});}else{throw new db[(_0xed9a('0x56'))][(_0xed9a('0x57'))]('Transcript\x20not\x20available');}})[_0xed9a('0x27')](function(_0x506c46){return _0x497e3f['download'](_0x506c46);})[_0xed9a('0x47')](handleError(_0x497e3f));};