Built motion from commit 3e059bc2.|2.5.32
[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 _0x0444=['TranscriptionJobName','transcribeStatus','TranscriptionJobStatus','runTranscribe','recording','Voice\x20Recording\x20not\x20found','Setting','findOne','transcribe','transcribeAccountId','language','bucket','Transcribe\x20not\x20configured','runSentiment','sentiment','sentimentAccountId','sentimentRegion','Sentiment\x20Analysis\x20not\x20configured','Cloud\x20Provider\x20not\x20available','data1','data2','Cloud\x20Provider\x20not\x20configured','transcribeRegion','Buckets','Name','[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20not\x20available','[RUNTRANSCRIPT][%d]\x20Transcript\x20action\x20already\x20requested','tempSentiment','updateAttributes','writeFile','fileText','/server/files/transcribes/transcribe_','Transcript\x20not\x20available','eml-format','rimraf','zip-dir','fast-json-patch','moment','mustache','util','path','sox','fs-extra','lodash','jsforce','desk.js','to-csv','papaparse','uuid/v4','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','json','offset','undefined','count','limit','set','Content-Range','apply','save','then','destroy','end','error','stack','name','send','index','map','VoiceRecording','rawAttributes','fieldName','model','differenceBy','format','query','keys','filters','intersection','attributes','fields','length','nolimit','order','sort','where','pick','filter','merge','type','VIRTUAL','include','findAll','rows','catch','show','params','includeAll','options','find','create','body','describe','download','../../components/encryptor','uniqueid','%s.cypher','existsSync','decryptFile','secrets','ValidationError','VoiceRecording\x20not\x20found','filename','unlink','message','Not\x20found','sequelize','col','token','push','$and','value','Sequelize','extname','isNil','Entity\x20not\x20found','info','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','.cypher','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)','Location','location','[RUNTRANSCRIPT][%d]\x20Sending\x20transcribe\x20request','transcribeName','TranscriptionJob'];(function(_0x4d21ff,_0x19d202){var _0x22b554=function(_0x4473c5){while(--_0x4473c5){_0x4d21ff['push'](_0x4d21ff['shift']());}};_0x22b554(++_0x19d202);}(_0x0444,0x1ec));var _0x4044=function(_0x1a8b2a,_0x238319){_0x1a8b2a=_0x1a8b2a-0x0;var _0x20c657=_0x0444[_0x1a8b2a];return _0x20c657;};'use strict';var emlformat=require(_0x4044('0x0'));var rimraf=require(_0x4044('0x1'));var zipdir=require(_0x4044('0x2'));var jsonpatch=require(_0x4044('0x3'));var rp=require('request-promise');var moment=require(_0x4044('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x4044('0x5'));var util=require(_0x4044('0x6'));var path=require(_0x4044('0x7'));var sox=require(_0x4044('0x8'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x4044('0x9'));var _=require(_0x4044('0xa'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x4044('0xb'));var deskjs=require(_0x4044('0xc'));var toCsv=require(_0x4044('0xd'));var querystring=require('querystring');var Papa=require(_0x4044('0xe'));var AWS=require('aws-sdk');var uuidv4=require(_0x4044('0xf'));var Redis=require(_0x4044('0x10'));var authService=require('../../components/auth/service');var qs=require(_0x4044('0x11'));var as=require(_0x4044('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x4044('0x13'))(_0x4044('0x14'));var utils=require('../../config/utils');var config=require(_0x4044('0x15'));var licenseUtil=require(_0x4044('0x16'));var db=require(_0x4044('0x17'))['db'];function respondWithStatusCode(_0xd34e33,_0x317d04){_0x317d04=_0x317d04||0xcc;return function(_0xac1017){if(_0xac1017){return _0xd34e33[_0x4044('0x18')](_0x317d04);}return _0xd34e33[_0x4044('0x19')](_0x317d04)['end']();};}function respondWithResult(_0x1dd6bd,_0x5870a3){_0x5870a3=_0x5870a3||0xc8;return function(_0x4d5a5f){if(_0x4d5a5f){return _0x1dd6bd[_0x4044('0x19')](_0x5870a3)[_0x4044('0x1a')](_0x4d5a5f);}};}function respondWithFilteredResult(_0x4cc6b7,_0x350ea3){return function(_0x23ea80){if(_0x23ea80){var _0x2c045e=typeof _0x350ea3[_0x4044('0x1b')]===_0x4044('0x1c')&&typeof _0x350ea3['limit']==='undefined';var _0x4400f6=_0x23ea80[_0x4044('0x1d')];var _0xc14c5d=_0x2c045e?0x0:_0x350ea3[_0x4044('0x1b')];var _0x4a8163=_0x2c045e?_0x23ea80[_0x4044('0x1d')]:_0x350ea3[_0x4044('0x1b')]+_0x350ea3[_0x4044('0x1e')];var _0x5f0184;if(_0x4a8163>=_0x4400f6){_0x4a8163=_0x4400f6;_0x5f0184=0xc8;}else{_0x5f0184=0xce;}_0x4cc6b7['status'](_0x5f0184);return _0x4cc6b7[_0x4044('0x1f')](_0x4044('0x20'),_0xc14c5d+'-'+_0x4a8163+'/'+_0x4400f6)['json'](_0x23ea80);}return null;};}function patchUpdates(_0x26df65){return function(_0x8001c){try{jsonpatch[_0x4044('0x21')](_0x8001c,_0x26df65,!![]);}catch(_0x2855a0){return BPromise['reject'](_0x2855a0);}return _0x8001c[_0x4044('0x22')]();};}function saveUpdates(_0x7bbc6,_0x5a530d){return function(_0x348874){if(_0x348874){return _0x348874['update'](_0x7bbc6)[_0x4044('0x23')](function(_0x146cd9){return _0x146cd9;});}return null;};}function removeEntity(_0x23033a,_0x17cc85){return function(_0x44b0bd){if(_0x44b0bd){return _0x44b0bd[_0x4044('0x24')]()[_0x4044('0x23')](function(){_0x23033a[_0x4044('0x19')](0xcc)[_0x4044('0x25')]();});}};}function handleEntityNotFound(_0x45ba7b,_0x35b283){return function(_0x2ba5cb){if(!_0x2ba5cb){_0x45ba7b['sendStatus'](0x194);}return _0x2ba5cb;};}function handleError(_0x3c27ad,_0x32fc89){_0x32fc89=_0x32fc89||0x1f4;return function(_0x2d8383){logger[_0x4044('0x26')](_0x2d8383[_0x4044('0x27')]);if(_0x2d8383[_0x4044('0x28')]){delete _0x2d8383[_0x4044('0x28')];}_0x3c27ad[_0x4044('0x19')](_0x32fc89)[_0x4044('0x29')](_0x2d8383);};}exports[_0x4044('0x2a')]=function(_0x5084fd,_0x37a67e){var _0x589d14={},_0x115f8d={},_0x53f915={'count':0x0,'rows':[]};var _0x125a64=_[_0x4044('0x2b')](db[_0x4044('0x2c')][_0x4044('0x2d')],function(_0x334e82){return{'name':_0x334e82[_0x4044('0x2e')],'type':_0x334e82['type']['key']};});_0x115f8d[_0x4044('0x2f')]=_[_0x4044('0x30')](_[_0x4044('0x2b')](_0x125a64,_0x4044('0x28')),[_0x4044('0x31')]);_0x115f8d[_0x4044('0x32')]=_[_0x4044('0x33')](_0x5084fd['query']);_0x115f8d[_0x4044('0x34')]=_[_0x4044('0x35')](_0x115f8d['model'],_0x115f8d[_0x4044('0x32')]);_0x589d14[_0x4044('0x36')]=_[_0x4044('0x35')](_0x115f8d['model'],qs['fields'](_0x5084fd[_0x4044('0x32')][_0x4044('0x37')]));_0x589d14[_0x4044('0x36')]=_0x589d14[_0x4044('0x36')][_0x4044('0x38')]?_0x589d14[_0x4044('0x36')]:_0x115f8d['model'];if(!_0x5084fd[_0x4044('0x32')]['hasOwnProperty'](_0x4044('0x39'))){_0x589d14['limit']=qs[_0x4044('0x1e')](_0x5084fd[_0x4044('0x32')][_0x4044('0x1e')]);_0x589d14['offset']=qs[_0x4044('0x1b')](_0x5084fd['query']['offset']);}_0x589d14[_0x4044('0x3a')]=qs[_0x4044('0x3b')](_0x5084fd[_0x4044('0x32')][_0x4044('0x3b')]);_0x589d14[_0x4044('0x3c')]=qs[_0x4044('0x34')](_[_0x4044('0x3d')](_0x5084fd['query'],_0x115f8d['filters']),_0x125a64);if(_0x5084fd[_0x4044('0x32')][_0x4044('0x3e')]){_0x589d14[_0x4044('0x3c')]=_[_0x4044('0x3f')](_0x589d14[_0x4044('0x3c')],{'$or':_[_0x4044('0x2b')](_0x125a64,function(_0x149c59){if(_0x149c59[_0x4044('0x40')]!==_0x4044('0x41')){var _0x262e01={};_0x262e01[_0x149c59[_0x4044('0x28')]]={'$like':'%'+_0x5084fd[_0x4044('0x32')][_0x4044('0x3e')]+'%'};return _0x262e01;}})});}_0x589d14=_[_0x4044('0x3f')]({},_0x589d14,_0x5084fd['options']);var _0x1f0288={'where':_0x589d14[_0x4044('0x3c')]};return db[_0x4044('0x2c')][_0x4044('0x1d')](_0x1f0288)[_0x4044('0x23')](function(_0x5d747c){_0x53f915[_0x4044('0x1d')]=_0x5d747c;if(_0x5084fd[_0x4044('0x32')]['includeAll']){_0x589d14[_0x4044('0x42')]=[{'all':!![]}];}return db[_0x4044('0x2c')][_0x4044('0x43')](_0x589d14);})['then'](function(_0x408cd3){_0x53f915[_0x4044('0x44')]=_0x408cd3;return _0x53f915;})[_0x4044('0x23')](respondWithFilteredResult(_0x37a67e,_0x589d14))[_0x4044('0x45')](handleError(_0x37a67e,null));};exports[_0x4044('0x46')]=function(_0x1a97b3,_0x4062b2){var _0x51bf1f={'raw':![],'where':{'id':_0x1a97b3[_0x4044('0x47')]['id']}},_0x5b8f35={};_0x5b8f35[_0x4044('0x2f')]=_[_0x4044('0x33')](db['VoiceRecording'][_0x4044('0x2d')]);_0x5b8f35[_0x4044('0x32')]=_[_0x4044('0x33')](_0x1a97b3['query']);_0x5b8f35[_0x4044('0x34')]=_['intersection'](_0x5b8f35[_0x4044('0x2f')],_0x5b8f35[_0x4044('0x32')]);_0x51bf1f[_0x4044('0x36')]=_[_0x4044('0x35')](_0x5b8f35[_0x4044('0x2f')],qs[_0x4044('0x37')](_0x1a97b3[_0x4044('0x32')][_0x4044('0x37')]));_0x51bf1f['attributes']=_0x51bf1f[_0x4044('0x36')][_0x4044('0x38')]?_0x51bf1f[_0x4044('0x36')]:_0x5b8f35['model'];if(_0x1a97b3[_0x4044('0x32')][_0x4044('0x48')]){_0x51bf1f[_0x4044('0x42')]=[{'all':!![]}];}_0x51bf1f=_['merge']({},_0x51bf1f,_0x1a97b3[_0x4044('0x49')]);return db['VoiceRecording'][_0x4044('0x4a')](_0x51bf1f)[_0x4044('0x23')](handleEntityNotFound(_0x4062b2,null))[_0x4044('0x23')](respondWithResult(_0x4062b2,null))[_0x4044('0x45')](handleError(_0x4062b2,null));};exports[_0x4044('0x4b')]=function(_0x1cea02,_0x3d96e2){return db[_0x4044('0x2c')][_0x4044('0x4b')](_0x1cea02['body'],{})[_0x4044('0x23')](respondWithResult(_0x3d96e2,0xc9))[_0x4044('0x45')](handleError(_0x3d96e2,null));};exports['update']=function(_0x5d0f18,_0x3c0c42){if(_0x5d0f18[_0x4044('0x4c')]['id']){delete _0x5d0f18[_0x4044('0x4c')]['id'];}return db[_0x4044('0x2c')]['find']({'where':{'id':_0x5d0f18[_0x4044('0x47')]['id']}})[_0x4044('0x23')](handleEntityNotFound(_0x3c0c42,null))['then'](saveUpdates(_0x5d0f18[_0x4044('0x4c')],null))[_0x4044('0x23')](respondWithResult(_0x3c0c42,null))[_0x4044('0x45')](handleError(_0x3c0c42,null));};exports[_0x4044('0x4d')]=function(_0x5b4033,_0x465a24){return db[_0x4044('0x2c')]['describe']()['then'](respondWithResult(_0x465a24,null))[_0x4044('0x45')](handleError(_0x465a24,null));};exports[_0x4044('0x4e')]=function(_0x400d17,_0x2510ba,_0x2f5537){var _0x5752fe=require(_0x4044('0x4f'));var _0x353bea=![];var _0x5a91f2={};if(_0x400d17['query']['type']&&_0x400d17[_0x4044('0x32')]['type']===_0x4044('0x50')){_0x5a91f2[_0x4044('0x50')]=_0x400d17[_0x4044('0x47')]['id'];}else{_0x5a91f2['id']=_0x400d17[_0x4044('0x47')]['id'];}return db[_0x4044('0x2c')][_0x4044('0x4a')]({'where':_0x5a91f2,'attributes':['id','value'],'raw':!![]})[_0x4044('0x23')](handleEntityNotFound(_0x2510ba,null))[_0x4044('0x23')](function(_0x1e909c){if(_0x1e909c){var _0x254238=_0x1e909c['value'];var _0x535bb0=util[_0x4044('0x31')](_0x4044('0x51'),_0x254238);if(fs[_0x4044('0x52')](_0x535bb0)){_0x353bea=!![];return _0x5752fe[_0x4044('0x53')](_0x535bb0,_0x254238,config[_0x4044('0x54')]['recording'])[_0x4044('0x23')](function(){return _0x1e909c;});}return _0x1e909c;}})[_0x4044('0x23')](function(_0x3a2875){if(_0x3a2875){var _0x4a9707=_0x3a2875['value'];if(!fs[_0x4044('0x52')](_0x4a9707)){throw new db['Sequelize'][(_0x4044('0x55'))](_0x4044('0x56'));}if(_0x3a2875['filename']){return _0x2510ba[_0x4044('0x4e')](_0x4a9707,_0x3a2875[_0x4044('0x57')]+path['extname'](_0x4a9707),function(){if(_0x353bea){fs[_0x4044('0x58')](_0x4a9707);}});}else{return _0x2510ba['download'](_0x4a9707,function(_0x5bc3f6){if(_0x353bea){fs['unlink'](_0x4a9707);}});}}})[_0x4044('0x45')](function(_0x1f42c7){if(_0x1f42c7[_0x4044('0x59')]===_0x4044('0x56')){_0x2510ba[_0x4044('0x19')](0x194)[_0x4044('0x29')](_0x4044('0x5a'));}else{return handleError(_0x2510ba,null);}});};exports['downloads']=function(_0x43a92a,_0x37a332,_0x11b6b3){var _0x253565=require(_0x4044('0x4f'));var _0x568670=![];var _0x107596={'$and':[db[_0x4044('0x5b')]['where'](db['sequelize']['fn']('MD5',db[_0x4044('0x5b')][_0x4044('0x5c')](_0x4044('0x50'))),_0x43a92a[_0x4044('0x32')][_0x4044('0x5d')])]};if(_0x43a92a['query'][_0x4044('0x40')]&&_0x43a92a[_0x4044('0x32')][_0x4044('0x40')]==='uniqueid'){_0x107596['$and'][_0x4044('0x5e')]({'uniqueid':_0x43a92a[_0x4044('0x47')]['id']});}else{_0x107596[_0x4044('0x5f')][_0x4044('0x5e')]({'id':_0x43a92a['params']['id']});}return db['VoiceRecording'][_0x4044('0x4a')]({'where':_0x107596,'attributes':['id',_0x4044('0x60')],'raw':!![]})['then'](handleEntityNotFound(_0x37a332,null))[_0x4044('0x23')](function(_0x207f41){if(_0x207f41){var _0x40963d=util[_0x4044('0x31')]('%s.cypher',_0x207f41['value']);if(fs[_0x4044('0x52')](_0x40963d)){_0x568670=!![];return _0x253565[_0x4044('0x53')](_0x40963d,_0x207f41[_0x4044('0x60')],config[_0x4044('0x54')]['recording'])[_0x4044('0x23')](function(){return _0x207f41;});}return _0x207f41;}})[_0x4044('0x23')](function(_0x5e33ed){if(_0x5e33ed){if(!fs[_0x4044('0x52')](_0x5e33ed[_0x4044('0x60')])){throw new db[(_0x4044('0x61'))][(_0x4044('0x55'))](_0x4044('0x56'));}if(_0x5e33ed['filename']){return _0x37a332[_0x4044('0x4e')](_0x5e33ed[_0x4044('0x60')],_0x5e33ed[_0x4044('0x57')]+path[_0x4044('0x62')](_0x5e33ed[_0x4044('0x60')]),function(){if(_0x568670){fs[_0x4044('0x58')](_0x5e33ed[_0x4044('0x60')]);}});}else{return _0x37a332[_0x4044('0x4e')](_0x5e33ed[_0x4044('0x60')],function(_0x40b9d2){if(_0x568670){fs[_0x4044('0x58')](_0x5e33ed[_0x4044('0x60')]);}});}}})[_0x4044('0x45')](handleError(_0x37a332,null));};exports['destroy']=function(_0x2ded0f,_0x2ff7a6){return db['VoiceRecording'][_0x4044('0x4a')]({'where':{'id':_0x2ded0f[_0x4044('0x47')]['id']}})['then'](function(_0x2b1ba3){if(_[_0x4044('0x63')](_0x2b1ba3)){throw new ReferenceError(_0x4044('0x64'));}return _0x2b1ba3;})[_0x4044('0x23')](function(_0xfb0f07){var _0x5dc6ee=_0xfb0f07['value'];logger[_0x4044('0x65')]('cancellazione\x20fisica\x20documento\x20%s',_0x5dc6ee);if(!_[_0x4044('0x63')](_0xfb0f07[_0x4044('0x60')])&&fs[_0x4044('0x52')](_0x5dc6ee)){logger[_0x4044('0x65')](_0x4044('0x66')+_0x5dc6ee+_0x4044('0x67'));fs[_0x4044('0x68')](_0x5dc6ee);}_0x5dc6ee=_0x5dc6ee+_0x4044('0x69');if(!_[_0x4044('0x63')](_0xfb0f07[_0x4044('0x60')])&&fs[_0x4044('0x52')](_0x5dc6ee)){logger[_0x4044('0x65')]('File:\x20\x22'+_0x5dc6ee+'\x22\x20trovato\x20eseguo\x20la\x20cancellazione');fs[_0x4044('0x68')](_0x5dc6ee);}return _0xfb0f07;})[_0x4044('0x23')](function(_0x3068cf){if(!_0x3068cf)throw new InternalError();return _0x3068cf[_0x4044('0x24')]();})[_0x4044('0x23')](function(){_0x2ff7a6[_0x4044('0x19')](0xcc)['end']();})['catch'](handleError(_0x2ff7a6,null));};function getBucketslist(_0x1ab5d3,_0x5bc849,_0x38b9e0){return new Promise(function(_0x103efe,_0x528079){var _0x3ce7c0=new AWS['S3']({'accessKeyId':_0x5bc849,'secretAccessKey':_0x1ab5d3,'region':_0x38b9e0});_0x3ce7c0[_0x4044('0x6a')]({},function(_0x2f34ff,_0x49593f){if(_0x2f34ff){return _0x528079(_0x2f34ff);}else{return _0x103efe(_0x49593f);}});});}function createBucket(_0x2398ee,_0x5f5318,_0x57b970,_0xfe76df){return new Promise(function(_0x4d54b0,_0x12ee41){var _0x127c21=new AWS['S3']({'accessKeyId':_0x5f5318,'secretAccessKey':_0x2398ee,'region':_0x57b970});_0x127c21[_0x4044('0x6b')]({'Bucket':_0xfe76df},function(_0x4549e6,_0x3297c9){if(_0x4549e6){return _0x12ee41(_0x4549e6);}else{return _0x4d54b0(_0x3297c9);}});});}function uploadFile(_0x52ec0e,_0x2c7104,_0x5269dd,_0x16ef57,_0x21eee1,_0x2ec276){return new Promise(function(_0x4ee490,_0x3b80ff){var _0x29f139=new AWS['S3']({'accessKeyId':_0x2c7104,'secretAccessKey':_0x52ec0e,'region':_0x5269dd});_0x29f139[_0x4044('0x6c')]({'Bucket':_0x16ef57,'Key':_0x21eee1,'Body':_0x2ec276},function(_0x38e5ff,_0x20a4a7){if(_0x38e5ff){return _0x3b80ff(_0x38e5ff);}else{return _0x4ee490(_0x20a4a7);}});});}function startTranscribe(_0x29127a,_0x1c5b4a,_0x51ba4b,_0x223e9b,_0x579ea8,_0x3f3897){return new Promise(function(_0x2e5bfa,_0x5bd22c){var _0x277564=new AWS[(_0x4044('0x6d'))]({'accessKeyId':_0x1c5b4a,'secretAccessKey':_0x29127a,'region':_0x51ba4b});_0x277564[_0x4044('0x6e')]({'TranscriptionJobName':_0x223e9b,'LanguageCode':_0x579ea8,'Media':{'MediaFileUri':_0x3f3897}},function(_0x4c0eac,_0x1039b6){if(_0x4c0eac){return _0x5bd22c(_0x4c0eac);}else{return _0x2e5bfa(_0x1039b6);}});});}function transcribe(_0xa6a08b,_0x546579,_0x7779ee,_0x55f2d1,_0x5d6507,_0x5d9957,_0x333b14){return new Promise(function(_0x3f30ae,_0x3e3f7c){var _0x4ba108={};logger[_0x4044('0x65')](util['format'](_0x4044('0x6f'),_0xa6a08b,_0x5d6507));return uploadFile(_0x546579,_0x7779ee,_0x55f2d1,_0x5d6507,path[_0x4044('0x70')](_0x5d9957),fs[_0x4044('0x71')](_0x5d9957))[_0x4044('0x23')](function(_0x3faaad){logger[_0x4044('0x65')](util[_0x4044('0x31')](_0x4044('0x72'),_0xa6a08b,_0x5d6507,_0x3faaad[_0x4044('0x73')]));_0x4ba108['bucket']=_0x3faaad['Bucket'];_0x4ba108[_0x4044('0x74')]=_0x3faaad[_0x4044('0x73')];logger[_0x4044('0x65')](util[_0x4044('0x31')](_0x4044('0x75'),_0xa6a08b));return startTranscribe(_0x546579,_0x7779ee,_0x55f2d1,uuidv4(),_0x333b14,_0x3faaad[_0x4044('0x73')]);})[_0x4044('0x23')](function(_0x51de42){logger[_0x4044('0x65')](util['format']('[RUNTRANSCRIPT][%d]\x20Transcription\x20job\x20%s\x20created',_0xa6a08b,_0x51de42['TranscriptionJob']['TranscriptionJobName']));_0x4ba108[_0x4044('0x76')]=_0x51de42[_0x4044('0x77')][_0x4044('0x78')];_0x4ba108[_0x4044('0x79')]=_0x51de42[_0x4044('0x77')][_0x4044('0x7a')];return _0x3f30ae(_0x4ba108);})[_0x4044('0x45')](function(_0x2bad69){return _0x3e3f7c(_0x2bad69);});});}exports[_0x4044('0x7b')]=function(_0x122223,_0x1751c4,_0x2ac86f){var _0x5e9dcc;var _0x5f42c6;var _0x36c5dd;var _0x375768=require('../../components/encryptor');return db[_0x4044('0x2c')]['findOne']({'where':{'id':_0x122223[_0x4044('0x47')]['id']}})[_0x4044('0x23')](function(_0x2b5ee1){if(_0x2b5ee1){var _0x4df5f5=util[_0x4044('0x31')]('%s.cypher',_0x2b5ee1['value']);if(fs[_0x4044('0x52')](_0x4df5f5)){cypher=!![];return _0x375768['decryptFile'](_0x4df5f5,_0x2b5ee1[_0x4044('0x60')],config[_0x4044('0x54')][_0x4044('0x7c')])[_0x4044('0x23')](function(){return _0x2b5ee1;});}return _0x2b5ee1;}})[_0x4044('0x23')](function(_0xaeed20){if(!_0xaeed20){throw new db[(_0x4044('0x61'))][(_0x4044('0x55'))](_0x4044('0x7d'));}_0x5f42c6=_0xaeed20;return db[_0x4044('0x7e')][_0x4044('0x7f')]({'where':{'id':0x1}});})[_0x4044('0x23')](handleEntityNotFound(_0x1751c4,null))[_0x4044('0x23')](function(_0x62dd04){if(_0x62dd04){_0x5e9dcc=_0x62dd04;if(!_0x5e9dcc[_0x4044('0x80')]||!_0x5e9dcc[_0x4044('0x81')]||!_0x5e9dcc['transcribeRegion']||!_0x5e9dcc[_0x4044('0x82')]||!_0x5e9dcc[_0x4044('0x83')]){throw new db[(_0x4044('0x61'))][(_0x4044('0x55'))](_0x4044('0x84'));}if(_0x122223['body'][_0x4044('0x85')]&&(!_0x5e9dcc[_0x4044('0x86')]||!_0x5e9dcc[_0x4044('0x87')]||!_0x5e9dcc[_0x4044('0x88')]||!_0x5e9dcc[_0x4044('0x82')]||!_0x5e9dcc[_0x4044('0x83')])){throw new db[(_0x4044('0x61'))][(_0x4044('0x55'))](_0x4044('0x89'));}return db['CloudProvider'][_0x4044('0x7f')]({'where':{'id':_0x5e9dcc['transcribeAccountId']}});}})['then'](function(_0x556f94){if(!_0x556f94){throw new db[(_0x4044('0x61'))]['ValidationError'](_0x4044('0x8a'));}if(!_0x556f94[_0x4044('0x8b')]||!_0x556f94[_0x4044('0x8c')]){throw new db[(_0x4044('0x61'))][(_0x4044('0x55'))](_0x4044('0x8d'));}_0x36c5dd=_0x556f94;return getBucketslist(_0x36c5dd['data1'],_0x36c5dd[_0x4044('0x8c')],_0x5e9dcc[_0x4044('0x8e')]);})[_0x4044('0x23')](function(_0x4bcac9){if(_0x4bcac9&&_0x4bcac9[_0x4044('0x8f')]){var _0xc40999=_[_0x4044('0x4a')](_0x4bcac9[_0x4044('0x8f')],function(_0x51975a){return _0x51975a[_0x4044('0x90')]===_0x5e9dcc['bucket'];});if(!_0xc40999){logger[_0x4044('0x65')](util[_0x4044('0x31')](_0x4044('0x91'),_0x122223[_0x4044('0x47')]['id'],_0x5e9dcc['bucket']));return createBucket(_0x36c5dd['data1'],_0x36c5dd[_0x4044('0x8c')],_0x5e9dcc['transcribeRegion'],_0x5e9dcc[_0x4044('0x83')]);}logger[_0x4044('0x65')](util[_0x4044('0x31')]('[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20available',_0x122223[_0x4044('0x47')]['id'],_0x5e9dcc['bucket']));return;}})[_0x4044('0x23')](function(_0x52a0c0){if(_0x5f42c6[_0x4044('0x79')]==='NEW'){return transcribe(_0x122223[_0x4044('0x47')]['id'],_0x36c5dd['data1'],_0x36c5dd['data2'],_0x5e9dcc[_0x4044('0x8e')],_0x5e9dcc['bucket'],_0x5f42c6[_0x4044('0x60')],_0x5e9dcc[_0x4044('0x82')]);}else{logger[_0x4044('0x65')](util['format'](_0x4044('0x92'),_0x122223[_0x4044('0x47')]['id']));return{'transcribeStatus':'IN_PROGRESS'};}})[_0x4044('0x23')](function(_0x49f60d){if(_0x49f60d){_0x49f60d[_0x4044('0x93')]=_0x122223[_0x4044('0x4c')][_0x4044('0x85')];return _0x5f42c6[_0x4044('0x94')](_0x49f60d);}})[_0x4044('0x23')](respondWithResult(_0x1751c4,null))[_0x4044('0x45')](handleError(_0x1751c4,null));};function writeFile(_0x7b307f,_0x3c88c1){return new Promise(function(_0x2a0518,_0x1f16a2){fs[_0x4044('0x95')](_0x3c88c1,_0x7b307f,function(_0x719a11,_0x100475){if(_0x719a11){return _0x1f16a2(_0x719a11);}else{return _0x2a0518(_0x100475);}});});}exports['downloadTranscribe']=function(_0x534bae,_0x115572,_0x161e38){return db[_0x4044('0x2c')]['findOne']({'where':{'id':_0x534bae['params']['id']}})[_0x4044('0x23')](handleEntityNotFound(_0x115572))[_0x4044('0x23')](function(_0x3c2a42){if(_0x3c2a42&&_0x3c2a42[_0x4044('0x96')]){var _0xc4a575=_0x3c2a42[_0x4044('0x96')];var _0x2238f1=config['root']+_0x4044('0x97')+_0x3c2a42['id']+'.txt';if(fs[_0x4044('0x52')](_0x2238f1)){return _0x2238f1;}return writeFile(_0xc4a575,_0x2238f1)[_0x4044('0x23')](function(){return _0x2238f1;});}else{throw new db['Sequelize'][(_0x4044('0x55'))](_0x4044('0x98'));}})[_0x4044('0x23')](function(_0x399703){return _0x115572[_0x4044('0x4e')](_0x399703);})['catch'](handleError(_0x115572));};