Built motion from commit (unavailable).|2.5.0
[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 _0xdf14=['[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20not\x20available','[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20available','[RUNTRANSCRIPT][%d]\x20Transcript\x20action\x20already\x20requested','IN_PROGRESS','tempSentiment','writeFile','fileText','root','/server/files/transcribes/transcribe_','.txt','Transcript\x20not\x20available','html-pdf','eml-format','rimraf','zip-dir','request-promise','moment','mustache','path','sox','to-csv','ejs','lodash','crypto','jsforce','desk.js','querystring','papaparse','aws-sdk','uuid/v4','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/environment','sendStatus','status','end','count','offset','set','Content-Range','json','apply','reject','update','then','destroy','error','stack','name','map','rawAttributes','fieldName','type','differenceBy','format','keys','query','filters','intersection','model','attributes','fields','length','hasOwnProperty','limit','order','sort','where','pick','filter','VIRTUAL','merge','VoiceRecording','includeAll','include','findAll','catch','show','params','options','find','create','body','describe','download','../../components/encryptor','value','%s.cypher','secrets','recording','Sequelize','VoiceRecording\x20not\x20found','filename','extname','unlink','message','send','Not\x20found','downloads','sequelize','MD5','uniqueid','token','$and','push','decryptFile','existsSync','ValidationError','Entity\x20not\x20found','cancellazione\x20fisica\x20documento\x20%s','info','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','.cypher','isNil','listBuckets','createBucket','upload','TranscribeService','[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','Bucket','location','[RUNTRANSCRIPT][%d]\x20Transcription\x20job\x20%s\x20created','TranscriptionJob','transcribeName','TranscriptionJobName','transcribeStatus','runTranscribe','Setting','findOne','transcribeAccountId','transcribeRegion','sentiment','sentimentAccountId','sentimentRegion','language','Sentiment\x20Analysis\x20not\x20configured','Cloud\x20Provider\x20not\x20available','data1','data2','Buckets','Name'];(function(_0x1ebce2,_0x10e903){var _0x4a330c=function(_0x4fd810){while(--_0x4fd810){_0x1ebce2['push'](_0x1ebce2['shift']());}};_0x4a330c(++_0x10e903);}(_0xdf14,0xa2));var _0x4df1=function(_0x59f2ee,_0x38e8b5){_0x59f2ee=_0x59f2ee-0x0;var _0x5a2281=_0xdf14[_0x59f2ee];return _0x5a2281;};'use strict';var pdf=require(_0x4df1('0x0'));var emlformat=require(_0x4df1('0x1'));var rimraf=require(_0x4df1('0x2'));var zipdir=require(_0x4df1('0x3'));var jsonpatch=require('fast-json-patch');var rp=require(_0x4df1('0x4'));var moment=require(_0x4df1('0x5'));var BPromise=require('bluebird');var Mustache=require(_0x4df1('0x6'));var util=require('util');var path=require(_0x4df1('0x7'));var sox=require(_0x4df1('0x8'));var csv=require(_0x4df1('0x9'));var ejs=require(_0x4df1('0xa'));var fs=require('fs');var _=require(_0x4df1('0xb'));var squel=require('squel');var crypto=require(_0x4df1('0xc'));var jsforce=require(_0x4df1('0xd'));var deskjs=require(_0x4df1('0xe'));var toCsv=require(_0x4df1('0x9'));var querystring=require(_0x4df1('0xf'));var Papa=require(_0x4df1('0x10'));var AWS=require(_0x4df1('0x11'));var uuidv4=require(_0x4df1('0x12'));var Redis=require(_0x4df1('0x13'));var authService=require(_0x4df1('0x14'));var qs=require('../../components/parsers/qs');var as=require(_0x4df1('0x15'));var hardwareService=require(_0x4df1('0x16'));var logger=require('../../config/logger')(_0x4df1('0x17'));var utils=require('../../config/utils');var config=require(_0x4df1('0x18'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x557483,_0x27aa5f){_0x27aa5f=_0x27aa5f||0xcc;return function(_0x460deb){if(_0x460deb){return _0x557483[_0x4df1('0x19')](_0x27aa5f);}return _0x557483[_0x4df1('0x1a')](_0x27aa5f)[_0x4df1('0x1b')]();};}function respondWithResult(_0x1a96c7,_0x49a302){_0x49a302=_0x49a302||0xc8;return function(_0x10ac49){if(_0x10ac49){return _0x1a96c7[_0x4df1('0x1a')](_0x49a302)['json'](_0x10ac49);}};}function respondWithFilteredResult(_0x4469fa,_0x40952c){return function(_0x309288){if(_0x309288){var _0x3f72c1=_0x309288[_0x4df1('0x1c')],_0x7038cb=_0x40952c[_0x4df1('0x1d')],_0x2261d9=_0x40952c[_0x4df1('0x1d')]+_0x40952c['limit'],_0x2ad66a;if(_0x2261d9>=_0x3f72c1){_0x2261d9=_0x3f72c1;_0x2ad66a=0xc8;}else{_0x2ad66a=0xce;}_0x4469fa[_0x4df1('0x1a')](_0x2ad66a);return _0x4469fa[_0x4df1('0x1e')](_0x4df1('0x1f'),_0x7038cb+'-'+_0x2261d9+'/'+_0x3f72c1)[_0x4df1('0x20')](_0x309288);}return null;};}function patchUpdates(_0x23171b){return function(_0x3dbc08){try{jsonpatch[_0x4df1('0x21')](_0x3dbc08,_0x23171b,!![]);}catch(_0x580f1a){return BPromise[_0x4df1('0x22')](_0x580f1a);}return _0x3dbc08['save']();};}function saveUpdates(_0x5dc39d,_0x49358b){return function(_0x2796f0){if(_0x2796f0){return _0x2796f0[_0x4df1('0x23')](_0x5dc39d)[_0x4df1('0x24')](function(_0x1ecbc6){return _0x1ecbc6;});}return null;};}function removeEntity(_0x21b674,_0x42bb7e){return function(_0x1c8000){if(_0x1c8000){return _0x1c8000[_0x4df1('0x25')]()[_0x4df1('0x24')](function(){_0x21b674[_0x4df1('0x1a')](0xcc)[_0x4df1('0x1b')]();});}};}function handleEntityNotFound(_0x443894,_0x4f31d7){return function(_0x37a000){if(!_0x37a000){_0x443894['sendStatus'](0x194);}return _0x37a000;};}function handleError(_0x4ae9f5,_0x10da73){_0x10da73=_0x10da73||0x1f4;return function(_0x5a692e){logger[_0x4df1('0x26')](_0x5a692e[_0x4df1('0x27')]);if(_0x5a692e[_0x4df1('0x28')]){delete _0x5a692e[_0x4df1('0x28')];}_0x4ae9f5['status'](_0x10da73)['send'](_0x5a692e);};}exports['index']=function(_0x23e846,_0x22fccf){var _0x2fd8be={},_0x3458c7={},_0x325718={'count':0x0,'rows':[]};var _0x41ab66=_[_0x4df1('0x29')](db['VoiceRecording'][_0x4df1('0x2a')],function(_0x530d5d){return{'name':_0x530d5d[_0x4df1('0x2b')],'type':_0x530d5d[_0x4df1('0x2c')]['key']};});_0x3458c7['model']=_[_0x4df1('0x2d')](_['map'](_0x41ab66,_0x4df1('0x28')),[_0x4df1('0x2e')]);_0x3458c7['query']=_[_0x4df1('0x2f')](_0x23e846[_0x4df1('0x30')]);_0x3458c7[_0x4df1('0x31')]=_[_0x4df1('0x32')](_0x3458c7[_0x4df1('0x33')],_0x3458c7[_0x4df1('0x30')]);_0x2fd8be[_0x4df1('0x34')]=_[_0x4df1('0x32')](_0x3458c7[_0x4df1('0x33')],qs[_0x4df1('0x35')](_0x23e846[_0x4df1('0x30')][_0x4df1('0x35')]));_0x2fd8be[_0x4df1('0x34')]=_0x2fd8be[_0x4df1('0x34')][_0x4df1('0x36')]?_0x2fd8be[_0x4df1('0x34')]:_0x3458c7[_0x4df1('0x33')];if(!_0x23e846['query'][_0x4df1('0x37')]('nolimit')){_0x2fd8be[_0x4df1('0x38')]=qs[_0x4df1('0x38')](_0x23e846[_0x4df1('0x30')][_0x4df1('0x38')]);_0x2fd8be['offset']=qs[_0x4df1('0x1d')](_0x23e846[_0x4df1('0x30')][_0x4df1('0x1d')]);}_0x2fd8be[_0x4df1('0x39')]=qs[_0x4df1('0x3a')](_0x23e846[_0x4df1('0x30')]['sort']);_0x2fd8be[_0x4df1('0x3b')]=qs[_0x4df1('0x31')](_[_0x4df1('0x3c')](_0x23e846['query'],_0x3458c7[_0x4df1('0x31')]),_0x41ab66);if(_0x23e846['query'][_0x4df1('0x3d')]){_0x2fd8be[_0x4df1('0x3b')]=_['merge'](_0x2fd8be[_0x4df1('0x3b')],{'$or':_[_0x4df1('0x29')](_0x41ab66,function(_0x5496a4){if(_0x5496a4[_0x4df1('0x2c')]!==_0x4df1('0x3e')){var _0x1c93b1={};_0x1c93b1[_0x5496a4[_0x4df1('0x28')]]={'$like':'%'+_0x23e846[_0x4df1('0x30')][_0x4df1('0x3d')]+'%'};return _0x1c93b1;}})});}_0x2fd8be=_[_0x4df1('0x3f')]({},_0x2fd8be,_0x23e846['options']);var _0xf46229={'where':_0x2fd8be[_0x4df1('0x3b')]};return db[_0x4df1('0x40')][_0x4df1('0x1c')](_0xf46229)[_0x4df1('0x24')](function(_0x4d697f){_0x325718[_0x4df1('0x1c')]=_0x4d697f;if(_0x23e846[_0x4df1('0x30')][_0x4df1('0x41')]){_0x2fd8be[_0x4df1('0x42')]=[{'all':!![]}];}return db[_0x4df1('0x40')][_0x4df1('0x43')](_0x2fd8be);})['then'](function(_0x17c027){_0x325718['rows']=_0x17c027;return _0x325718;})[_0x4df1('0x24')](respondWithFilteredResult(_0x22fccf,_0x2fd8be))[_0x4df1('0x44')](handleError(_0x22fccf,null));};exports[_0x4df1('0x45')]=function(_0x46eb35,_0x557106){var _0x17df31={'raw':![],'where':{'id':_0x46eb35[_0x4df1('0x46')]['id']}},_0x29f37d={};_0x29f37d['model']=_['keys'](db[_0x4df1('0x40')][_0x4df1('0x2a')]);_0x29f37d[_0x4df1('0x30')]=_['keys'](_0x46eb35[_0x4df1('0x30')]);_0x29f37d[_0x4df1('0x31')]=_['intersection'](_0x29f37d[_0x4df1('0x33')],_0x29f37d[_0x4df1('0x30')]);_0x17df31[_0x4df1('0x34')]=_[_0x4df1('0x32')](_0x29f37d[_0x4df1('0x33')],qs[_0x4df1('0x35')](_0x46eb35[_0x4df1('0x30')][_0x4df1('0x35')]));_0x17df31[_0x4df1('0x34')]=_0x17df31[_0x4df1('0x34')][_0x4df1('0x36')]?_0x17df31[_0x4df1('0x34')]:_0x29f37d['model'];if(_0x46eb35[_0x4df1('0x30')][_0x4df1('0x41')]){_0x17df31[_0x4df1('0x42')]=[{'all':!![]}];}_0x17df31=_[_0x4df1('0x3f')]({},_0x17df31,_0x46eb35[_0x4df1('0x47')]);return db[_0x4df1('0x40')][_0x4df1('0x48')](_0x17df31)[_0x4df1('0x24')](handleEntityNotFound(_0x557106,null))[_0x4df1('0x24')](respondWithResult(_0x557106,null))[_0x4df1('0x44')](handleError(_0x557106,null));};exports[_0x4df1('0x49')]=function(_0x3a43a6,_0x19a5c3){return db[_0x4df1('0x40')]['create'](_0x3a43a6[_0x4df1('0x4a')],{})[_0x4df1('0x24')](respondWithResult(_0x19a5c3,0xc9))[_0x4df1('0x44')](handleError(_0x19a5c3,null));};exports[_0x4df1('0x23')]=function(_0x42f0ad,_0x41a1c8){if(_0x42f0ad[_0x4df1('0x4a')]['id']){delete _0x42f0ad[_0x4df1('0x4a')]['id'];}return db['VoiceRecording'][_0x4df1('0x48')]({'where':{'id':_0x42f0ad['params']['id']}})[_0x4df1('0x24')](handleEntityNotFound(_0x41a1c8,null))['then'](saveUpdates(_0x42f0ad['body'],null))['then'](respondWithResult(_0x41a1c8,null))[_0x4df1('0x44')](handleError(_0x41a1c8,null));};exports[_0x4df1('0x4b')]=function(_0x19809d,_0x15659e){return db[_0x4df1('0x40')][_0x4df1('0x4b')]()['then'](respondWithResult(_0x15659e,null))[_0x4df1('0x44')](handleError(_0x15659e,null));};exports[_0x4df1('0x4c')]=function(_0x39b640,_0x498f54,_0x59b989){var _0x157e2a=require(_0x4df1('0x4d'));var _0x2ecefd=![];var _0x44c55f={};if(_0x39b640[_0x4df1('0x30')][_0x4df1('0x2c')]&&_0x39b640[_0x4df1('0x30')][_0x4df1('0x2c')]==='uniqueid'){_0x44c55f['uniqueid']=_0x39b640[_0x4df1('0x46')]['id'];}else{_0x44c55f['id']=_0x39b640[_0x4df1('0x46')]['id'];}return db[_0x4df1('0x40')][_0x4df1('0x48')]({'where':_0x44c55f,'attributes':['id',_0x4df1('0x4e')],'raw':!![]})[_0x4df1('0x24')](handleEntityNotFound(_0x498f54,null))[_0x4df1('0x24')](function(_0x559e67){if(_0x559e67){var _0x547bbf=_0x559e67[_0x4df1('0x4e')];var _0x11e28e=util['format'](_0x4df1('0x4f'),_0x547bbf);if(fs['existsSync'](_0x11e28e)){_0x2ecefd=!![];return _0x157e2a['decryptFile'](_0x11e28e,_0x547bbf,config[_0x4df1('0x50')][_0x4df1('0x51')])[_0x4df1('0x24')](function(){return _0x559e67;});}return _0x559e67;}})[_0x4df1('0x24')](function(_0x37391a){if(_0x37391a){var _0x4ee017=_0x37391a[_0x4df1('0x4e')];if(!fs['existsSync'](_0x4ee017)){throw new db[(_0x4df1('0x52'))]['ValidationError'](_0x4df1('0x53'));}if(_0x37391a['filename']){return _0x498f54[_0x4df1('0x4c')](_0x4ee017,_0x37391a[_0x4df1('0x54')]+path[_0x4df1('0x55')](_0x4ee017),function(){if(_0x2ecefd){fs[_0x4df1('0x56')](_0x4ee017);}});}else{return _0x498f54[_0x4df1('0x4c')](_0x4ee017,function(_0x45049f){if(_0x2ecefd){fs['unlink'](_0x4ee017);}});}}})[_0x4df1('0x44')](function(_0x194e37){if(_0x194e37[_0x4df1('0x57')]===_0x4df1('0x53')){_0x498f54[_0x4df1('0x1a')](0x194)[_0x4df1('0x58')](_0x4df1('0x59'));}else{return handleError(_0x498f54,null);}});};exports[_0x4df1('0x5a')]=function(_0x6880a4,_0x5b14ca,_0x56a610){var _0x3f84e3=require('../../components/encryptor');var _0x556fc2=![];var _0x18c176={'$and':[db[_0x4df1('0x5b')]['where'](db[_0x4df1('0x5b')]['fn'](_0x4df1('0x5c'),db[_0x4df1('0x5b')]['col'](_0x4df1('0x5d'))),_0x6880a4[_0x4df1('0x30')][_0x4df1('0x5e')])]};if(_0x6880a4['query'][_0x4df1('0x2c')]&&_0x6880a4['query']['type']===_0x4df1('0x5d')){_0x18c176[_0x4df1('0x5f')][_0x4df1('0x60')]({'uniqueid':_0x6880a4[_0x4df1('0x46')]['id']});}else{_0x18c176[_0x4df1('0x5f')]['push']({'id':_0x6880a4[_0x4df1('0x46')]['id']});}return db[_0x4df1('0x40')][_0x4df1('0x48')]({'where':_0x18c176,'attributes':['id','value'],'raw':!![]})['then'](handleEntityNotFound(_0x5b14ca,null))['then'](function(_0x52e3f0){if(_0x52e3f0){var _0x513b6c=util['format'](_0x4df1('0x4f'),_0x52e3f0[_0x4df1('0x4e')]);if(fs['existsSync'](_0x513b6c)){_0x556fc2=!![];return _0x3f84e3[_0x4df1('0x61')](_0x513b6c,_0x52e3f0['value'],config[_0x4df1('0x50')][_0x4df1('0x51')])[_0x4df1('0x24')](function(){return _0x52e3f0;});}return _0x52e3f0;}})[_0x4df1('0x24')](function(_0x17ec25){if(_0x17ec25){if(!fs[_0x4df1('0x62')](_0x17ec25['value'])){throw new db[(_0x4df1('0x52'))][(_0x4df1('0x63'))]('VoiceRecording\x20not\x20found');}if(_0x17ec25[_0x4df1('0x54')]){return _0x5b14ca[_0x4df1('0x4c')](_0x17ec25['value'],_0x17ec25[_0x4df1('0x54')]+path['extname'](_0x17ec25[_0x4df1('0x4e')]),function(){if(_0x556fc2){fs[_0x4df1('0x56')](_0x17ec25[_0x4df1('0x4e')]);}});}else{return _0x5b14ca['download'](_0x17ec25[_0x4df1('0x4e')],function(_0x3a3bce){if(_0x556fc2){fs[_0x4df1('0x56')](_0x17ec25[_0x4df1('0x4e')]);}});}}})[_0x4df1('0x44')](handleError(_0x5b14ca,null));};exports['destroy']=function(_0x3e5207,_0x4b24a3){return db[_0x4df1('0x40')][_0x4df1('0x48')]({'where':{'id':_0x3e5207['params']['id']}})[_0x4df1('0x24')](function(_0xbe7871){if(!_0xbe7871)throw new ReferenceError(_0x4df1('0x64'));return _0xbe7871;})[_0x4df1('0x24')](function(_0x3786c2){var _0x5a2edf=_0x3786c2[_0x4df1('0x4e')];logger['info'](_0x4df1('0x65'),_0x5a2edf);if(!_['isNil'](_0x3786c2[_0x4df1('0x4e')])&&fs[_0x4df1('0x62')](_0x5a2edf)){logger[_0x4df1('0x66')](_0x4df1('0x67')+_0x5a2edf+_0x4df1('0x68'));fs[_0x4df1('0x69')](_0x5a2edf);}_0x5a2edf=_0x5a2edf+_0x4df1('0x6a');if(!_[_0x4df1('0x6b')](_0x3786c2[_0x4df1('0x4e')])&&fs['existsSync'](_0x5a2edf)){logger[_0x4df1('0x66')]('File:\x20\x22'+_0x5a2edf+'\x22\x20trovato\x20eseguo\x20la\x20cancellazione');fs[_0x4df1('0x69')](_0x5a2edf);}return _0x3786c2;})[_0x4df1('0x24')](function(_0x4e134b){if(!_0x4e134b)throw new InternalError();return _0x4e134b[_0x4df1('0x25')]();})[_0x4df1('0x24')](function(){_0x4b24a3[_0x4df1('0x1a')](0xcc)[_0x4df1('0x1b')]();})[_0x4df1('0x44')](handleError(_0x4b24a3,null));};function getBucketslist(_0x1caee1,_0x13a435,_0x344e9c){return new Promise(function(_0x5f56d6,_0x1c25e5){var _0x1bca25=new AWS['S3']({'accessKeyId':_0x13a435,'secretAccessKey':_0x1caee1,'region':_0x344e9c});_0x1bca25[_0x4df1('0x6c')]({},function(_0x2e741e,_0x12818c){if(_0x2e741e){return _0x1c25e5(_0x2e741e);}else{return _0x5f56d6(_0x12818c);}});});}function createBucket(_0x544681,_0x400f04,_0xee1af3,_0x429325){return new Promise(function(_0x52e90d,_0x2eb214){var _0x2119b7=new AWS['S3']({'accessKeyId':_0x400f04,'secretAccessKey':_0x544681,'region':_0xee1af3});_0x2119b7[_0x4df1('0x6d')]({'Bucket':_0x429325},function(_0x1ff914,_0x39e3bd){if(_0x1ff914){return _0x2eb214(_0x1ff914);}else{return _0x52e90d(_0x39e3bd);}});});}function uploadFile(_0x5116fa,_0x59e0cc,_0x497b56,_0x13e07d,_0x1a85ef,_0x3d980f){return new Promise(function(_0x105fa9,_0x4a234d){var _0x45065a=new AWS['S3']({'accessKeyId':_0x59e0cc,'secretAccessKey':_0x5116fa,'region':_0x497b56});_0x45065a[_0x4df1('0x6e')]({'Bucket':_0x13e07d,'Key':_0x1a85ef,'Body':_0x3d980f},function(_0x16592b,_0x2ae930){if(_0x16592b){return _0x4a234d(_0x16592b);}else{return _0x105fa9(_0x2ae930);}});});}function startTranscribe(_0x946aa6,_0x5be206,_0xb610c2,_0x46ca09,_0x32209a,_0xf19537){return new Promise(function(_0x2f2c7c,_0x26d0f5){var _0x42626e=new AWS[(_0x4df1('0x6f'))]({'accessKeyId':_0x5be206,'secretAccessKey':_0x946aa6,'region':_0xb610c2});_0x42626e['startTranscriptionJob']({'TranscriptionJobName':_0x46ca09,'LanguageCode':_0x32209a,'Media':{'MediaFileUri':_0xf19537}},function(_0x54484b,_0x3129d9){if(_0x54484b){return _0x26d0f5(_0x54484b);}else{return _0x2f2c7c(_0x3129d9);}});});}function transcribe(_0x392491,_0x2f1c03,_0x3023bb,_0x4abbc6,_0x3ee839,_0x48f768,_0x1ff963){return new Promise(function(_0x489e5e,_0x178679){var _0x5e8288={};logger[_0x4df1('0x66')](util[_0x4df1('0x2e')](_0x4df1('0x70'),_0x392491,_0x3ee839));return uploadFile(_0x2f1c03,_0x3023bb,_0x4abbc6,_0x3ee839,path[_0x4df1('0x71')](_0x48f768),fs[_0x4df1('0x72')](_0x48f768))['then'](function(_0x495787){logger[_0x4df1('0x66')](util[_0x4df1('0x2e')](_0x4df1('0x73'),_0x392491,_0x3ee839,_0x495787[_0x4df1('0x74')]));_0x5e8288[_0x4df1('0x75')]=_0x495787[_0x4df1('0x76')];_0x5e8288[_0x4df1('0x77')]=_0x495787[_0x4df1('0x74')];logger['info'](util[_0x4df1('0x2e')]('[RUNTRANSCRIPT][%d]\x20Sending\x20transcribe\x20request',_0x392491));return startTranscribe(_0x2f1c03,_0x3023bb,_0x4abbc6,uuidv4(),_0x1ff963,_0x495787[_0x4df1('0x74')]);})[_0x4df1('0x24')](function(_0x726e7a){logger[_0x4df1('0x66')](util[_0x4df1('0x2e')](_0x4df1('0x78'),_0x392491,_0x726e7a[_0x4df1('0x79')]['TranscriptionJobName']));_0x5e8288[_0x4df1('0x7a')]=_0x726e7a['TranscriptionJob'][_0x4df1('0x7b')];_0x5e8288[_0x4df1('0x7c')]=_0x726e7a[_0x4df1('0x79')]['TranscriptionJobStatus'];return _0x489e5e(_0x5e8288);})[_0x4df1('0x44')](function(_0x40daec){return _0x178679(_0x40daec);});});}exports[_0x4df1('0x7d')]=function(_0x3ba4fa,_0x2de8f3,_0x86eca6){var _0x152daa;var _0x267d0c;var _0x38f34a;var _0x26ac23=require(_0x4df1('0x4d'));return db[_0x4df1('0x40')]['findOne']({'where':{'id':_0x3ba4fa[_0x4df1('0x46')]['id']}})[_0x4df1('0x24')](function(_0x591558){if(_0x591558){var _0x28fe49=util[_0x4df1('0x2e')](_0x4df1('0x4f'),_0x591558[_0x4df1('0x4e')]);if(fs[_0x4df1('0x62')](_0x28fe49)){cypher=!![];return _0x26ac23['decryptFile'](_0x28fe49,_0x591558[_0x4df1('0x4e')],config[_0x4df1('0x50')][_0x4df1('0x51')])[_0x4df1('0x24')](function(){return _0x591558;});}return _0x591558;}})['then'](function(_0x453b38){if(!_0x453b38){throw new db[(_0x4df1('0x52'))][(_0x4df1('0x63'))]('Voice\x20Recording\x20not\x20found');}_0x267d0c=_0x453b38;return db[_0x4df1('0x7e')][_0x4df1('0x7f')]({'where':{'id':0x1}});})['then'](handleEntityNotFound(_0x2de8f3,null))[_0x4df1('0x24')](function(_0x5b91b6){if(_0x5b91b6){_0x152daa=_0x5b91b6;if(!_0x152daa['transcribe']||!_0x152daa[_0x4df1('0x80')]||!_0x152daa[_0x4df1('0x81')]||!_0x152daa['language']||!_0x152daa[_0x4df1('0x75')]){throw new db[(_0x4df1('0x52'))][(_0x4df1('0x63'))]('Transcribe\x20not\x20configured');}if(_0x3ba4fa['body']['runSentiment']&&(!_0x152daa[_0x4df1('0x82')]||!_0x152daa[_0x4df1('0x83')]||!_0x152daa[_0x4df1('0x84')]||!_0x152daa[_0x4df1('0x85')]||!_0x152daa[_0x4df1('0x75')])){throw new db[(_0x4df1('0x52'))][(_0x4df1('0x63'))](_0x4df1('0x86'));}return db['CloudProvider'][_0x4df1('0x7f')]({'where':{'id':_0x152daa[_0x4df1('0x80')]}});}})[_0x4df1('0x24')](function(_0x5773bb){if(!_0x5773bb){throw new db[(_0x4df1('0x52'))]['ValidationError'](_0x4df1('0x87'));}if(!_0x5773bb[_0x4df1('0x88')]||!_0x5773bb[_0x4df1('0x89')]){throw new db[(_0x4df1('0x52'))]['ValidationError']('Cloud\x20Provider\x20not\x20configured');}_0x38f34a=_0x5773bb;return getBucketslist(_0x38f34a[_0x4df1('0x88')],_0x38f34a[_0x4df1('0x89')],_0x152daa['transcribeRegion']);})[_0x4df1('0x24')](function(_0x5490d9){if(_0x5490d9&&_0x5490d9[_0x4df1('0x8a')]){var _0x1f1be2=_[_0x4df1('0x48')](_0x5490d9[_0x4df1('0x8a')],function(_0x186346){return _0x186346[_0x4df1('0x8b')]===_0x152daa[_0x4df1('0x75')];});if(!_0x1f1be2){logger['info'](util[_0x4df1('0x2e')](_0x4df1('0x8c'),_0x3ba4fa[_0x4df1('0x46')]['id'],_0x152daa[_0x4df1('0x75')]));return createBucket(_0x38f34a[_0x4df1('0x88')],_0x38f34a[_0x4df1('0x89')],_0x152daa[_0x4df1('0x81')],_0x152daa[_0x4df1('0x75')]);}logger['info'](util['format'](_0x4df1('0x8d'),_0x3ba4fa['params']['id'],_0x152daa['bucket']));return;}})[_0x4df1('0x24')](function(_0x3bf33f){if(_0x267d0c[_0x4df1('0x7c')]==='NEW'){return transcribe(_0x3ba4fa['params']['id'],_0x38f34a[_0x4df1('0x88')],_0x38f34a[_0x4df1('0x89')],_0x152daa['transcribeRegion'],_0x152daa[_0x4df1('0x75')],_0x267d0c[_0x4df1('0x4e')],_0x152daa[_0x4df1('0x85')]);}else{logger['info'](util['format'](_0x4df1('0x8e'),_0x3ba4fa[_0x4df1('0x46')]['id']));return{'transcribeStatus':_0x4df1('0x8f')};}})[_0x4df1('0x24')](function(_0x13011e){if(_0x13011e){_0x13011e[_0x4df1('0x90')]=_0x3ba4fa[_0x4df1('0x4a')]['runSentiment'];return _0x267d0c['updateAttributes'](_0x13011e);}})[_0x4df1('0x24')](respondWithResult(_0x2de8f3,null))[_0x4df1('0x44')](handleError(_0x2de8f3,null));};function writeFile(_0x5a2096,_0x427ff5){return new Promise(function(_0x2aec1a,_0x2b95e5){fs[_0x4df1('0x91')](_0x427ff5,_0x5a2096,function(_0x2b284c,_0x15ecdb){if(_0x2b284c){return _0x2b95e5(_0x2b284c);}else{return _0x2aec1a(_0x15ecdb);}});});}exports['downloadTranscribe']=function(_0x232f69,_0x5c379d,_0x37ef53){return db['VoiceRecording'][_0x4df1('0x7f')]({'where':{'id':_0x232f69[_0x4df1('0x46')]['id']}})[_0x4df1('0x24')](handleEntityNotFound(_0x5c379d))['then'](function(_0x3e9223){if(_0x3e9223&&_0x3e9223[_0x4df1('0x92')]){var _0x6ab2a6=_0x3e9223[_0x4df1('0x92')];var _0xc197a6=config[_0x4df1('0x93')]+_0x4df1('0x94')+_0x3e9223['id']+_0x4df1('0x95');if(fs[_0x4df1('0x62')](_0xc197a6)){return _0xc197a6;}return writeFile(_0x6ab2a6,_0xc197a6)[_0x4df1('0x24')](function(){return _0xc197a6;});}else{throw new db[(_0x4df1('0x52'))][(_0x4df1('0x63'))](_0x4df1('0x96'));}})[_0x4df1('0x24')](function(_0x385d7f){return _0x5c379d['download'](_0x385d7f);})[_0x4df1('0x44')](handleError(_0x5c379d));};