Built motion from commit 449495f6.|2.6.27
[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 _0xf1db=['Sequelize','Voice\x20Recording\x20not\x20found','Setting','transcribe','transcribeAccountId','language','bucket','Transcribe\x20not\x20configured','runSentiment','sentiment','sentimentAccountId','Sentiment\x20Analysis\x20not\x20configured','CloudProvider','Cloud\x20Provider\x20not\x20available','data2','data1','transcribeRegion','Buckets','[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','fs-extra','lodash','crypto','desk.js','uuid/v4','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','set','Content-Range','apply','reject','save','update','then','destroy','error','send','index','VoiceRecording','rawAttributes','model','differenceBy','map','name','query','filters','intersection','attributes','length','hasOwnProperty','order','sort','where','pick','merge','type','filter','count','includeAll','include','rows','show','params','options','find','catch','create','body','describe','download','value','format','%s.cypher','existsSync','decryptFile','secrets','recording','ValidationError','VoiceRecording\x20not\x20found','filename','extname','unlink','message','Not\x20found','downloads','../../components/encryptor','sequelize','MD5','token','uniqueid','$and','push','isNil','Entity\x20not\x20found','info','cancellazione\x20fisica\x20documento\x20%s','File:\x20\x22','unlinkSync','.cypher','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','listBuckets','createBucket','upload','startTranscriptionJob','readFileSync','Location','Bucket','location','[RUNTRANSCRIPT][%d]\x20Sending\x20transcribe\x20request','[RUNTRANSCRIPT][%d]\x20Transcription\x20job\x20%s\x20created','TranscriptionJob','TranscriptionJobName','transcribeName','transcribeStatus','TranscriptionJobStatus','runTranscribe','findOne'];(function(_0x358321,_0x18c7a3){var _0x118046=function(_0x373e5f){while(--_0x373e5f){_0x358321['push'](_0x358321['shift']());}};_0x118046(++_0x18c7a3);}(_0xf1db,0xb9));var _0xbf1d=function(_0x570e8c,_0x5710fe){_0x570e8c=_0x570e8c-0x0;var _0x122ab6=_0xf1db[_0x570e8c];return _0x122ab6;};'use strict';var emlformat=require(_0xbf1d('0x0'));var rimraf=require(_0xbf1d('0x1'));var zipdir=require(_0xbf1d('0x2'));var jsonpatch=require(_0xbf1d('0x3'));var rp=require(_0xbf1d('0x4'));var moment=require(_0xbf1d('0x5'));var BPromise=require(_0xbf1d('0x6'));var Mustache=require(_0xbf1d('0x7'));var util=require(_0xbf1d('0x8'));var path=require(_0xbf1d('0x9'));var sox=require(_0xbf1d('0xa'));var csv=require(_0xbf1d('0xb'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xbf1d('0xc'));var _=require(_0xbf1d('0xd'));var squel=require('squel');var crypto=require(_0xbf1d('0xe'));var jsforce=require('jsforce');var deskjs=require(_0xbf1d('0xf'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require('papaparse');var AWS=require('aws-sdk');var uuidv4=require(_0xbf1d('0x10'));var Redis=require(_0xbf1d('0x11'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0xbf1d('0x12'));var hardwareService=require(_0xbf1d('0x13'));var logger=require(_0xbf1d('0x14'))(_0xbf1d('0x15'));var utils=require('../../config/utils');var config=require(_0xbf1d('0x16'));var licenseUtil=require('../../config/license/util');var db=require(_0xbf1d('0x17'))['db'];function respondWithStatusCode(_0x56a7f1,_0xff5fc8){_0xff5fc8=_0xff5fc8||0xcc;return function(_0x522413){if(_0x522413){return _0x56a7f1[_0xbf1d('0x18')](_0xff5fc8);}return _0x56a7f1[_0xbf1d('0x19')](_0xff5fc8)[_0xbf1d('0x1a')]();};}function respondWithResult(_0x33973e,_0x5c1280){_0x5c1280=_0x5c1280||0xc8;return function(_0x37dbf2){if(_0x37dbf2){return _0x33973e[_0xbf1d('0x19')](_0x5c1280)[_0xbf1d('0x1b')](_0x37dbf2);}};}function respondWithFilteredResult(_0x93ec78,_0x28c5ef){return function(_0x1df5e3){if(_0x1df5e3){var _0xead464=typeof _0x28c5ef[_0xbf1d('0x1c')]===_0xbf1d('0x1d')&&typeof _0x28c5ef[_0xbf1d('0x1e')]===_0xbf1d('0x1d');var _0x3062ef=_0x1df5e3['count'];var _0x233063=_0xead464?0x0:_0x28c5ef[_0xbf1d('0x1c')];var _0x324134=_0xead464?_0x1df5e3['count']:_0x28c5ef[_0xbf1d('0x1c')]+_0x28c5ef[_0xbf1d('0x1e')];var _0x6e407d;if(_0x324134>=_0x3062ef){_0x324134=_0x3062ef;_0x6e407d=0xc8;}else{_0x6e407d=0xce;}_0x93ec78['status'](_0x6e407d);return _0x93ec78[_0xbf1d('0x1f')](_0xbf1d('0x20'),_0x233063+'-'+_0x324134+'/'+_0x3062ef)['json'](_0x1df5e3);}return null;};}function patchUpdates(_0x2c0d77){return function(_0x3b87f8){try{jsonpatch[_0xbf1d('0x21')](_0x3b87f8,_0x2c0d77,!![]);}catch(_0x4c149d){return BPromise[_0xbf1d('0x22')](_0x4c149d);}return _0x3b87f8[_0xbf1d('0x23')]();};}function saveUpdates(_0x54c6c5,_0xbc866c){return function(_0x179b36){if(_0x179b36){return _0x179b36[_0xbf1d('0x24')](_0x54c6c5)[_0xbf1d('0x25')](function(_0x227209){return _0x227209;});}return null;};}function removeEntity(_0x2afcff,_0x553d6e){return function(_0x20351a){if(_0x20351a){return _0x20351a[_0xbf1d('0x26')]()['then'](function(){_0x2afcff[_0xbf1d('0x19')](0xcc)[_0xbf1d('0x1a')]();});}};}function handleEntityNotFound(_0x41299d,_0x5a650e){return function(_0x2dbcdf){if(!_0x2dbcdf){_0x41299d[_0xbf1d('0x18')](0x194);}return _0x2dbcdf;};}function handleError(_0x971926,_0x365ad2){_0x365ad2=_0x365ad2||0x1f4;return function(_0x2dc675){logger[_0xbf1d('0x27')](_0x2dc675['stack']);if(_0x2dc675['name']){delete _0x2dc675['name'];}_0x971926[_0xbf1d('0x19')](_0x365ad2)[_0xbf1d('0x28')](_0x2dc675);};}exports[_0xbf1d('0x29')]=function(_0x3ee853,_0x3802e1){var _0x7237da={},_0x250e46={},_0x3758d0={'count':0x0,'rows':[]};var _0x5b95df=_['map'](db[_0xbf1d('0x2a')][_0xbf1d('0x2b')],function(_0x2d4d42){return{'name':_0x2d4d42['fieldName'],'type':_0x2d4d42['type']['key']};});_0x250e46[_0xbf1d('0x2c')]=_[_0xbf1d('0x2d')](_[_0xbf1d('0x2e')](_0x5b95df,_0xbf1d('0x2f')),['format']);_0x250e46[_0xbf1d('0x30')]=_['keys'](_0x3ee853['query']);_0x250e46[_0xbf1d('0x31')]=_[_0xbf1d('0x32')](_0x250e46[_0xbf1d('0x2c')],_0x250e46[_0xbf1d('0x30')]);_0x7237da['attributes']=_[_0xbf1d('0x32')](_0x250e46[_0xbf1d('0x2c')],qs['fields'](_0x3ee853[_0xbf1d('0x30')]['fields']));_0x7237da[_0xbf1d('0x33')]=_0x7237da[_0xbf1d('0x33')][_0xbf1d('0x34')]?_0x7237da[_0xbf1d('0x33')]:_0x250e46[_0xbf1d('0x2c')];if(!_0x3ee853[_0xbf1d('0x30')][_0xbf1d('0x35')]('nolimit')){_0x7237da[_0xbf1d('0x1e')]=qs[_0xbf1d('0x1e')](_0x3ee853['query']['limit']);_0x7237da[_0xbf1d('0x1c')]=qs[_0xbf1d('0x1c')](_0x3ee853[_0xbf1d('0x30')][_0xbf1d('0x1c')]);}_0x7237da[_0xbf1d('0x36')]=qs[_0xbf1d('0x37')](_0x3ee853[_0xbf1d('0x30')][_0xbf1d('0x37')]);_0x7237da[_0xbf1d('0x38')]=qs['filters'](_[_0xbf1d('0x39')](_0x3ee853['query'],_0x250e46[_0xbf1d('0x31')]),_0x5b95df);if(_0x3ee853['query']['filter']){_0x7237da['where']=_[_0xbf1d('0x3a')](_0x7237da['where'],{'$or':_[_0xbf1d('0x2e')](_0x5b95df,function(_0x20e874){if(_0x20e874[_0xbf1d('0x3b')]!=='VIRTUAL'){var _0x3cac72={};_0x3cac72[_0x20e874[_0xbf1d('0x2f')]]={'$like':'%'+_0x3ee853[_0xbf1d('0x30')][_0xbf1d('0x3c')]+'%'};return _0x3cac72;}})});}_0x7237da=_[_0xbf1d('0x3a')]({},_0x7237da,_0x3ee853['options']);var _0x3f18c4={'where':_0x7237da[_0xbf1d('0x38')]};return db[_0xbf1d('0x2a')][_0xbf1d('0x3d')](_0x3f18c4)['then'](function(_0x3cd3c5){_0x3758d0[_0xbf1d('0x3d')]=_0x3cd3c5;if(_0x3ee853[_0xbf1d('0x30')][_0xbf1d('0x3e')]){_0x7237da[_0xbf1d('0x3f')]=[{'all':!![]}];}return db[_0xbf1d('0x2a')]['findAll'](_0x7237da);})['then'](function(_0x2b47e6){_0x3758d0[_0xbf1d('0x40')]=_0x2b47e6;return _0x3758d0;})[_0xbf1d('0x25')](respondWithFilteredResult(_0x3802e1,_0x7237da))['catch'](handleError(_0x3802e1,null));};exports[_0xbf1d('0x41')]=function(_0x689314,_0x48463a){var _0x112467={'raw':![],'where':{'id':_0x689314[_0xbf1d('0x42')]['id']}},_0x2a7c9d={};_0x2a7c9d[_0xbf1d('0x2c')]=_['keys'](db[_0xbf1d('0x2a')]['rawAttributes']);_0x2a7c9d['query']=_['keys'](_0x689314[_0xbf1d('0x30')]);_0x2a7c9d[_0xbf1d('0x31')]=_[_0xbf1d('0x32')](_0x2a7c9d[_0xbf1d('0x2c')],_0x2a7c9d[_0xbf1d('0x30')]);_0x112467['attributes']=_[_0xbf1d('0x32')](_0x2a7c9d[_0xbf1d('0x2c')],qs['fields'](_0x689314['query']['fields']));_0x112467['attributes']=_0x112467[_0xbf1d('0x33')][_0xbf1d('0x34')]?_0x112467['attributes']:_0x2a7c9d['model'];if(_0x689314[_0xbf1d('0x30')]['includeAll']){_0x112467[_0xbf1d('0x3f')]=[{'all':!![]}];}_0x112467=_[_0xbf1d('0x3a')]({},_0x112467,_0x689314[_0xbf1d('0x43')]);return db['VoiceRecording'][_0xbf1d('0x44')](_0x112467)[_0xbf1d('0x25')](handleEntityNotFound(_0x48463a,null))[_0xbf1d('0x25')](respondWithResult(_0x48463a,null))[_0xbf1d('0x45')](handleError(_0x48463a,null));};exports[_0xbf1d('0x46')]=function(_0x459210,_0x26afc9){return db[_0xbf1d('0x2a')][_0xbf1d('0x46')](_0x459210[_0xbf1d('0x47')],{})[_0xbf1d('0x25')](respondWithResult(_0x26afc9,0xc9))['catch'](handleError(_0x26afc9,null));};exports[_0xbf1d('0x24')]=function(_0x3306f7,_0x433583){if(_0x3306f7['body']['id']){delete _0x3306f7[_0xbf1d('0x47')]['id'];}return db[_0xbf1d('0x2a')][_0xbf1d('0x44')]({'where':{'id':_0x3306f7[_0xbf1d('0x42')]['id']}})[_0xbf1d('0x25')](handleEntityNotFound(_0x433583,null))[_0xbf1d('0x25')](saveUpdates(_0x3306f7[_0xbf1d('0x47')],null))['then'](respondWithResult(_0x433583,null))[_0xbf1d('0x45')](handleError(_0x433583,null));};exports['describe']=function(_0x511b50,_0x5b7dd8){return db['VoiceRecording'][_0xbf1d('0x48')]()['then'](respondWithResult(_0x5b7dd8,null))[_0xbf1d('0x45')](handleError(_0x5b7dd8,null));};exports[_0xbf1d('0x49')]=function(_0x3da27b,_0x2c86e8,_0x5abe0a){var _0x101c02=require('../../components/encryptor');var _0x59a044=![];var _0x30c18d={};if(_0x3da27b['query'][_0xbf1d('0x3b')]&&_0x3da27b[_0xbf1d('0x30')][_0xbf1d('0x3b')]==='uniqueid'){_0x30c18d['uniqueid']=_0x3da27b['params']['id'];}else{_0x30c18d['id']=_0x3da27b[_0xbf1d('0x42')]['id'];}return db[_0xbf1d('0x2a')][_0xbf1d('0x44')]({'where':_0x30c18d,'attributes':['id',_0xbf1d('0x4a')],'raw':!![]})['then'](handleEntityNotFound(_0x2c86e8,null))[_0xbf1d('0x25')](function(_0x1bfe70){if(_0x1bfe70){var _0x59fc91=_0x1bfe70[_0xbf1d('0x4a')];var _0x499b76=util[_0xbf1d('0x4b')](_0xbf1d('0x4c'),_0x59fc91);if(fs[_0xbf1d('0x4d')](_0x499b76)){_0x59a044=!![];return _0x101c02[_0xbf1d('0x4e')](_0x499b76,_0x59fc91,config[_0xbf1d('0x4f')][_0xbf1d('0x50')])[_0xbf1d('0x25')](function(){return _0x1bfe70;});}return _0x1bfe70;}})[_0xbf1d('0x25')](function(_0x28dcfb){if(_0x28dcfb){var _0x7dac57=_0x28dcfb[_0xbf1d('0x4a')];if(!fs['existsSync'](_0x7dac57)){throw new db['Sequelize'][(_0xbf1d('0x51'))](_0xbf1d('0x52'));}if(_0x28dcfb['filename']){return _0x2c86e8['download'](_0x7dac57,_0x28dcfb[_0xbf1d('0x53')]+path[_0xbf1d('0x54')](_0x7dac57),function(){if(_0x59a044){fs[_0xbf1d('0x55')](_0x7dac57);}});}else{return _0x2c86e8[_0xbf1d('0x49')](_0x7dac57,function(_0x2f85f7){if(_0x59a044){fs[_0xbf1d('0x55')](_0x7dac57);}});}}})['catch'](function(_0x4a2281){if(_0x4a2281[_0xbf1d('0x56')]==='VoiceRecording\x20not\x20found'){_0x2c86e8['status'](0x194)[_0xbf1d('0x28')](_0xbf1d('0x57'));}else{return handleError(_0x2c86e8,null);}});};exports[_0xbf1d('0x58')]=function(_0x5b2cb3,_0x50ea33,_0x514d07){var _0x4ec8a4=require(_0xbf1d('0x59'));var _0xb6503b=![];var _0x23c161={'$and':[db[_0xbf1d('0x5a')]['where'](db[_0xbf1d('0x5a')]['fn'](_0xbf1d('0x5b'),db[_0xbf1d('0x5a')]['col']('uniqueid')),_0x5b2cb3[_0xbf1d('0x30')][_0xbf1d('0x5c')])]};if(_0x5b2cb3[_0xbf1d('0x30')]['type']&&_0x5b2cb3[_0xbf1d('0x30')]['type']===_0xbf1d('0x5d')){_0x23c161[_0xbf1d('0x5e')][_0xbf1d('0x5f')]({'uniqueid':_0x5b2cb3[_0xbf1d('0x42')]['id']});}else{_0x23c161['$and'][_0xbf1d('0x5f')]({'id':_0x5b2cb3[_0xbf1d('0x42')]['id']});}return db['VoiceRecording'][_0xbf1d('0x44')]({'where':_0x23c161,'attributes':['id',_0xbf1d('0x4a')],'raw':!![]})[_0xbf1d('0x25')](handleEntityNotFound(_0x50ea33,null))['then'](function(_0xf124ce){if(_0xf124ce){var _0x4b3aa1=util['format']('%s.cypher',_0xf124ce['value']);if(fs[_0xbf1d('0x4d')](_0x4b3aa1)){_0xb6503b=!![];return _0x4ec8a4[_0xbf1d('0x4e')](_0x4b3aa1,_0xf124ce[_0xbf1d('0x4a')],config[_0xbf1d('0x4f')][_0xbf1d('0x50')])[_0xbf1d('0x25')](function(){return _0xf124ce;});}return _0xf124ce;}})[_0xbf1d('0x25')](function(_0x13fc87){if(_0x13fc87){if(!fs[_0xbf1d('0x4d')](_0x13fc87[_0xbf1d('0x4a')])){throw new db['Sequelize'][(_0xbf1d('0x51'))](_0xbf1d('0x52'));}if(_0x13fc87[_0xbf1d('0x53')]){return _0x50ea33[_0xbf1d('0x49')](_0x13fc87[_0xbf1d('0x4a')],_0x13fc87[_0xbf1d('0x53')]+path[_0xbf1d('0x54')](_0x13fc87['value']),function(){if(_0xb6503b){fs[_0xbf1d('0x55')](_0x13fc87['value']);}});}else{return _0x50ea33[_0xbf1d('0x49')](_0x13fc87['value'],function(_0x23dc3a){if(_0xb6503b){fs['unlink'](_0x13fc87[_0xbf1d('0x4a')]);}});}}})[_0xbf1d('0x45')](handleError(_0x50ea33,null));};exports['destroy']=function(_0x192f41,_0x32d575){return db[_0xbf1d('0x2a')][_0xbf1d('0x44')]({'where':{'id':_0x192f41[_0xbf1d('0x42')]['id']}})[_0xbf1d('0x25')](function(_0x32210f){if(_[_0xbf1d('0x60')](_0x32210f)){throw new ReferenceError(_0xbf1d('0x61'));}return _0x32210f;})[_0xbf1d('0x25')](function(_0x5952bd){var _0x858ed8=_0x5952bd[_0xbf1d('0x4a')];logger[_0xbf1d('0x62')](_0xbf1d('0x63'),_0x858ed8);if(!_[_0xbf1d('0x60')](_0x5952bd[_0xbf1d('0x4a')])&&fs[_0xbf1d('0x4d')](_0x858ed8)){logger[_0xbf1d('0x62')](_0xbf1d('0x64')+_0x858ed8+'\x22\x20trovato\x20eseguo\x20la\x20cancellazione');fs[_0xbf1d('0x65')](_0x858ed8);}_0x858ed8=_0x858ed8+_0xbf1d('0x66');if(!_[_0xbf1d('0x60')](_0x5952bd[_0xbf1d('0x4a')])&&fs[_0xbf1d('0x4d')](_0x858ed8)){logger[_0xbf1d('0x62')](_0xbf1d('0x64')+_0x858ed8+_0xbf1d('0x67'));fs['unlinkSync'](_0x858ed8);}return _0x5952bd;})[_0xbf1d('0x25')](function(_0xbcd8cf){if(!_0xbcd8cf)throw new InternalError();return _0xbcd8cf[_0xbf1d('0x26')]();})['then'](function(){_0x32d575[_0xbf1d('0x19')](0xcc)['end']();})[_0xbf1d('0x45')](handleError(_0x32d575,null));};function getBucketslist(_0x71bb28,_0x2e463f,_0x1e4a53){return new Promise(function(_0x3a014c,_0x4e45d5){var _0x42dac2=new AWS['S3']({'accessKeyId':_0x2e463f,'secretAccessKey':_0x71bb28,'region':_0x1e4a53});_0x42dac2[_0xbf1d('0x68')]({},function(_0x88dcfa,_0x1ddfec){if(_0x88dcfa){return _0x4e45d5(_0x88dcfa);}else{return _0x3a014c(_0x1ddfec);}});});}function createBucket(_0x3c41e6,_0x84e7c4,_0x8fe4ec,_0x593ba6){return new Promise(function(_0x253355,_0x2467f8){var _0x483d11=new AWS['S3']({'accessKeyId':_0x84e7c4,'secretAccessKey':_0x3c41e6,'region':_0x8fe4ec});_0x483d11[_0xbf1d('0x69')]({'Bucket':_0x593ba6},function(_0x1b8020,_0x5ac9a4){if(_0x1b8020){return _0x2467f8(_0x1b8020);}else{return _0x253355(_0x5ac9a4);}});});}function uploadFile(_0xf8b577,_0x333e6c,_0x56dc2b,_0x4c1b3e,_0x376a09,_0x307981){return new Promise(function(_0x1acaed,_0x28b868){var _0xda8034=new AWS['S3']({'accessKeyId':_0x333e6c,'secretAccessKey':_0xf8b577,'region':_0x56dc2b});_0xda8034[_0xbf1d('0x6a')]({'Bucket':_0x4c1b3e,'Key':_0x376a09,'Body':_0x307981},function(_0x4df3a4,_0x1ff8d5){if(_0x4df3a4){return _0x28b868(_0x4df3a4);}else{return _0x1acaed(_0x1ff8d5);}});});}function startTranscribe(_0x2efc9b,_0x5344b4,_0x22040c,_0x44353f,_0x4d08f1,_0x5eaa2e){return new Promise(function(_0x41ff72,_0x5de388){var _0x10d2e4=new AWS['TranscribeService']({'accessKeyId':_0x5344b4,'secretAccessKey':_0x2efc9b,'region':_0x22040c});_0x10d2e4[_0xbf1d('0x6b')]({'TranscriptionJobName':_0x44353f,'LanguageCode':_0x4d08f1,'Media':{'MediaFileUri':_0x5eaa2e}},function(_0x38daba,_0x1e3b31){if(_0x38daba){return _0x5de388(_0x38daba);}else{return _0x41ff72(_0x1e3b31);}});});}function transcribe(_0x16fb45,_0x194383,_0x126004,_0x26967f,_0x4b3e99,_0xa5a35f,_0x3afe9b){return new Promise(function(_0x5f108f,_0x53d868){var _0x122eb5={};logger[_0xbf1d('0x62')](util[_0xbf1d('0x4b')]('[RUNTRANSCRIPT][%d]\x20Starting\x20voice\x20recording\x20upload\x20in\x20bucket\x20%s',_0x16fb45,_0x4b3e99));return uploadFile(_0x194383,_0x126004,_0x26967f,_0x4b3e99,path['basename'](_0xa5a35f),fs[_0xbf1d('0x6c')](_0xa5a35f))[_0xbf1d('0x25')](function(_0x11a307){logger['info'](util[_0xbf1d('0x4b')]('[RUNTRANSCRIPT][%d]\x20Voice\x20recording\x20uploaded\x20in\x20bucket\x20%s\x20(%s)',_0x16fb45,_0x4b3e99,_0x11a307[_0xbf1d('0x6d')]));_0x122eb5['bucket']=_0x11a307[_0xbf1d('0x6e')];_0x122eb5[_0xbf1d('0x6f')]=_0x11a307['Location'];logger[_0xbf1d('0x62')](util['format'](_0xbf1d('0x70'),_0x16fb45));return startTranscribe(_0x194383,_0x126004,_0x26967f,uuidv4(),_0x3afe9b,_0x11a307[_0xbf1d('0x6d')]);})[_0xbf1d('0x25')](function(_0x3ef0d1){logger['info'](util[_0xbf1d('0x4b')](_0xbf1d('0x71'),_0x16fb45,_0x3ef0d1[_0xbf1d('0x72')][_0xbf1d('0x73')]));_0x122eb5[_0xbf1d('0x74')]=_0x3ef0d1[_0xbf1d('0x72')][_0xbf1d('0x73')];_0x122eb5[_0xbf1d('0x75')]=_0x3ef0d1['TranscriptionJob'][_0xbf1d('0x76')];return _0x5f108f(_0x122eb5);})[_0xbf1d('0x45')](function(_0x2fcc3c){return _0x53d868(_0x2fcc3c);});});}exports[_0xbf1d('0x77')]=function(_0x398dc8,_0x452f7a,_0x4b309c){var _0x273af6;var _0x13baea;var _0x5e2932;var _0x3dab58=require(_0xbf1d('0x59'));return db[_0xbf1d('0x2a')][_0xbf1d('0x78')]({'where':{'id':_0x398dc8[_0xbf1d('0x42')]['id']}})[_0xbf1d('0x25')](function(_0x75f1e6){if(_0x75f1e6){var _0x19e1aa=util[_0xbf1d('0x4b')]('%s.cypher',_0x75f1e6[_0xbf1d('0x4a')]);if(fs['existsSync'](_0x19e1aa)){cypher=!![];return _0x3dab58[_0xbf1d('0x4e')](_0x19e1aa,_0x75f1e6[_0xbf1d('0x4a')],config[_0xbf1d('0x4f')][_0xbf1d('0x50')])[_0xbf1d('0x25')](function(){return _0x75f1e6;});}return _0x75f1e6;}})[_0xbf1d('0x25')](function(_0x3126c6){if(!_0x3126c6){throw new db[(_0xbf1d('0x79'))][(_0xbf1d('0x51'))](_0xbf1d('0x7a'));}_0x13baea=_0x3126c6;return db[_0xbf1d('0x7b')]['findOne']({'where':{'id':0x1}});})[_0xbf1d('0x25')](handleEntityNotFound(_0x452f7a,null))['then'](function(_0x290df1){if(_0x290df1){_0x273af6=_0x290df1;if(!_0x273af6[_0xbf1d('0x7c')]||!_0x273af6[_0xbf1d('0x7d')]||!_0x273af6['transcribeRegion']||!_0x273af6[_0xbf1d('0x7e')]||!_0x273af6[_0xbf1d('0x7f')]){throw new db['Sequelize'][(_0xbf1d('0x51'))](_0xbf1d('0x80'));}if(_0x398dc8[_0xbf1d('0x47')][_0xbf1d('0x81')]&&(!_0x273af6[_0xbf1d('0x82')]||!_0x273af6[_0xbf1d('0x83')]||!_0x273af6['sentimentRegion']||!_0x273af6[_0xbf1d('0x7e')]||!_0x273af6['bucket'])){throw new db[(_0xbf1d('0x79'))][(_0xbf1d('0x51'))](_0xbf1d('0x84'));}return db[_0xbf1d('0x85')][_0xbf1d('0x78')]({'where':{'id':_0x273af6[_0xbf1d('0x7d')]}});}})[_0xbf1d('0x25')](function(_0x4c37e7){if(!_0x4c37e7){throw new db[(_0xbf1d('0x79'))]['ValidationError'](_0xbf1d('0x86'));}if(!_0x4c37e7['data1']||!_0x4c37e7[_0xbf1d('0x87')]){throw new db[(_0xbf1d('0x79'))][(_0xbf1d('0x51'))]('Cloud\x20Provider\x20not\x20configured');}_0x5e2932=_0x4c37e7;return getBucketslist(_0x5e2932[_0xbf1d('0x88')],_0x5e2932[_0xbf1d('0x87')],_0x273af6[_0xbf1d('0x89')]);})['then'](function(_0x1f9e2d){if(_0x1f9e2d&&_0x1f9e2d[_0xbf1d('0x8a')]){var _0x5f4146=_[_0xbf1d('0x44')](_0x1f9e2d[_0xbf1d('0x8a')],function(_0x53876d){return _0x53876d['Name']===_0x273af6[_0xbf1d('0x7f')];});if(!_0x5f4146){logger[_0xbf1d('0x62')](util['format'](_0xbf1d('0x8b'),_0x398dc8['params']['id'],_0x273af6['bucket']));return createBucket(_0x5e2932[_0xbf1d('0x88')],_0x5e2932[_0xbf1d('0x87')],_0x273af6[_0xbf1d('0x89')],_0x273af6['bucket']);}logger[_0xbf1d('0x62')](util[_0xbf1d('0x4b')](_0xbf1d('0x8c'),_0x398dc8['params']['id'],_0x273af6['bucket']));return;}})[_0xbf1d('0x25')](function(_0x2d63f3){if(_0x13baea['transcribeStatus']===_0xbf1d('0x8d')){return transcribe(_0x398dc8[_0xbf1d('0x42')]['id'],_0x5e2932[_0xbf1d('0x88')],_0x5e2932[_0xbf1d('0x87')],_0x273af6[_0xbf1d('0x89')],_0x273af6[_0xbf1d('0x7f')],_0x13baea[_0xbf1d('0x4a')],_0x273af6[_0xbf1d('0x7e')]);}else{logger['info'](util[_0xbf1d('0x4b')](_0xbf1d('0x8e'),_0x398dc8[_0xbf1d('0x42')]['id']));return{'transcribeStatus':_0xbf1d('0x8f')};}})[_0xbf1d('0x25')](function(_0x3d66e7){if(_0x3d66e7){_0x3d66e7[_0xbf1d('0x90')]=_0x398dc8[_0xbf1d('0x47')][_0xbf1d('0x81')];return _0x13baea[_0xbf1d('0x91')](_0x3d66e7);}})['then'](respondWithResult(_0x452f7a,null))[_0xbf1d('0x45')](handleError(_0x452f7a,null));};function writeFile(_0x445064,_0x34538b){return new Promise(function(_0x187e03,_0x3eda4c){fs[_0xbf1d('0x92')](_0x34538b,_0x445064,function(_0x373325,_0x2564bf){if(_0x373325){return _0x3eda4c(_0x373325);}else{return _0x187e03(_0x2564bf);}});});}exports[_0xbf1d('0x93')]=function(_0x39e8eb,_0x7d147b,_0x4a4c5f){return db[_0xbf1d('0x2a')]['findOne']({'where':{'id':_0x39e8eb['params']['id']}})[_0xbf1d('0x25')](handleEntityNotFound(_0x7d147b))[_0xbf1d('0x25')](function(_0x1bf114){if(_0x1bf114&&_0x1bf114[_0xbf1d('0x94')]){var _0x1c4b88=_0x1bf114[_0xbf1d('0x94')];var _0x3bf445=config[_0xbf1d('0x95')]+_0xbf1d('0x96')+_0x1bf114['id']+_0xbf1d('0x97');if(fs[_0xbf1d('0x4d')](_0x3bf445)){return _0x3bf445;}return writeFile(_0x1c4b88,_0x3bf445)[_0xbf1d('0x25')](function(){return _0x3bf445;});}else{throw new db[(_0xbf1d('0x79'))][(_0xbf1d('0x51'))](_0xbf1d('0x98'));}})['then'](function(_0xebc5b5){return _0x7d147b[_0xbf1d('0x49')](_0xebc5b5);})['catch'](handleError(_0x7d147b));};