Built motion from commit (unavailable).|2.5.14
[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 _0x5cef=['secrets','destroy','Entity\x20not\x20found','info','cancellazione\x20fisica\x20documento\x20%s','isNil','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','listBuckets','createBucket','upload','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)','Bucket','location','Location','[RUNTRANSCRIPT][%d]\x20Sending\x20transcribe\x20request','[RUNTRANSCRIPT][%d]\x20Transcription\x20job\x20%s\x20created','TranscriptionJob','TranscriptionJobName','transcribeName','transcribeStatus','TranscriptionJobStatus','runTranscribe','Voice\x20Recording\x20not\x20found','Setting','transcribeAccountId','transcribeRegion','language','bucket','Transcribe\x20not\x20configured','runSentiment','sentiment','sentimentAccountId','sentimentRegion','Sentiment\x20Analysis\x20not\x20configured','CloudProvider','findOne','Cloud\x20Provider\x20not\x20available','data1','data2','Cloud\x20Provider\x20not\x20configured','[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20available','NEW','IN_PROGRESS','tempSentiment','updateAttributes','downloadTranscribe','fileText','/server/files/transcribes/transcribe_','.txt','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','to-csv','ejs','squel','crypto','desk.js','querystring','papaparse','aws-sdk','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','count','offset','limit','set','Content-Range','reject','save','update','then','error','stack','name','send','map','VoiceRecording','rawAttributes','fieldName','key','model','differenceBy','format','query','keys','filters','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','where','filter','merge','type','VIRTUAL','options','includeAll','findAll','catch','show','params','include','find','create','body','describe','download','../../components/encryptor','uniqueid','value','existsSync','recording','Sequelize','ValidationError','filename','extname','unlink','VoiceRecording\x20not\x20found','Not\x20found','sequelize','MD5','col','token','$and','push','%s.cypher','decryptFile'];(function(_0x309898,_0x4cd1e7){var _0x4ded84=function(_0x21e688){while(--_0x21e688){_0x309898['push'](_0x309898['shift']());}};_0x4ded84(++_0x4cd1e7);}(_0x5cef,0x16c));var _0xf5ce=function(_0x488916,_0x311dac){_0x488916=_0x488916-0x0;var _0x45307d=_0x5cef[_0x488916];return _0x45307d;};'use strict';var pdf=require(_0xf5ce('0x0'));var emlformat=require(_0xf5ce('0x1'));var rimraf=require(_0xf5ce('0x2'));var zipdir=require(_0xf5ce('0x3'));var jsonpatch=require(_0xf5ce('0x4'));var rp=require(_0xf5ce('0x5'));var moment=require(_0xf5ce('0x6'));var BPromise=require(_0xf5ce('0x7'));var Mustache=require('mustache');var util=require(_0xf5ce('0x8'));var path=require('path');var sox=require('sox');var csv=require(_0xf5ce('0x9'));var ejs=require(_0xf5ce('0xa'));var fs=require('fs');var _=require('lodash');var squel=require(_0xf5ce('0xb'));var crypto=require(_0xf5ce('0xc'));var jsforce=require('jsforce');var deskjs=require(_0xf5ce('0xd'));var toCsv=require(_0xf5ce('0x9'));var querystring=require(_0xf5ce('0xe'));var Papa=require(_0xf5ce('0xf'));var AWS=require(_0xf5ce('0x10'));var uuidv4=require('uuid/v4');var Redis=require(_0xf5ce('0x11'));var authService=require(_0xf5ce('0x12'));var qs=require(_0xf5ce('0x13'));var as=require(_0xf5ce('0x14'));var hardwareService=require(_0xf5ce('0x15'));var logger=require(_0xf5ce('0x16'))('api');var utils=require(_0xf5ce('0x17'));var config=require(_0xf5ce('0x18'));var licenseUtil=require(_0xf5ce('0x19'));var db=require(_0xf5ce('0x1a'))['db'];function respondWithStatusCode(_0x2d4511,_0x46bb6c){_0x46bb6c=_0x46bb6c||0xcc;return function(_0x5648bf){if(_0x5648bf){return _0x2d4511['sendStatus'](_0x46bb6c);}return _0x2d4511[_0xf5ce('0x1b')](_0x46bb6c)[_0xf5ce('0x1c')]();};}function respondWithResult(_0x2c81d2,_0x2438b7){_0x2438b7=_0x2438b7||0xc8;return function(_0x1eafec){if(_0x1eafec){return _0x2c81d2[_0xf5ce('0x1b')](_0x2438b7)[_0xf5ce('0x1d')](_0x1eafec);}};}function respondWithFilteredResult(_0x339106,_0x366250){return function(_0x378d29){if(_0x378d29){var _0x1acd5b=_0x378d29[_0xf5ce('0x1e')],_0x2126fb=_0x366250[_0xf5ce('0x1f')],_0x2c9848=_0x366250['offset']+_0x366250[_0xf5ce('0x20')],_0x39e32d;if(_0x2c9848>=_0x1acd5b){_0x2c9848=_0x1acd5b;_0x39e32d=0xc8;}else{_0x39e32d=0xce;}_0x339106[_0xf5ce('0x1b')](_0x39e32d);return _0x339106[_0xf5ce('0x21')](_0xf5ce('0x22'),_0x2126fb+'-'+_0x2c9848+'/'+_0x1acd5b)['json'](_0x378d29);}return null;};}function patchUpdates(_0x14ab9c){return function(_0x1be24b){try{jsonpatch['apply'](_0x1be24b,_0x14ab9c,!![]);}catch(_0x31227f){return BPromise[_0xf5ce('0x23')](_0x31227f);}return _0x1be24b[_0xf5ce('0x24')]();};}function saveUpdates(_0x18118d,_0x5496be){return function(_0x3a10ee){if(_0x3a10ee){return _0x3a10ee[_0xf5ce('0x25')](_0x18118d)[_0xf5ce('0x26')](function(_0x4dd2c7){return _0x4dd2c7;});}return null;};}function removeEntity(_0x3ded25,_0x567f5c){return function(_0x43a0ac){if(_0x43a0ac){return _0x43a0ac['destroy']()[_0xf5ce('0x26')](function(){_0x3ded25['status'](0xcc)[_0xf5ce('0x1c')]();});}};}function handleEntityNotFound(_0x2013db,_0x2ca246){return function(_0xd2449){if(!_0xd2449){_0x2013db['sendStatus'](0x194);}return _0xd2449;};}function handleError(_0x574b6a,_0x41a8a2){_0x41a8a2=_0x41a8a2||0x1f4;return function(_0x5d65ca){logger[_0xf5ce('0x27')](_0x5d65ca[_0xf5ce('0x28')]);if(_0x5d65ca[_0xf5ce('0x29')]){delete _0x5d65ca[_0xf5ce('0x29')];}_0x574b6a[_0xf5ce('0x1b')](_0x41a8a2)[_0xf5ce('0x2a')](_0x5d65ca);};}exports['index']=function(_0x56c66b,_0x4c94dc){var _0x4e1835={},_0x396979={},_0x109d8c={'count':0x0,'rows':[]};var _0x1ea317=_[_0xf5ce('0x2b')](db[_0xf5ce('0x2c')][_0xf5ce('0x2d')],function(_0x2b2423){return{'name':_0x2b2423[_0xf5ce('0x2e')],'type':_0x2b2423['type'][_0xf5ce('0x2f')]};});_0x396979[_0xf5ce('0x30')]=_[_0xf5ce('0x31')](_['map'](_0x1ea317,_0xf5ce('0x29')),[_0xf5ce('0x32')]);_0x396979[_0xf5ce('0x33')]=_[_0xf5ce('0x34')](_0x56c66b[_0xf5ce('0x33')]);_0x396979[_0xf5ce('0x35')]=_['intersection'](_0x396979[_0xf5ce('0x30')],_0x396979['query']);_0x4e1835[_0xf5ce('0x36')]=_[_0xf5ce('0x37')](_0x396979['model'],qs['fields'](_0x56c66b[_0xf5ce('0x33')][_0xf5ce('0x38')]));_0x4e1835['attributes']=_0x4e1835['attributes'][_0xf5ce('0x39')]?_0x4e1835[_0xf5ce('0x36')]:_0x396979[_0xf5ce('0x30')];if(!_0x56c66b[_0xf5ce('0x33')][_0xf5ce('0x3a')](_0xf5ce('0x3b'))){_0x4e1835[_0xf5ce('0x20')]=qs[_0xf5ce('0x20')](_0x56c66b[_0xf5ce('0x33')][_0xf5ce('0x20')]);_0x4e1835[_0xf5ce('0x1f')]=qs['offset'](_0x56c66b[_0xf5ce('0x33')][_0xf5ce('0x1f')]);}_0x4e1835[_0xf5ce('0x3c')]=qs['sort'](_0x56c66b[_0xf5ce('0x33')]['sort']);_0x4e1835[_0xf5ce('0x3d')]=qs[_0xf5ce('0x35')](_['pick'](_0x56c66b[_0xf5ce('0x33')],_0x396979[_0xf5ce('0x35')]),_0x1ea317);if(_0x56c66b['query'][_0xf5ce('0x3e')]){_0x4e1835['where']=_[_0xf5ce('0x3f')](_0x4e1835['where'],{'$or':_[_0xf5ce('0x2b')](_0x1ea317,function(_0x2fb6a3){if(_0x2fb6a3[_0xf5ce('0x40')]!==_0xf5ce('0x41')){var _0x4e522c={};_0x4e522c[_0x2fb6a3['name']]={'$like':'%'+_0x56c66b[_0xf5ce('0x33')][_0xf5ce('0x3e')]+'%'};return _0x4e522c;}})});}_0x4e1835=_[_0xf5ce('0x3f')]({},_0x4e1835,_0x56c66b[_0xf5ce('0x42')]);var _0x3209e4={'where':_0x4e1835[_0xf5ce('0x3d')]};return db[_0xf5ce('0x2c')][_0xf5ce('0x1e')](_0x3209e4)[_0xf5ce('0x26')](function(_0x413d91){_0x109d8c[_0xf5ce('0x1e')]=_0x413d91;if(_0x56c66b['query'][_0xf5ce('0x43')]){_0x4e1835['include']=[{'all':!![]}];}return db[_0xf5ce('0x2c')][_0xf5ce('0x44')](_0x4e1835);})[_0xf5ce('0x26')](function(_0x42503f){_0x109d8c['rows']=_0x42503f;return _0x109d8c;})[_0xf5ce('0x26')](respondWithFilteredResult(_0x4c94dc,_0x4e1835))[_0xf5ce('0x45')](handleError(_0x4c94dc,null));};exports[_0xf5ce('0x46')]=function(_0x3b7d6d,_0x1f0164){var _0x33e872={'raw':![],'where':{'id':_0x3b7d6d[_0xf5ce('0x47')]['id']}},_0x13ad77={};_0x13ad77[_0xf5ce('0x30')]=_[_0xf5ce('0x34')](db[_0xf5ce('0x2c')][_0xf5ce('0x2d')]);_0x13ad77[_0xf5ce('0x33')]=_[_0xf5ce('0x34')](_0x3b7d6d[_0xf5ce('0x33')]);_0x13ad77[_0xf5ce('0x35')]=_[_0xf5ce('0x37')](_0x13ad77[_0xf5ce('0x30')],_0x13ad77[_0xf5ce('0x33')]);_0x33e872[_0xf5ce('0x36')]=_[_0xf5ce('0x37')](_0x13ad77[_0xf5ce('0x30')],qs['fields'](_0x3b7d6d[_0xf5ce('0x33')]['fields']));_0x33e872[_0xf5ce('0x36')]=_0x33e872[_0xf5ce('0x36')]['length']?_0x33e872[_0xf5ce('0x36')]:_0x13ad77[_0xf5ce('0x30')];if(_0x3b7d6d[_0xf5ce('0x33')][_0xf5ce('0x43')]){_0x33e872[_0xf5ce('0x48')]=[{'all':!![]}];}_0x33e872=_[_0xf5ce('0x3f')]({},_0x33e872,_0x3b7d6d['options']);return db[_0xf5ce('0x2c')][_0xf5ce('0x49')](_0x33e872)[_0xf5ce('0x26')](handleEntityNotFound(_0x1f0164,null))[_0xf5ce('0x26')](respondWithResult(_0x1f0164,null))[_0xf5ce('0x45')](handleError(_0x1f0164,null));};exports[_0xf5ce('0x4a')]=function(_0x284713,_0x4086cb){return db[_0xf5ce('0x2c')][_0xf5ce('0x4a')](_0x284713['body'],{})[_0xf5ce('0x26')](respondWithResult(_0x4086cb,0xc9))[_0xf5ce('0x45')](handleError(_0x4086cb,null));};exports[_0xf5ce('0x25')]=function(_0x51a9ac,_0x548232){if(_0x51a9ac[_0xf5ce('0x4b')]['id']){delete _0x51a9ac[_0xf5ce('0x4b')]['id'];}return db['VoiceRecording'][_0xf5ce('0x49')]({'where':{'id':_0x51a9ac[_0xf5ce('0x47')]['id']}})['then'](handleEntityNotFound(_0x548232,null))[_0xf5ce('0x26')](saveUpdates(_0x51a9ac[_0xf5ce('0x4b')],null))[_0xf5ce('0x26')](respondWithResult(_0x548232,null))[_0xf5ce('0x45')](handleError(_0x548232,null));};exports[_0xf5ce('0x4c')]=function(_0x286006,_0xee993b){return db[_0xf5ce('0x2c')][_0xf5ce('0x4c')]()[_0xf5ce('0x26')](respondWithResult(_0xee993b,null))[_0xf5ce('0x45')](handleError(_0xee993b,null));};exports[_0xf5ce('0x4d')]=function(_0x57b2ce,_0x1f379d,_0x2361a0){var _0x2b291e=require(_0xf5ce('0x4e'));var _0x24fec1=![];var _0x79cbdd={};if(_0x57b2ce[_0xf5ce('0x33')][_0xf5ce('0x40')]&&_0x57b2ce['query'][_0xf5ce('0x40')]===_0xf5ce('0x4f')){_0x79cbdd[_0xf5ce('0x4f')]=_0x57b2ce[_0xf5ce('0x47')]['id'];}else{_0x79cbdd['id']=_0x57b2ce[_0xf5ce('0x47')]['id'];}return db[_0xf5ce('0x2c')][_0xf5ce('0x49')]({'where':_0x79cbdd,'attributes':['id',_0xf5ce('0x50')],'raw':!![]})[_0xf5ce('0x26')](handleEntityNotFound(_0x1f379d,null))['then'](function(_0xd740bb){if(_0xd740bb){var _0x51cf4d=_0xd740bb[_0xf5ce('0x50')];var _0x2f2567=util[_0xf5ce('0x32')]('%s.cypher',_0x51cf4d);if(fs[_0xf5ce('0x51')](_0x2f2567)){_0x24fec1=!![];return _0x2b291e['decryptFile'](_0x2f2567,_0x51cf4d,config['secrets'][_0xf5ce('0x52')])[_0xf5ce('0x26')](function(){return _0xd740bb;});}return _0xd740bb;}})[_0xf5ce('0x26')](function(_0x536c54){if(_0x536c54){var _0x322a69=_0x536c54[_0xf5ce('0x50')];if(!fs[_0xf5ce('0x51')](_0x322a69)){throw new db[(_0xf5ce('0x53'))][(_0xf5ce('0x54'))]('VoiceRecording\x20not\x20found');}if(_0x536c54['filename']){return _0x1f379d[_0xf5ce('0x4d')](_0x322a69,_0x536c54[_0xf5ce('0x55')]+path[_0xf5ce('0x56')](_0x322a69),function(){if(_0x24fec1){fs[_0xf5ce('0x57')](_0x322a69);}});}else{return _0x1f379d[_0xf5ce('0x4d')](_0x322a69,function(_0x5e4e31){if(_0x24fec1){fs[_0xf5ce('0x57')](_0x322a69);}});}}})[_0xf5ce('0x45')](function(_0x1fc413){if(_0x1fc413['message']===_0xf5ce('0x58')){_0x1f379d[_0xf5ce('0x1b')](0x194)[_0xf5ce('0x2a')](_0xf5ce('0x59'));}else{return handleError(_0x1f379d,null);}});};exports['downloads']=function(_0xff6e4e,_0x4ced6b,_0x1e234a){var _0x3b212f=require(_0xf5ce('0x4e'));var _0x39f411=![];var _0x349a74={'$and':[db['sequelize']['where'](db[_0xf5ce('0x5a')]['fn'](_0xf5ce('0x5b'),db[_0xf5ce('0x5a')][_0xf5ce('0x5c')]('uniqueid')),_0xff6e4e[_0xf5ce('0x33')][_0xf5ce('0x5d')])]};if(_0xff6e4e[_0xf5ce('0x33')][_0xf5ce('0x40')]&&_0xff6e4e[_0xf5ce('0x33')][_0xf5ce('0x40')]==='uniqueid'){_0x349a74[_0xf5ce('0x5e')][_0xf5ce('0x5f')]({'uniqueid':_0xff6e4e[_0xf5ce('0x47')]['id']});}else{_0x349a74[_0xf5ce('0x5e')][_0xf5ce('0x5f')]({'id':_0xff6e4e[_0xf5ce('0x47')]['id']});}return db[_0xf5ce('0x2c')][_0xf5ce('0x49')]({'where':_0x349a74,'attributes':['id',_0xf5ce('0x50')],'raw':!![]})[_0xf5ce('0x26')](handleEntityNotFound(_0x4ced6b,null))['then'](function(_0x13a761){if(_0x13a761){var _0x11e3ef=util[_0xf5ce('0x32')](_0xf5ce('0x60'),_0x13a761[_0xf5ce('0x50')]);if(fs[_0xf5ce('0x51')](_0x11e3ef)){_0x39f411=!![];return _0x3b212f[_0xf5ce('0x61')](_0x11e3ef,_0x13a761[_0xf5ce('0x50')],config[_0xf5ce('0x62')][_0xf5ce('0x52')])[_0xf5ce('0x26')](function(){return _0x13a761;});}return _0x13a761;}})['then'](function(_0x592e7b){if(_0x592e7b){if(!fs['existsSync'](_0x592e7b[_0xf5ce('0x50')])){throw new db[(_0xf5ce('0x53'))][(_0xf5ce('0x54'))](_0xf5ce('0x58'));}if(_0x592e7b[_0xf5ce('0x55')]){return _0x4ced6b[_0xf5ce('0x4d')](_0x592e7b[_0xf5ce('0x50')],_0x592e7b[_0xf5ce('0x55')]+path['extname'](_0x592e7b[_0xf5ce('0x50')]),function(){if(_0x39f411){fs[_0xf5ce('0x57')](_0x592e7b[_0xf5ce('0x50')]);}});}else{return _0x4ced6b[_0xf5ce('0x4d')](_0x592e7b[_0xf5ce('0x50')],function(_0x51f0f6){if(_0x39f411){fs['unlink'](_0x592e7b[_0xf5ce('0x50')]);}});}}})[_0xf5ce('0x45')](handleError(_0x4ced6b,null));};exports[_0xf5ce('0x63')]=function(_0x558f1e,_0x45bc0a){return db[_0xf5ce('0x2c')]['find']({'where':{'id':_0x558f1e[_0xf5ce('0x47')]['id']}})[_0xf5ce('0x26')](function(_0x408d58){if(!_0x408d58)throw new ReferenceError(_0xf5ce('0x64'));return _0x408d58;})[_0xf5ce('0x26')](function(_0x22af4d){var _0x517e0c=_0x22af4d['value'];logger[_0xf5ce('0x65')](_0xf5ce('0x66'),_0x517e0c);if(!_[_0xf5ce('0x67')](_0x22af4d[_0xf5ce('0x50')])&&fs['existsSync'](_0x517e0c)){logger[_0xf5ce('0x65')](_0xf5ce('0x68')+_0x517e0c+_0xf5ce('0x69'));fs[_0xf5ce('0x6a')](_0x517e0c);}_0x517e0c=_0x517e0c+'.cypher';if(!_[_0xf5ce('0x67')](_0x22af4d[_0xf5ce('0x50')])&&fs['existsSync'](_0x517e0c)){logger[_0xf5ce('0x65')]('File:\x20\x22'+_0x517e0c+_0xf5ce('0x69'));fs[_0xf5ce('0x6a')](_0x517e0c);}return _0x22af4d;})[_0xf5ce('0x26')](function(_0x5c5f70){if(!_0x5c5f70)throw new InternalError();return _0x5c5f70[_0xf5ce('0x63')]();})['then'](function(){_0x45bc0a[_0xf5ce('0x1b')](0xcc)[_0xf5ce('0x1c')]();})[_0xf5ce('0x45')](handleError(_0x45bc0a,null));};function getBucketslist(_0xc252b0,_0x513dfd,_0x51ade7){return new Promise(function(_0x2a6269,_0x4a8bd8){var _0x505afe=new AWS['S3']({'accessKeyId':_0x513dfd,'secretAccessKey':_0xc252b0,'region':_0x51ade7});_0x505afe[_0xf5ce('0x6b')]({},function(_0x3d913f,_0x4815e8){if(_0x3d913f){return _0x4a8bd8(_0x3d913f);}else{return _0x2a6269(_0x4815e8);}});});}function createBucket(_0x453694,_0x1cc874,_0x257af6,_0x2a1524){return new Promise(function(_0x250114,_0x1a5999){var _0x377093=new AWS['S3']({'accessKeyId':_0x1cc874,'secretAccessKey':_0x453694,'region':_0x257af6});_0x377093[_0xf5ce('0x6c')]({'Bucket':_0x2a1524},function(_0x2c3d14,_0x315c22){if(_0x2c3d14){return _0x1a5999(_0x2c3d14);}else{return _0x250114(_0x315c22);}});});}function uploadFile(_0x44c4be,_0x32abe0,_0x32277a,_0x4ba93b,_0x4139d4,_0x475f59){return new Promise(function(_0x1487db,_0x15f28b){var _0x47228c=new AWS['S3']({'accessKeyId':_0x32abe0,'secretAccessKey':_0x44c4be,'region':_0x32277a});_0x47228c[_0xf5ce('0x6d')]({'Bucket':_0x4ba93b,'Key':_0x4139d4,'Body':_0x475f59},function(_0x43a785,_0x234497){if(_0x43a785){return _0x15f28b(_0x43a785);}else{return _0x1487db(_0x234497);}});});}function startTranscribe(_0x42d05d,_0x4bbc7f,_0x22b416,_0x121eb7,_0x4e7db0,_0x5d1aa1){return new Promise(function(_0x5aa8b3,_0x4c4862){var _0x5e1d41=new AWS[(_0xf5ce('0x6e'))]({'accessKeyId':_0x4bbc7f,'secretAccessKey':_0x42d05d,'region':_0x22b416});_0x5e1d41[_0xf5ce('0x6f')]({'TranscriptionJobName':_0x121eb7,'LanguageCode':_0x4e7db0,'Media':{'MediaFileUri':_0x5d1aa1}},function(_0x5e7727,_0x333c25){if(_0x5e7727){return _0x4c4862(_0x5e7727);}else{return _0x5aa8b3(_0x333c25);}});});}function transcribe(_0x4a0502,_0x91f34a,_0x1b9394,_0x111290,_0x1fab5d,_0x427290,_0x1e951d){return new Promise(function(_0x27f058,_0x52a509){var _0x5e3407={};logger[_0xf5ce('0x65')](util[_0xf5ce('0x32')](_0xf5ce('0x70'),_0x4a0502,_0x1fab5d));return uploadFile(_0x91f34a,_0x1b9394,_0x111290,_0x1fab5d,path[_0xf5ce('0x71')](_0x427290),fs[_0xf5ce('0x72')](_0x427290))[_0xf5ce('0x26')](function(_0x2ec235){logger['info'](util[_0xf5ce('0x32')](_0xf5ce('0x73'),_0x4a0502,_0x1fab5d,_0x2ec235['Location']));_0x5e3407['bucket']=_0x2ec235[_0xf5ce('0x74')];_0x5e3407[_0xf5ce('0x75')]=_0x2ec235[_0xf5ce('0x76')];logger[_0xf5ce('0x65')](util[_0xf5ce('0x32')](_0xf5ce('0x77'),_0x4a0502));return startTranscribe(_0x91f34a,_0x1b9394,_0x111290,uuidv4(),_0x1e951d,_0x2ec235[_0xf5ce('0x76')]);})[_0xf5ce('0x26')](function(_0x28fa68){logger[_0xf5ce('0x65')](util[_0xf5ce('0x32')](_0xf5ce('0x78'),_0x4a0502,_0x28fa68[_0xf5ce('0x79')][_0xf5ce('0x7a')]));_0x5e3407[_0xf5ce('0x7b')]=_0x28fa68[_0xf5ce('0x79')]['TranscriptionJobName'];_0x5e3407[_0xf5ce('0x7c')]=_0x28fa68[_0xf5ce('0x79')][_0xf5ce('0x7d')];return _0x27f058(_0x5e3407);})[_0xf5ce('0x45')](function(_0x23b995){return _0x52a509(_0x23b995);});});}exports[_0xf5ce('0x7e')]=function(_0x4ea7c6,_0x291177,_0x2a7e2d){var _0x4e14e9;var _0x18fb42;var _0xb7e34;var _0x344e0a=require(_0xf5ce('0x4e'));return db['VoiceRecording']['findOne']({'where':{'id':_0x4ea7c6['params']['id']}})[_0xf5ce('0x26')](function(_0x7f9ae9){if(_0x7f9ae9){var _0x3f079d=util[_0xf5ce('0x32')](_0xf5ce('0x60'),_0x7f9ae9['value']);if(fs[_0xf5ce('0x51')](_0x3f079d)){cypher=!![];return _0x344e0a[_0xf5ce('0x61')](_0x3f079d,_0x7f9ae9[_0xf5ce('0x50')],config[_0xf5ce('0x62')][_0xf5ce('0x52')])[_0xf5ce('0x26')](function(){return _0x7f9ae9;});}return _0x7f9ae9;}})[_0xf5ce('0x26')](function(_0x35e891){if(!_0x35e891){throw new db['Sequelize'][(_0xf5ce('0x54'))](_0xf5ce('0x7f'));}_0x18fb42=_0x35e891;return db[_0xf5ce('0x80')]['findOne']({'where':{'id':0x1}});})['then'](handleEntityNotFound(_0x291177,null))[_0xf5ce('0x26')](function(_0x1eddaa){if(_0x1eddaa){_0x4e14e9=_0x1eddaa;if(!_0x4e14e9['transcribe']||!_0x4e14e9[_0xf5ce('0x81')]||!_0x4e14e9[_0xf5ce('0x82')]||!_0x4e14e9[_0xf5ce('0x83')]||!_0x4e14e9[_0xf5ce('0x84')]){throw new db[(_0xf5ce('0x53'))][(_0xf5ce('0x54'))](_0xf5ce('0x85'));}if(_0x4ea7c6[_0xf5ce('0x4b')][_0xf5ce('0x86')]&&(!_0x4e14e9[_0xf5ce('0x87')]||!_0x4e14e9[_0xf5ce('0x88')]||!_0x4e14e9[_0xf5ce('0x89')]||!_0x4e14e9[_0xf5ce('0x83')]||!_0x4e14e9[_0xf5ce('0x84')])){throw new db['Sequelize'][(_0xf5ce('0x54'))](_0xf5ce('0x8a'));}return db[_0xf5ce('0x8b')][_0xf5ce('0x8c')]({'where':{'id':_0x4e14e9[_0xf5ce('0x81')]}});}})[_0xf5ce('0x26')](function(_0x28a976){if(!_0x28a976){throw new db[(_0xf5ce('0x53'))][(_0xf5ce('0x54'))](_0xf5ce('0x8d'));}if(!_0x28a976[_0xf5ce('0x8e')]||!_0x28a976[_0xf5ce('0x8f')]){throw new db[(_0xf5ce('0x53'))]['ValidationError'](_0xf5ce('0x90'));}_0xb7e34=_0x28a976;return getBucketslist(_0xb7e34[_0xf5ce('0x8e')],_0xb7e34[_0xf5ce('0x8f')],_0x4e14e9[_0xf5ce('0x82')]);})[_0xf5ce('0x26')](function(_0x144a02){if(_0x144a02&&_0x144a02['Buckets']){var _0x475ef0=_[_0xf5ce('0x49')](_0x144a02['Buckets'],function(_0x37dbd4){return _0x37dbd4['Name']===_0x4e14e9[_0xf5ce('0x84')];});if(!_0x475ef0){logger['info'](util['format']('[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20not\x20available',_0x4ea7c6[_0xf5ce('0x47')]['id'],_0x4e14e9[_0xf5ce('0x84')]));return createBucket(_0xb7e34[_0xf5ce('0x8e')],_0xb7e34[_0xf5ce('0x8f')],_0x4e14e9['transcribeRegion'],_0x4e14e9['bucket']);}logger[_0xf5ce('0x65')](util['format'](_0xf5ce('0x91'),_0x4ea7c6[_0xf5ce('0x47')]['id'],_0x4e14e9[_0xf5ce('0x84')]));return;}})[_0xf5ce('0x26')](function(_0x23ccad){if(_0x18fb42[_0xf5ce('0x7c')]===_0xf5ce('0x92')){return transcribe(_0x4ea7c6[_0xf5ce('0x47')]['id'],_0xb7e34[_0xf5ce('0x8e')],_0xb7e34['data2'],_0x4e14e9[_0xf5ce('0x82')],_0x4e14e9['bucket'],_0x18fb42[_0xf5ce('0x50')],_0x4e14e9[_0xf5ce('0x83')]);}else{logger[_0xf5ce('0x65')](util[_0xf5ce('0x32')]('[RUNTRANSCRIPT][%d]\x20Transcript\x20action\x20already\x20requested',_0x4ea7c6[_0xf5ce('0x47')]['id']));return{'transcribeStatus':_0xf5ce('0x93')};}})[_0xf5ce('0x26')](function(_0xadc862){if(_0xadc862){_0xadc862[_0xf5ce('0x94')]=_0x4ea7c6[_0xf5ce('0x4b')][_0xf5ce('0x86')];return _0x18fb42[_0xf5ce('0x95')](_0xadc862);}})[_0xf5ce('0x26')](respondWithResult(_0x291177,null))[_0xf5ce('0x45')](handleError(_0x291177,null));};function writeFile(_0x2cf37c,_0x1a22c0){return new Promise(function(_0x5ad88d,_0x4e2ee3){fs['writeFile'](_0x1a22c0,_0x2cf37c,function(_0x2abca2,_0x2123ca){if(_0x2abca2){return _0x4e2ee3(_0x2abca2);}else{return _0x5ad88d(_0x2123ca);}});});}exports[_0xf5ce('0x96')]=function(_0x14a07c,_0x293d9c,_0x2945e4){return db[_0xf5ce('0x2c')]['findOne']({'where':{'id':_0x14a07c[_0xf5ce('0x47')]['id']}})[_0xf5ce('0x26')](handleEntityNotFound(_0x293d9c))[_0xf5ce('0x26')](function(_0x50624a){if(_0x50624a&&_0x50624a['fileText']){var _0xc5c806=_0x50624a[_0xf5ce('0x97')];var _0x40053f=config['root']+_0xf5ce('0x98')+_0x50624a['id']+_0xf5ce('0x99');if(fs[_0xf5ce('0x51')](_0x40053f)){return _0x40053f;}return writeFile(_0xc5c806,_0x40053f)[_0xf5ce('0x26')](function(){return _0x40053f;});}else{throw new db[(_0xf5ce('0x53'))][(_0xf5ce('0x54'))]('Transcript\x20not\x20available');}})[_0xf5ce('0x26')](function(_0x4c6d3a){return _0x293d9c[_0xf5ce('0x4d')](_0x4c6d3a);})['catch'](handleError(_0x293d9c));};