e8d56a703beb7541e8db77ac2f845af00990e184
[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 _0x4957=['rawAttributes','fieldName','key','model','differenceBy','format','query','keys','intersection','attributes','fields','nolimit','order','sort','where','filters','pick','filter','VIRTUAL','options','VoiceRecording','includeAll','include','findAll','rows','catch','params','length','merge','find','body','describe','../../components/encryptor','type','uniqueid','value','%s.cypher','existsSync','decryptFile','secrets','Sequelize','filename','download','extname','unlink','VoiceRecording\x20not\x20found','send','Not\x20found','downloads','sequelize','MD5','col','token','$and','push','recording','cancellazione\x20fisica\x20documento\x20%s','isNil','File:\x20\x22','.cypher','info','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','listBuckets','createBucket','TranscribeService','startTranscriptionJob','basename','[RUNTRANSCRIPT][%d]\x20Voice\x20recording\x20uploaded\x20in\x20bucket\x20%s\x20(%s)','Location','bucket','[RUNTRANSCRIPT][%d]\x20Sending\x20transcribe\x20request','[RUNTRANSCRIPT][%d]\x20Transcription\x20job\x20%s\x20created','TranscriptionJob','TranscriptionJobName','transcribeStatus','runTranscribe','findOne','Voice\x20Recording\x20not\x20found','Setting','transcribe','transcribeAccountId','transcribeRegion','language','Transcribe\x20not\x20configured','runSentiment','sentiment','sentimentAccountId','sentimentRegion','ValidationError','Sentiment\x20Analysis\x20not\x20configured','Cloud\x20Provider\x20not\x20available','data1','Cloud\x20Provider\x20not\x20configured','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','writeFile','downloadTranscribe','fileText','root','/server/files/transcribes/transcribe_','.txt','Transcript\x20not\x20available','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','api','../../config/utils','../../mysqldb','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','save','update','destroy','then','sendStatus','error','name','index','map'];(function(_0x225c29,_0x29573c){var _0x20e0ba=function(_0x3786b3){while(--_0x3786b3){_0x225c29['push'](_0x225c29['shift']());}};_0x20e0ba(++_0x29573c);}(_0x4957,0x1a0));var _0x7495=function(_0x2be8c2,_0x14a4b5){_0x2be8c2=_0x2be8c2-0x0;var _0x97f531=_0x4957[_0x2be8c2];return _0x97f531;};'use strict';var emlformat=require(_0x7495('0x0'));var rimraf=require(_0x7495('0x1'));var zipdir=require(_0x7495('0x2'));var jsonpatch=require(_0x7495('0x3'));var rp=require(_0x7495('0x4'));var moment=require(_0x7495('0x5'));var BPromise=require(_0x7495('0x6'));var Mustache=require(_0x7495('0x7'));var util=require(_0x7495('0x8'));var path=require(_0x7495('0x9'));var sox=require(_0x7495('0xa'));var csv=require(_0x7495('0xb'));var ejs=require(_0x7495('0xc'));var fs=require('fs');var fs_extra=require(_0x7495('0xd'));var _=require(_0x7495('0xe'));var squel=require(_0x7495('0xf'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x7495('0xb'));var querystring=require(_0x7495('0x10'));var Papa=require(_0x7495('0x11'));var AWS=require('aws-sdk');var uuidv4=require('uuid/v4');var Redis=require('ioredis');var authService=require(_0x7495('0x12'));var qs=require(_0x7495('0x13'));var as=require(_0x7495('0x14'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x7495('0x15'));var utils=require(_0x7495('0x16'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x7495('0x17'))['db'];function respondWithStatusCode(_0x23ddaa,_0x1552e9){_0x1552e9=_0x1552e9||0xcc;return function(_0xea1c59){if(_0xea1c59){return _0x23ddaa['sendStatus'](_0x1552e9);}return _0x23ddaa[_0x7495('0x18')](_0x1552e9)[_0x7495('0x19')]();};}function respondWithResult(_0x1c5ad5,_0x234f7f){_0x234f7f=_0x234f7f||0xc8;return function(_0x1cbf41){if(_0x1cbf41){return _0x1c5ad5[_0x7495('0x18')](_0x234f7f)[_0x7495('0x1a')](_0x1cbf41);}};}function respondWithFilteredResult(_0x520dc6,_0x582c4b){return function(_0x34341c){if(_0x34341c){var _0x257abe=typeof _0x582c4b[_0x7495('0x1b')]===_0x7495('0x1c')&&typeof _0x582c4b[_0x7495('0x1d')]===_0x7495('0x1c');var _0x356b12=_0x34341c[_0x7495('0x1e')];var _0x422330=_0x257abe?0x0:_0x582c4b[_0x7495('0x1b')];var _0x1a80ba=_0x257abe?_0x34341c['count']:_0x582c4b[_0x7495('0x1b')]+_0x582c4b[_0x7495('0x1d')];var _0x5a442d;if(_0x1a80ba>=_0x356b12){_0x1a80ba=_0x356b12;_0x5a442d=0xc8;}else{_0x5a442d=0xce;}_0x520dc6[_0x7495('0x18')](_0x5a442d);return _0x520dc6[_0x7495('0x1f')](_0x7495('0x20'),_0x422330+'-'+_0x1a80ba+'/'+_0x356b12)['json'](_0x34341c);}return null;};}function patchUpdates(_0x4ebada){return function(_0x3ee955){try{jsonpatch[_0x7495('0x21')](_0x3ee955,_0x4ebada,!![]);}catch(_0x4edf9d){return BPromise['reject'](_0x4edf9d);}return _0x3ee955[_0x7495('0x22')]();};}function saveUpdates(_0x13d16f,_0x2ee1ca){return function(_0x3fc77b){if(_0x3fc77b){return _0x3fc77b[_0x7495('0x23')](_0x13d16f)['then'](function(_0x2f07b5){return _0x2f07b5;});}return null;};}function removeEntity(_0x361247,_0x132268){return function(_0x55c2cc){if(_0x55c2cc){return _0x55c2cc[_0x7495('0x24')]()[_0x7495('0x25')](function(){_0x361247[_0x7495('0x18')](0xcc)['end']();});}};}function handleEntityNotFound(_0x3c867e,_0x3384cb){return function(_0x5cee54){if(!_0x5cee54){_0x3c867e[_0x7495('0x26')](0x194);}return _0x5cee54;};}function handleError(_0x196bb9,_0x1a7638){_0x1a7638=_0x1a7638||0x1f4;return function(_0x38db6a){logger[_0x7495('0x27')](_0x38db6a['stack']);if(_0x38db6a[_0x7495('0x28')]){delete _0x38db6a[_0x7495('0x28')];}_0x196bb9[_0x7495('0x18')](_0x1a7638)['send'](_0x38db6a);};}exports[_0x7495('0x29')]=function(_0x2a2729,_0x44e31){var _0x5081f7={},_0x194762={},_0x53c2ac={'count':0x0,'rows':[]};var _0x2f807a=_[_0x7495('0x2a')](db['VoiceRecording'][_0x7495('0x2b')],function(_0x2def55){return{'name':_0x2def55[_0x7495('0x2c')],'type':_0x2def55['type'][_0x7495('0x2d')]};});_0x194762[_0x7495('0x2e')]=_[_0x7495('0x2f')](_['map'](_0x2f807a,'name'),[_0x7495('0x30')]);_0x194762[_0x7495('0x31')]=_[_0x7495('0x32')](_0x2a2729[_0x7495('0x31')]);_0x194762['filters']=_[_0x7495('0x33')](_0x194762[_0x7495('0x2e')],_0x194762[_0x7495('0x31')]);_0x5081f7[_0x7495('0x34')]=_['intersection'](_0x194762[_0x7495('0x2e')],qs[_0x7495('0x35')](_0x2a2729[_0x7495('0x31')][_0x7495('0x35')]));_0x5081f7['attributes']=_0x5081f7[_0x7495('0x34')]['length']?_0x5081f7[_0x7495('0x34')]:_0x194762[_0x7495('0x2e')];if(!_0x2a2729[_0x7495('0x31')]['hasOwnProperty'](_0x7495('0x36'))){_0x5081f7[_0x7495('0x1d')]=qs[_0x7495('0x1d')](_0x2a2729[_0x7495('0x31')][_0x7495('0x1d')]);_0x5081f7[_0x7495('0x1b')]=qs[_0x7495('0x1b')](_0x2a2729['query']['offset']);}_0x5081f7[_0x7495('0x37')]=qs[_0x7495('0x38')](_0x2a2729[_0x7495('0x31')][_0x7495('0x38')]);_0x5081f7[_0x7495('0x39')]=qs[_0x7495('0x3a')](_[_0x7495('0x3b')](_0x2a2729[_0x7495('0x31')],_0x194762['filters']),_0x2f807a);if(_0x2a2729[_0x7495('0x31')][_0x7495('0x3c')]){_0x5081f7[_0x7495('0x39')]=_['merge'](_0x5081f7[_0x7495('0x39')],{'$or':_['map'](_0x2f807a,function(_0x421504){if(_0x421504['type']!==_0x7495('0x3d')){var _0x207f20={};_0x207f20[_0x421504[_0x7495('0x28')]]={'$like':'%'+_0x2a2729[_0x7495('0x31')][_0x7495('0x3c')]+'%'};return _0x207f20;}})});}_0x5081f7=_['merge']({},_0x5081f7,_0x2a2729[_0x7495('0x3e')]);var _0x57c9ec={'where':_0x5081f7[_0x7495('0x39')]};return db[_0x7495('0x3f')][_0x7495('0x1e')](_0x57c9ec)[_0x7495('0x25')](function(_0x2161a5){_0x53c2ac[_0x7495('0x1e')]=_0x2161a5;if(_0x2a2729['query'][_0x7495('0x40')]){_0x5081f7[_0x7495('0x41')]=[{'all':!![]}];}return db[_0x7495('0x3f')][_0x7495('0x42')](_0x5081f7);})[_0x7495('0x25')](function(_0x47f8d7){_0x53c2ac[_0x7495('0x43')]=_0x47f8d7;return _0x53c2ac;})[_0x7495('0x25')](respondWithFilteredResult(_0x44e31,_0x5081f7))[_0x7495('0x44')](handleError(_0x44e31,null));};exports['show']=function(_0x51ded0,_0xb3bef8){var _0x55cc1e={'raw':![],'where':{'id':_0x51ded0[_0x7495('0x45')]['id']}},_0x1b30f6={};_0x1b30f6[_0x7495('0x2e')]=_[_0x7495('0x32')](db[_0x7495('0x3f')][_0x7495('0x2b')]);_0x1b30f6['query']=_[_0x7495('0x32')](_0x51ded0[_0x7495('0x31')]);_0x1b30f6[_0x7495('0x3a')]=_[_0x7495('0x33')](_0x1b30f6[_0x7495('0x2e')],_0x1b30f6['query']);_0x55cc1e[_0x7495('0x34')]=_[_0x7495('0x33')](_0x1b30f6[_0x7495('0x2e')],qs['fields'](_0x51ded0['query'][_0x7495('0x35')]));_0x55cc1e[_0x7495('0x34')]=_0x55cc1e[_0x7495('0x34')][_0x7495('0x46')]?_0x55cc1e[_0x7495('0x34')]:_0x1b30f6[_0x7495('0x2e')];if(_0x51ded0[_0x7495('0x31')][_0x7495('0x40')]){_0x55cc1e['include']=[{'all':!![]}];}_0x55cc1e=_[_0x7495('0x47')]({},_0x55cc1e,_0x51ded0[_0x7495('0x3e')]);return db['VoiceRecording'][_0x7495('0x48')](_0x55cc1e)[_0x7495('0x25')](handleEntityNotFound(_0xb3bef8,null))['then'](respondWithResult(_0xb3bef8,null))[_0x7495('0x44')](handleError(_0xb3bef8,null));};exports['create']=function(_0x59bb8c,_0x32b9f8){return db['VoiceRecording']['create'](_0x59bb8c['body'],{})[_0x7495('0x25')](respondWithResult(_0x32b9f8,0xc9))['catch'](handleError(_0x32b9f8,null));};exports[_0x7495('0x23')]=function(_0x11c1b3,_0x279747){if(_0x11c1b3[_0x7495('0x49')]['id']){delete _0x11c1b3['body']['id'];}return db['VoiceRecording'][_0x7495('0x48')]({'where':{'id':_0x11c1b3[_0x7495('0x45')]['id']}})['then'](handleEntityNotFound(_0x279747,null))['then'](saveUpdates(_0x11c1b3['body'],null))[_0x7495('0x25')](respondWithResult(_0x279747,null))[_0x7495('0x44')](handleError(_0x279747,null));};exports[_0x7495('0x4a')]=function(_0x46c48e,_0x4ea6c5){return db[_0x7495('0x3f')][_0x7495('0x4a')]()[_0x7495('0x25')](respondWithResult(_0x4ea6c5,null))[_0x7495('0x44')](handleError(_0x4ea6c5,null));};exports['download']=function(_0x32f28e,_0x275a75,_0x17186c){var _0x34a404=require(_0x7495('0x4b'));var _0x445ecd=![];var _0x1f2c95={};if(_0x32f28e[_0x7495('0x31')]['type']&&_0x32f28e[_0x7495('0x31')][_0x7495('0x4c')]===_0x7495('0x4d')){_0x1f2c95[_0x7495('0x4d')]=_0x32f28e[_0x7495('0x45')]['id'];}else{_0x1f2c95['id']=_0x32f28e['params']['id'];}return db['VoiceRecording']['find']({'where':_0x1f2c95,'attributes':['id',_0x7495('0x4e')],'raw':!![]})[_0x7495('0x25')](handleEntityNotFound(_0x275a75,null))[_0x7495('0x25')](function(_0x3195b1){if(_0x3195b1){var _0x1adccf=_0x3195b1[_0x7495('0x4e')];var _0x157858=util[_0x7495('0x30')](_0x7495('0x4f'),_0x1adccf);if(fs[_0x7495('0x50')](_0x157858)){_0x445ecd=!![];return _0x34a404[_0x7495('0x51')](_0x157858,_0x1adccf,config[_0x7495('0x52')]['recording'])[_0x7495('0x25')](function(){return _0x3195b1;});}return _0x3195b1;}})[_0x7495('0x25')](function(_0x111d7a){if(_0x111d7a){var _0x2fbba9=_0x111d7a[_0x7495('0x4e')];if(!fs[_0x7495('0x50')](_0x2fbba9)){throw new db[(_0x7495('0x53'))]['ValidationError']('VoiceRecording\x20not\x20found');}if(_0x111d7a[_0x7495('0x54')]){return _0x275a75[_0x7495('0x55')](_0x2fbba9,_0x111d7a['filename']+path[_0x7495('0x56')](_0x2fbba9),function(){if(_0x445ecd){fs[_0x7495('0x57')](_0x2fbba9);}});}else{return _0x275a75[_0x7495('0x55')](_0x2fbba9,function(_0x14089b){if(_0x445ecd){fs[_0x7495('0x57')](_0x2fbba9);}});}}})[_0x7495('0x44')](function(_0x19c694){if(_0x19c694['message']===_0x7495('0x58')){_0x275a75[_0x7495('0x18')](0x194)[_0x7495('0x59')](_0x7495('0x5a'));}else{return handleError(_0x275a75,null);}});};exports[_0x7495('0x5b')]=function(_0x5d1592,_0x40a6f0,_0x5051e3){var _0x207da4=require(_0x7495('0x4b'));var _0x5c1d14=![];var _0x70f03c={'$and':[db[_0x7495('0x5c')][_0x7495('0x39')](db['sequelize']['fn'](_0x7495('0x5d'),db[_0x7495('0x5c')][_0x7495('0x5e')]('uniqueid')),_0x5d1592[_0x7495('0x31')][_0x7495('0x5f')])]};if(_0x5d1592['query'][_0x7495('0x4c')]&&_0x5d1592[_0x7495('0x31')][_0x7495('0x4c')]===_0x7495('0x4d')){_0x70f03c[_0x7495('0x60')][_0x7495('0x61')]({'uniqueid':_0x5d1592[_0x7495('0x45')]['id']});}else{_0x70f03c[_0x7495('0x60')][_0x7495('0x61')]({'id':_0x5d1592[_0x7495('0x45')]['id']});}return db['VoiceRecording'][_0x7495('0x48')]({'where':_0x70f03c,'attributes':['id',_0x7495('0x4e')],'raw':!![]})['then'](handleEntityNotFound(_0x40a6f0,null))[_0x7495('0x25')](function(_0x498c53){if(_0x498c53){var _0x3ad3e4=util['format'](_0x7495('0x4f'),_0x498c53[_0x7495('0x4e')]);if(fs['existsSync'](_0x3ad3e4)){_0x5c1d14=!![];return _0x207da4['decryptFile'](_0x3ad3e4,_0x498c53[_0x7495('0x4e')],config[_0x7495('0x52')][_0x7495('0x62')])[_0x7495('0x25')](function(){return _0x498c53;});}return _0x498c53;}})[_0x7495('0x25')](function(_0x32fa65){if(_0x32fa65){if(!fs['existsSync'](_0x32fa65[_0x7495('0x4e')])){throw new db[(_0x7495('0x53'))]['ValidationError']('VoiceRecording\x20not\x20found');}if(_0x32fa65[_0x7495('0x54')]){return _0x40a6f0[_0x7495('0x55')](_0x32fa65['value'],_0x32fa65[_0x7495('0x54')]+path['extname'](_0x32fa65[_0x7495('0x4e')]),function(){if(_0x5c1d14){fs[_0x7495('0x57')](_0x32fa65['value']);}});}else{return _0x40a6f0[_0x7495('0x55')](_0x32fa65['value'],function(_0x309553){if(_0x5c1d14){fs[_0x7495('0x57')](_0x32fa65[_0x7495('0x4e')]);}});}}})[_0x7495('0x44')](handleError(_0x40a6f0,null));};exports[_0x7495('0x24')]=function(_0x4c90da,_0x5628aa){return db[_0x7495('0x3f')][_0x7495('0x48')]({'where':{'id':_0x4c90da['params']['id']}})[_0x7495('0x25')](function(_0x4eedd1){if(_['isNil'](_0x4eedd1)){throw new ReferenceError('Entity\x20not\x20found');}return _0x4eedd1;})['then'](function(_0x40cba0){var _0x6edbce=_0x40cba0[_0x7495('0x4e')];logger['info'](_0x7495('0x63'),_0x6edbce);if(!_[_0x7495('0x64')](_0x40cba0[_0x7495('0x4e')])&&fs[_0x7495('0x50')](_0x6edbce)){logger['info'](_0x7495('0x65')+_0x6edbce+'\x22\x20trovato\x20eseguo\x20la\x20cancellazione');fs['unlinkSync'](_0x6edbce);}_0x6edbce=_0x6edbce+_0x7495('0x66');if(!_[_0x7495('0x64')](_0x40cba0[_0x7495('0x4e')])&&fs['existsSync'](_0x6edbce)){logger[_0x7495('0x67')](_0x7495('0x65')+_0x6edbce+_0x7495('0x68'));fs['unlinkSync'](_0x6edbce);}return _0x40cba0;})[_0x7495('0x25')](function(_0x3a7cbb){if(!_0x3a7cbb)throw new InternalError();return _0x3a7cbb[_0x7495('0x24')]();})[_0x7495('0x25')](function(){_0x5628aa[_0x7495('0x18')](0xcc)[_0x7495('0x19')]();})[_0x7495('0x44')](handleError(_0x5628aa,null));};function getBucketslist(_0xb38c3,_0x4800bf,_0x24b80b){return new Promise(function(_0x5e6431,_0x1b4ce2){var _0x4492a7=new AWS['S3']({'accessKeyId':_0x4800bf,'secretAccessKey':_0xb38c3,'region':_0x24b80b});_0x4492a7[_0x7495('0x69')]({},function(_0x594f62,_0x4633b4){if(_0x594f62){return _0x1b4ce2(_0x594f62);}else{return _0x5e6431(_0x4633b4);}});});}function createBucket(_0x3f7903,_0x202f59,_0x5e51fa,_0x5529ee){return new Promise(function(_0x1d5f5c,_0x5ed70f){var _0x3196ab=new AWS['S3']({'accessKeyId':_0x202f59,'secretAccessKey':_0x3f7903,'region':_0x5e51fa});_0x3196ab[_0x7495('0x6a')]({'Bucket':_0x5529ee},function(_0x3bec15,_0x530d36){if(_0x3bec15){return _0x5ed70f(_0x3bec15);}else{return _0x1d5f5c(_0x530d36);}});});}function uploadFile(_0xccda32,_0x5ddf4d,_0xeed8a4,_0x44387b,_0x53ae2d,_0x37344e){return new Promise(function(_0x507f1b,_0xafa80e){var _0x11e3d5=new AWS['S3']({'accessKeyId':_0x5ddf4d,'secretAccessKey':_0xccda32,'region':_0xeed8a4});_0x11e3d5['upload']({'Bucket':_0x44387b,'Key':_0x53ae2d,'Body':_0x37344e},function(_0x295c99,_0x5dd519){if(_0x295c99){return _0xafa80e(_0x295c99);}else{return _0x507f1b(_0x5dd519);}});});}function startTranscribe(_0x59b66a,_0x3a44e2,_0xecbf23,_0x4a2371,_0x2335b2,_0x1ab81d){return new Promise(function(_0x432e6e,_0x27afa5){var _0x2543f0=new AWS[(_0x7495('0x6b'))]({'accessKeyId':_0x3a44e2,'secretAccessKey':_0x59b66a,'region':_0xecbf23});_0x2543f0[_0x7495('0x6c')]({'TranscriptionJobName':_0x4a2371,'LanguageCode':_0x2335b2,'Media':{'MediaFileUri':_0x1ab81d}},function(_0x23ec7c,_0x2c9e13){if(_0x23ec7c){return _0x27afa5(_0x23ec7c);}else{return _0x432e6e(_0x2c9e13);}});});}function transcribe(_0x320d92,_0x5c1a19,_0xb60c59,_0x31cdeb,_0x24b8e5,_0x296b85,_0x214b78){return new Promise(function(_0x184430,_0x30c343){var _0x289b33={};logger[_0x7495('0x67')](util[_0x7495('0x30')]('[RUNTRANSCRIPT][%d]\x20Starting\x20voice\x20recording\x20upload\x20in\x20bucket\x20%s',_0x320d92,_0x24b8e5));return uploadFile(_0x5c1a19,_0xb60c59,_0x31cdeb,_0x24b8e5,path[_0x7495('0x6d')](_0x296b85),fs['readFileSync'](_0x296b85))[_0x7495('0x25')](function(_0xad5820){logger[_0x7495('0x67')](util[_0x7495('0x30')](_0x7495('0x6e'),_0x320d92,_0x24b8e5,_0xad5820[_0x7495('0x6f')]));_0x289b33[_0x7495('0x70')]=_0xad5820['Bucket'];_0x289b33['location']=_0xad5820[_0x7495('0x6f')];logger[_0x7495('0x67')](util[_0x7495('0x30')](_0x7495('0x71'),_0x320d92));return startTranscribe(_0x5c1a19,_0xb60c59,_0x31cdeb,uuidv4(),_0x214b78,_0xad5820['Location']);})[_0x7495('0x25')](function(_0x28206c){logger[_0x7495('0x67')](util['format'](_0x7495('0x72'),_0x320d92,_0x28206c[_0x7495('0x73')][_0x7495('0x74')]));_0x289b33['transcribeName']=_0x28206c[_0x7495('0x73')][_0x7495('0x74')];_0x289b33[_0x7495('0x75')]=_0x28206c['TranscriptionJob']['TranscriptionJobStatus'];return _0x184430(_0x289b33);})[_0x7495('0x44')](function(_0x565f96){return _0x30c343(_0x565f96);});});}exports[_0x7495('0x76')]=function(_0x5910cd,_0x1e4e58,_0x223f12){var _0x4f0dc4;var _0x18f757;var _0x1ddb69;var _0x160741=require(_0x7495('0x4b'));return db['VoiceRecording'][_0x7495('0x77')]({'where':{'id':_0x5910cd[_0x7495('0x45')]['id']}})['then'](function(_0x398a39){if(_0x398a39){var _0x1e6d1e=util[_0x7495('0x30')](_0x7495('0x4f'),_0x398a39[_0x7495('0x4e')]);if(fs[_0x7495('0x50')](_0x1e6d1e)){cypher=!![];return _0x160741[_0x7495('0x51')](_0x1e6d1e,_0x398a39[_0x7495('0x4e')],config[_0x7495('0x52')][_0x7495('0x62')])[_0x7495('0x25')](function(){return _0x398a39;});}return _0x398a39;}})[_0x7495('0x25')](function(_0x561079){if(!_0x561079){throw new db[(_0x7495('0x53'))]['ValidationError'](_0x7495('0x78'));}_0x18f757=_0x561079;return db[_0x7495('0x79')]['findOne']({'where':{'id':0x1}});})[_0x7495('0x25')](handleEntityNotFound(_0x1e4e58,null))[_0x7495('0x25')](function(_0x221aca){if(_0x221aca){_0x4f0dc4=_0x221aca;if(!_0x4f0dc4[_0x7495('0x7a')]||!_0x4f0dc4[_0x7495('0x7b')]||!_0x4f0dc4[_0x7495('0x7c')]||!_0x4f0dc4[_0x7495('0x7d')]||!_0x4f0dc4['bucket']){throw new db[(_0x7495('0x53'))]['ValidationError'](_0x7495('0x7e'));}if(_0x5910cd[_0x7495('0x49')][_0x7495('0x7f')]&&(!_0x4f0dc4[_0x7495('0x80')]||!_0x4f0dc4[_0x7495('0x81')]||!_0x4f0dc4[_0x7495('0x82')]||!_0x4f0dc4[_0x7495('0x7d')]||!_0x4f0dc4[_0x7495('0x70')])){throw new db[(_0x7495('0x53'))][(_0x7495('0x83'))](_0x7495('0x84'));}return db['CloudProvider'][_0x7495('0x77')]({'where':{'id':_0x4f0dc4['transcribeAccountId']}});}})[_0x7495('0x25')](function(_0x489a4c){if(!_0x489a4c){throw new db[(_0x7495('0x53'))]['ValidationError'](_0x7495('0x85'));}if(!_0x489a4c[_0x7495('0x86')]||!_0x489a4c['data2']){throw new db[(_0x7495('0x53'))]['ValidationError'](_0x7495('0x87'));}_0x1ddb69=_0x489a4c;return getBucketslist(_0x1ddb69[_0x7495('0x86')],_0x1ddb69[_0x7495('0x88')],_0x4f0dc4[_0x7495('0x7c')]);})[_0x7495('0x25')](function(_0x4cc685){if(_0x4cc685&&_0x4cc685[_0x7495('0x89')]){var _0x1fd9af=_[_0x7495('0x48')](_0x4cc685[_0x7495('0x89')],function(_0xd3792f){return _0xd3792f[_0x7495('0x8a')]===_0x4f0dc4[_0x7495('0x70')];});if(!_0x1fd9af){logger[_0x7495('0x67')](util[_0x7495('0x30')](_0x7495('0x8b'),_0x5910cd[_0x7495('0x45')]['id'],_0x4f0dc4[_0x7495('0x70')]));return createBucket(_0x1ddb69[_0x7495('0x86')],_0x1ddb69[_0x7495('0x88')],_0x4f0dc4[_0x7495('0x7c')],_0x4f0dc4[_0x7495('0x70')]);}logger[_0x7495('0x67')](util[_0x7495('0x30')](_0x7495('0x8c'),_0x5910cd[_0x7495('0x45')]['id'],_0x4f0dc4[_0x7495('0x70')]));return;}})[_0x7495('0x25')](function(_0x4ee4b0){if(_0x18f757[_0x7495('0x75')]===_0x7495('0x8d')){return transcribe(_0x5910cd[_0x7495('0x45')]['id'],_0x1ddb69[_0x7495('0x86')],_0x1ddb69[_0x7495('0x88')],_0x4f0dc4[_0x7495('0x7c')],_0x4f0dc4['bucket'],_0x18f757[_0x7495('0x4e')],_0x4f0dc4[_0x7495('0x7d')]);}else{logger[_0x7495('0x67')](util[_0x7495('0x30')](_0x7495('0x8e'),_0x5910cd[_0x7495('0x45')]['id']));return{'transcribeStatus':_0x7495('0x8f')};}})[_0x7495('0x25')](function(_0x111113){if(_0x111113){_0x111113[_0x7495('0x90')]=_0x5910cd['body'][_0x7495('0x7f')];return _0x18f757[_0x7495('0x91')](_0x111113);}})[_0x7495('0x25')](respondWithResult(_0x1e4e58,null))[_0x7495('0x44')](handleError(_0x1e4e58,null));};function writeFile(_0x3910e8,_0xbf4682){return new Promise(function(_0x73d37d,_0x305248){fs[_0x7495('0x92')](_0xbf4682,_0x3910e8,function(_0x53404f,_0x4b8f82){if(_0x53404f){return _0x305248(_0x53404f);}else{return _0x73d37d(_0x4b8f82);}});});}exports[_0x7495('0x93')]=function(_0x111d7b,_0xc62728,_0xccbe8b){return db[_0x7495('0x3f')][_0x7495('0x77')]({'where':{'id':_0x111d7b['params']['id']}})[_0x7495('0x25')](handleEntityNotFound(_0xc62728))[_0x7495('0x25')](function(_0x1a794c){if(_0x1a794c&&_0x1a794c[_0x7495('0x94')]){var _0x55ee19=_0x1a794c[_0x7495('0x94')];var _0x21d44b=config[_0x7495('0x95')]+_0x7495('0x96')+_0x1a794c['id']+_0x7495('0x97');if(fs[_0x7495('0x50')](_0x21d44b)){return _0x21d44b;}return writeFile(_0x55ee19,_0x21d44b)[_0x7495('0x25')](function(){return _0x21d44b;});}else{throw new db[(_0x7495('0x53'))]['ValidationError'](_0x7495('0x98'));}})[_0x7495('0x25')](function(_0x534a8e){return _0xc62728['download'](_0x534a8e);})['catch'](handleError(_0xc62728));};