Built motion from commit 3c2ce842.|2.6.31
[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 _0x8c12=['aws-sdk','uuid/v4','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/license/util','sendStatus','status','end','json','limit','undefined','count','offset','Content-Range','apply','reject','save','update','then','destroy','stack','map','VoiceRecording','rawAttributes','type','model','differenceBy','name','format','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','order','sort','where','pick','filter','VIRTUAL','options','includeAll','include','findAll','rows','catch','show','params','merge','create','body','find','describe','download','uniqueid','value','existsSync','secrets','recording','ValidationError','filename','extname','unlink','VoiceRecording\x20not\x20found','send','Not\x20found','downloads','../../components/encryptor','sequelize','MD5','token','$and','push','%s.cypher','decryptFile','info','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','isNil','File:\x20\x22','listBuckets','createBucket','upload','startTranscriptionJob','[RUNTRANSCRIPT][%d]\x20Starting\x20voice\x20recording\x20upload\x20in\x20bucket\x20%s','readFileSync','[RUNTRANSCRIPT][%d]\x20Voice\x20recording\x20uploaded\x20in\x20bucket\x20%s\x20(%s)','Location','bucket','location','[RUNTRANSCRIPT][%d]\x20Sending\x20transcribe\x20request','[RUNTRANSCRIPT][%d]\x20Transcription\x20job\x20%s\x20created','TranscriptionJob','TranscriptionJobName','transcribeName','TranscriptionJobStatus','Sequelize','Voice\x20Recording\x20not\x20found','Setting','transcribeAccountId','runSentiment','sentiment','sentimentAccountId','sentimentRegion','language','Sentiment\x20Analysis\x20not\x20configured','CloudProvider','findOne','Cloud\x20Provider\x20not\x20available','data1','data2','Cloud\x20Provider\x20not\x20configured','transcribeRegion','Buckets','[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20not\x20available','[RUNTRANSCRIPT][%d]\x20Transcript\x20action\x20already\x20requested','tempSentiment','updateAttributes','writeFile','fileText','/server/files/transcribes/transcribe_','.txt','Transcript\x20not\x20available','rimraf','request-promise','moment','mustache','path','sox','to-csv','squel','crypto','jsforce','desk.js','querystring','papaparse'];(function(_0x35b07e,_0x4c5a33){var _0xcb745e=function(_0x30468b){while(--_0x30468b){_0x35b07e['push'](_0x35b07e['shift']());}};_0xcb745e(++_0x4c5a33);}(_0x8c12,0x82));var _0x28c1=function(_0x5a33ee,_0x126a2b){_0x5a33ee=_0x5a33ee-0x0;var _0xe51e3a=_0x8c12[_0x5a33ee];return _0xe51e3a;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x28c1('0x0'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0x28c1('0x1'));var moment=require(_0x28c1('0x2'));var BPromise=require('bluebird');var Mustache=require(_0x28c1('0x3'));var util=require('util');var path=require(_0x28c1('0x4'));var sox=require(_0x28c1('0x5'));var csv=require(_0x28c1('0x6'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0x28c1('0x7'));var crypto=require(_0x28c1('0x8'));var jsforce=require(_0x28c1('0x9'));var deskjs=require(_0x28c1('0xa'));var toCsv=require(_0x28c1('0x6'));var querystring=require(_0x28c1('0xb'));var Papa=require(_0x28c1('0xc'));var AWS=require(_0x28c1('0xd'));var uuidv4=require(_0x28c1('0xe'));var Redis=require(_0x28c1('0xf'));var authService=require(_0x28c1('0x10'));var qs=require(_0x28c1('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x28c1('0x12'));var logger=require(_0x28c1('0x13'))('api');var utils=require(_0x28c1('0x14'));var config=require('../../config/environment');var licenseUtil=require(_0x28c1('0x15'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x82747,_0x2b3368){_0x2b3368=_0x2b3368||0xcc;return function(_0x45fdd2){if(_0x45fdd2){return _0x82747[_0x28c1('0x16')](_0x2b3368);}return _0x82747[_0x28c1('0x17')](_0x2b3368)[_0x28c1('0x18')]();};}function respondWithResult(_0x464f24,_0x184252){_0x184252=_0x184252||0xc8;return function(_0x3654fe){if(_0x3654fe){return _0x464f24[_0x28c1('0x17')](_0x184252)[_0x28c1('0x19')](_0x3654fe);}};}function respondWithFilteredResult(_0x5db1fc,_0x39b345){return function(_0x4b20c2){if(_0x4b20c2){var _0x3f6b01=typeof _0x39b345['offset']==='undefined'&&typeof _0x39b345[_0x28c1('0x1a')]===_0x28c1('0x1b');var _0xfb9a75=_0x4b20c2[_0x28c1('0x1c')];var _0xe0e763=_0x3f6b01?0x0:_0x39b345[_0x28c1('0x1d')];var _0x57e770=_0x3f6b01?_0x4b20c2[_0x28c1('0x1c')]:_0x39b345[_0x28c1('0x1d')]+_0x39b345['limit'];var _0x22a62f;if(_0x57e770>=_0xfb9a75){_0x57e770=_0xfb9a75;_0x22a62f=0xc8;}else{_0x22a62f=0xce;}_0x5db1fc[_0x28c1('0x17')](_0x22a62f);return _0x5db1fc['set'](_0x28c1('0x1e'),_0xe0e763+'-'+_0x57e770+'/'+_0xfb9a75)[_0x28c1('0x19')](_0x4b20c2);}return null;};}function patchUpdates(_0x18973a){return function(_0x32cd5b){try{jsonpatch[_0x28c1('0x1f')](_0x32cd5b,_0x18973a,!![]);}catch(_0x313d15){return BPromise[_0x28c1('0x20')](_0x313d15);}return _0x32cd5b[_0x28c1('0x21')]();};}function saveUpdates(_0x2f2532,_0x9381a6){return function(_0xdb7d5b){if(_0xdb7d5b){return _0xdb7d5b[_0x28c1('0x22')](_0x2f2532)[_0x28c1('0x23')](function(_0x61bb81){return _0x61bb81;});}return null;};}function removeEntity(_0x420ceb,_0x1e5772){return function(_0x3935ec){if(_0x3935ec){return _0x3935ec[_0x28c1('0x24')]()[_0x28c1('0x23')](function(){_0x420ceb[_0x28c1('0x17')](0xcc)[_0x28c1('0x18')]();});}};}function handleEntityNotFound(_0x318de6,_0x4b0560){return function(_0x576ee3){if(!_0x576ee3){_0x318de6['sendStatus'](0x194);}return _0x576ee3;};}function handleError(_0x4bb3b3,_0x214044){_0x214044=_0x214044||0x1f4;return function(_0x259e86){logger['error'](_0x259e86[_0x28c1('0x25')]);if(_0x259e86['name']){delete _0x259e86['name'];}_0x4bb3b3[_0x28c1('0x17')](_0x214044)['send'](_0x259e86);};}exports['index']=function(_0x27e707,_0x6b3fdd){var _0x1553fd={},_0x1dec3b={},_0x15ca82={'count':0x0,'rows':[]};var _0x2c3fc5=_[_0x28c1('0x26')](db[_0x28c1('0x27')][_0x28c1('0x28')],function(_0x5834ed){return{'name':_0x5834ed['fieldName'],'type':_0x5834ed[_0x28c1('0x29')]['key']};});_0x1dec3b[_0x28c1('0x2a')]=_[_0x28c1('0x2b')](_[_0x28c1('0x26')](_0x2c3fc5,_0x28c1('0x2c')),[_0x28c1('0x2d')]);_0x1dec3b[_0x28c1('0x2e')]=_[_0x28c1('0x2f')](_0x27e707[_0x28c1('0x2e')]);_0x1dec3b[_0x28c1('0x30')]=_[_0x28c1('0x31')](_0x1dec3b[_0x28c1('0x2a')],_0x1dec3b[_0x28c1('0x2e')]);_0x1553fd[_0x28c1('0x32')]=_['intersection'](_0x1dec3b[_0x28c1('0x2a')],qs[_0x28c1('0x33')](_0x27e707['query'][_0x28c1('0x33')]));_0x1553fd[_0x28c1('0x32')]=_0x1553fd[_0x28c1('0x32')][_0x28c1('0x34')]?_0x1553fd['attributes']:_0x1dec3b[_0x28c1('0x2a')];if(!_0x27e707['query'][_0x28c1('0x35')]('nolimit')){_0x1553fd[_0x28c1('0x1a')]=qs[_0x28c1('0x1a')](_0x27e707[_0x28c1('0x2e')][_0x28c1('0x1a')]);_0x1553fd[_0x28c1('0x1d')]=qs[_0x28c1('0x1d')](_0x27e707[_0x28c1('0x2e')]['offset']);}_0x1553fd[_0x28c1('0x36')]=qs[_0x28c1('0x37')](_0x27e707[_0x28c1('0x2e')][_0x28c1('0x37')]);_0x1553fd[_0x28c1('0x38')]=qs[_0x28c1('0x30')](_[_0x28c1('0x39')](_0x27e707['query'],_0x1dec3b[_0x28c1('0x30')]),_0x2c3fc5);if(_0x27e707[_0x28c1('0x2e')][_0x28c1('0x3a')]){_0x1553fd[_0x28c1('0x38')]=_['merge'](_0x1553fd['where'],{'$or':_['map'](_0x2c3fc5,function(_0x58b523){if(_0x58b523[_0x28c1('0x29')]!==_0x28c1('0x3b')){var _0x2d87c8={};_0x2d87c8[_0x58b523[_0x28c1('0x2c')]]={'$like':'%'+_0x27e707[_0x28c1('0x2e')][_0x28c1('0x3a')]+'%'};return _0x2d87c8;}})});}_0x1553fd=_['merge']({},_0x1553fd,_0x27e707[_0x28c1('0x3c')]);var _0x498c5d={'where':_0x1553fd[_0x28c1('0x38')]};return db[_0x28c1('0x27')][_0x28c1('0x1c')](_0x498c5d)[_0x28c1('0x23')](function(_0x2e0b96){_0x15ca82[_0x28c1('0x1c')]=_0x2e0b96;if(_0x27e707['query'][_0x28c1('0x3d')]){_0x1553fd[_0x28c1('0x3e')]=[{'all':!![]}];}return db[_0x28c1('0x27')][_0x28c1('0x3f')](_0x1553fd);})[_0x28c1('0x23')](function(_0x552d82){_0x15ca82[_0x28c1('0x40')]=_0x552d82;return _0x15ca82;})[_0x28c1('0x23')](respondWithFilteredResult(_0x6b3fdd,_0x1553fd))[_0x28c1('0x41')](handleError(_0x6b3fdd,null));};exports[_0x28c1('0x42')]=function(_0xc8cb1e,_0x3f345f){var _0x563762={'raw':![],'where':{'id':_0xc8cb1e[_0x28c1('0x43')]['id']}},_0x57a862={};_0x57a862[_0x28c1('0x2a')]=_[_0x28c1('0x2f')](db['VoiceRecording'][_0x28c1('0x28')]);_0x57a862[_0x28c1('0x2e')]=_[_0x28c1('0x2f')](_0xc8cb1e[_0x28c1('0x2e')]);_0x57a862[_0x28c1('0x30')]=_['intersection'](_0x57a862[_0x28c1('0x2a')],_0x57a862[_0x28c1('0x2e')]);_0x563762['attributes']=_[_0x28c1('0x31')](_0x57a862['model'],qs[_0x28c1('0x33')](_0xc8cb1e[_0x28c1('0x2e')][_0x28c1('0x33')]));_0x563762['attributes']=_0x563762[_0x28c1('0x32')][_0x28c1('0x34')]?_0x563762[_0x28c1('0x32')]:_0x57a862[_0x28c1('0x2a')];if(_0xc8cb1e[_0x28c1('0x2e')]['includeAll']){_0x563762[_0x28c1('0x3e')]=[{'all':!![]}];}_0x563762=_[_0x28c1('0x44')]({},_0x563762,_0xc8cb1e[_0x28c1('0x3c')]);return db['VoiceRecording']['find'](_0x563762)['then'](handleEntityNotFound(_0x3f345f,null))[_0x28c1('0x23')](respondWithResult(_0x3f345f,null))[_0x28c1('0x41')](handleError(_0x3f345f,null));};exports[_0x28c1('0x45')]=function(_0x4cd610,_0xfd1602){return db[_0x28c1('0x27')][_0x28c1('0x45')](_0x4cd610[_0x28c1('0x46')],{})[_0x28c1('0x23')](respondWithResult(_0xfd1602,0xc9))[_0x28c1('0x41')](handleError(_0xfd1602,null));};exports['update']=function(_0x1c94e0,_0x3a7f69){if(_0x1c94e0[_0x28c1('0x46')]['id']){delete _0x1c94e0[_0x28c1('0x46')]['id'];}return db[_0x28c1('0x27')][_0x28c1('0x47')]({'where':{'id':_0x1c94e0[_0x28c1('0x43')]['id']}})[_0x28c1('0x23')](handleEntityNotFound(_0x3a7f69,null))[_0x28c1('0x23')](saveUpdates(_0x1c94e0['body'],null))[_0x28c1('0x23')](respondWithResult(_0x3a7f69,null))[_0x28c1('0x41')](handleError(_0x3a7f69,null));};exports[_0x28c1('0x48')]=function(_0x5b1b94,_0x5a52e5){return db['VoiceRecording']['describe']()[_0x28c1('0x23')](respondWithResult(_0x5a52e5,null))['catch'](handleError(_0x5a52e5,null));};exports[_0x28c1('0x49')]=function(_0x52373b,_0x5d6408,_0x439c1b){var _0x5d659b=require('../../components/encryptor');var _0x5c256f=![];var _0x140ce2={};if(_0x52373b['query'][_0x28c1('0x29')]&&_0x52373b['query'][_0x28c1('0x29')]===_0x28c1('0x4a')){_0x140ce2[_0x28c1('0x4a')]=_0x52373b['params']['id'];}else{_0x140ce2['id']=_0x52373b['params']['id'];}return db[_0x28c1('0x27')][_0x28c1('0x47')]({'where':_0x140ce2,'attributes':['id',_0x28c1('0x4b')],'raw':!![]})[_0x28c1('0x23')](handleEntityNotFound(_0x5d6408,null))[_0x28c1('0x23')](function(_0x49456a){if(_0x49456a){var _0x3a3db2=_0x49456a[_0x28c1('0x4b')];var _0x529fcd=util[_0x28c1('0x2d')]('%s.cypher',_0x3a3db2);if(fs[_0x28c1('0x4c')](_0x529fcd)){_0x5c256f=!![];return _0x5d659b['decryptFile'](_0x529fcd,_0x3a3db2,config[_0x28c1('0x4d')][_0x28c1('0x4e')])['then'](function(){return _0x49456a;});}return _0x49456a;}})[_0x28c1('0x23')](function(_0x45133f){if(_0x45133f){var _0x503338=_0x45133f[_0x28c1('0x4b')];if(!fs['existsSync'](_0x503338)){throw new db['Sequelize'][(_0x28c1('0x4f'))]('VoiceRecording\x20not\x20found');}if(_0x45133f[_0x28c1('0x50')]){return _0x5d6408[_0x28c1('0x49')](_0x503338,_0x45133f[_0x28c1('0x50')]+path[_0x28c1('0x51')](_0x503338),function(){if(_0x5c256f){fs[_0x28c1('0x52')](_0x503338);}});}else{return _0x5d6408['download'](_0x503338,function(_0x547d27){if(_0x5c256f){fs[_0x28c1('0x52')](_0x503338);}});}}})[_0x28c1('0x41')](function(_0x451e37){if(_0x451e37['message']===_0x28c1('0x53')){_0x5d6408[_0x28c1('0x17')](0x194)[_0x28c1('0x54')](_0x28c1('0x55'));}else{return handleError(_0x5d6408,null);}});};exports[_0x28c1('0x56')]=function(_0x34f684,_0x527175,_0x4bb513){var _0x3e241b=require(_0x28c1('0x57'));var _0x12663=![];var _0x2e927a={'$and':[db['sequelize'][_0x28c1('0x38')](db[_0x28c1('0x58')]['fn'](_0x28c1('0x59'),db[_0x28c1('0x58')]['col'](_0x28c1('0x4a'))),_0x34f684[_0x28c1('0x2e')][_0x28c1('0x5a')])]};if(_0x34f684[_0x28c1('0x2e')][_0x28c1('0x29')]&&_0x34f684['query'][_0x28c1('0x29')]===_0x28c1('0x4a')){_0x2e927a[_0x28c1('0x5b')][_0x28c1('0x5c')]({'uniqueid':_0x34f684[_0x28c1('0x43')]['id']});}else{_0x2e927a[_0x28c1('0x5b')][_0x28c1('0x5c')]({'id':_0x34f684[_0x28c1('0x43')]['id']});}return db[_0x28c1('0x27')][_0x28c1('0x47')]({'where':_0x2e927a,'attributes':['id',_0x28c1('0x4b')],'raw':!![]})[_0x28c1('0x23')](handleEntityNotFound(_0x527175,null))[_0x28c1('0x23')](function(_0x5cd14f){if(_0x5cd14f){var _0x5b0dfa=util['format'](_0x28c1('0x5d'),_0x5cd14f[_0x28c1('0x4b')]);if(fs[_0x28c1('0x4c')](_0x5b0dfa)){_0x12663=!![];return _0x3e241b[_0x28c1('0x5e')](_0x5b0dfa,_0x5cd14f[_0x28c1('0x4b')],config['secrets'][_0x28c1('0x4e')])[_0x28c1('0x23')](function(){return _0x5cd14f;});}return _0x5cd14f;}})[_0x28c1('0x23')](function(_0x2cf1b3){if(_0x2cf1b3){if(!fs[_0x28c1('0x4c')](_0x2cf1b3[_0x28c1('0x4b')])){throw new db['Sequelize'][(_0x28c1('0x4f'))](_0x28c1('0x53'));}if(_0x2cf1b3[_0x28c1('0x50')]){return _0x527175[_0x28c1('0x49')](_0x2cf1b3[_0x28c1('0x4b')],_0x2cf1b3[_0x28c1('0x50')]+path[_0x28c1('0x51')](_0x2cf1b3['value']),function(){if(_0x12663){fs[_0x28c1('0x52')](_0x2cf1b3['value']);}});}else{return _0x527175[_0x28c1('0x49')](_0x2cf1b3[_0x28c1('0x4b')],function(_0x74d9b7){if(_0x12663){fs['unlink'](_0x2cf1b3['value']);}});}}})[_0x28c1('0x41')](handleError(_0x527175,null));};exports[_0x28c1('0x24')]=function(_0x4de485,_0x1e3f76){return db['VoiceRecording'][_0x28c1('0x47')]({'where':{'id':_0x4de485[_0x28c1('0x43')]['id']}})[_0x28c1('0x23')](function(_0x42bd19){if(_['isNil'](_0x42bd19)){throw new ReferenceError('Entity\x20not\x20found');}return _0x42bd19;})[_0x28c1('0x23')](function(_0x2fadfb){var _0x2ff051=_0x2fadfb[_0x28c1('0x4b')];logger[_0x28c1('0x5f')]('cancellazione\x20fisica\x20documento\x20%s',_0x2ff051);if(!_['isNil'](_0x2fadfb[_0x28c1('0x4b')])&&fs[_0x28c1('0x4c')](_0x2ff051)){logger['info']('File:\x20\x22'+_0x2ff051+_0x28c1('0x60'));fs[_0x28c1('0x61')](_0x2ff051);}_0x2ff051=_0x2ff051+'.cypher';if(!_[_0x28c1('0x62')](_0x2fadfb['value'])&&fs[_0x28c1('0x4c')](_0x2ff051)){logger['info'](_0x28c1('0x63')+_0x2ff051+_0x28c1('0x60'));fs[_0x28c1('0x61')](_0x2ff051);}return _0x2fadfb;})[_0x28c1('0x23')](function(_0x31f3fa){if(!_0x31f3fa)throw new InternalError();return _0x31f3fa[_0x28c1('0x24')]();})[_0x28c1('0x23')](function(){_0x1e3f76[_0x28c1('0x17')](0xcc)['end']();})[_0x28c1('0x41')](handleError(_0x1e3f76,null));};function getBucketslist(_0xd63d50,_0x1d9273,_0xf4d4b1){return new Promise(function(_0x1f0805,_0xbf390f){var _0x858ed7=new AWS['S3']({'accessKeyId':_0x1d9273,'secretAccessKey':_0xd63d50,'region':_0xf4d4b1});_0x858ed7[_0x28c1('0x64')]({},function(_0x59f84b,_0xfd809){if(_0x59f84b){return _0xbf390f(_0x59f84b);}else{return _0x1f0805(_0xfd809);}});});}function createBucket(_0x555c54,_0x1f83b5,_0x5cb00e,_0x5af07d){return new Promise(function(_0x25435d,_0x336610){var _0x2a9648=new AWS['S3']({'accessKeyId':_0x1f83b5,'secretAccessKey':_0x555c54,'region':_0x5cb00e});_0x2a9648[_0x28c1('0x65')]({'Bucket':_0x5af07d},function(_0x26d75c,_0x3a15ce){if(_0x26d75c){return _0x336610(_0x26d75c);}else{return _0x25435d(_0x3a15ce);}});});}function uploadFile(_0x1b8446,_0x19ea07,_0x3bba75,_0x589da7,_0xd352e8,_0x2030c9){return new Promise(function(_0x54932e,_0x267199){var _0x3cd705=new AWS['S3']({'accessKeyId':_0x19ea07,'secretAccessKey':_0x1b8446,'region':_0x3bba75});_0x3cd705[_0x28c1('0x66')]({'Bucket':_0x589da7,'Key':_0xd352e8,'Body':_0x2030c9},function(_0x2b122d,_0x27834b){if(_0x2b122d){return _0x267199(_0x2b122d);}else{return _0x54932e(_0x27834b);}});});}function startTranscribe(_0x5bbb52,_0x53af41,_0x2273de,_0x2032ad,_0x9825a,_0x27e6aa){return new Promise(function(_0x2d5666,_0x44778f){var _0x47c915=new AWS['TranscribeService']({'accessKeyId':_0x53af41,'secretAccessKey':_0x5bbb52,'region':_0x2273de});_0x47c915[_0x28c1('0x67')]({'TranscriptionJobName':_0x2032ad,'LanguageCode':_0x9825a,'Media':{'MediaFileUri':_0x27e6aa}},function(_0x4ab48d,_0x3bb0e0){if(_0x4ab48d){return _0x44778f(_0x4ab48d);}else{return _0x2d5666(_0x3bb0e0);}});});}function transcribe(_0x1f26b2,_0x247ae2,_0x53c0e1,_0x245c92,_0x43a2c0,_0x1fe62c,_0x3a715c){return new Promise(function(_0x20bf7e,_0x101d11){var _0x1c3a94={};logger[_0x28c1('0x5f')](util[_0x28c1('0x2d')](_0x28c1('0x68'),_0x1f26b2,_0x43a2c0));return uploadFile(_0x247ae2,_0x53c0e1,_0x245c92,_0x43a2c0,path['basename'](_0x1fe62c),fs[_0x28c1('0x69')](_0x1fe62c))[_0x28c1('0x23')](function(_0x449704){logger[_0x28c1('0x5f')](util[_0x28c1('0x2d')](_0x28c1('0x6a'),_0x1f26b2,_0x43a2c0,_0x449704[_0x28c1('0x6b')]));_0x1c3a94[_0x28c1('0x6c')]=_0x449704['Bucket'];_0x1c3a94[_0x28c1('0x6d')]=_0x449704[_0x28c1('0x6b')];logger[_0x28c1('0x5f')](util[_0x28c1('0x2d')](_0x28c1('0x6e'),_0x1f26b2));return startTranscribe(_0x247ae2,_0x53c0e1,_0x245c92,uuidv4(),_0x3a715c,_0x449704[_0x28c1('0x6b')]);})[_0x28c1('0x23')](function(_0x2cdf5c){logger[_0x28c1('0x5f')](util[_0x28c1('0x2d')](_0x28c1('0x6f'),_0x1f26b2,_0x2cdf5c[_0x28c1('0x70')][_0x28c1('0x71')]));_0x1c3a94[_0x28c1('0x72')]=_0x2cdf5c[_0x28c1('0x70')][_0x28c1('0x71')];_0x1c3a94['transcribeStatus']=_0x2cdf5c[_0x28c1('0x70')][_0x28c1('0x73')];return _0x20bf7e(_0x1c3a94);})['catch'](function(_0x428244){return _0x101d11(_0x428244);});});}exports['runTranscribe']=function(_0x6e58a9,_0x5549f9,_0x55ee4d){var _0x33ab67;var _0x2e7063;var _0x1b0b30;var _0x21afcf=require('../../components/encryptor');return db[_0x28c1('0x27')]['findOne']({'where':{'id':_0x6e58a9[_0x28c1('0x43')]['id']}})['then'](function(_0xed5a6d){if(_0xed5a6d){var _0x2fdf75=util[_0x28c1('0x2d')](_0x28c1('0x5d'),_0xed5a6d[_0x28c1('0x4b')]);if(fs[_0x28c1('0x4c')](_0x2fdf75)){cypher=!![];return _0x21afcf[_0x28c1('0x5e')](_0x2fdf75,_0xed5a6d['value'],config[_0x28c1('0x4d')][_0x28c1('0x4e')])[_0x28c1('0x23')](function(){return _0xed5a6d;});}return _0xed5a6d;}})[_0x28c1('0x23')](function(_0x9f3111){if(!_0x9f3111){throw new db[(_0x28c1('0x74'))][(_0x28c1('0x4f'))](_0x28c1('0x75'));}_0x2e7063=_0x9f3111;return db[_0x28c1('0x76')]['findOne']({'where':{'id':0x1}});})[_0x28c1('0x23')](handleEntityNotFound(_0x5549f9,null))[_0x28c1('0x23')](function(_0x573aa3){if(_0x573aa3){_0x33ab67=_0x573aa3;if(!_0x33ab67['transcribe']||!_0x33ab67[_0x28c1('0x77')]||!_0x33ab67['transcribeRegion']||!_0x33ab67['language']||!_0x33ab67[_0x28c1('0x6c')]){throw new db[(_0x28c1('0x74'))][(_0x28c1('0x4f'))]('Transcribe\x20not\x20configured');}if(_0x6e58a9['body'][_0x28c1('0x78')]&&(!_0x33ab67[_0x28c1('0x79')]||!_0x33ab67[_0x28c1('0x7a')]||!_0x33ab67[_0x28c1('0x7b')]||!_0x33ab67[_0x28c1('0x7c')]||!_0x33ab67[_0x28c1('0x6c')])){throw new db[(_0x28c1('0x74'))][(_0x28c1('0x4f'))](_0x28c1('0x7d'));}return db[_0x28c1('0x7e')][_0x28c1('0x7f')]({'where':{'id':_0x33ab67[_0x28c1('0x77')]}});}})['then'](function(_0x350df5){if(!_0x350df5){throw new db['Sequelize'][(_0x28c1('0x4f'))](_0x28c1('0x80'));}if(!_0x350df5[_0x28c1('0x81')]||!_0x350df5[_0x28c1('0x82')]){throw new db[(_0x28c1('0x74'))][(_0x28c1('0x4f'))](_0x28c1('0x83'));}_0x1b0b30=_0x350df5;return getBucketslist(_0x1b0b30[_0x28c1('0x81')],_0x1b0b30['data2'],_0x33ab67[_0x28c1('0x84')]);})['then'](function(_0x21585a){if(_0x21585a&&_0x21585a[_0x28c1('0x85')]){var _0x524f51=_[_0x28c1('0x47')](_0x21585a[_0x28c1('0x85')],function(_0x2dc4db){return _0x2dc4db['Name']===_0x33ab67['bucket'];});if(!_0x524f51){logger['info'](util['format'](_0x28c1('0x86'),_0x6e58a9[_0x28c1('0x43')]['id'],_0x33ab67[_0x28c1('0x6c')]));return createBucket(_0x1b0b30[_0x28c1('0x81')],_0x1b0b30[_0x28c1('0x82')],_0x33ab67[_0x28c1('0x84')],_0x33ab67[_0x28c1('0x6c')]);}logger[_0x28c1('0x5f')](util[_0x28c1('0x2d')]('[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20available',_0x6e58a9['params']['id'],_0x33ab67[_0x28c1('0x6c')]));return;}})[_0x28c1('0x23')](function(_0x403f50){if(_0x2e7063['transcribeStatus']==='NEW'){return transcribe(_0x6e58a9[_0x28c1('0x43')]['id'],_0x1b0b30[_0x28c1('0x81')],_0x1b0b30['data2'],_0x33ab67[_0x28c1('0x84')],_0x33ab67[_0x28c1('0x6c')],_0x2e7063['value'],_0x33ab67['language']);}else{logger[_0x28c1('0x5f')](util['format'](_0x28c1('0x87'),_0x6e58a9[_0x28c1('0x43')]['id']));return{'transcribeStatus':'IN_PROGRESS'};}})[_0x28c1('0x23')](function(_0x3dd6a0){if(_0x3dd6a0){_0x3dd6a0[_0x28c1('0x88')]=_0x6e58a9[_0x28c1('0x46')][_0x28c1('0x78')];return _0x2e7063[_0x28c1('0x89')](_0x3dd6a0);}})[_0x28c1('0x23')](respondWithResult(_0x5549f9,null))[_0x28c1('0x41')](handleError(_0x5549f9,null));};function writeFile(_0x4508a1,_0x76efc){return new Promise(function(_0x53ce83,_0x3a2b5c){fs[_0x28c1('0x8a')](_0x76efc,_0x4508a1,function(_0xbfaecf,_0x5d8121){if(_0xbfaecf){return _0x3a2b5c(_0xbfaecf);}else{return _0x53ce83(_0x5d8121);}});});}exports['downloadTranscribe']=function(_0xcc8f97,_0x351b4e,_0x1307fc){return db[_0x28c1('0x27')][_0x28c1('0x7f')]({'where':{'id':_0xcc8f97[_0x28c1('0x43')]['id']}})[_0x28c1('0x23')](handleEntityNotFound(_0x351b4e))['then'](function(_0xddb39e){if(_0xddb39e&&_0xddb39e[_0x28c1('0x8b')]){var _0x568045=_0xddb39e[_0x28c1('0x8b')];var _0x2a5c1c=config['root']+_0x28c1('0x8c')+_0xddb39e['id']+_0x28c1('0x8d');if(fs[_0x28c1('0x4c')](_0x2a5c1c)){return _0x2a5c1c;}return writeFile(_0x568045,_0x2a5c1c)[_0x28c1('0x23')](function(){return _0x2a5c1c;});}else{throw new db[(_0x28c1('0x74'))][(_0x28c1('0x4f'))](_0x28c1('0x8e'));}})['then'](function(_0x89ec54){return _0x351b4e['download'](_0x89ec54);})[_0x28c1('0x41')](handleError(_0x351b4e));};