Built motion from commit 26159a51.|2.5.44
[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 _0xf91c=['Setting','transcribe','transcribeRegion','language','bucket','Transcribe\x20not\x20configured','runSentiment','sentiment','sentimentAccountId','Sentiment\x20Analysis\x20not\x20configured','CloudProvider','transcribeAccountId','Cloud\x20Provider\x20not\x20available','data1','data2','Cloud\x20Provider\x20not\x20configured','Buckets','Name','[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20not\x20available','[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20available','transcribeStatus','[RUNTRANSCRIPT][%d]\x20Transcript\x20action\x20already\x20requested','tempSentiment','writeFile','fileText','root','eml-format','rimraf','request-promise','bluebird','mustache','util','path','to-csv','lodash','squel','crypto','jsforce','desk.js','querystring','aws-sdk','uuid/v4','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','json','offset','undefined','count','apply','reject','save','destroy','then','end','error','stack','name','index','rawAttributes','fieldName','type','model','differenceBy','map','query','filters','intersection','attributes','fields','length','nolimit','limit','sort','where','merge','VIRTUAL','options','VoiceRecording','include','findAll','rows','catch','show','params','keys','includeAll','create','body','update','find','describe','download','../../components/encryptor','uniqueid','value','%s.cypher','existsSync','decryptFile','secrets','recording','Sequelize','ValidationError','VoiceRecording\x20not\x20found','filename','extname','unlink','message','Not\x20found','downloads','sequelize','MD5','col','token','push','format','isNil','Entity\x20not\x20found','info','cancellazione\x20fisica\x20documento\x20%s','File:\x20\x22','unlinkSync','.cypher','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','listBuckets','createBucket','upload','TranscribeService','startTranscriptionJob','[RUNTRANSCRIPT][%d]\x20Starting\x20voice\x20recording\x20upload\x20in\x20bucket\x20%s','basename','readFileSync','Location','Bucket','location','[RUNTRANSCRIPT][%d]\x20Transcription\x20job\x20%s\x20created','TranscriptionJob','TranscriptionJobName','transcribeName','findOne','Voice\x20Recording\x20not\x20found'];(function(_0x1db251,_0xf0443d){var _0x56685a=function(_0x6ec6b7){while(--_0x6ec6b7){_0x1db251['push'](_0x1db251['shift']());}};_0x56685a(++_0xf0443d);}(_0xf91c,0xaf));var _0xcf91=function(_0x158988,_0x30addd){_0x158988=_0x158988-0x0;var _0x2bd5cd=_0xf91c[_0x158988];return _0x2bd5cd;};'use strict';var emlformat=require(_0xcf91('0x0'));var rimraf=require(_0xcf91('0x1'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0xcf91('0x2'));var moment=require('moment');var BPromise=require(_0xcf91('0x3'));var Mustache=require(_0xcf91('0x4'));var util=require(_0xcf91('0x5'));var path=require(_0xcf91('0x6'));var sox=require('sox');var csv=require(_0xcf91('0x7'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xcf91('0x8'));var squel=require(_0xcf91('0x9'));var crypto=require(_0xcf91('0xa'));var jsforce=require(_0xcf91('0xb'));var deskjs=require(_0xcf91('0xc'));var toCsv=require(_0xcf91('0x7'));var querystring=require(_0xcf91('0xd'));var Papa=require('papaparse');var AWS=require(_0xcf91('0xe'));var uuidv4=require(_0xcf91('0xf'));var Redis=require('ioredis');var authService=require(_0xcf91('0x10'));var qs=require(_0xcf91('0x11'));var as=require(_0xcf91('0x12'));var hardwareService=require(_0xcf91('0x13'));var logger=require(_0xcf91('0x14'))(_0xcf91('0x15'));var utils=require(_0xcf91('0x16'));var config=require(_0xcf91('0x17'));var licenseUtil=require(_0xcf91('0x18'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x224af,_0x11b005){_0x11b005=_0x11b005||0xcc;return function(_0x54bfd1){if(_0x54bfd1){return _0x224af[_0xcf91('0x19')](_0x11b005);}return _0x224af[_0xcf91('0x1a')](_0x11b005)['end']();};}function respondWithResult(_0x180d4b,_0x15cfdc){_0x15cfdc=_0x15cfdc||0xc8;return function(_0x49aba0){if(_0x49aba0){return _0x180d4b['status'](_0x15cfdc)[_0xcf91('0x1b')](_0x49aba0);}};}function respondWithFilteredResult(_0x5e5e1d,_0x2f2a5a){return function(_0x5822af){if(_0x5822af){var _0x5bc7db=typeof _0x2f2a5a[_0xcf91('0x1c')]==='undefined'&&typeof _0x2f2a5a['limit']===_0xcf91('0x1d');var _0x6a8df2=_0x5822af[_0xcf91('0x1e')];var _0x2ec242=_0x5bc7db?0x0:_0x2f2a5a[_0xcf91('0x1c')];var _0x474183=_0x5bc7db?_0x5822af[_0xcf91('0x1e')]:_0x2f2a5a[_0xcf91('0x1c')]+_0x2f2a5a['limit'];var _0x433378;if(_0x474183>=_0x6a8df2){_0x474183=_0x6a8df2;_0x433378=0xc8;}else{_0x433378=0xce;}_0x5e5e1d['status'](_0x433378);return _0x5e5e1d['set']('Content-Range',_0x2ec242+'-'+_0x474183+'/'+_0x6a8df2)[_0xcf91('0x1b')](_0x5822af);}return null;};}function patchUpdates(_0x19cf5e){return function(_0xf12bd4){try{jsonpatch[_0xcf91('0x1f')](_0xf12bd4,_0x19cf5e,!![]);}catch(_0x4e2e4b){return BPromise[_0xcf91('0x20')](_0x4e2e4b);}return _0xf12bd4[_0xcf91('0x21')]();};}function saveUpdates(_0xd2e09d,_0x358e31){return function(_0x4838c0){if(_0x4838c0){return _0x4838c0['update'](_0xd2e09d)['then'](function(_0x375d03){return _0x375d03;});}return null;};}function removeEntity(_0x2661a2,_0x5316d3){return function(_0x34e5a2){if(_0x34e5a2){return _0x34e5a2[_0xcf91('0x22')]()[_0xcf91('0x23')](function(){_0x2661a2[_0xcf91('0x1a')](0xcc)[_0xcf91('0x24')]();});}};}function handleEntityNotFound(_0x4b025d,_0x3a8468){return function(_0x3e4ea8){if(!_0x3e4ea8){_0x4b025d[_0xcf91('0x19')](0x194);}return _0x3e4ea8;};}function handleError(_0x1e5559,_0x36ffda){_0x36ffda=_0x36ffda||0x1f4;return function(_0x44650b){logger[_0xcf91('0x25')](_0x44650b[_0xcf91('0x26')]);if(_0x44650b[_0xcf91('0x27')]){delete _0x44650b[_0xcf91('0x27')];}_0x1e5559['status'](_0x36ffda)['send'](_0x44650b);};}exports[_0xcf91('0x28')]=function(_0x474ac4,_0xdc7059){var _0x5d4680={},_0x198283={},_0x5f1ddc={'count':0x0,'rows':[]};var _0x123b1f=_['map'](db['VoiceRecording'][_0xcf91('0x29')],function(_0x5e98ac){return{'name':_0x5e98ac[_0xcf91('0x2a')],'type':_0x5e98ac[_0xcf91('0x2b')]['key']};});_0x198283[_0xcf91('0x2c')]=_[_0xcf91('0x2d')](_[_0xcf91('0x2e')](_0x123b1f,_0xcf91('0x27')),['format']);_0x198283['query']=_['keys'](_0x474ac4[_0xcf91('0x2f')]);_0x198283[_0xcf91('0x30')]=_[_0xcf91('0x31')](_0x198283['model'],_0x198283[_0xcf91('0x2f')]);_0x5d4680[_0xcf91('0x32')]=_[_0xcf91('0x31')](_0x198283[_0xcf91('0x2c')],qs['fields'](_0x474ac4[_0xcf91('0x2f')][_0xcf91('0x33')]));_0x5d4680['attributes']=_0x5d4680[_0xcf91('0x32')][_0xcf91('0x34')]?_0x5d4680[_0xcf91('0x32')]:_0x198283[_0xcf91('0x2c')];if(!_0x474ac4[_0xcf91('0x2f')]['hasOwnProperty'](_0xcf91('0x35'))){_0x5d4680[_0xcf91('0x36')]=qs[_0xcf91('0x36')](_0x474ac4[_0xcf91('0x2f')][_0xcf91('0x36')]);_0x5d4680[_0xcf91('0x1c')]=qs['offset'](_0x474ac4[_0xcf91('0x2f')][_0xcf91('0x1c')]);}_0x5d4680['order']=qs[_0xcf91('0x37')](_0x474ac4[_0xcf91('0x2f')]['sort']);_0x5d4680[_0xcf91('0x38')]=qs[_0xcf91('0x30')](_['pick'](_0x474ac4[_0xcf91('0x2f')],_0x198283[_0xcf91('0x30')]),_0x123b1f);if(_0x474ac4['query']['filter']){_0x5d4680['where']=_[_0xcf91('0x39')](_0x5d4680[_0xcf91('0x38')],{'$or':_['map'](_0x123b1f,function(_0x619f1c){if(_0x619f1c[_0xcf91('0x2b')]!==_0xcf91('0x3a')){var _0x225cb7={};_0x225cb7[_0x619f1c['name']]={'$like':'%'+_0x474ac4[_0xcf91('0x2f')]['filter']+'%'};return _0x225cb7;}})});}_0x5d4680=_[_0xcf91('0x39')]({},_0x5d4680,_0x474ac4[_0xcf91('0x3b')]);var _0x287200={'where':_0x5d4680[_0xcf91('0x38')]};return db[_0xcf91('0x3c')][_0xcf91('0x1e')](_0x287200)[_0xcf91('0x23')](function(_0x540707){_0x5f1ddc['count']=_0x540707;if(_0x474ac4[_0xcf91('0x2f')]['includeAll']){_0x5d4680[_0xcf91('0x3d')]=[{'all':!![]}];}return db[_0xcf91('0x3c')][_0xcf91('0x3e')](_0x5d4680);})['then'](function(_0x5060bd){_0x5f1ddc[_0xcf91('0x3f')]=_0x5060bd;return _0x5f1ddc;})[_0xcf91('0x23')](respondWithFilteredResult(_0xdc7059,_0x5d4680))[_0xcf91('0x40')](handleError(_0xdc7059,null));};exports[_0xcf91('0x41')]=function(_0x299340,_0x203ece){var _0x4c1474={'raw':![],'where':{'id':_0x299340[_0xcf91('0x42')]['id']}},_0x4fe3a6={};_0x4fe3a6['model']=_[_0xcf91('0x43')](db[_0xcf91('0x3c')][_0xcf91('0x29')]);_0x4fe3a6['query']=_[_0xcf91('0x43')](_0x299340[_0xcf91('0x2f')]);_0x4fe3a6[_0xcf91('0x30')]=_['intersection'](_0x4fe3a6[_0xcf91('0x2c')],_0x4fe3a6[_0xcf91('0x2f')]);_0x4c1474[_0xcf91('0x32')]=_[_0xcf91('0x31')](_0x4fe3a6[_0xcf91('0x2c')],qs[_0xcf91('0x33')](_0x299340[_0xcf91('0x2f')][_0xcf91('0x33')]));_0x4c1474[_0xcf91('0x32')]=_0x4c1474[_0xcf91('0x32')][_0xcf91('0x34')]?_0x4c1474[_0xcf91('0x32')]:_0x4fe3a6['model'];if(_0x299340[_0xcf91('0x2f')][_0xcf91('0x44')]){_0x4c1474[_0xcf91('0x3d')]=[{'all':!![]}];}_0x4c1474=_[_0xcf91('0x39')]({},_0x4c1474,_0x299340[_0xcf91('0x3b')]);return db[_0xcf91('0x3c')]['find'](_0x4c1474)[_0xcf91('0x23')](handleEntityNotFound(_0x203ece,null))[_0xcf91('0x23')](respondWithResult(_0x203ece,null))[_0xcf91('0x40')](handleError(_0x203ece,null));};exports[_0xcf91('0x45')]=function(_0x45aad4,_0x3daa81){return db[_0xcf91('0x3c')]['create'](_0x45aad4[_0xcf91('0x46')],{})[_0xcf91('0x23')](respondWithResult(_0x3daa81,0xc9))['catch'](handleError(_0x3daa81,null));};exports[_0xcf91('0x47')]=function(_0x6eb1e6,_0x55bdcc){if(_0x6eb1e6[_0xcf91('0x46')]['id']){delete _0x6eb1e6[_0xcf91('0x46')]['id'];}return db[_0xcf91('0x3c')][_0xcf91('0x48')]({'where':{'id':_0x6eb1e6[_0xcf91('0x42')]['id']}})[_0xcf91('0x23')](handleEntityNotFound(_0x55bdcc,null))['then'](saveUpdates(_0x6eb1e6[_0xcf91('0x46')],null))[_0xcf91('0x23')](respondWithResult(_0x55bdcc,null))[_0xcf91('0x40')](handleError(_0x55bdcc,null));};exports[_0xcf91('0x49')]=function(_0x560a59,_0x4df22f){return db[_0xcf91('0x3c')][_0xcf91('0x49')]()[_0xcf91('0x23')](respondWithResult(_0x4df22f,null))[_0xcf91('0x40')](handleError(_0x4df22f,null));};exports[_0xcf91('0x4a')]=function(_0xf523e5,_0x53f9b3,_0x50940f){var _0x32cd48=require(_0xcf91('0x4b'));var _0x4e7792=![];var _0x4804b4={};if(_0xf523e5['query'][_0xcf91('0x2b')]&&_0xf523e5[_0xcf91('0x2f')][_0xcf91('0x2b')]===_0xcf91('0x4c')){_0x4804b4[_0xcf91('0x4c')]=_0xf523e5[_0xcf91('0x42')]['id'];}else{_0x4804b4['id']=_0xf523e5[_0xcf91('0x42')]['id'];}return db['VoiceRecording'][_0xcf91('0x48')]({'where':_0x4804b4,'attributes':['id',_0xcf91('0x4d')],'raw':!![]})[_0xcf91('0x23')](handleEntityNotFound(_0x53f9b3,null))[_0xcf91('0x23')](function(_0x262504){if(_0x262504){var _0x2d6075=_0x262504[_0xcf91('0x4d')];var _0x474736=util['format'](_0xcf91('0x4e'),_0x2d6075);if(fs[_0xcf91('0x4f')](_0x474736)){_0x4e7792=!![];return _0x32cd48[_0xcf91('0x50')](_0x474736,_0x2d6075,config[_0xcf91('0x51')][_0xcf91('0x52')])[_0xcf91('0x23')](function(){return _0x262504;});}return _0x262504;}})[_0xcf91('0x23')](function(_0x916965){if(_0x916965){var _0x2655cc=_0x916965['value'];if(!fs[_0xcf91('0x4f')](_0x2655cc)){throw new db[(_0xcf91('0x53'))][(_0xcf91('0x54'))](_0xcf91('0x55'));}if(_0x916965[_0xcf91('0x56')]){return _0x53f9b3[_0xcf91('0x4a')](_0x2655cc,_0x916965[_0xcf91('0x56')]+path[_0xcf91('0x57')](_0x2655cc),function(){if(_0x4e7792){fs['unlink'](_0x2655cc);}});}else{return _0x53f9b3[_0xcf91('0x4a')](_0x2655cc,function(_0x3ee65e){if(_0x4e7792){fs[_0xcf91('0x58')](_0x2655cc);}});}}})[_0xcf91('0x40')](function(_0x5e5735){if(_0x5e5735[_0xcf91('0x59')]===_0xcf91('0x55')){_0x53f9b3[_0xcf91('0x1a')](0x194)['send'](_0xcf91('0x5a'));}else{return handleError(_0x53f9b3,null);}});};exports[_0xcf91('0x5b')]=function(_0x21df4d,_0x1f291a,_0x11c1a9){var _0x2c43ba=require('../../components/encryptor');var _0x1dc992=![];var _0x20ee6f={'$and':[db[_0xcf91('0x5c')][_0xcf91('0x38')](db[_0xcf91('0x5c')]['fn'](_0xcf91('0x5d'),db[_0xcf91('0x5c')][_0xcf91('0x5e')](_0xcf91('0x4c'))),_0x21df4d[_0xcf91('0x2f')][_0xcf91('0x5f')])]};if(_0x21df4d[_0xcf91('0x2f')][_0xcf91('0x2b')]&&_0x21df4d[_0xcf91('0x2f')]['type']===_0xcf91('0x4c')){_0x20ee6f['$and'][_0xcf91('0x60')]({'uniqueid':_0x21df4d[_0xcf91('0x42')]['id']});}else{_0x20ee6f['$and'][_0xcf91('0x60')]({'id':_0x21df4d[_0xcf91('0x42')]['id']});}return db[_0xcf91('0x3c')][_0xcf91('0x48')]({'where':_0x20ee6f,'attributes':['id','value'],'raw':!![]})[_0xcf91('0x23')](handleEntityNotFound(_0x1f291a,null))[_0xcf91('0x23')](function(_0x46bdd6){if(_0x46bdd6){var _0x48f721=util[_0xcf91('0x61')]('%s.cypher',_0x46bdd6[_0xcf91('0x4d')]);if(fs['existsSync'](_0x48f721)){_0x1dc992=!![];return _0x2c43ba[_0xcf91('0x50')](_0x48f721,_0x46bdd6[_0xcf91('0x4d')],config[_0xcf91('0x51')][_0xcf91('0x52')])['then'](function(){return _0x46bdd6;});}return _0x46bdd6;}})[_0xcf91('0x23')](function(_0x2b7b4f){if(_0x2b7b4f){if(!fs['existsSync'](_0x2b7b4f[_0xcf91('0x4d')])){throw new db[(_0xcf91('0x53'))]['ValidationError'](_0xcf91('0x55'));}if(_0x2b7b4f[_0xcf91('0x56')]){return _0x1f291a['download'](_0x2b7b4f[_0xcf91('0x4d')],_0x2b7b4f[_0xcf91('0x56')]+path[_0xcf91('0x57')](_0x2b7b4f['value']),function(){if(_0x1dc992){fs['unlink'](_0x2b7b4f[_0xcf91('0x4d')]);}});}else{return _0x1f291a[_0xcf91('0x4a')](_0x2b7b4f['value'],function(_0x57088f){if(_0x1dc992){fs[_0xcf91('0x58')](_0x2b7b4f[_0xcf91('0x4d')]);}});}}})['catch'](handleError(_0x1f291a,null));};exports[_0xcf91('0x22')]=function(_0x1d68f3,_0xccabea){return db[_0xcf91('0x3c')]['find']({'where':{'id':_0x1d68f3[_0xcf91('0x42')]['id']}})['then'](function(_0x259775){if(_[_0xcf91('0x62')](_0x259775)){throw new ReferenceError(_0xcf91('0x63'));}return _0x259775;})[_0xcf91('0x23')](function(_0xca8486){var _0x23f727=_0xca8486[_0xcf91('0x4d')];logger[_0xcf91('0x64')](_0xcf91('0x65'),_0x23f727);if(!_[_0xcf91('0x62')](_0xca8486[_0xcf91('0x4d')])&&fs['existsSync'](_0x23f727)){logger['info'](_0xcf91('0x66')+_0x23f727+'\x22\x20trovato\x20eseguo\x20la\x20cancellazione');fs[_0xcf91('0x67')](_0x23f727);}_0x23f727=_0x23f727+_0xcf91('0x68');if(!_[_0xcf91('0x62')](_0xca8486['value'])&&fs[_0xcf91('0x4f')](_0x23f727)){logger[_0xcf91('0x64')](_0xcf91('0x66')+_0x23f727+_0xcf91('0x69'));fs['unlinkSync'](_0x23f727);}return _0xca8486;})[_0xcf91('0x23')](function(_0x3c5c8b){if(!_0x3c5c8b)throw new InternalError();return _0x3c5c8b['destroy']();})['then'](function(){_0xccabea[_0xcf91('0x1a')](0xcc)[_0xcf91('0x24')]();})[_0xcf91('0x40')](handleError(_0xccabea,null));};function getBucketslist(_0x234b1e,_0x329e04,_0x596a25){return new Promise(function(_0x3722b4,_0x5790e4){var _0x230784=new AWS['S3']({'accessKeyId':_0x329e04,'secretAccessKey':_0x234b1e,'region':_0x596a25});_0x230784[_0xcf91('0x6a')]({},function(_0x25e9b2,_0xcab055){if(_0x25e9b2){return _0x5790e4(_0x25e9b2);}else{return _0x3722b4(_0xcab055);}});});}function createBucket(_0x1eac55,_0x2df2ab,_0x45b5f4,_0xc0b510){return new Promise(function(_0x4d9a83,_0x1e2895){var _0x1b58f0=new AWS['S3']({'accessKeyId':_0x2df2ab,'secretAccessKey':_0x1eac55,'region':_0x45b5f4});_0x1b58f0[_0xcf91('0x6b')]({'Bucket':_0xc0b510},function(_0x59c67a,_0x5e3dec){if(_0x59c67a){return _0x1e2895(_0x59c67a);}else{return _0x4d9a83(_0x5e3dec);}});});}function uploadFile(_0x37b917,_0x25db12,_0x47f9e0,_0x507ed7,_0x468ab2,_0x1683b8){return new Promise(function(_0x30ae92,_0x2297dc){var _0x5e2b46=new AWS['S3']({'accessKeyId':_0x25db12,'secretAccessKey':_0x37b917,'region':_0x47f9e0});_0x5e2b46[_0xcf91('0x6c')]({'Bucket':_0x507ed7,'Key':_0x468ab2,'Body':_0x1683b8},function(_0x304679,_0x2171a0){if(_0x304679){return _0x2297dc(_0x304679);}else{return _0x30ae92(_0x2171a0);}});});}function startTranscribe(_0x221db7,_0xf87d43,_0x19a72c,_0x5b5474,_0x11d519,_0x436f3b){return new Promise(function(_0x48a1ed,_0x4efb00){var _0x13a030=new AWS[(_0xcf91('0x6d'))]({'accessKeyId':_0xf87d43,'secretAccessKey':_0x221db7,'region':_0x19a72c});_0x13a030[_0xcf91('0x6e')]({'TranscriptionJobName':_0x5b5474,'LanguageCode':_0x11d519,'Media':{'MediaFileUri':_0x436f3b}},function(_0x1c5000,_0x5eb399){if(_0x1c5000){return _0x4efb00(_0x1c5000);}else{return _0x48a1ed(_0x5eb399);}});});}function transcribe(_0x10dbb1,_0x483720,_0x534322,_0x100ca4,_0x5bdee9,_0x3c49e2,_0x5b41d8){return new Promise(function(_0x7744b6,_0x2c681b){var _0x350ce6={};logger[_0xcf91('0x64')](util[_0xcf91('0x61')](_0xcf91('0x6f'),_0x10dbb1,_0x5bdee9));return uploadFile(_0x483720,_0x534322,_0x100ca4,_0x5bdee9,path[_0xcf91('0x70')](_0x3c49e2),fs[_0xcf91('0x71')](_0x3c49e2))[_0xcf91('0x23')](function(_0x21dd0c){logger['info'](util['format']('[RUNTRANSCRIPT][%d]\x20Voice\x20recording\x20uploaded\x20in\x20bucket\x20%s\x20(%s)',_0x10dbb1,_0x5bdee9,_0x21dd0c[_0xcf91('0x72')]));_0x350ce6['bucket']=_0x21dd0c[_0xcf91('0x73')];_0x350ce6[_0xcf91('0x74')]=_0x21dd0c[_0xcf91('0x72')];logger[_0xcf91('0x64')](util[_0xcf91('0x61')]('[RUNTRANSCRIPT][%d]\x20Sending\x20transcribe\x20request',_0x10dbb1));return startTranscribe(_0x483720,_0x534322,_0x100ca4,uuidv4(),_0x5b41d8,_0x21dd0c[_0xcf91('0x72')]);})['then'](function(_0x194c2b){logger['info'](util[_0xcf91('0x61')](_0xcf91('0x75'),_0x10dbb1,_0x194c2b[_0xcf91('0x76')][_0xcf91('0x77')]));_0x350ce6[_0xcf91('0x78')]=_0x194c2b[_0xcf91('0x76')][_0xcf91('0x77')];_0x350ce6['transcribeStatus']=_0x194c2b['TranscriptionJob']['TranscriptionJobStatus'];return _0x7744b6(_0x350ce6);})[_0xcf91('0x40')](function(_0x24cade){return _0x2c681b(_0x24cade);});});}exports['runTranscribe']=function(_0xd572d9,_0x8fe4b1,_0x35ecdb){var _0x1501f1;var _0x559511;var _0x567e0e;var _0x1a257e=require(_0xcf91('0x4b'));return db[_0xcf91('0x3c')][_0xcf91('0x79')]({'where':{'id':_0xd572d9[_0xcf91('0x42')]['id']}})[_0xcf91('0x23')](function(_0x5a4e6a){if(_0x5a4e6a){var _0x127e2c=util[_0xcf91('0x61')]('%s.cypher',_0x5a4e6a[_0xcf91('0x4d')]);if(fs[_0xcf91('0x4f')](_0x127e2c)){cypher=!![];return _0x1a257e[_0xcf91('0x50')](_0x127e2c,_0x5a4e6a[_0xcf91('0x4d')],config[_0xcf91('0x51')][_0xcf91('0x52')])[_0xcf91('0x23')](function(){return _0x5a4e6a;});}return _0x5a4e6a;}})[_0xcf91('0x23')](function(_0xcd35ef){if(!_0xcd35ef){throw new db[(_0xcf91('0x53'))][(_0xcf91('0x54'))](_0xcf91('0x7a'));}_0x559511=_0xcd35ef;return db[_0xcf91('0x7b')][_0xcf91('0x79')]({'where':{'id':0x1}});})['then'](handleEntityNotFound(_0x8fe4b1,null))[_0xcf91('0x23')](function(_0x1cb221){if(_0x1cb221){_0x1501f1=_0x1cb221;if(!_0x1501f1[_0xcf91('0x7c')]||!_0x1501f1['transcribeAccountId']||!_0x1501f1[_0xcf91('0x7d')]||!_0x1501f1[_0xcf91('0x7e')]||!_0x1501f1[_0xcf91('0x7f')]){throw new db[(_0xcf91('0x53'))]['ValidationError'](_0xcf91('0x80'));}if(_0xd572d9['body'][_0xcf91('0x81')]&&(!_0x1501f1[_0xcf91('0x82')]||!_0x1501f1[_0xcf91('0x83')]||!_0x1501f1['sentimentRegion']||!_0x1501f1[_0xcf91('0x7e')]||!_0x1501f1[_0xcf91('0x7f')])){throw new db[(_0xcf91('0x53'))][(_0xcf91('0x54'))](_0xcf91('0x84'));}return db[_0xcf91('0x85')][_0xcf91('0x79')]({'where':{'id':_0x1501f1[_0xcf91('0x86')]}});}})['then'](function(_0x49702f){if(!_0x49702f){throw new db['Sequelize'][(_0xcf91('0x54'))](_0xcf91('0x87'));}if(!_0x49702f[_0xcf91('0x88')]||!_0x49702f[_0xcf91('0x89')]){throw new db[(_0xcf91('0x53'))][(_0xcf91('0x54'))](_0xcf91('0x8a'));}_0x567e0e=_0x49702f;return getBucketslist(_0x567e0e['data1'],_0x567e0e[_0xcf91('0x89')],_0x1501f1[_0xcf91('0x7d')]);})['then'](function(_0x5b82cc){if(_0x5b82cc&&_0x5b82cc[_0xcf91('0x8b')]){var _0x239c5b=_[_0xcf91('0x48')](_0x5b82cc[_0xcf91('0x8b')],function(_0x380690){return _0x380690[_0xcf91('0x8c')]===_0x1501f1[_0xcf91('0x7f')];});if(!_0x239c5b){logger[_0xcf91('0x64')](util[_0xcf91('0x61')](_0xcf91('0x8d'),_0xd572d9[_0xcf91('0x42')]['id'],_0x1501f1[_0xcf91('0x7f')]));return createBucket(_0x567e0e['data1'],_0x567e0e[_0xcf91('0x89')],_0x1501f1[_0xcf91('0x7d')],_0x1501f1['bucket']);}logger[_0xcf91('0x64')](util[_0xcf91('0x61')](_0xcf91('0x8e'),_0xd572d9[_0xcf91('0x42')]['id'],_0x1501f1[_0xcf91('0x7f')]));return;}})[_0xcf91('0x23')](function(_0x31a1b2){if(_0x559511[_0xcf91('0x8f')]==='NEW'){return transcribe(_0xd572d9[_0xcf91('0x42')]['id'],_0x567e0e[_0xcf91('0x88')],_0x567e0e[_0xcf91('0x89')],_0x1501f1[_0xcf91('0x7d')],_0x1501f1['bucket'],_0x559511[_0xcf91('0x4d')],_0x1501f1[_0xcf91('0x7e')]);}else{logger[_0xcf91('0x64')](util[_0xcf91('0x61')](_0xcf91('0x90'),_0xd572d9[_0xcf91('0x42')]['id']));return{'transcribeStatus':'IN_PROGRESS'};}})[_0xcf91('0x23')](function(_0x566cc4){if(_0x566cc4){_0x566cc4[_0xcf91('0x91')]=_0xd572d9['body'][_0xcf91('0x81')];return _0x559511['updateAttributes'](_0x566cc4);}})['then'](respondWithResult(_0x8fe4b1,null))[_0xcf91('0x40')](handleError(_0x8fe4b1,null));};function writeFile(_0x234f9e,_0x43e5fe){return new Promise(function(_0x1908f8,_0x32db5f){fs[_0xcf91('0x92')](_0x43e5fe,_0x234f9e,function(_0x15c4b5,_0x49378a){if(_0x15c4b5){return _0x32db5f(_0x15c4b5);}else{return _0x1908f8(_0x49378a);}});});}exports['downloadTranscribe']=function(_0x441770,_0xd8eec6,_0x244d4f){return db[_0xcf91('0x3c')][_0xcf91('0x79')]({'where':{'id':_0x441770['params']['id']}})[_0xcf91('0x23')](handleEntityNotFound(_0xd8eec6))['then'](function(_0x3da141){if(_0x3da141&&_0x3da141[_0xcf91('0x93')]){var _0x208c86=_0x3da141[_0xcf91('0x93')];var _0x568037=config[_0xcf91('0x94')]+'/server/files/transcribes/transcribe_'+_0x3da141['id']+'.txt';if(fs[_0xcf91('0x4f')](_0x568037)){return _0x568037;}return writeFile(_0x208c86,_0x568037)['then'](function(){return _0x568037;});}else{throw new db[(_0xcf91('0x53'))][(_0xcf91('0x54'))]('Transcript\x20not\x20available');}})[_0xcf91('0x23')](function(_0xf3c9e3){return _0xd8eec6[_0xcf91('0x4a')](_0xf3c9e3);})[_0xcf91('0x40')](handleError(_0xd8eec6));};