Built motion from commit bab6f49e.|2.6.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 _0xb528=['Entity\x20not\x20found','info','File:\x20\x22','unlinkSync','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','createBucket','upload','TranscribeService','startTranscriptionJob','[RUNTRANSCRIPT][%d]\x20Starting\x20voice\x20recording\x20upload\x20in\x20bucket\x20%s','basename','[RUNTRANSCRIPT][%d]\x20Voice\x20recording\x20uploaded\x20in\x20bucket\x20%s\x20(%s)','Location','Bucket','location','[RUNTRANSCRIPT][%d]\x20Transcription\x20job\x20%s\x20created','TranscriptionJob','TranscriptionJobName','transcribeName','transcribeStatus','TranscriptionJobStatus','runTranscribe','Voice\x20Recording\x20not\x20found','Setting','findOne','transcribeAccountId','transcribeRegion','bucket','runSentiment','sentiment','sentimentAccountId','sentimentRegion','language','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','IN_PROGRESS','tempSentiment','updateAttributes','writeFile','downloadTranscribe','fileText','root','.txt','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','util','path','sox','to-csv','ejs','fs-extra','squel','crypto','jsforce','desk.js','querystring','papaparse','uuid/v4','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','status','offset','undefined','limit','count','set','Content-Range','apply','save','update','then','end','sendStatus','error','index','rawAttributes','fieldName','type','model','differenceBy','map','name','format','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','merge','VIRTUAL','filter','VoiceRecording','includeAll','findAll','catch','show','params','options','find','create','body','describe','download','../../components/encryptor','uniqueid','value','%s.cypher','secrets','recording','existsSync','Sequelize','ValidationError','VoiceRecording\x20not\x20found','filename','unlink','message','send','Not\x20found','downloads','sequelize','col','token','push','$and','decryptFile','extname','destroy','isNil'];(function(_0x2641f9,_0x26715f){var _0x585741=function(_0x2d1462){while(--_0x2d1462){_0x2641f9['push'](_0x2641f9['shift']());}};_0x585741(++_0x26715f);}(_0xb528,0xcf));var _0x8b52=function(_0x5eb13b,_0x222e53){_0x5eb13b=_0x5eb13b-0x0;var _0x21350a=_0xb528[_0x5eb13b];return _0x21350a;};'use strict';var emlformat=require(_0x8b52('0x0'));var rimraf=require(_0x8b52('0x1'));var zipdir=require(_0x8b52('0x2'));var jsonpatch=require(_0x8b52('0x3'));var rp=require(_0x8b52('0x4'));var moment=require(_0x8b52('0x5'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x8b52('0x6'));var path=require(_0x8b52('0x7'));var sox=require(_0x8b52('0x8'));var csv=require(_0x8b52('0x9'));var ejs=require(_0x8b52('0xa'));var fs=require('fs');var fs_extra=require(_0x8b52('0xb'));var _=require('lodash');var squel=require(_0x8b52('0xc'));var crypto=require(_0x8b52('0xd'));var jsforce=require(_0x8b52('0xe'));var deskjs=require(_0x8b52('0xf'));var toCsv=require(_0x8b52('0x9'));var querystring=require(_0x8b52('0x10'));var Papa=require(_0x8b52('0x11'));var AWS=require('aws-sdk');var uuidv4=require(_0x8b52('0x12'));var Redis=require(_0x8b52('0x13'));var authService=require(_0x8b52('0x14'));var qs=require(_0x8b52('0x15'));var as=require(_0x8b52('0x16'));var hardwareService=require(_0x8b52('0x17'));var logger=require(_0x8b52('0x18'))('api');var utils=require(_0x8b52('0x19'));var config=require(_0x8b52('0x1a'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x1970fc,_0x252f57){_0x252f57=_0x252f57||0xcc;return function(_0x394c03){if(_0x394c03){return _0x1970fc['sendStatus'](_0x252f57);}return _0x1970fc['status'](_0x252f57)['end']();};}function respondWithResult(_0x405e34,_0x3ce48b){_0x3ce48b=_0x3ce48b||0xc8;return function(_0x56d315){if(_0x56d315){return _0x405e34[_0x8b52('0x1b')](_0x3ce48b)['json'](_0x56d315);}};}function respondWithFilteredResult(_0x386ff2,_0x1c7e72){return function(_0x9a2bfe){if(_0x9a2bfe){var _0x2c1d6a=typeof _0x1c7e72[_0x8b52('0x1c')]===_0x8b52('0x1d')&&typeof _0x1c7e72[_0x8b52('0x1e')]===_0x8b52('0x1d');var _0x3e1b43=_0x9a2bfe['count'];var _0x239fc7=_0x2c1d6a?0x0:_0x1c7e72[_0x8b52('0x1c')];var _0x43ef4c=_0x2c1d6a?_0x9a2bfe[_0x8b52('0x1f')]:_0x1c7e72['offset']+_0x1c7e72[_0x8b52('0x1e')];var _0x595e8f;if(_0x43ef4c>=_0x3e1b43){_0x43ef4c=_0x3e1b43;_0x595e8f=0xc8;}else{_0x595e8f=0xce;}_0x386ff2['status'](_0x595e8f);return _0x386ff2[_0x8b52('0x20')](_0x8b52('0x21'),_0x239fc7+'-'+_0x43ef4c+'/'+_0x3e1b43)['json'](_0x9a2bfe);}return null;};}function patchUpdates(_0x2ad800){return function(_0x314408){try{jsonpatch[_0x8b52('0x22')](_0x314408,_0x2ad800,!![]);}catch(_0x13e03d){return BPromise['reject'](_0x13e03d);}return _0x314408[_0x8b52('0x23')]();};}function saveUpdates(_0x269f3e,_0x39c9ca){return function(_0x3543eb){if(_0x3543eb){return _0x3543eb[_0x8b52('0x24')](_0x269f3e)[_0x8b52('0x25')](function(_0x360e0d){return _0x360e0d;});}return null;};}function removeEntity(_0x545cda,_0x184c24){return function(_0x4137c5){if(_0x4137c5){return _0x4137c5['destroy']()['then'](function(){_0x545cda[_0x8b52('0x1b')](0xcc)[_0x8b52('0x26')]();});}};}function handleEntityNotFound(_0x4407fb,_0x5ef645){return function(_0x354794){if(!_0x354794){_0x4407fb[_0x8b52('0x27')](0x194);}return _0x354794;};}function handleError(_0x2c4abf,_0x1b0af6){_0x1b0af6=_0x1b0af6||0x1f4;return function(_0x20ef4d){logger[_0x8b52('0x28')](_0x20ef4d['stack']);if(_0x20ef4d['name']){delete _0x20ef4d['name'];}_0x2c4abf[_0x8b52('0x1b')](_0x1b0af6)['send'](_0x20ef4d);};}exports[_0x8b52('0x29')]=function(_0x367a03,_0x1c0b56){var _0x19430a={},_0x34a989={},_0x11ebc3={'count':0x0,'rows':[]};var _0x295907=_['map'](db['VoiceRecording'][_0x8b52('0x2a')],function(_0xab149){return{'name':_0xab149[_0x8b52('0x2b')],'type':_0xab149[_0x8b52('0x2c')]['key']};});_0x34a989[_0x8b52('0x2d')]=_[_0x8b52('0x2e')](_[_0x8b52('0x2f')](_0x295907,_0x8b52('0x30')),[_0x8b52('0x31')]);_0x34a989[_0x8b52('0x32')]=_[_0x8b52('0x33')](_0x367a03[_0x8b52('0x32')]);_0x34a989[_0x8b52('0x34')]=_[_0x8b52('0x35')](_0x34a989[_0x8b52('0x2d')],_0x34a989[_0x8b52('0x32')]);_0x19430a[_0x8b52('0x36')]=_[_0x8b52('0x35')](_0x34a989[_0x8b52('0x2d')],qs[_0x8b52('0x37')](_0x367a03[_0x8b52('0x32')][_0x8b52('0x37')]));_0x19430a[_0x8b52('0x36')]=_0x19430a[_0x8b52('0x36')][_0x8b52('0x38')]?_0x19430a['attributes']:_0x34a989['model'];if(!_0x367a03[_0x8b52('0x32')][_0x8b52('0x39')](_0x8b52('0x3a'))){_0x19430a[_0x8b52('0x1e')]=qs[_0x8b52('0x1e')](_0x367a03['query'][_0x8b52('0x1e')]);_0x19430a[_0x8b52('0x1c')]=qs['offset'](_0x367a03[_0x8b52('0x32')][_0x8b52('0x1c')]);}_0x19430a[_0x8b52('0x3b')]=qs['sort'](_0x367a03['query'][_0x8b52('0x3c')]);_0x19430a[_0x8b52('0x3d')]=qs[_0x8b52('0x34')](_[_0x8b52('0x3e')](_0x367a03[_0x8b52('0x32')],_0x34a989['filters']),_0x295907);if(_0x367a03[_0x8b52('0x32')]['filter']){_0x19430a[_0x8b52('0x3d')]=_[_0x8b52('0x3f')](_0x19430a[_0x8b52('0x3d')],{'$or':_[_0x8b52('0x2f')](_0x295907,function(_0x55134a){if(_0x55134a[_0x8b52('0x2c')]!==_0x8b52('0x40')){var _0x39433f={};_0x39433f[_0x55134a[_0x8b52('0x30')]]={'$like':'%'+_0x367a03[_0x8b52('0x32')][_0x8b52('0x41')]+'%'};return _0x39433f;}})});}_0x19430a=_[_0x8b52('0x3f')]({},_0x19430a,_0x367a03['options']);var _0x3813eb={'where':_0x19430a[_0x8b52('0x3d')]};return db[_0x8b52('0x42')][_0x8b52('0x1f')](_0x3813eb)[_0x8b52('0x25')](function(_0x2dddbd){_0x11ebc3[_0x8b52('0x1f')]=_0x2dddbd;if(_0x367a03['query'][_0x8b52('0x43')]){_0x19430a['include']=[{'all':!![]}];}return db[_0x8b52('0x42')][_0x8b52('0x44')](_0x19430a);})[_0x8b52('0x25')](function(_0x3508f8){_0x11ebc3['rows']=_0x3508f8;return _0x11ebc3;})['then'](respondWithFilteredResult(_0x1c0b56,_0x19430a))[_0x8b52('0x45')](handleError(_0x1c0b56,null));};exports[_0x8b52('0x46')]=function(_0x1b6ed8,_0x5cc427){var _0x1a7b1c={'raw':![],'where':{'id':_0x1b6ed8[_0x8b52('0x47')]['id']}},_0x476072={};_0x476072[_0x8b52('0x2d')]=_[_0x8b52('0x33')](db['VoiceRecording']['rawAttributes']);_0x476072[_0x8b52('0x32')]=_[_0x8b52('0x33')](_0x1b6ed8[_0x8b52('0x32')]);_0x476072[_0x8b52('0x34')]=_[_0x8b52('0x35')](_0x476072[_0x8b52('0x2d')],_0x476072[_0x8b52('0x32')]);_0x1a7b1c[_0x8b52('0x36')]=_[_0x8b52('0x35')](_0x476072[_0x8b52('0x2d')],qs[_0x8b52('0x37')](_0x1b6ed8['query']['fields']));_0x1a7b1c[_0x8b52('0x36')]=_0x1a7b1c[_0x8b52('0x36')][_0x8b52('0x38')]?_0x1a7b1c[_0x8b52('0x36')]:_0x476072[_0x8b52('0x2d')];if(_0x1b6ed8[_0x8b52('0x32')][_0x8b52('0x43')]){_0x1a7b1c['include']=[{'all':!![]}];}_0x1a7b1c=_['merge']({},_0x1a7b1c,_0x1b6ed8[_0x8b52('0x48')]);return db[_0x8b52('0x42')][_0x8b52('0x49')](_0x1a7b1c)[_0x8b52('0x25')](handleEntityNotFound(_0x5cc427,null))[_0x8b52('0x25')](respondWithResult(_0x5cc427,null))[_0x8b52('0x45')](handleError(_0x5cc427,null));};exports['create']=function(_0x38680a,_0x1b9fd9){return db[_0x8b52('0x42')][_0x8b52('0x4a')](_0x38680a[_0x8b52('0x4b')],{})[_0x8b52('0x25')](respondWithResult(_0x1b9fd9,0xc9))[_0x8b52('0x45')](handleError(_0x1b9fd9,null));};exports[_0x8b52('0x24')]=function(_0x28a640,_0x160928){if(_0x28a640[_0x8b52('0x4b')]['id']){delete _0x28a640[_0x8b52('0x4b')]['id'];}return db[_0x8b52('0x42')][_0x8b52('0x49')]({'where':{'id':_0x28a640['params']['id']}})[_0x8b52('0x25')](handleEntityNotFound(_0x160928,null))['then'](saveUpdates(_0x28a640[_0x8b52('0x4b')],null))[_0x8b52('0x25')](respondWithResult(_0x160928,null))[_0x8b52('0x45')](handleError(_0x160928,null));};exports[_0x8b52('0x4c')]=function(_0x50f4be,_0x306193){return db[_0x8b52('0x42')][_0x8b52('0x4c')]()[_0x8b52('0x25')](respondWithResult(_0x306193,null))[_0x8b52('0x45')](handleError(_0x306193,null));};exports[_0x8b52('0x4d')]=function(_0x4cfca0,_0x23e8e3,_0x5dc670){var _0x2ac2dc=require(_0x8b52('0x4e'));var _0x18f170=![];var _0x1c6d30={};if(_0x4cfca0[_0x8b52('0x32')][_0x8b52('0x2c')]&&_0x4cfca0[_0x8b52('0x32')][_0x8b52('0x2c')]===_0x8b52('0x4f')){_0x1c6d30[_0x8b52('0x4f')]=_0x4cfca0[_0x8b52('0x47')]['id'];}else{_0x1c6d30['id']=_0x4cfca0[_0x8b52('0x47')]['id'];}return db['VoiceRecording'][_0x8b52('0x49')]({'where':_0x1c6d30,'attributes':['id',_0x8b52('0x50')],'raw':!![]})[_0x8b52('0x25')](handleEntityNotFound(_0x23e8e3,null))[_0x8b52('0x25')](function(_0x233398){if(_0x233398){var _0x3f9c24=_0x233398['value'];var _0x4bc378=util[_0x8b52('0x31')](_0x8b52('0x51'),_0x3f9c24);if(fs['existsSync'](_0x4bc378)){_0x18f170=!![];return _0x2ac2dc['decryptFile'](_0x4bc378,_0x3f9c24,config[_0x8b52('0x52')][_0x8b52('0x53')])[_0x8b52('0x25')](function(){return _0x233398;});}return _0x233398;}})['then'](function(_0x26a0a9){if(_0x26a0a9){var _0x566b53=_0x26a0a9[_0x8b52('0x50')];if(!fs[_0x8b52('0x54')](_0x566b53)){throw new db[(_0x8b52('0x55'))][(_0x8b52('0x56'))](_0x8b52('0x57'));}if(_0x26a0a9['filename']){return _0x23e8e3['download'](_0x566b53,_0x26a0a9[_0x8b52('0x58')]+path['extname'](_0x566b53),function(){if(_0x18f170){fs['unlink'](_0x566b53);}});}else{return _0x23e8e3[_0x8b52('0x4d')](_0x566b53,function(_0x55d62c){if(_0x18f170){fs[_0x8b52('0x59')](_0x566b53);}});}}})['catch'](function(_0x122f94){if(_0x122f94[_0x8b52('0x5a')]===_0x8b52('0x57')){_0x23e8e3[_0x8b52('0x1b')](0x194)[_0x8b52('0x5b')](_0x8b52('0x5c'));}else{return handleError(_0x23e8e3,null);}});};exports[_0x8b52('0x5d')]=function(_0x3481a1,_0x1f93c7,_0x52a7f5){var _0x3f84f9=require(_0x8b52('0x4e'));var _0x4ae124=![];var _0x58c5f6={'$and':[db[_0x8b52('0x5e')][_0x8b52('0x3d')](db[_0x8b52('0x5e')]['fn']('MD5',db['sequelize'][_0x8b52('0x5f')]('uniqueid')),_0x3481a1['query'][_0x8b52('0x60')])]};if(_0x3481a1[_0x8b52('0x32')]['type']&&_0x3481a1[_0x8b52('0x32')][_0x8b52('0x2c')]===_0x8b52('0x4f')){_0x58c5f6['$and'][_0x8b52('0x61')]({'uniqueid':_0x3481a1[_0x8b52('0x47')]['id']});}else{_0x58c5f6[_0x8b52('0x62')]['push']({'id':_0x3481a1['params']['id']});}return db[_0x8b52('0x42')][_0x8b52('0x49')]({'where':_0x58c5f6,'attributes':['id',_0x8b52('0x50')],'raw':!![]})[_0x8b52('0x25')](handleEntityNotFound(_0x1f93c7,null))[_0x8b52('0x25')](function(_0x1aa5e4){if(_0x1aa5e4){var _0x2a6724=util[_0x8b52('0x31')](_0x8b52('0x51'),_0x1aa5e4[_0x8b52('0x50')]);if(fs[_0x8b52('0x54')](_0x2a6724)){_0x4ae124=!![];return _0x3f84f9[_0x8b52('0x63')](_0x2a6724,_0x1aa5e4[_0x8b52('0x50')],config['secrets'][_0x8b52('0x53')])[_0x8b52('0x25')](function(){return _0x1aa5e4;});}return _0x1aa5e4;}})[_0x8b52('0x25')](function(_0x42c4af){if(_0x42c4af){if(!fs[_0x8b52('0x54')](_0x42c4af[_0x8b52('0x50')])){throw new db[(_0x8b52('0x55'))][(_0x8b52('0x56'))](_0x8b52('0x57'));}if(_0x42c4af[_0x8b52('0x58')]){return _0x1f93c7[_0x8b52('0x4d')](_0x42c4af[_0x8b52('0x50')],_0x42c4af[_0x8b52('0x58')]+path[_0x8b52('0x64')](_0x42c4af[_0x8b52('0x50')]),function(){if(_0x4ae124){fs[_0x8b52('0x59')](_0x42c4af[_0x8b52('0x50')]);}});}else{return _0x1f93c7[_0x8b52('0x4d')](_0x42c4af[_0x8b52('0x50')],function(_0x3a5f6c){if(_0x4ae124){fs['unlink'](_0x42c4af['value']);}});}}})[_0x8b52('0x45')](handleError(_0x1f93c7,null));};exports[_0x8b52('0x65')]=function(_0x2aecca,_0x2386aa){return db[_0x8b52('0x42')]['find']({'where':{'id':_0x2aecca[_0x8b52('0x47')]['id']}})['then'](function(_0x4a0202){if(_[_0x8b52('0x66')](_0x4a0202)){throw new ReferenceError(_0x8b52('0x67'));}return _0x4a0202;})[_0x8b52('0x25')](function(_0x1cfd5a){var _0x4ee8b7=_0x1cfd5a[_0x8b52('0x50')];logger[_0x8b52('0x68')]('cancellazione\x20fisica\x20documento\x20%s',_0x4ee8b7);if(!_[_0x8b52('0x66')](_0x1cfd5a['value'])&&fs[_0x8b52('0x54')](_0x4ee8b7)){logger['info'](_0x8b52('0x69')+_0x4ee8b7+'\x22\x20trovato\x20eseguo\x20la\x20cancellazione');fs[_0x8b52('0x6a')](_0x4ee8b7);}_0x4ee8b7=_0x4ee8b7+'.cypher';if(!_[_0x8b52('0x66')](_0x1cfd5a['value'])&&fs[_0x8b52('0x54')](_0x4ee8b7)){logger[_0x8b52('0x68')](_0x8b52('0x69')+_0x4ee8b7+_0x8b52('0x6b'));fs[_0x8b52('0x6a')](_0x4ee8b7);}return _0x1cfd5a;})[_0x8b52('0x25')](function(_0x5f0a83){if(!_0x5f0a83)throw new InternalError();return _0x5f0a83['destroy']();})['then'](function(){_0x2386aa[_0x8b52('0x1b')](0xcc)['end']();})[_0x8b52('0x45')](handleError(_0x2386aa,null));};function getBucketslist(_0x557b60,_0x404072,_0x19776a){return new Promise(function(_0x3585c5,_0x1b65cb){var _0x282867=new AWS['S3']({'accessKeyId':_0x404072,'secretAccessKey':_0x557b60,'region':_0x19776a});_0x282867['listBuckets']({},function(_0xa17be5,_0x504ac5){if(_0xa17be5){return _0x1b65cb(_0xa17be5);}else{return _0x3585c5(_0x504ac5);}});});}function createBucket(_0x38a517,_0x1b1f2a,_0x3ca02d,_0x1663c7){return new Promise(function(_0x5fea28,_0x373c02){var _0x2e6bf0=new AWS['S3']({'accessKeyId':_0x1b1f2a,'secretAccessKey':_0x38a517,'region':_0x3ca02d});_0x2e6bf0[_0x8b52('0x6c')]({'Bucket':_0x1663c7},function(_0x4ab93b,_0xe44219){if(_0x4ab93b){return _0x373c02(_0x4ab93b);}else{return _0x5fea28(_0xe44219);}});});}function uploadFile(_0x21e2de,_0x5cb7b5,_0x38081d,_0x44a863,_0x5ab5ff,_0x176355){return new Promise(function(_0x3d7ff4,_0x273408){var _0x5238be=new AWS['S3']({'accessKeyId':_0x5cb7b5,'secretAccessKey':_0x21e2de,'region':_0x38081d});_0x5238be[_0x8b52('0x6d')]({'Bucket':_0x44a863,'Key':_0x5ab5ff,'Body':_0x176355},function(_0xec66f3,_0xe539cb){if(_0xec66f3){return _0x273408(_0xec66f3);}else{return _0x3d7ff4(_0xe539cb);}});});}function startTranscribe(_0x258810,_0x1bdd8b,_0x185d68,_0x5e6921,_0x51fe46,_0x45e022){return new Promise(function(_0x547718,_0x3824d7){var _0x5d79c2=new AWS[(_0x8b52('0x6e'))]({'accessKeyId':_0x1bdd8b,'secretAccessKey':_0x258810,'region':_0x185d68});_0x5d79c2[_0x8b52('0x6f')]({'TranscriptionJobName':_0x5e6921,'LanguageCode':_0x51fe46,'Media':{'MediaFileUri':_0x45e022}},function(_0x258651,_0x183f68){if(_0x258651){return _0x3824d7(_0x258651);}else{return _0x547718(_0x183f68);}});});}function transcribe(_0x1719e6,_0x28f18d,_0x29bd25,_0x31f48c,_0x5bb796,_0x53eb3f,_0x5d261d){return new Promise(function(_0x355a16,_0x508e15){var _0x19bd96={};logger[_0x8b52('0x68')](util['format'](_0x8b52('0x70'),_0x1719e6,_0x5bb796));return uploadFile(_0x28f18d,_0x29bd25,_0x31f48c,_0x5bb796,path[_0x8b52('0x71')](_0x53eb3f),fs['readFileSync'](_0x53eb3f))[_0x8b52('0x25')](function(_0xee4737){logger['info'](util['format'](_0x8b52('0x72'),_0x1719e6,_0x5bb796,_0xee4737[_0x8b52('0x73')]));_0x19bd96['bucket']=_0xee4737[_0x8b52('0x74')];_0x19bd96[_0x8b52('0x75')]=_0xee4737[_0x8b52('0x73')];logger[_0x8b52('0x68')](util['format']('[RUNTRANSCRIPT][%d]\x20Sending\x20transcribe\x20request',_0x1719e6));return startTranscribe(_0x28f18d,_0x29bd25,_0x31f48c,uuidv4(),_0x5d261d,_0xee4737['Location']);})['then'](function(_0x28f9bf){logger['info'](util[_0x8b52('0x31')](_0x8b52('0x76'),_0x1719e6,_0x28f9bf[_0x8b52('0x77')][_0x8b52('0x78')]));_0x19bd96[_0x8b52('0x79')]=_0x28f9bf[_0x8b52('0x77')]['TranscriptionJobName'];_0x19bd96[_0x8b52('0x7a')]=_0x28f9bf[_0x8b52('0x77')][_0x8b52('0x7b')];return _0x355a16(_0x19bd96);})[_0x8b52('0x45')](function(_0x2b6d21){return _0x508e15(_0x2b6d21);});});}exports[_0x8b52('0x7c')]=function(_0x11a905,_0x391e13,_0x175819){var _0x3e2119;var _0x342c33;var _0x5d2ddd;var _0x2568cf=require(_0x8b52('0x4e'));return db[_0x8b52('0x42')]['findOne']({'where':{'id':_0x11a905['params']['id']}})[_0x8b52('0x25')](function(_0x512625){if(_0x512625){var _0x85dd4e=util[_0x8b52('0x31')](_0x8b52('0x51'),_0x512625[_0x8b52('0x50')]);if(fs[_0x8b52('0x54')](_0x85dd4e)){cypher=!![];return _0x2568cf[_0x8b52('0x63')](_0x85dd4e,_0x512625[_0x8b52('0x50')],config[_0x8b52('0x52')][_0x8b52('0x53')])['then'](function(){return _0x512625;});}return _0x512625;}})[_0x8b52('0x25')](function(_0x1b8073){if(!_0x1b8073){throw new db['Sequelize'][(_0x8b52('0x56'))](_0x8b52('0x7d'));}_0x342c33=_0x1b8073;return db[_0x8b52('0x7e')][_0x8b52('0x7f')]({'where':{'id':0x1}});})['then'](handleEntityNotFound(_0x391e13,null))[_0x8b52('0x25')](function(_0x41711e){if(_0x41711e){_0x3e2119=_0x41711e;if(!_0x3e2119['transcribe']||!_0x3e2119[_0x8b52('0x80')]||!_0x3e2119[_0x8b52('0x81')]||!_0x3e2119['language']||!_0x3e2119[_0x8b52('0x82')]){throw new db[(_0x8b52('0x55'))]['ValidationError']('Transcribe\x20not\x20configured');}if(_0x11a905[_0x8b52('0x4b')][_0x8b52('0x83')]&&(!_0x3e2119[_0x8b52('0x84')]||!_0x3e2119[_0x8b52('0x85')]||!_0x3e2119[_0x8b52('0x86')]||!_0x3e2119[_0x8b52('0x87')]||!_0x3e2119[_0x8b52('0x82')])){throw new db[(_0x8b52('0x55'))]['ValidationError'](_0x8b52('0x88'));}return db[_0x8b52('0x89')][_0x8b52('0x7f')]({'where':{'id':_0x3e2119[_0x8b52('0x80')]}});}})[_0x8b52('0x25')](function(_0xedb824){if(!_0xedb824){throw new db[(_0x8b52('0x55'))][(_0x8b52('0x56'))](_0x8b52('0x8a'));}if(!_0xedb824[_0x8b52('0x8b')]||!_0xedb824[_0x8b52('0x8c')]){throw new db['Sequelize'][(_0x8b52('0x56'))](_0x8b52('0x8d'));}_0x5d2ddd=_0xedb824;return getBucketslist(_0x5d2ddd[_0x8b52('0x8b')],_0x5d2ddd[_0x8b52('0x8c')],_0x3e2119[_0x8b52('0x81')]);})[_0x8b52('0x25')](function(_0x109d88){if(_0x109d88&&_0x109d88['Buckets']){var _0x21556d=_[_0x8b52('0x49')](_0x109d88[_0x8b52('0x8e')],function(_0x28c7fe){return _0x28c7fe[_0x8b52('0x8f')]===_0x3e2119[_0x8b52('0x82')];});if(!_0x21556d){logger['info'](util[_0x8b52('0x31')](_0x8b52('0x90'),_0x11a905['params']['id'],_0x3e2119[_0x8b52('0x82')]));return createBucket(_0x5d2ddd[_0x8b52('0x8b')],_0x5d2ddd[_0x8b52('0x8c')],_0x3e2119[_0x8b52('0x81')],_0x3e2119[_0x8b52('0x82')]);}logger['info'](util[_0x8b52('0x31')](_0x8b52('0x91'),_0x11a905[_0x8b52('0x47')]['id'],_0x3e2119['bucket']));return;}})['then'](function(_0x493682){if(_0x342c33[_0x8b52('0x7a')]===_0x8b52('0x92')){return transcribe(_0x11a905[_0x8b52('0x47')]['id'],_0x5d2ddd['data1'],_0x5d2ddd[_0x8b52('0x8c')],_0x3e2119[_0x8b52('0x81')],_0x3e2119[_0x8b52('0x82')],_0x342c33[_0x8b52('0x50')],_0x3e2119[_0x8b52('0x87')]);}else{logger['info'](util[_0x8b52('0x31')]('[RUNTRANSCRIPT][%d]\x20Transcript\x20action\x20already\x20requested',_0x11a905[_0x8b52('0x47')]['id']));return{'transcribeStatus':_0x8b52('0x93')};}})[_0x8b52('0x25')](function(_0x763e61){if(_0x763e61){_0x763e61[_0x8b52('0x94')]=_0x11a905[_0x8b52('0x4b')]['runSentiment'];return _0x342c33[_0x8b52('0x95')](_0x763e61);}})[_0x8b52('0x25')](respondWithResult(_0x391e13,null))[_0x8b52('0x45')](handleError(_0x391e13,null));};function writeFile(_0x3e4952,_0x3bd4e8){return new Promise(function(_0x276906,_0x314159){fs[_0x8b52('0x96')](_0x3bd4e8,_0x3e4952,function(_0x2b14c4,_0x22a1cb){if(_0x2b14c4){return _0x314159(_0x2b14c4);}else{return _0x276906(_0x22a1cb);}});});}exports[_0x8b52('0x97')]=function(_0x3d018d,_0x1474c0,_0x3af70c){return db[_0x8b52('0x42')][_0x8b52('0x7f')]({'where':{'id':_0x3d018d[_0x8b52('0x47')]['id']}})[_0x8b52('0x25')](handleEntityNotFound(_0x1474c0))['then'](function(_0x13c9d6){if(_0x13c9d6&&_0x13c9d6['fileText']){var _0x44c39b=_0x13c9d6[_0x8b52('0x98')];var _0xfcd0c6=config[_0x8b52('0x99')]+'/server/files/transcribes/transcribe_'+_0x13c9d6['id']+_0x8b52('0x9a');if(fs['existsSync'](_0xfcd0c6)){return _0xfcd0c6;}return writeFile(_0x44c39b,_0xfcd0c6)['then'](function(){return _0xfcd0c6;});}else{throw new db['Sequelize'][(_0x8b52('0x56'))]('Transcript\x20not\x20available');}})[_0x8b52('0x25')](function(_0x547b8a){return _0x1474c0[_0x8b52('0x4d')](_0x547b8a);})['catch'](handleError(_0x1474c0));};