7bb329d43a6f12b719eef58b824069a9797760e5
[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 _0x4152=['data1','data2','Buckets','Name','[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20not\x20available','[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20available','transcribeStatus','NEW','language','[RUNTRANSCRIPT][%d]\x20Transcript\x20action\x20already\x20requested','IN_PROGRESS','tempSentiment','updateAttributes','fileText','root','/server/files/transcribes/transcribe_','.txt','Transcript\x20not\x20available','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','querystring','papaparse','aws-sdk','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/logger','api','../../config/license/util','../../mysqldb','status','end','undefined','limit','offset','Content-Range','json','apply','reject','save','update','destroy','then','sendStatus','stack','name','send','index','map','VoiceRecording','rawAttributes','fieldName','type','key','model','differenceBy','format','query','keys','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','filters','pick','filter','merge','options','count','includeAll','findAll','rows','catch','show','params','include','find','create','body','../../components/encryptor','uniqueid','value','%s.cypher','recording','existsSync','Sequelize','ValidationError','filename','download','unlink','message','VoiceRecording\x20not\x20found','Not\x20found','downloads','MD5','sequelize','col','push','$and','decryptFile','secrets','isNil','Entity\x20not\x20found','info','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','.cypher','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','TranscriptionJobName','TranscriptionJob','TranscriptionJobStatus','findOne','Voice\x20Recording\x20not\x20found','Setting','transcribe','transcribeAccountId','transcribeRegion','bucket','Transcribe\x20not\x20configured','runSentiment','sentimentRegion','CloudProvider','Cloud\x20Provider\x20not\x20available'];(function(_0x465a0c,_0x19d4d5){var _0x1e202e=function(_0x27bd8a){while(--_0x27bd8a){_0x465a0c['push'](_0x465a0c['shift']());}};_0x1e202e(++_0x19d4d5);}(_0x4152,0xac));var _0x2415=function(_0x338f73,_0x1945c8){_0x338f73=_0x338f73-0x0;var _0x163fdf=_0x4152[_0x338f73];return _0x163fdf;};'use strict';var emlformat=require(_0x2415('0x0'));var rimraf=require(_0x2415('0x1'));var zipdir=require(_0x2415('0x2'));var jsonpatch=require(_0x2415('0x3'));var rp=require(_0x2415('0x4'));var moment=require(_0x2415('0x5'));var BPromise=require(_0x2415('0x6'));var Mustache=require(_0x2415('0x7'));var util=require('util');var path=require(_0x2415('0x8'));var sox=require(_0x2415('0x9'));var csv=require(_0x2415('0xa'));var ejs=require(_0x2415('0xb'));var fs=require('fs');var fs_extra=require(_0x2415('0xc'));var _=require(_0x2415('0xd'));var squel=require(_0x2415('0xe'));var crypto=require(_0x2415('0xf'));var jsforce=require(_0x2415('0x10'));var deskjs=require('desk.js');var toCsv=require(_0x2415('0xa'));var querystring=require(_0x2415('0x11'));var Papa=require(_0x2415('0x12'));var AWS=require(_0x2415('0x13'));var uuidv4=require('uuid/v4');var Redis=require(_0x2415('0x14'));var authService=require(_0x2415('0x15'));var qs=require('../../components/parsers/qs');var as=require(_0x2415('0x16'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x2415('0x17'))(_0x2415('0x18'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0x2415('0x19'));var db=require(_0x2415('0x1a'))['db'];function respondWithStatusCode(_0x2428d7,_0x53f821){_0x53f821=_0x53f821||0xcc;return function(_0x3f5d3a){if(_0x3f5d3a){return _0x2428d7['sendStatus'](_0x53f821);}return _0x2428d7[_0x2415('0x1b')](_0x53f821)[_0x2415('0x1c')]();};}function respondWithResult(_0x33fe9b,_0x19a3fc){_0x19a3fc=_0x19a3fc||0xc8;return function(_0x557187){if(_0x557187){return _0x33fe9b[_0x2415('0x1b')](_0x19a3fc)['json'](_0x557187);}};}function respondWithFilteredResult(_0x577f2d,_0x31d9d3){return function(_0x441bda){if(_0x441bda){var _0x75bb19=typeof _0x31d9d3['offset']===_0x2415('0x1d')&&typeof _0x31d9d3[_0x2415('0x1e')]===_0x2415('0x1d');var _0x48e3c6=_0x441bda['count'];var _0x1786e8=_0x75bb19?0x0:_0x31d9d3[_0x2415('0x1f')];var _0xc483bd=_0x75bb19?_0x441bda['count']:_0x31d9d3[_0x2415('0x1f')]+_0x31d9d3[_0x2415('0x1e')];var _0x354b89;if(_0xc483bd>=_0x48e3c6){_0xc483bd=_0x48e3c6;_0x354b89=0xc8;}else{_0x354b89=0xce;}_0x577f2d[_0x2415('0x1b')](_0x354b89);return _0x577f2d['set'](_0x2415('0x20'),_0x1786e8+'-'+_0xc483bd+'/'+_0x48e3c6)[_0x2415('0x21')](_0x441bda);}return null;};}function patchUpdates(_0x2ccbe0){return function(_0x16db44){try{jsonpatch[_0x2415('0x22')](_0x16db44,_0x2ccbe0,!![]);}catch(_0x3b0e5f){return BPromise[_0x2415('0x23')](_0x3b0e5f);}return _0x16db44[_0x2415('0x24')]();};}function saveUpdates(_0x3c6c43,_0x2e5597){return function(_0x7ac80a){if(_0x7ac80a){return _0x7ac80a[_0x2415('0x25')](_0x3c6c43)['then'](function(_0x283ae8){return _0x283ae8;});}return null;};}function removeEntity(_0x16d43b,_0x4018aa){return function(_0x172f76){if(_0x172f76){return _0x172f76[_0x2415('0x26')]()[_0x2415('0x27')](function(){_0x16d43b[_0x2415('0x1b')](0xcc)['end']();});}};}function handleEntityNotFound(_0x53abf3,_0xe6c5aa){return function(_0x251a4a){if(!_0x251a4a){_0x53abf3[_0x2415('0x28')](0x194);}return _0x251a4a;};}function handleError(_0x27c857,_0x1896b9){_0x1896b9=_0x1896b9||0x1f4;return function(_0x2a8f47){logger['error'](_0x2a8f47[_0x2415('0x29')]);if(_0x2a8f47[_0x2415('0x2a')]){delete _0x2a8f47[_0x2415('0x2a')];}_0x27c857[_0x2415('0x1b')](_0x1896b9)[_0x2415('0x2b')](_0x2a8f47);};}exports[_0x2415('0x2c')]=function(_0x59a99e,_0x36ebe9){var _0x3cdb52={},_0x1174d5={},_0x5ce4d4={'count':0x0,'rows':[]};var _0x1fde4e=_[_0x2415('0x2d')](db[_0x2415('0x2e')][_0x2415('0x2f')],function(_0x4c5a4c){return{'name':_0x4c5a4c[_0x2415('0x30')],'type':_0x4c5a4c[_0x2415('0x31')][_0x2415('0x32')]};});_0x1174d5[_0x2415('0x33')]=_[_0x2415('0x34')](_[_0x2415('0x2d')](_0x1fde4e,_0x2415('0x2a')),[_0x2415('0x35')]);_0x1174d5[_0x2415('0x36')]=_[_0x2415('0x37')](_0x59a99e['query']);_0x1174d5['filters']=_[_0x2415('0x38')](_0x1174d5[_0x2415('0x33')],_0x1174d5['query']);_0x3cdb52['attributes']=_[_0x2415('0x38')](_0x1174d5['model'],qs[_0x2415('0x39')](_0x59a99e['query'][_0x2415('0x39')]));_0x3cdb52[_0x2415('0x3a')]=_0x3cdb52[_0x2415('0x3a')][_0x2415('0x3b')]?_0x3cdb52['attributes']:_0x1174d5[_0x2415('0x33')];if(!_0x59a99e[_0x2415('0x36')][_0x2415('0x3c')](_0x2415('0x3d'))){_0x3cdb52['limit']=qs[_0x2415('0x1e')](_0x59a99e[_0x2415('0x36')]['limit']);_0x3cdb52[_0x2415('0x1f')]=qs['offset'](_0x59a99e[_0x2415('0x36')][_0x2415('0x1f')]);}_0x3cdb52[_0x2415('0x3e')]=qs[_0x2415('0x3f')](_0x59a99e[_0x2415('0x36')][_0x2415('0x3f')]);_0x3cdb52[_0x2415('0x40')]=qs[_0x2415('0x41')](_[_0x2415('0x42')](_0x59a99e[_0x2415('0x36')],_0x1174d5['filters']),_0x1fde4e);if(_0x59a99e['query'][_0x2415('0x43')]){_0x3cdb52[_0x2415('0x40')]=_[_0x2415('0x44')](_0x3cdb52['where'],{'$or':_['map'](_0x1fde4e,function(_0x19c4fe){if(_0x19c4fe[_0x2415('0x31')]!=='VIRTUAL'){var _0x27cd17={};_0x27cd17[_0x19c4fe[_0x2415('0x2a')]]={'$like':'%'+_0x59a99e[_0x2415('0x36')][_0x2415('0x43')]+'%'};return _0x27cd17;}})});}_0x3cdb52=_['merge']({},_0x3cdb52,_0x59a99e[_0x2415('0x45')]);var _0x49ed8d={'where':_0x3cdb52[_0x2415('0x40')]};return db[_0x2415('0x2e')]['count'](_0x49ed8d)[_0x2415('0x27')](function(_0xcd6b32){_0x5ce4d4[_0x2415('0x46')]=_0xcd6b32;if(_0x59a99e[_0x2415('0x36')][_0x2415('0x47')]){_0x3cdb52['include']=[{'all':!![]}];}return db[_0x2415('0x2e')][_0x2415('0x48')](_0x3cdb52);})['then'](function(_0x236eac){_0x5ce4d4[_0x2415('0x49')]=_0x236eac;return _0x5ce4d4;})[_0x2415('0x27')](respondWithFilteredResult(_0x36ebe9,_0x3cdb52))[_0x2415('0x4a')](handleError(_0x36ebe9,null));};exports[_0x2415('0x4b')]=function(_0x477ad9,_0x4a5f68){var _0x1029d1={'raw':![],'where':{'id':_0x477ad9[_0x2415('0x4c')]['id']}},_0x36ab7a={};_0x36ab7a[_0x2415('0x33')]=_['keys'](db['VoiceRecording'][_0x2415('0x2f')]);_0x36ab7a[_0x2415('0x36')]=_['keys'](_0x477ad9[_0x2415('0x36')]);_0x36ab7a[_0x2415('0x41')]=_['intersection'](_0x36ab7a['model'],_0x36ab7a[_0x2415('0x36')]);_0x1029d1['attributes']=_[_0x2415('0x38')](_0x36ab7a['model'],qs[_0x2415('0x39')](_0x477ad9[_0x2415('0x36')]['fields']));_0x1029d1[_0x2415('0x3a')]=_0x1029d1['attributes'][_0x2415('0x3b')]?_0x1029d1[_0x2415('0x3a')]:_0x36ab7a[_0x2415('0x33')];if(_0x477ad9[_0x2415('0x36')][_0x2415('0x47')]){_0x1029d1[_0x2415('0x4d')]=[{'all':!![]}];}_0x1029d1=_[_0x2415('0x44')]({},_0x1029d1,_0x477ad9[_0x2415('0x45')]);return db[_0x2415('0x2e')][_0x2415('0x4e')](_0x1029d1)[_0x2415('0x27')](handleEntityNotFound(_0x4a5f68,null))['then'](respondWithResult(_0x4a5f68,null))['catch'](handleError(_0x4a5f68,null));};exports['create']=function(_0x1886b0,_0x174757){return db[_0x2415('0x2e')][_0x2415('0x4f')](_0x1886b0[_0x2415('0x50')],{})[_0x2415('0x27')](respondWithResult(_0x174757,0xc9))[_0x2415('0x4a')](handleError(_0x174757,null));};exports[_0x2415('0x25')]=function(_0x591ca1,_0x71fc3a){if(_0x591ca1[_0x2415('0x50')]['id']){delete _0x591ca1[_0x2415('0x50')]['id'];}return db[_0x2415('0x2e')][_0x2415('0x4e')]({'where':{'id':_0x591ca1[_0x2415('0x4c')]['id']}})[_0x2415('0x27')](handleEntityNotFound(_0x71fc3a,null))['then'](saveUpdates(_0x591ca1[_0x2415('0x50')],null))['then'](respondWithResult(_0x71fc3a,null))[_0x2415('0x4a')](handleError(_0x71fc3a,null));};exports['describe']=function(_0x36c3dc,_0x591f0b){return db[_0x2415('0x2e')]['describe']()[_0x2415('0x27')](respondWithResult(_0x591f0b,null))[_0x2415('0x4a')](handleError(_0x591f0b,null));};exports['download']=function(_0x24da1e,_0x5eb15f,_0x2a3f61){var _0x2dfc6d=require(_0x2415('0x51'));var _0x1fafa9=![];var _0x52b35e={};if(_0x24da1e[_0x2415('0x36')][_0x2415('0x31')]&&_0x24da1e[_0x2415('0x36')]['type']===_0x2415('0x52')){_0x52b35e['uniqueid']=_0x24da1e[_0x2415('0x4c')]['id'];}else{_0x52b35e['id']=_0x24da1e['params']['id'];}return db[_0x2415('0x2e')][_0x2415('0x4e')]({'where':_0x52b35e,'attributes':['id','value'],'raw':!![]})[_0x2415('0x27')](handleEntityNotFound(_0x5eb15f,null))['then'](function(_0x1c577d){if(_0x1c577d){var _0x306d7e=_0x1c577d[_0x2415('0x53')];var _0x3c5d1a=util['format'](_0x2415('0x54'),_0x306d7e);if(fs['existsSync'](_0x3c5d1a)){_0x1fafa9=!![];return _0x2dfc6d['decryptFile'](_0x3c5d1a,_0x306d7e,config['secrets'][_0x2415('0x55')])[_0x2415('0x27')](function(){return _0x1c577d;});}return _0x1c577d;}})[_0x2415('0x27')](function(_0x1d50d9){if(_0x1d50d9){var _0xf40f7f=_0x1d50d9['value'];if(!fs[_0x2415('0x56')](_0xf40f7f)){throw new db[(_0x2415('0x57'))][(_0x2415('0x58'))]('VoiceRecording\x20not\x20found');}if(_0x1d50d9[_0x2415('0x59')]){return _0x5eb15f[_0x2415('0x5a')](_0xf40f7f,_0x1d50d9[_0x2415('0x59')]+path['extname'](_0xf40f7f),function(){if(_0x1fafa9){fs[_0x2415('0x5b')](_0xf40f7f);}});}else{return _0x5eb15f['download'](_0xf40f7f,function(_0x32c005){if(_0x1fafa9){fs[_0x2415('0x5b')](_0xf40f7f);}});}}})[_0x2415('0x4a')](function(_0x65e98b){if(_0x65e98b[_0x2415('0x5c')]===_0x2415('0x5d')){_0x5eb15f[_0x2415('0x1b')](0x194)[_0x2415('0x2b')](_0x2415('0x5e'));}else{return handleError(_0x5eb15f,null);}});};exports[_0x2415('0x5f')]=function(_0x4d1be7,_0x2b52c2,_0x4c43ed){var _0x169d5a=require(_0x2415('0x51'));var _0x3f12c9=![];var _0x3002c2={'$and':[db['sequelize'][_0x2415('0x40')](db['sequelize']['fn'](_0x2415('0x60'),db[_0x2415('0x61')][_0x2415('0x62')]('uniqueid')),_0x4d1be7[_0x2415('0x36')]['token'])]};if(_0x4d1be7[_0x2415('0x36')]['type']&&_0x4d1be7['query']['type']===_0x2415('0x52')){_0x3002c2['$and'][_0x2415('0x63')]({'uniqueid':_0x4d1be7[_0x2415('0x4c')]['id']});}else{_0x3002c2[_0x2415('0x64')]['push']({'id':_0x4d1be7[_0x2415('0x4c')]['id']});}return db['VoiceRecording'][_0x2415('0x4e')]({'where':_0x3002c2,'attributes':['id',_0x2415('0x53')],'raw':!![]})[_0x2415('0x27')](handleEntityNotFound(_0x2b52c2,null))[_0x2415('0x27')](function(_0x4eb362){if(_0x4eb362){var _0x55a0f2=util[_0x2415('0x35')]('%s.cypher',_0x4eb362[_0x2415('0x53')]);if(fs[_0x2415('0x56')](_0x55a0f2)){_0x3f12c9=!![];return _0x169d5a[_0x2415('0x65')](_0x55a0f2,_0x4eb362[_0x2415('0x53')],config[_0x2415('0x66')][_0x2415('0x55')])[_0x2415('0x27')](function(){return _0x4eb362;});}return _0x4eb362;}})[_0x2415('0x27')](function(_0x422a07){if(_0x422a07){if(!fs[_0x2415('0x56')](_0x422a07[_0x2415('0x53')])){throw new db[(_0x2415('0x57'))][(_0x2415('0x58'))]('VoiceRecording\x20not\x20found');}if(_0x422a07[_0x2415('0x59')]){return _0x2b52c2[_0x2415('0x5a')](_0x422a07[_0x2415('0x53')],_0x422a07[_0x2415('0x59')]+path['extname'](_0x422a07['value']),function(){if(_0x3f12c9){fs[_0x2415('0x5b')](_0x422a07[_0x2415('0x53')]);}});}else{return _0x2b52c2[_0x2415('0x5a')](_0x422a07[_0x2415('0x53')],function(_0x504bc3){if(_0x3f12c9){fs['unlink'](_0x422a07[_0x2415('0x53')]);}});}}})['catch'](handleError(_0x2b52c2,null));};exports['destroy']=function(_0x40806e,_0x210d24){return db[_0x2415('0x2e')][_0x2415('0x4e')]({'where':{'id':_0x40806e[_0x2415('0x4c')]['id']}})[_0x2415('0x27')](function(_0xead504){if(_[_0x2415('0x67')](_0xead504)){throw new ReferenceError(_0x2415('0x68'));}return _0xead504;})[_0x2415('0x27')](function(_0x112674){var _0x1faf50=_0x112674[_0x2415('0x53')];logger['info']('cancellazione\x20fisica\x20documento\x20%s',_0x1faf50);if(!_[_0x2415('0x67')](_0x112674[_0x2415('0x53')])&&fs[_0x2415('0x56')](_0x1faf50)){logger[_0x2415('0x69')](_0x2415('0x6a')+_0x1faf50+_0x2415('0x6b'));fs['unlinkSync'](_0x1faf50);}_0x1faf50=_0x1faf50+_0x2415('0x6c');if(!_[_0x2415('0x67')](_0x112674['value'])&&fs[_0x2415('0x56')](_0x1faf50)){logger[_0x2415('0x69')](_0x2415('0x6a')+_0x1faf50+'\x22\x20trovato\x20eseguo\x20la\x20cancellazione');fs['unlinkSync'](_0x1faf50);}return _0x112674;})[_0x2415('0x27')](function(_0x4b0ecb){if(!_0x4b0ecb)throw new InternalError();return _0x4b0ecb[_0x2415('0x26')]();})[_0x2415('0x27')](function(){_0x210d24[_0x2415('0x1b')](0xcc)[_0x2415('0x1c')]();})[_0x2415('0x4a')](handleError(_0x210d24,null));};function getBucketslist(_0x5c60af,_0x4fb4a7,_0x44db5b){return new Promise(function(_0x113be1,_0x38d869){var _0x4a53aa=new AWS['S3']({'accessKeyId':_0x4fb4a7,'secretAccessKey':_0x5c60af,'region':_0x44db5b});_0x4a53aa[_0x2415('0x6d')]({},function(_0x497456,_0x1e20db){if(_0x497456){return _0x38d869(_0x497456);}else{return _0x113be1(_0x1e20db);}});});}function createBucket(_0x335eae,_0x171849,_0x4b5cfa,_0x246c65){return new Promise(function(_0x5f4d89,_0x1bba03){var _0x145602=new AWS['S3']({'accessKeyId':_0x171849,'secretAccessKey':_0x335eae,'region':_0x4b5cfa});_0x145602[_0x2415('0x6e')]({'Bucket':_0x246c65},function(_0x2c965d,_0x4d1405){if(_0x2c965d){return _0x1bba03(_0x2c965d);}else{return _0x5f4d89(_0x4d1405);}});});}function uploadFile(_0x2c7a66,_0x577ddf,_0x302276,_0x555233,_0x50a7c8,_0x326757){return new Promise(function(_0x340e0c,_0x57de19){var _0x4d1d6e=new AWS['S3']({'accessKeyId':_0x577ddf,'secretAccessKey':_0x2c7a66,'region':_0x302276});_0x4d1d6e[_0x2415('0x6f')]({'Bucket':_0x555233,'Key':_0x50a7c8,'Body':_0x326757},function(_0x5a0f50,_0x4202ec){if(_0x5a0f50){return _0x57de19(_0x5a0f50);}else{return _0x340e0c(_0x4202ec);}});});}function startTranscribe(_0xc8f933,_0x2c7b04,_0x47ebc2,_0x491a6d,_0x3b0dd3,_0x5c7b0a){return new Promise(function(_0x18ec97,_0x1d6d42){var _0x3ffe24=new AWS['TranscribeService']({'accessKeyId':_0x2c7b04,'secretAccessKey':_0xc8f933,'region':_0x47ebc2});_0x3ffe24[_0x2415('0x70')]({'TranscriptionJobName':_0x491a6d,'LanguageCode':_0x3b0dd3,'Media':{'MediaFileUri':_0x5c7b0a}},function(_0x47df92,_0x1db7bd){if(_0x47df92){return _0x1d6d42(_0x47df92);}else{return _0x18ec97(_0x1db7bd);}});});}function transcribe(_0x102614,_0x3ba7bd,_0x5a3769,_0x56457f,_0x5c54a9,_0x22b1be,_0x2720f8){return new Promise(function(_0x551175,_0x16f815){var _0x42a934={};logger[_0x2415('0x69')](util[_0x2415('0x35')](_0x2415('0x71'),_0x102614,_0x5c54a9));return uploadFile(_0x3ba7bd,_0x5a3769,_0x56457f,_0x5c54a9,path['basename'](_0x22b1be),fs[_0x2415('0x72')](_0x22b1be))[_0x2415('0x27')](function(_0x2dd29c){logger[_0x2415('0x69')](util[_0x2415('0x35')](_0x2415('0x73'),_0x102614,_0x5c54a9,_0x2dd29c[_0x2415('0x74')]));_0x42a934['bucket']=_0x2dd29c[_0x2415('0x75')];_0x42a934[_0x2415('0x76')]=_0x2dd29c['Location'];logger[_0x2415('0x69')](util[_0x2415('0x35')](_0x2415('0x77'),_0x102614));return startTranscribe(_0x3ba7bd,_0x5a3769,_0x56457f,uuidv4(),_0x2720f8,_0x2dd29c[_0x2415('0x74')]);})['then'](function(_0x5367ce){logger['info'](util[_0x2415('0x35')](_0x2415('0x78'),_0x102614,_0x5367ce['TranscriptionJob'][_0x2415('0x79')]));_0x42a934['transcribeName']=_0x5367ce[_0x2415('0x7a')][_0x2415('0x79')];_0x42a934['transcribeStatus']=_0x5367ce['TranscriptionJob'][_0x2415('0x7b')];return _0x551175(_0x42a934);})[_0x2415('0x4a')](function(_0x28f611){return _0x16f815(_0x28f611);});});}exports['runTranscribe']=function(_0x5b9bae,_0x4c4d40,_0x38a280){var _0x26dd4a;var _0x823a18;var _0x2f0716;var _0x1b18fe=require(_0x2415('0x51'));return db[_0x2415('0x2e')][_0x2415('0x7c')]({'where':{'id':_0x5b9bae[_0x2415('0x4c')]['id']}})[_0x2415('0x27')](function(_0x39927d){if(_0x39927d){var _0x5eb62c=util[_0x2415('0x35')](_0x2415('0x54'),_0x39927d['value']);if(fs[_0x2415('0x56')](_0x5eb62c)){cypher=!![];return _0x1b18fe[_0x2415('0x65')](_0x5eb62c,_0x39927d[_0x2415('0x53')],config[_0x2415('0x66')][_0x2415('0x55')])[_0x2415('0x27')](function(){return _0x39927d;});}return _0x39927d;}})[_0x2415('0x27')](function(_0x3bc786){if(!_0x3bc786){throw new db[(_0x2415('0x57'))][(_0x2415('0x58'))](_0x2415('0x7d'));}_0x823a18=_0x3bc786;return db[_0x2415('0x7e')][_0x2415('0x7c')]({'where':{'id':0x1}});})[_0x2415('0x27')](handleEntityNotFound(_0x4c4d40,null))[_0x2415('0x27')](function(_0x592594){if(_0x592594){_0x26dd4a=_0x592594;if(!_0x26dd4a[_0x2415('0x7f')]||!_0x26dd4a[_0x2415('0x80')]||!_0x26dd4a[_0x2415('0x81')]||!_0x26dd4a['language']||!_0x26dd4a[_0x2415('0x82')]){throw new db[(_0x2415('0x57'))][(_0x2415('0x58'))](_0x2415('0x83'));}if(_0x5b9bae[_0x2415('0x50')][_0x2415('0x84')]&&(!_0x26dd4a['sentiment']||!_0x26dd4a['sentimentAccountId']||!_0x26dd4a[_0x2415('0x85')]||!_0x26dd4a['language']||!_0x26dd4a[_0x2415('0x82')])){throw new db['Sequelize'][(_0x2415('0x58'))]('Sentiment\x20Analysis\x20not\x20configured');}return db[_0x2415('0x86')][_0x2415('0x7c')]({'where':{'id':_0x26dd4a['transcribeAccountId']}});}})[_0x2415('0x27')](function(_0xbe446f){if(!_0xbe446f){throw new db['Sequelize'][(_0x2415('0x58'))](_0x2415('0x87'));}if(!_0xbe446f[_0x2415('0x88')]||!_0xbe446f[_0x2415('0x89')]){throw new db[(_0x2415('0x57'))][(_0x2415('0x58'))]('Cloud\x20Provider\x20not\x20configured');}_0x2f0716=_0xbe446f;return getBucketslist(_0x2f0716['data1'],_0x2f0716['data2'],_0x26dd4a['transcribeRegion']);})[_0x2415('0x27')](function(_0x1497c2){if(_0x1497c2&&_0x1497c2[_0x2415('0x8a')]){var _0x216959=_[_0x2415('0x4e')](_0x1497c2[_0x2415('0x8a')],function(_0x516cfe){return _0x516cfe[_0x2415('0x8b')]===_0x26dd4a[_0x2415('0x82')];});if(!_0x216959){logger[_0x2415('0x69')](util[_0x2415('0x35')](_0x2415('0x8c'),_0x5b9bae['params']['id'],_0x26dd4a[_0x2415('0x82')]));return createBucket(_0x2f0716['data1'],_0x2f0716[_0x2415('0x89')],_0x26dd4a[_0x2415('0x81')],_0x26dd4a[_0x2415('0x82')]);}logger[_0x2415('0x69')](util[_0x2415('0x35')](_0x2415('0x8d'),_0x5b9bae[_0x2415('0x4c')]['id'],_0x26dd4a['bucket']));return;}})['then'](function(_0x29352c){if(_0x823a18[_0x2415('0x8e')]===_0x2415('0x8f')){return transcribe(_0x5b9bae[_0x2415('0x4c')]['id'],_0x2f0716[_0x2415('0x88')],_0x2f0716[_0x2415('0x89')],_0x26dd4a['transcribeRegion'],_0x26dd4a['bucket'],_0x823a18[_0x2415('0x53')],_0x26dd4a[_0x2415('0x90')]);}else{logger[_0x2415('0x69')](util['format'](_0x2415('0x91'),_0x5b9bae['params']['id']));return{'transcribeStatus':_0x2415('0x92')};}})[_0x2415('0x27')](function(_0x28daf1){if(_0x28daf1){_0x28daf1[_0x2415('0x93')]=_0x5b9bae['body'][_0x2415('0x84')];return _0x823a18[_0x2415('0x94')](_0x28daf1);}})['then'](respondWithResult(_0x4c4d40,null))[_0x2415('0x4a')](handleError(_0x4c4d40,null));};function writeFile(_0x152e48,_0x1a49e2){return new Promise(function(_0x4e16a1,_0x468019){fs['writeFile'](_0x1a49e2,_0x152e48,function(_0x4c7331,_0x4224a7){if(_0x4c7331){return _0x468019(_0x4c7331);}else{return _0x4e16a1(_0x4224a7);}});});}exports['downloadTranscribe']=function(_0x3f5e0c,_0x1222bd,_0x228193){return db[_0x2415('0x2e')][_0x2415('0x7c')]({'where':{'id':_0x3f5e0c[_0x2415('0x4c')]['id']}})['then'](handleEntityNotFound(_0x1222bd))[_0x2415('0x27')](function(_0x590b0d){if(_0x590b0d&&_0x590b0d[_0x2415('0x95')]){var _0x35532e=_0x590b0d[_0x2415('0x95')];var _0x3e8a30=config[_0x2415('0x96')]+_0x2415('0x97')+_0x590b0d['id']+_0x2415('0x98');if(fs['existsSync'](_0x3e8a30)){return _0x3e8a30;}return writeFile(_0x35532e,_0x3e8a30)['then'](function(){return _0x3e8a30;});}else{throw new db['Sequelize'][(_0x2415('0x58'))](_0x2415('0x99'));}})[_0x2415('0x27')](function(_0xc136b8){return _0x1222bd[_0x2415('0x5a')](_0xc136b8);})[_0x2415('0x4a')](handleError(_0x1222bd));};