Built motion from commit 5ae82ce5.|2.6.7
[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 _0xe0e9=['VoiceRecording\x20not\x20found','filename','extname','unlink','message','Not\x20found','../../components/encryptor','sequelize','MD5','col','token','uniqueid','$and','push','Sequelize','destroy','Entity\x20not\x20found','info','isNil','unlinkSync','.cypher','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','listBuckets','createBucket','upload','TranscribeService','basename','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','TranscriptionJobName','TranscriptionJobStatus','runTranscribe','findOne','Voice\x20Recording\x20not\x20found','Setting','transcribe','transcribeAccountId','transcribeRegion','Transcribe\x20not\x20configured','runSentiment','sentiment','sentimentAccountId','sentimentRegion','language','Sentiment\x20Analysis\x20not\x20configured','Cloud\x20Provider\x20not\x20available','data1','data2','Buckets','Name','[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20not\x20available','[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20available','NEW','[RUNTRANSCRIPT][%d]\x20Transcript\x20action\x20already\x20requested','IN_PROGRESS','tempSentiment','updateAttributes','fileText','root','/server/files/transcribes/transcribe_','.txt','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','uuid/v4','ioredis','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/license/util','sendStatus','status','end','json','offset','undefined','limit','set','Content-Range','reject','save','update','then','error','stack','name','send','index','map','VoiceRecording','fieldName','type','key','model','differenceBy','format','query','keys','filters','attributes','intersection','hasOwnProperty','nolimit','order','sort','where','VIRTUAL','filter','merge','options','count','includeAll','rows','catch','show','rawAttributes','fields','include','find','create','body','describe','download','params','value','%s.cypher','existsSync','decryptFile','secrets','recording','ValidationError'];(function(_0x141a2c,_0x363af0){var _0x25e0e4=function(_0xdc6572){while(--_0xdc6572){_0x141a2c['push'](_0x141a2c['shift']());}};_0x25e0e4(++_0x363af0);}(_0xe0e9,0xdf));var _0x9e0e=function(_0x1a438e,_0x19709d){_0x1a438e=_0x1a438e-0x0;var _0x13cf5a=_0xe0e9[_0x1a438e];return _0x13cf5a;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x9e0e('0x0'));var zipdir=require(_0x9e0e('0x1'));var jsonpatch=require(_0x9e0e('0x2'));var rp=require(_0x9e0e('0x3'));var moment=require(_0x9e0e('0x4'));var BPromise=require(_0x9e0e('0x5'));var Mustache=require(_0x9e0e('0x6'));var util=require(_0x9e0e('0x7'));var path=require(_0x9e0e('0x8'));var sox=require('sox');var csv=require(_0x9e0e('0x9'));var ejs=require(_0x9e0e('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x9e0e('0xb'));var squel=require(_0x9e0e('0xc'));var crypto=require(_0x9e0e('0xd'));var jsforce=require(_0x9e0e('0xe'));var deskjs=require(_0x9e0e('0xf'));var toCsv=require(_0x9e0e('0x9'));var querystring=require(_0x9e0e('0x10'));var Papa=require('papaparse');var AWS=require('aws-sdk');var uuidv4=require(_0x9e0e('0x11'));var Redis=require(_0x9e0e('0x12'));var authService=require('../../components/auth/service');var qs=require(_0x9e0e('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x9e0e('0x14'));var logger=require(_0x9e0e('0x15'))(_0x9e0e('0x16'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0x9e0e('0x17'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x556640,_0x44d953){_0x44d953=_0x44d953||0xcc;return function(_0x35d8f0){if(_0x35d8f0){return _0x556640[_0x9e0e('0x18')](_0x44d953);}return _0x556640[_0x9e0e('0x19')](_0x44d953)[_0x9e0e('0x1a')]();};}function respondWithResult(_0x59a389,_0xfb17c8){_0xfb17c8=_0xfb17c8||0xc8;return function(_0x5f7b15){if(_0x5f7b15){return _0x59a389[_0x9e0e('0x19')](_0xfb17c8)[_0x9e0e('0x1b')](_0x5f7b15);}};}function respondWithFilteredResult(_0x476204,_0x3c663a){return function(_0x10ea6a){if(_0x10ea6a){var _0x43ace5=typeof _0x3c663a[_0x9e0e('0x1c')]===_0x9e0e('0x1d')&&typeof _0x3c663a[_0x9e0e('0x1e')]===_0x9e0e('0x1d');var _0x51b8bc=_0x10ea6a['count'];var _0x4bf81a=_0x43ace5?0x0:_0x3c663a[_0x9e0e('0x1c')];var _0x3300b0=_0x43ace5?_0x10ea6a['count']:_0x3c663a['offset']+_0x3c663a[_0x9e0e('0x1e')];var _0x48876d;if(_0x3300b0>=_0x51b8bc){_0x3300b0=_0x51b8bc;_0x48876d=0xc8;}else{_0x48876d=0xce;}_0x476204[_0x9e0e('0x19')](_0x48876d);return _0x476204[_0x9e0e('0x1f')](_0x9e0e('0x20'),_0x4bf81a+'-'+_0x3300b0+'/'+_0x51b8bc)[_0x9e0e('0x1b')](_0x10ea6a);}return null;};}function patchUpdates(_0x29c1a7){return function(_0x448fa3){try{jsonpatch['apply'](_0x448fa3,_0x29c1a7,!![]);}catch(_0x3bd3c1){return BPromise[_0x9e0e('0x21')](_0x3bd3c1);}return _0x448fa3[_0x9e0e('0x22')]();};}function saveUpdates(_0x25c45c,_0xbf0336){return function(_0xbe94cc){if(_0xbe94cc){return _0xbe94cc[_0x9e0e('0x23')](_0x25c45c)[_0x9e0e('0x24')](function(_0x266d16){return _0x266d16;});}return null;};}function removeEntity(_0x2b9552,_0x12c5f8){return function(_0x2605dc){if(_0x2605dc){return _0x2605dc['destroy']()[_0x9e0e('0x24')](function(){_0x2b9552[_0x9e0e('0x19')](0xcc)[_0x9e0e('0x1a')]();});}};}function handleEntityNotFound(_0x19447e,_0x401988){return function(_0x4d813c){if(!_0x4d813c){_0x19447e[_0x9e0e('0x18')](0x194);}return _0x4d813c;};}function handleError(_0xf0d10a,_0x17e0a3){_0x17e0a3=_0x17e0a3||0x1f4;return function(_0x562172){logger[_0x9e0e('0x25')](_0x562172[_0x9e0e('0x26')]);if(_0x562172[_0x9e0e('0x27')]){delete _0x562172[_0x9e0e('0x27')];}_0xf0d10a['status'](_0x17e0a3)[_0x9e0e('0x28')](_0x562172);};}exports[_0x9e0e('0x29')]=function(_0x1bd0e7,_0x1d6313){var _0x3fcc5b={},_0x273e00={},_0x52a155={'count':0x0,'rows':[]};var _0x113c83=_[_0x9e0e('0x2a')](db[_0x9e0e('0x2b')]['rawAttributes'],function(_0x2ca2c7){return{'name':_0x2ca2c7[_0x9e0e('0x2c')],'type':_0x2ca2c7[_0x9e0e('0x2d')][_0x9e0e('0x2e')]};});_0x273e00[_0x9e0e('0x2f')]=_[_0x9e0e('0x30')](_['map'](_0x113c83,_0x9e0e('0x27')),[_0x9e0e('0x31')]);_0x273e00[_0x9e0e('0x32')]=_[_0x9e0e('0x33')](_0x1bd0e7['query']);_0x273e00[_0x9e0e('0x34')]=_['intersection'](_0x273e00[_0x9e0e('0x2f')],_0x273e00['query']);_0x3fcc5b[_0x9e0e('0x35')]=_[_0x9e0e('0x36')](_0x273e00['model'],qs['fields'](_0x1bd0e7[_0x9e0e('0x32')]['fields']));_0x3fcc5b['attributes']=_0x3fcc5b[_0x9e0e('0x35')]['length']?_0x3fcc5b['attributes']:_0x273e00[_0x9e0e('0x2f')];if(!_0x1bd0e7[_0x9e0e('0x32')][_0x9e0e('0x37')](_0x9e0e('0x38'))){_0x3fcc5b[_0x9e0e('0x1e')]=qs[_0x9e0e('0x1e')](_0x1bd0e7[_0x9e0e('0x32')][_0x9e0e('0x1e')]);_0x3fcc5b['offset']=qs[_0x9e0e('0x1c')](_0x1bd0e7['query'][_0x9e0e('0x1c')]);}_0x3fcc5b[_0x9e0e('0x39')]=qs['sort'](_0x1bd0e7[_0x9e0e('0x32')][_0x9e0e('0x3a')]);_0x3fcc5b['where']=qs['filters'](_['pick'](_0x1bd0e7[_0x9e0e('0x32')],_0x273e00[_0x9e0e('0x34')]),_0x113c83);if(_0x1bd0e7[_0x9e0e('0x32')]['filter']){_0x3fcc5b[_0x9e0e('0x3b')]=_['merge'](_0x3fcc5b[_0x9e0e('0x3b')],{'$or':_['map'](_0x113c83,function(_0x3c9437){if(_0x3c9437[_0x9e0e('0x2d')]!==_0x9e0e('0x3c')){var _0x51d052={};_0x51d052[_0x3c9437['name']]={'$like':'%'+_0x1bd0e7['query'][_0x9e0e('0x3d')]+'%'};return _0x51d052;}})});}_0x3fcc5b=_[_0x9e0e('0x3e')]({},_0x3fcc5b,_0x1bd0e7[_0x9e0e('0x3f')]);var _0x5a331c={'where':_0x3fcc5b[_0x9e0e('0x3b')]};return db['VoiceRecording'][_0x9e0e('0x40')](_0x5a331c)[_0x9e0e('0x24')](function(_0xdbc3b4){_0x52a155[_0x9e0e('0x40')]=_0xdbc3b4;if(_0x1bd0e7['query'][_0x9e0e('0x41')]){_0x3fcc5b['include']=[{'all':!![]}];}return db['VoiceRecording']['findAll'](_0x3fcc5b);})[_0x9e0e('0x24')](function(_0x2e0c8e){_0x52a155[_0x9e0e('0x42')]=_0x2e0c8e;return _0x52a155;})[_0x9e0e('0x24')](respondWithFilteredResult(_0x1d6313,_0x3fcc5b))[_0x9e0e('0x43')](handleError(_0x1d6313,null));};exports[_0x9e0e('0x44')]=function(_0x36d4e1,_0x2a6caa){var _0x595f78={'raw':![],'where':{'id':_0x36d4e1['params']['id']}},_0x50e45c={};_0x50e45c[_0x9e0e('0x2f')]=_[_0x9e0e('0x33')](db[_0x9e0e('0x2b')][_0x9e0e('0x45')]);_0x50e45c[_0x9e0e('0x32')]=_[_0x9e0e('0x33')](_0x36d4e1['query']);_0x50e45c[_0x9e0e('0x34')]=_[_0x9e0e('0x36')](_0x50e45c['model'],_0x50e45c[_0x9e0e('0x32')]);_0x595f78['attributes']=_[_0x9e0e('0x36')](_0x50e45c['model'],qs[_0x9e0e('0x46')](_0x36d4e1[_0x9e0e('0x32')][_0x9e0e('0x46')]));_0x595f78[_0x9e0e('0x35')]=_0x595f78[_0x9e0e('0x35')]['length']?_0x595f78[_0x9e0e('0x35')]:_0x50e45c[_0x9e0e('0x2f')];if(_0x36d4e1[_0x9e0e('0x32')][_0x9e0e('0x41')]){_0x595f78[_0x9e0e('0x47')]=[{'all':!![]}];}_0x595f78=_[_0x9e0e('0x3e')]({},_0x595f78,_0x36d4e1[_0x9e0e('0x3f')]);return db[_0x9e0e('0x2b')][_0x9e0e('0x48')](_0x595f78)[_0x9e0e('0x24')](handleEntityNotFound(_0x2a6caa,null))['then'](respondWithResult(_0x2a6caa,null))['catch'](handleError(_0x2a6caa,null));};exports[_0x9e0e('0x49')]=function(_0x23a143,_0x1208dd){return db[_0x9e0e('0x2b')]['create'](_0x23a143[_0x9e0e('0x4a')],{})[_0x9e0e('0x24')](respondWithResult(_0x1208dd,0xc9))['catch'](handleError(_0x1208dd,null));};exports[_0x9e0e('0x23')]=function(_0xb10af6,_0x38dfa3){if(_0xb10af6['body']['id']){delete _0xb10af6[_0x9e0e('0x4a')]['id'];}return db[_0x9e0e('0x2b')][_0x9e0e('0x48')]({'where':{'id':_0xb10af6['params']['id']}})[_0x9e0e('0x24')](handleEntityNotFound(_0x38dfa3,null))[_0x9e0e('0x24')](saveUpdates(_0xb10af6[_0x9e0e('0x4a')],null))['then'](respondWithResult(_0x38dfa3,null))['catch'](handleError(_0x38dfa3,null));};exports[_0x9e0e('0x4b')]=function(_0x5c7442,_0xe8e2f6){return db[_0x9e0e('0x2b')][_0x9e0e('0x4b')]()[_0x9e0e('0x24')](respondWithResult(_0xe8e2f6,null))['catch'](handleError(_0xe8e2f6,null));};exports[_0x9e0e('0x4c')]=function(_0x37968e,_0x88272f,_0x2b9f71){var _0x217953=require('../../components/encryptor');var _0x132dc2=![];var _0x138a46={};if(_0x37968e[_0x9e0e('0x32')][_0x9e0e('0x2d')]&&_0x37968e['query'][_0x9e0e('0x2d')]==='uniqueid'){_0x138a46['uniqueid']=_0x37968e['params']['id'];}else{_0x138a46['id']=_0x37968e[_0x9e0e('0x4d')]['id'];}return db['VoiceRecording'][_0x9e0e('0x48')]({'where':_0x138a46,'attributes':['id',_0x9e0e('0x4e')],'raw':!![]})[_0x9e0e('0x24')](handleEntityNotFound(_0x88272f,null))['then'](function(_0x279fc1){if(_0x279fc1){var _0x16ad7c=_0x279fc1['value'];var _0x122858=util[_0x9e0e('0x31')](_0x9e0e('0x4f'),_0x16ad7c);if(fs[_0x9e0e('0x50')](_0x122858)){_0x132dc2=!![];return _0x217953[_0x9e0e('0x51')](_0x122858,_0x16ad7c,config[_0x9e0e('0x52')][_0x9e0e('0x53')])['then'](function(){return _0x279fc1;});}return _0x279fc1;}})[_0x9e0e('0x24')](function(_0x1c8537){if(_0x1c8537){var _0x2f9c75=_0x1c8537[_0x9e0e('0x4e')];if(!fs[_0x9e0e('0x50')](_0x2f9c75)){throw new db['Sequelize'][(_0x9e0e('0x54'))](_0x9e0e('0x55'));}if(_0x1c8537[_0x9e0e('0x56')]){return _0x88272f[_0x9e0e('0x4c')](_0x2f9c75,_0x1c8537[_0x9e0e('0x56')]+path[_0x9e0e('0x57')](_0x2f9c75),function(){if(_0x132dc2){fs[_0x9e0e('0x58')](_0x2f9c75);}});}else{return _0x88272f[_0x9e0e('0x4c')](_0x2f9c75,function(_0x4293e3){if(_0x132dc2){fs[_0x9e0e('0x58')](_0x2f9c75);}});}}})[_0x9e0e('0x43')](function(_0x3a7b35){if(_0x3a7b35[_0x9e0e('0x59')]==='VoiceRecording\x20not\x20found'){_0x88272f['status'](0x194)[_0x9e0e('0x28')](_0x9e0e('0x5a'));}else{return handleError(_0x88272f,null);}});};exports['downloads']=function(_0x3a060e,_0x2b5618,_0x14311b){var _0x7d9692=require(_0x9e0e('0x5b'));var _0x10221d=![];var _0x4ad002={'$and':[db[_0x9e0e('0x5c')][_0x9e0e('0x3b')](db[_0x9e0e('0x5c')]['fn'](_0x9e0e('0x5d'),db[_0x9e0e('0x5c')][_0x9e0e('0x5e')]('uniqueid')),_0x3a060e[_0x9e0e('0x32')][_0x9e0e('0x5f')])]};if(_0x3a060e[_0x9e0e('0x32')][_0x9e0e('0x2d')]&&_0x3a060e['query']['type']===_0x9e0e('0x60')){_0x4ad002[_0x9e0e('0x61')][_0x9e0e('0x62')]({'uniqueid':_0x3a060e[_0x9e0e('0x4d')]['id']});}else{_0x4ad002[_0x9e0e('0x61')][_0x9e0e('0x62')]({'id':_0x3a060e[_0x9e0e('0x4d')]['id']});}return db[_0x9e0e('0x2b')][_0x9e0e('0x48')]({'where':_0x4ad002,'attributes':['id',_0x9e0e('0x4e')],'raw':!![]})['then'](handleEntityNotFound(_0x2b5618,null))[_0x9e0e('0x24')](function(_0x37d1bd){if(_0x37d1bd){var _0x1f1485=util[_0x9e0e('0x31')](_0x9e0e('0x4f'),_0x37d1bd['value']);if(fs[_0x9e0e('0x50')](_0x1f1485)){_0x10221d=!![];return _0x7d9692[_0x9e0e('0x51')](_0x1f1485,_0x37d1bd[_0x9e0e('0x4e')],config[_0x9e0e('0x52')]['recording'])[_0x9e0e('0x24')](function(){return _0x37d1bd;});}return _0x37d1bd;}})[_0x9e0e('0x24')](function(_0x11193b){if(_0x11193b){if(!fs[_0x9e0e('0x50')](_0x11193b[_0x9e0e('0x4e')])){throw new db[(_0x9e0e('0x63'))]['ValidationError'](_0x9e0e('0x55'));}if(_0x11193b['filename']){return _0x2b5618[_0x9e0e('0x4c')](_0x11193b['value'],_0x11193b[_0x9e0e('0x56')]+path['extname'](_0x11193b['value']),function(){if(_0x10221d){fs['unlink'](_0x11193b['value']);}});}else{return _0x2b5618['download'](_0x11193b[_0x9e0e('0x4e')],function(_0x23cbe3){if(_0x10221d){fs['unlink'](_0x11193b[_0x9e0e('0x4e')]);}});}}})[_0x9e0e('0x43')](handleError(_0x2b5618,null));};exports[_0x9e0e('0x64')]=function(_0x1d5f5e,_0x212a5d){return db[_0x9e0e('0x2b')][_0x9e0e('0x48')]({'where':{'id':_0x1d5f5e[_0x9e0e('0x4d')]['id']}})['then'](function(_0x222a3c){if(_['isNil'](_0x222a3c)){throw new ReferenceError(_0x9e0e('0x65'));}return _0x222a3c;})[_0x9e0e('0x24')](function(_0x111c0c){var _0x57a5eb=_0x111c0c[_0x9e0e('0x4e')];logger[_0x9e0e('0x66')]('cancellazione\x20fisica\x20documento\x20%s',_0x57a5eb);if(!_[_0x9e0e('0x67')](_0x111c0c[_0x9e0e('0x4e')])&&fs[_0x9e0e('0x50')](_0x57a5eb)){logger[_0x9e0e('0x66')]('File:\x20\x22'+_0x57a5eb+'\x22\x20trovato\x20eseguo\x20la\x20cancellazione');fs[_0x9e0e('0x68')](_0x57a5eb);}_0x57a5eb=_0x57a5eb+_0x9e0e('0x69');if(!_[_0x9e0e('0x67')](_0x111c0c['value'])&&fs[_0x9e0e('0x50')](_0x57a5eb)){logger[_0x9e0e('0x66')](_0x9e0e('0x6a')+_0x57a5eb+_0x9e0e('0x6b'));fs[_0x9e0e('0x68')](_0x57a5eb);}return _0x111c0c;})[_0x9e0e('0x24')](function(_0x33304a){if(!_0x33304a)throw new InternalError();return _0x33304a[_0x9e0e('0x64')]();})[_0x9e0e('0x24')](function(){_0x212a5d[_0x9e0e('0x19')](0xcc)[_0x9e0e('0x1a')]();})[_0x9e0e('0x43')](handleError(_0x212a5d,null));};function getBucketslist(_0x379a52,_0x5ae984,_0x8987e6){return new Promise(function(_0x453f68,_0x76dfc){var _0x38389b=new AWS['S3']({'accessKeyId':_0x5ae984,'secretAccessKey':_0x379a52,'region':_0x8987e6});_0x38389b[_0x9e0e('0x6c')]({},function(_0x34ce1b,_0x287346){if(_0x34ce1b){return _0x76dfc(_0x34ce1b);}else{return _0x453f68(_0x287346);}});});}function createBucket(_0x50054a,_0x37896d,_0x5699bc,_0x72cf6){return new Promise(function(_0x164cfb,_0x33995c){var _0x5d2553=new AWS['S3']({'accessKeyId':_0x37896d,'secretAccessKey':_0x50054a,'region':_0x5699bc});_0x5d2553[_0x9e0e('0x6d')]({'Bucket':_0x72cf6},function(_0x166f94,_0x5b5a69){if(_0x166f94){return _0x33995c(_0x166f94);}else{return _0x164cfb(_0x5b5a69);}});});}function uploadFile(_0x44e904,_0x33d6b3,_0x1806f9,_0x5a7212,_0x48761e,_0x4fdd8d){return new Promise(function(_0x384026,_0x4fea33){var _0x5564f5=new AWS['S3']({'accessKeyId':_0x33d6b3,'secretAccessKey':_0x44e904,'region':_0x1806f9});_0x5564f5[_0x9e0e('0x6e')]({'Bucket':_0x5a7212,'Key':_0x48761e,'Body':_0x4fdd8d},function(_0x1ba4c2,_0x24ca64){if(_0x1ba4c2){return _0x4fea33(_0x1ba4c2);}else{return _0x384026(_0x24ca64);}});});}function startTranscribe(_0x2c0c17,_0x53e5b8,_0x1f0328,_0x4e06a0,_0x288856,_0x2ed92d){return new Promise(function(_0x1022ba,_0x18eebd){var _0x1a630a=new AWS[(_0x9e0e('0x6f'))]({'accessKeyId':_0x53e5b8,'secretAccessKey':_0x2c0c17,'region':_0x1f0328});_0x1a630a['startTranscriptionJob']({'TranscriptionJobName':_0x4e06a0,'LanguageCode':_0x288856,'Media':{'MediaFileUri':_0x2ed92d}},function(_0x56759e,_0x43476c){if(_0x56759e){return _0x18eebd(_0x56759e);}else{return _0x1022ba(_0x43476c);}});});}function transcribe(_0x3489a6,_0x4ee378,_0x437dac,_0x47c779,_0x17f7b6,_0x586d29,_0x446f0b){return new Promise(function(_0x2bcbd4,_0x237920){var _0x1c811c={};logger[_0x9e0e('0x66')](util[_0x9e0e('0x31')]('[RUNTRANSCRIPT][%d]\x20Starting\x20voice\x20recording\x20upload\x20in\x20bucket\x20%s',_0x3489a6,_0x17f7b6));return uploadFile(_0x4ee378,_0x437dac,_0x47c779,_0x17f7b6,path[_0x9e0e('0x70')](_0x586d29),fs[_0x9e0e('0x71')](_0x586d29))[_0x9e0e('0x24')](function(_0x2870dd){logger[_0x9e0e('0x66')](util[_0x9e0e('0x31')](_0x9e0e('0x72'),_0x3489a6,_0x17f7b6,_0x2870dd[_0x9e0e('0x73')]));_0x1c811c[_0x9e0e('0x74')]=_0x2870dd[_0x9e0e('0x75')];_0x1c811c[_0x9e0e('0x76')]=_0x2870dd[_0x9e0e('0x73')];logger[_0x9e0e('0x66')](util[_0x9e0e('0x31')](_0x9e0e('0x77'),_0x3489a6));return startTranscribe(_0x4ee378,_0x437dac,_0x47c779,uuidv4(),_0x446f0b,_0x2870dd[_0x9e0e('0x73')]);})[_0x9e0e('0x24')](function(_0x5ef318){logger['info'](util[_0x9e0e('0x31')](_0x9e0e('0x78'),_0x3489a6,_0x5ef318[_0x9e0e('0x79')]['TranscriptionJobName']));_0x1c811c['transcribeName']=_0x5ef318['TranscriptionJob'][_0x9e0e('0x7a')];_0x1c811c['transcribeStatus']=_0x5ef318['TranscriptionJob'][_0x9e0e('0x7b')];return _0x2bcbd4(_0x1c811c);})[_0x9e0e('0x43')](function(_0x370436){return _0x237920(_0x370436);});});}exports[_0x9e0e('0x7c')]=function(_0x4211c4,_0x1ea0f4,_0x3cfade){var _0x594249;var _0x161c74;var _0x2650c8;var _0x1918a9=require(_0x9e0e('0x5b'));return db[_0x9e0e('0x2b')][_0x9e0e('0x7d')]({'where':{'id':_0x4211c4[_0x9e0e('0x4d')]['id']}})['then'](function(_0x30dd85){if(_0x30dd85){var _0x1adf2c=util[_0x9e0e('0x31')]('%s.cypher',_0x30dd85['value']);if(fs['existsSync'](_0x1adf2c)){cypher=!![];return _0x1918a9[_0x9e0e('0x51')](_0x1adf2c,_0x30dd85['value'],config[_0x9e0e('0x52')][_0x9e0e('0x53')])[_0x9e0e('0x24')](function(){return _0x30dd85;});}return _0x30dd85;}})['then'](function(_0x11338c){if(!_0x11338c){throw new db[(_0x9e0e('0x63'))][(_0x9e0e('0x54'))](_0x9e0e('0x7e'));}_0x161c74=_0x11338c;return db[_0x9e0e('0x7f')][_0x9e0e('0x7d')]({'where':{'id':0x1}});})[_0x9e0e('0x24')](handleEntityNotFound(_0x1ea0f4,null))[_0x9e0e('0x24')](function(_0x5721f4){if(_0x5721f4){_0x594249=_0x5721f4;if(!_0x594249[_0x9e0e('0x80')]||!_0x594249[_0x9e0e('0x81')]||!_0x594249[_0x9e0e('0x82')]||!_0x594249['language']||!_0x594249['bucket']){throw new db[(_0x9e0e('0x63'))][(_0x9e0e('0x54'))](_0x9e0e('0x83'));}if(_0x4211c4[_0x9e0e('0x4a')][_0x9e0e('0x84')]&&(!_0x594249[_0x9e0e('0x85')]||!_0x594249[_0x9e0e('0x86')]||!_0x594249[_0x9e0e('0x87')]||!_0x594249[_0x9e0e('0x88')]||!_0x594249[_0x9e0e('0x74')])){throw new db[(_0x9e0e('0x63'))][(_0x9e0e('0x54'))](_0x9e0e('0x89'));}return db['CloudProvider'][_0x9e0e('0x7d')]({'where':{'id':_0x594249[_0x9e0e('0x81')]}});}})[_0x9e0e('0x24')](function(_0x18f117){if(!_0x18f117){throw new db[(_0x9e0e('0x63'))][(_0x9e0e('0x54'))](_0x9e0e('0x8a'));}if(!_0x18f117[_0x9e0e('0x8b')]||!_0x18f117[_0x9e0e('0x8c')]){throw new db['Sequelize'][(_0x9e0e('0x54'))]('Cloud\x20Provider\x20not\x20configured');}_0x2650c8=_0x18f117;return getBucketslist(_0x2650c8[_0x9e0e('0x8b')],_0x2650c8[_0x9e0e('0x8c')],_0x594249[_0x9e0e('0x82')]);})[_0x9e0e('0x24')](function(_0x3c997a){if(_0x3c997a&&_0x3c997a[_0x9e0e('0x8d')]){var _0x3e2545=_[_0x9e0e('0x48')](_0x3c997a['Buckets'],function(_0x5035e6){return _0x5035e6[_0x9e0e('0x8e')]===_0x594249['bucket'];});if(!_0x3e2545){logger[_0x9e0e('0x66')](util[_0x9e0e('0x31')](_0x9e0e('0x8f'),_0x4211c4['params']['id'],_0x594249[_0x9e0e('0x74')]));return createBucket(_0x2650c8[_0x9e0e('0x8b')],_0x2650c8['data2'],_0x594249[_0x9e0e('0x82')],_0x594249['bucket']);}logger[_0x9e0e('0x66')](util[_0x9e0e('0x31')](_0x9e0e('0x90'),_0x4211c4[_0x9e0e('0x4d')]['id'],_0x594249[_0x9e0e('0x74')]));return;}})[_0x9e0e('0x24')](function(_0x227c0a){if(_0x161c74['transcribeStatus']===_0x9e0e('0x91')){return transcribe(_0x4211c4[_0x9e0e('0x4d')]['id'],_0x2650c8[_0x9e0e('0x8b')],_0x2650c8[_0x9e0e('0x8c')],_0x594249[_0x9e0e('0x82')],_0x594249[_0x9e0e('0x74')],_0x161c74[_0x9e0e('0x4e')],_0x594249[_0x9e0e('0x88')]);}else{logger['info'](util[_0x9e0e('0x31')](_0x9e0e('0x92'),_0x4211c4[_0x9e0e('0x4d')]['id']));return{'transcribeStatus':_0x9e0e('0x93')};}})['then'](function(_0x3a5d80){if(_0x3a5d80){_0x3a5d80[_0x9e0e('0x94')]=_0x4211c4[_0x9e0e('0x4a')][_0x9e0e('0x84')];return _0x161c74[_0x9e0e('0x95')](_0x3a5d80);}})[_0x9e0e('0x24')](respondWithResult(_0x1ea0f4,null))['catch'](handleError(_0x1ea0f4,null));};function writeFile(_0x5bb737,_0x3f25b8){return new Promise(function(_0x2eeb79,_0x3ec63f){fs['writeFile'](_0x3f25b8,_0x5bb737,function(_0x1f2eb9,_0x3daf6b){if(_0x1f2eb9){return _0x3ec63f(_0x1f2eb9);}else{return _0x2eeb79(_0x3daf6b);}});});}exports['downloadTranscribe']=function(_0x49fd74,_0x1afb48,_0x5771b5){return db[_0x9e0e('0x2b')][_0x9e0e('0x7d')]({'where':{'id':_0x49fd74[_0x9e0e('0x4d')]['id']}})['then'](handleEntityNotFound(_0x1afb48))[_0x9e0e('0x24')](function(_0x54b3a6){if(_0x54b3a6&&_0x54b3a6[_0x9e0e('0x96')]){var _0x28db2c=_0x54b3a6[_0x9e0e('0x96')];var _0x47f192=config[_0x9e0e('0x97')]+_0x9e0e('0x98')+_0x54b3a6['id']+_0x9e0e('0x99');if(fs[_0x9e0e('0x50')](_0x47f192)){return _0x47f192;}return writeFile(_0x28db2c,_0x47f192)['then'](function(){return _0x47f192;});}else{throw new db[(_0x9e0e('0x63'))][(_0x9e0e('0x54'))]('Transcript\x20not\x20available');}})[_0x9e0e('0x24')](function(_0x259d94){return _0x1afb48['download'](_0x259d94);})[_0x9e0e('0x43')](handleError(_0x1afb48));};