fedab91e1de29c44308e5c592697a50e6bec0a48
[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 _0xd3b0=['save','update','end','error','stack','name','index','map','VoiceRecording','rawAttributes','fieldName','model','differenceBy','format','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','pick','where','merge','type','VIRTUAL','options','then','includeAll','include','findAll','rows','catch','params','find','create','body','describe','download','../../components/encryptor','uniqueid','value','%s.cypher','existsSync','decryptFile','secrets','recording','Sequelize','ValidationError','VoiceRecording\x20not\x20found','filename','unlink','message','send','downloads','sequelize','MD5','col','$and','push','extname','destroy','info','cancellazione\x20fisica\x20documento\x20%s','unlinkSync','.cypher','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','listBuckets','createBucket','TranscribeService','[RUNTRANSCRIPT][%d]\x20Starting\x20voice\x20recording\x20upload\x20in\x20bucket\x20%s','basename','readFileSync','[RUNTRANSCRIPT][%d]\x20Voice\x20recording\x20uploaded\x20in\x20bucket\x20%s\x20(%s)','Location','bucket','Bucket','[RUNTRANSCRIPT][%d]\x20Sending\x20transcribe\x20request','[RUNTRANSCRIPT][%d]\x20Transcription\x20job\x20%s\x20created','transcribeName','TranscriptionJobName','transcribeStatus','TranscriptionJob','runTranscribe','findOne','Voice\x20Recording\x20not\x20found','Setting','transcribe','transcribeAccountId','Transcribe\x20not\x20configured','runSentiment','sentiment','sentimentRegion','language','Sentiment\x20Analysis\x20not\x20configured','CloudProvider','Cloud\x20Provider\x20not\x20available','data1','data2','transcribeRegion','Buckets','Name','[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20not\x20available','NEW','[RUNTRANSCRIPT][%d]\x20Transcript\x20action\x20already\x20requested','IN_PROGRESS','tempSentiment','updateAttributes','writeFile','downloadTranscribe','fileText','root','/server/files/transcribes/transcribe_','.txt','Transcript\x20not\x20available','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','path','sox','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','uuid/v4','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','json','undefined','limit','count','offset','set','Content-Range','reject'];(function(_0x3da64f,_0x5a77b4){var _0x20ea25=function(_0x5e7eda){while(--_0x5e7eda){_0x3da64f['push'](_0x3da64f['shift']());}};_0x20ea25(++_0x5a77b4);}(_0xd3b0,0x77));var _0x0d3b=function(_0x9a7d12,_0x56c00a){_0x9a7d12=_0x9a7d12-0x0;var _0x4fdb44=_0xd3b0[_0x9a7d12];return _0x4fdb44;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x0d3b('0x0'));var zipdir=require(_0x0d3b('0x1'));var jsonpatch=require(_0x0d3b('0x2'));var rp=require(_0x0d3b('0x3'));var moment=require(_0x0d3b('0x4'));var BPromise=require(_0x0d3b('0x5'));var Mustache=require('mustache');var util=require(_0x0d3b('0x6'));var path=require(_0x0d3b('0x7'));var sox=require(_0x0d3b('0x8'));var csv=require('to-csv');var ejs=require(_0x0d3b('0x9'));var fs=require('fs');var fs_extra=require(_0x0d3b('0xa'));var _=require(_0x0d3b('0xb'));var squel=require(_0x0d3b('0xc'));var crypto=require(_0x0d3b('0xd'));var jsforce=require(_0x0d3b('0xe'));var deskjs=require(_0x0d3b('0xf'));var toCsv=require(_0x0d3b('0x10'));var querystring=require(_0x0d3b('0x11'));var Papa=require('papaparse');var AWS=require('aws-sdk');var uuidv4=require(_0x0d3b('0x12'));var Redis=require(_0x0d3b('0x13'));var authService=require(_0x0d3b('0x14'));var qs=require('../../components/parsers/qs');var as=require(_0x0d3b('0x15'));var hardwareService=require(_0x0d3b('0x16'));var logger=require(_0x0d3b('0x17'))(_0x0d3b('0x18'));var utils=require(_0x0d3b('0x19'));var config=require(_0x0d3b('0x1a'));var licenseUtil=require(_0x0d3b('0x1b'));var db=require(_0x0d3b('0x1c'))['db'];function respondWithStatusCode(_0x16cc5e,_0x1cc615){_0x1cc615=_0x1cc615||0xcc;return function(_0x16a978){if(_0x16a978){return _0x16cc5e[_0x0d3b('0x1d')](_0x1cc615);}return _0x16cc5e[_0x0d3b('0x1e')](_0x1cc615)['end']();};}function respondWithResult(_0x3764e8,_0x471941){_0x471941=_0x471941||0xc8;return function(_0x2b66e1){if(_0x2b66e1){return _0x3764e8['status'](_0x471941)[_0x0d3b('0x1f')](_0x2b66e1);}};}function respondWithFilteredResult(_0xceef0a,_0xd0e013){return function(_0x21eb6d){if(_0x21eb6d){var _0x20770d=typeof _0xd0e013['offset']===_0x0d3b('0x20')&&typeof _0xd0e013[_0x0d3b('0x21')]===_0x0d3b('0x20');var _0x3ab2e2=_0x21eb6d[_0x0d3b('0x22')];var _0x16c04b=_0x20770d?0x0:_0xd0e013[_0x0d3b('0x23')];var _0x4efa11=_0x20770d?_0x21eb6d['count']:_0xd0e013['offset']+_0xd0e013[_0x0d3b('0x21')];var _0x31af35;if(_0x4efa11>=_0x3ab2e2){_0x4efa11=_0x3ab2e2;_0x31af35=0xc8;}else{_0x31af35=0xce;}_0xceef0a['status'](_0x31af35);return _0xceef0a[_0x0d3b('0x24')](_0x0d3b('0x25'),_0x16c04b+'-'+_0x4efa11+'/'+_0x3ab2e2)[_0x0d3b('0x1f')](_0x21eb6d);}return null;};}function patchUpdates(_0x35a0ac){return function(_0xe5da99){try{jsonpatch['apply'](_0xe5da99,_0x35a0ac,!![]);}catch(_0xd96761){return BPromise[_0x0d3b('0x26')](_0xd96761);}return _0xe5da99[_0x0d3b('0x27')]();};}function saveUpdates(_0xb4b950,_0x3c65e6){return function(_0x498f02){if(_0x498f02){return _0x498f02[_0x0d3b('0x28')](_0xb4b950)['then'](function(_0x1129a3){return _0x1129a3;});}return null;};}function removeEntity(_0x9278d6,_0x3aa5ff){return function(_0x254b8c){if(_0x254b8c){return _0x254b8c['destroy']()['then'](function(){_0x9278d6[_0x0d3b('0x1e')](0xcc)[_0x0d3b('0x29')]();});}};}function handleEntityNotFound(_0x222424,_0x1de6a1){return function(_0x4c8ebf){if(!_0x4c8ebf){_0x222424[_0x0d3b('0x1d')](0x194);}return _0x4c8ebf;};}function handleError(_0x4f39f1,_0x164540){_0x164540=_0x164540||0x1f4;return function(_0x28fcc6){logger[_0x0d3b('0x2a')](_0x28fcc6[_0x0d3b('0x2b')]);if(_0x28fcc6[_0x0d3b('0x2c')]){delete _0x28fcc6[_0x0d3b('0x2c')];}_0x4f39f1['status'](_0x164540)['send'](_0x28fcc6);};}exports[_0x0d3b('0x2d')]=function(_0x37c46c,_0xa35bba){var _0x3a24ff={},_0x3e0186={},_0x3d7a6d={'count':0x0,'rows':[]};var _0x7221c9=_[_0x0d3b('0x2e')](db[_0x0d3b('0x2f')][_0x0d3b('0x30')],function(_0x3de28d){return{'name':_0x3de28d[_0x0d3b('0x31')],'type':_0x3de28d['type']['key']};});_0x3e0186[_0x0d3b('0x32')]=_[_0x0d3b('0x33')](_[_0x0d3b('0x2e')](_0x7221c9,'name'),[_0x0d3b('0x34')]);_0x3e0186[_0x0d3b('0x35')]=_[_0x0d3b('0x36')](_0x37c46c['query']);_0x3e0186[_0x0d3b('0x37')]=_[_0x0d3b('0x38')](_0x3e0186[_0x0d3b('0x32')],_0x3e0186['query']);_0x3a24ff[_0x0d3b('0x39')]=_[_0x0d3b('0x38')](_0x3e0186[_0x0d3b('0x32')],qs[_0x0d3b('0x3a')](_0x37c46c[_0x0d3b('0x35')]['fields']));_0x3a24ff[_0x0d3b('0x39')]=_0x3a24ff[_0x0d3b('0x39')][_0x0d3b('0x3b')]?_0x3a24ff['attributes']:_0x3e0186[_0x0d3b('0x32')];if(!_0x37c46c[_0x0d3b('0x35')][_0x0d3b('0x3c')](_0x0d3b('0x3d'))){_0x3a24ff[_0x0d3b('0x21')]=qs['limit'](_0x37c46c['query'][_0x0d3b('0x21')]);_0x3a24ff[_0x0d3b('0x23')]=qs['offset'](_0x37c46c[_0x0d3b('0x35')][_0x0d3b('0x23')]);}_0x3a24ff[_0x0d3b('0x3e')]=qs[_0x0d3b('0x3f')](_0x37c46c[_0x0d3b('0x35')][_0x0d3b('0x3f')]);_0x3a24ff['where']=qs[_0x0d3b('0x37')](_[_0x0d3b('0x40')](_0x37c46c[_0x0d3b('0x35')],_0x3e0186[_0x0d3b('0x37')]),_0x7221c9);if(_0x37c46c[_0x0d3b('0x35')]['filter']){_0x3a24ff[_0x0d3b('0x41')]=_[_0x0d3b('0x42')](_0x3a24ff[_0x0d3b('0x41')],{'$or':_[_0x0d3b('0x2e')](_0x7221c9,function(_0x4b8abb){if(_0x4b8abb[_0x0d3b('0x43')]!==_0x0d3b('0x44')){var _0x59d40a={};_0x59d40a[_0x4b8abb[_0x0d3b('0x2c')]]={'$like':'%'+_0x37c46c[_0x0d3b('0x35')]['filter']+'%'};return _0x59d40a;}})});}_0x3a24ff=_[_0x0d3b('0x42')]({},_0x3a24ff,_0x37c46c[_0x0d3b('0x45')]);var _0x359f3b={'where':_0x3a24ff[_0x0d3b('0x41')]};return db['VoiceRecording'][_0x0d3b('0x22')](_0x359f3b)[_0x0d3b('0x46')](function(_0x30b6f5){_0x3d7a6d[_0x0d3b('0x22')]=_0x30b6f5;if(_0x37c46c['query'][_0x0d3b('0x47')]){_0x3a24ff[_0x0d3b('0x48')]=[{'all':!![]}];}return db['VoiceRecording'][_0x0d3b('0x49')](_0x3a24ff);})[_0x0d3b('0x46')](function(_0x27764c){_0x3d7a6d[_0x0d3b('0x4a')]=_0x27764c;return _0x3d7a6d;})[_0x0d3b('0x46')](respondWithFilteredResult(_0xa35bba,_0x3a24ff))[_0x0d3b('0x4b')](handleError(_0xa35bba,null));};exports['show']=function(_0xb65553,_0x3b1db9){var _0x6dd8e3={'raw':![],'where':{'id':_0xb65553[_0x0d3b('0x4c')]['id']}},_0x1c85b3={};_0x1c85b3[_0x0d3b('0x32')]=_[_0x0d3b('0x36')](db[_0x0d3b('0x2f')][_0x0d3b('0x30')]);_0x1c85b3[_0x0d3b('0x35')]=_['keys'](_0xb65553[_0x0d3b('0x35')]);_0x1c85b3[_0x0d3b('0x37')]=_[_0x0d3b('0x38')](_0x1c85b3[_0x0d3b('0x32')],_0x1c85b3[_0x0d3b('0x35')]);_0x6dd8e3['attributes']=_[_0x0d3b('0x38')](_0x1c85b3[_0x0d3b('0x32')],qs[_0x0d3b('0x3a')](_0xb65553[_0x0d3b('0x35')][_0x0d3b('0x3a')]));_0x6dd8e3['attributes']=_0x6dd8e3[_0x0d3b('0x39')][_0x0d3b('0x3b')]?_0x6dd8e3[_0x0d3b('0x39')]:_0x1c85b3['model'];if(_0xb65553['query'][_0x0d3b('0x47')]){_0x6dd8e3[_0x0d3b('0x48')]=[{'all':!![]}];}_0x6dd8e3=_[_0x0d3b('0x42')]({},_0x6dd8e3,_0xb65553[_0x0d3b('0x45')]);return db[_0x0d3b('0x2f')][_0x0d3b('0x4d')](_0x6dd8e3)[_0x0d3b('0x46')](handleEntityNotFound(_0x3b1db9,null))[_0x0d3b('0x46')](respondWithResult(_0x3b1db9,null))['catch'](handleError(_0x3b1db9,null));};exports[_0x0d3b('0x4e')]=function(_0x2ab4db,_0x182f74){return db[_0x0d3b('0x2f')][_0x0d3b('0x4e')](_0x2ab4db[_0x0d3b('0x4f')],{})[_0x0d3b('0x46')](respondWithResult(_0x182f74,0xc9))[_0x0d3b('0x4b')](handleError(_0x182f74,null));};exports['update']=function(_0x1c445a,_0x59971c){if(_0x1c445a[_0x0d3b('0x4f')]['id']){delete _0x1c445a[_0x0d3b('0x4f')]['id'];}return db[_0x0d3b('0x2f')][_0x0d3b('0x4d')]({'where':{'id':_0x1c445a[_0x0d3b('0x4c')]['id']}})[_0x0d3b('0x46')](handleEntityNotFound(_0x59971c,null))[_0x0d3b('0x46')](saveUpdates(_0x1c445a[_0x0d3b('0x4f')],null))[_0x0d3b('0x46')](respondWithResult(_0x59971c,null))[_0x0d3b('0x4b')](handleError(_0x59971c,null));};exports[_0x0d3b('0x50')]=function(_0x3de855,_0x54ec5b){return db[_0x0d3b('0x2f')][_0x0d3b('0x50')]()[_0x0d3b('0x46')](respondWithResult(_0x54ec5b,null))[_0x0d3b('0x4b')](handleError(_0x54ec5b,null));};exports[_0x0d3b('0x51')]=function(_0x12825a,_0x3d35c8,_0xba74c5){var _0x41f255=require(_0x0d3b('0x52'));var _0x46ce9f=![];var _0x3fc575={};if(_0x12825a[_0x0d3b('0x35')]['type']&&_0x12825a[_0x0d3b('0x35')][_0x0d3b('0x43')]===_0x0d3b('0x53')){_0x3fc575[_0x0d3b('0x53')]=_0x12825a[_0x0d3b('0x4c')]['id'];}else{_0x3fc575['id']=_0x12825a['params']['id'];}return db[_0x0d3b('0x2f')][_0x0d3b('0x4d')]({'where':_0x3fc575,'attributes':['id',_0x0d3b('0x54')],'raw':!![]})[_0x0d3b('0x46')](handleEntityNotFound(_0x3d35c8,null))[_0x0d3b('0x46')](function(_0x452102){if(_0x452102){var _0x365a3f=_0x452102['value'];var _0x56eee0=util[_0x0d3b('0x34')](_0x0d3b('0x55'),_0x365a3f);if(fs[_0x0d3b('0x56')](_0x56eee0)){_0x46ce9f=!![];return _0x41f255[_0x0d3b('0x57')](_0x56eee0,_0x365a3f,config[_0x0d3b('0x58')][_0x0d3b('0x59')])[_0x0d3b('0x46')](function(){return _0x452102;});}return _0x452102;}})['then'](function(_0x57bbf6){if(_0x57bbf6){var _0x2b2997=_0x57bbf6[_0x0d3b('0x54')];if(!fs['existsSync'](_0x2b2997)){throw new db[(_0x0d3b('0x5a'))][(_0x0d3b('0x5b'))](_0x0d3b('0x5c'));}if(_0x57bbf6['filename']){return _0x3d35c8[_0x0d3b('0x51')](_0x2b2997,_0x57bbf6[_0x0d3b('0x5d')]+path['extname'](_0x2b2997),function(){if(_0x46ce9f){fs[_0x0d3b('0x5e')](_0x2b2997);}});}else{return _0x3d35c8[_0x0d3b('0x51')](_0x2b2997,function(_0x572ec6){if(_0x46ce9f){fs[_0x0d3b('0x5e')](_0x2b2997);}});}}})[_0x0d3b('0x4b')](function(_0x867fd){if(_0x867fd[_0x0d3b('0x5f')]==='VoiceRecording\x20not\x20found'){_0x3d35c8[_0x0d3b('0x1e')](0x194)[_0x0d3b('0x60')]('Not\x20found');}else{return handleError(_0x3d35c8,null);}});};exports[_0x0d3b('0x61')]=function(_0x5748c6,_0x56fd76,_0x5d0737){var _0x2736a6=require('../../components/encryptor');var _0x1db2af=![];var _0x3c7b76={'$and':[db[_0x0d3b('0x62')][_0x0d3b('0x41')](db[_0x0d3b('0x62')]['fn'](_0x0d3b('0x63'),db[_0x0d3b('0x62')][_0x0d3b('0x64')](_0x0d3b('0x53'))),_0x5748c6[_0x0d3b('0x35')]['token'])]};if(_0x5748c6[_0x0d3b('0x35')][_0x0d3b('0x43')]&&_0x5748c6[_0x0d3b('0x35')][_0x0d3b('0x43')]==='uniqueid'){_0x3c7b76[_0x0d3b('0x65')][_0x0d3b('0x66')]({'uniqueid':_0x5748c6[_0x0d3b('0x4c')]['id']});}else{_0x3c7b76[_0x0d3b('0x65')][_0x0d3b('0x66')]({'id':_0x5748c6[_0x0d3b('0x4c')]['id']});}return db[_0x0d3b('0x2f')][_0x0d3b('0x4d')]({'where':_0x3c7b76,'attributes':['id',_0x0d3b('0x54')],'raw':!![]})[_0x0d3b('0x46')](handleEntityNotFound(_0x56fd76,null))[_0x0d3b('0x46')](function(_0x25c215){if(_0x25c215){var _0x110d79=util[_0x0d3b('0x34')](_0x0d3b('0x55'),_0x25c215[_0x0d3b('0x54')]);if(fs[_0x0d3b('0x56')](_0x110d79)){_0x1db2af=!![];return _0x2736a6[_0x0d3b('0x57')](_0x110d79,_0x25c215[_0x0d3b('0x54')],config[_0x0d3b('0x58')][_0x0d3b('0x59')])[_0x0d3b('0x46')](function(){return _0x25c215;});}return _0x25c215;}})['then'](function(_0xa6dadf){if(_0xa6dadf){if(!fs[_0x0d3b('0x56')](_0xa6dadf[_0x0d3b('0x54')])){throw new db[(_0x0d3b('0x5a'))][(_0x0d3b('0x5b'))]('VoiceRecording\x20not\x20found');}if(_0xa6dadf[_0x0d3b('0x5d')]){return _0x56fd76[_0x0d3b('0x51')](_0xa6dadf[_0x0d3b('0x54')],_0xa6dadf[_0x0d3b('0x5d')]+path[_0x0d3b('0x67')](_0xa6dadf['value']),function(){if(_0x1db2af){fs['unlink'](_0xa6dadf[_0x0d3b('0x54')]);}});}else{return _0x56fd76[_0x0d3b('0x51')](_0xa6dadf[_0x0d3b('0x54')],function(_0x338051){if(_0x1db2af){fs[_0x0d3b('0x5e')](_0xa6dadf[_0x0d3b('0x54')]);}});}}})['catch'](handleError(_0x56fd76,null));};exports[_0x0d3b('0x68')]=function(_0x2239d3,_0x18caff){return db['VoiceRecording'][_0x0d3b('0x4d')]({'where':{'id':_0x2239d3[_0x0d3b('0x4c')]['id']}})[_0x0d3b('0x46')](function(_0x58ebdf){if(_['isNil'](_0x58ebdf)){throw new ReferenceError('Entity\x20not\x20found');}return _0x58ebdf;})[_0x0d3b('0x46')](function(_0x2f01fa){var _0xb4422b=_0x2f01fa['value'];logger[_0x0d3b('0x69')](_0x0d3b('0x6a'),_0xb4422b);if(!_['isNil'](_0x2f01fa['value'])&&fs[_0x0d3b('0x56')](_0xb4422b)){logger[_0x0d3b('0x69')]('File:\x20\x22'+_0xb4422b+'\x22\x20trovato\x20eseguo\x20la\x20cancellazione');fs[_0x0d3b('0x6b')](_0xb4422b);}_0xb4422b=_0xb4422b+_0x0d3b('0x6c');if(!_['isNil'](_0x2f01fa['value'])&&fs[_0x0d3b('0x56')](_0xb4422b)){logger[_0x0d3b('0x69')]('File:\x20\x22'+_0xb4422b+_0x0d3b('0x6d'));fs[_0x0d3b('0x6b')](_0xb4422b);}return _0x2f01fa;})[_0x0d3b('0x46')](function(_0x319db7){if(!_0x319db7)throw new InternalError();return _0x319db7[_0x0d3b('0x68')]();})[_0x0d3b('0x46')](function(){_0x18caff[_0x0d3b('0x1e')](0xcc)[_0x0d3b('0x29')]();})[_0x0d3b('0x4b')](handleError(_0x18caff,null));};function getBucketslist(_0xc193b5,_0x6b5b1d,_0x5ac82c){return new Promise(function(_0x5697c0,_0x4f2323){var _0x4bead6=new AWS['S3']({'accessKeyId':_0x6b5b1d,'secretAccessKey':_0xc193b5,'region':_0x5ac82c});_0x4bead6[_0x0d3b('0x6e')]({},function(_0x3042a0,_0x232a61){if(_0x3042a0){return _0x4f2323(_0x3042a0);}else{return _0x5697c0(_0x232a61);}});});}function createBucket(_0x18a564,_0x2846ea,_0x1c4fa9,_0x1ba014){return new Promise(function(_0x4ca2b0,_0x196521){var _0x57c125=new AWS['S3']({'accessKeyId':_0x2846ea,'secretAccessKey':_0x18a564,'region':_0x1c4fa9});_0x57c125[_0x0d3b('0x6f')]({'Bucket':_0x1ba014},function(_0x3c81e2,_0x41fb81){if(_0x3c81e2){return _0x196521(_0x3c81e2);}else{return _0x4ca2b0(_0x41fb81);}});});}function uploadFile(_0x590742,_0x384147,_0x4e1298,_0x4ed308,_0x1032fc,_0x41a130){return new Promise(function(_0x58b1f3,_0x498b5d){var _0x18c0b6=new AWS['S3']({'accessKeyId':_0x384147,'secretAccessKey':_0x590742,'region':_0x4e1298});_0x18c0b6['upload']({'Bucket':_0x4ed308,'Key':_0x1032fc,'Body':_0x41a130},function(_0x36ce65,_0x384d6e){if(_0x36ce65){return _0x498b5d(_0x36ce65);}else{return _0x58b1f3(_0x384d6e);}});});}function startTranscribe(_0x542b1c,_0x233c65,_0x215ef8,_0x39f003,_0x443356,_0x3bb132){return new Promise(function(_0x5f03b5,_0x1f1c54){var _0x44f202=new AWS[(_0x0d3b('0x70'))]({'accessKeyId':_0x233c65,'secretAccessKey':_0x542b1c,'region':_0x215ef8});_0x44f202['startTranscriptionJob']({'TranscriptionJobName':_0x39f003,'LanguageCode':_0x443356,'Media':{'MediaFileUri':_0x3bb132}},function(_0x2d6b31,_0x48d94b){if(_0x2d6b31){return _0x1f1c54(_0x2d6b31);}else{return _0x5f03b5(_0x48d94b);}});});}function transcribe(_0x279a77,_0x11afc5,_0xf17883,_0x3c8447,_0x2e5676,_0x1045ec,_0x4e15f9){return new Promise(function(_0xf60957,_0x4e7a40){var _0x5c5650={};logger[_0x0d3b('0x69')](util[_0x0d3b('0x34')](_0x0d3b('0x71'),_0x279a77,_0x2e5676));return uploadFile(_0x11afc5,_0xf17883,_0x3c8447,_0x2e5676,path[_0x0d3b('0x72')](_0x1045ec),fs[_0x0d3b('0x73')](_0x1045ec))[_0x0d3b('0x46')](function(_0x34fe10){logger[_0x0d3b('0x69')](util[_0x0d3b('0x34')](_0x0d3b('0x74'),_0x279a77,_0x2e5676,_0x34fe10[_0x0d3b('0x75')]));_0x5c5650[_0x0d3b('0x76')]=_0x34fe10[_0x0d3b('0x77')];_0x5c5650['location']=_0x34fe10[_0x0d3b('0x75')];logger[_0x0d3b('0x69')](util[_0x0d3b('0x34')](_0x0d3b('0x78'),_0x279a77));return startTranscribe(_0x11afc5,_0xf17883,_0x3c8447,uuidv4(),_0x4e15f9,_0x34fe10[_0x0d3b('0x75')]);})[_0x0d3b('0x46')](function(_0x4fb340){logger[_0x0d3b('0x69')](util['format'](_0x0d3b('0x79'),_0x279a77,_0x4fb340['TranscriptionJob']['TranscriptionJobName']));_0x5c5650[_0x0d3b('0x7a')]=_0x4fb340['TranscriptionJob'][_0x0d3b('0x7b')];_0x5c5650[_0x0d3b('0x7c')]=_0x4fb340[_0x0d3b('0x7d')]['TranscriptionJobStatus'];return _0xf60957(_0x5c5650);})[_0x0d3b('0x4b')](function(_0x582055){return _0x4e7a40(_0x582055);});});}exports[_0x0d3b('0x7e')]=function(_0xe57338,_0x17a116,_0x41884e){var _0x4fc27e;var _0x1b7ba3;var _0x2c161a;var _0x5f30e7=require(_0x0d3b('0x52'));return db[_0x0d3b('0x2f')][_0x0d3b('0x7f')]({'where':{'id':_0xe57338[_0x0d3b('0x4c')]['id']}})[_0x0d3b('0x46')](function(_0xa59261){if(_0xa59261){var _0x4af9df=util['format'](_0x0d3b('0x55'),_0xa59261[_0x0d3b('0x54')]);if(fs[_0x0d3b('0x56')](_0x4af9df)){cypher=!![];return _0x5f30e7[_0x0d3b('0x57')](_0x4af9df,_0xa59261['value'],config[_0x0d3b('0x58')][_0x0d3b('0x59')])[_0x0d3b('0x46')](function(){return _0xa59261;});}return _0xa59261;}})[_0x0d3b('0x46')](function(_0xa8a849){if(!_0xa8a849){throw new db[(_0x0d3b('0x5a'))]['ValidationError'](_0x0d3b('0x80'));}_0x1b7ba3=_0xa8a849;return db[_0x0d3b('0x81')][_0x0d3b('0x7f')]({'where':{'id':0x1}});})[_0x0d3b('0x46')](handleEntityNotFound(_0x17a116,null))[_0x0d3b('0x46')](function(_0x2981a3){if(_0x2981a3){_0x4fc27e=_0x2981a3;if(!_0x4fc27e[_0x0d3b('0x82')]||!_0x4fc27e[_0x0d3b('0x83')]||!_0x4fc27e['transcribeRegion']||!_0x4fc27e['language']||!_0x4fc27e[_0x0d3b('0x76')]){throw new db['Sequelize'][(_0x0d3b('0x5b'))](_0x0d3b('0x84'));}if(_0xe57338[_0x0d3b('0x4f')][_0x0d3b('0x85')]&&(!_0x4fc27e[_0x0d3b('0x86')]||!_0x4fc27e['sentimentAccountId']||!_0x4fc27e[_0x0d3b('0x87')]||!_0x4fc27e[_0x0d3b('0x88')]||!_0x4fc27e[_0x0d3b('0x76')])){throw new db['Sequelize'][(_0x0d3b('0x5b'))](_0x0d3b('0x89'));}return db[_0x0d3b('0x8a')][_0x0d3b('0x7f')]({'where':{'id':_0x4fc27e['transcribeAccountId']}});}})[_0x0d3b('0x46')](function(_0x79e5fa){if(!_0x79e5fa){throw new db[(_0x0d3b('0x5a'))][(_0x0d3b('0x5b'))](_0x0d3b('0x8b'));}if(!_0x79e5fa[_0x0d3b('0x8c')]||!_0x79e5fa[_0x0d3b('0x8d')]){throw new db['Sequelize'][(_0x0d3b('0x5b'))]('Cloud\x20Provider\x20not\x20configured');}_0x2c161a=_0x79e5fa;return getBucketslist(_0x2c161a[_0x0d3b('0x8c')],_0x2c161a[_0x0d3b('0x8d')],_0x4fc27e[_0x0d3b('0x8e')]);})[_0x0d3b('0x46')](function(_0x472fb9){if(_0x472fb9&&_0x472fb9[_0x0d3b('0x8f')]){var _0x32f91d=_[_0x0d3b('0x4d')](_0x472fb9[_0x0d3b('0x8f')],function(_0x5e5515){return _0x5e5515[_0x0d3b('0x90')]===_0x4fc27e[_0x0d3b('0x76')];});if(!_0x32f91d){logger[_0x0d3b('0x69')](util[_0x0d3b('0x34')](_0x0d3b('0x91'),_0xe57338[_0x0d3b('0x4c')]['id'],_0x4fc27e['bucket']));return createBucket(_0x2c161a['data1'],_0x2c161a[_0x0d3b('0x8d')],_0x4fc27e[_0x0d3b('0x8e')],_0x4fc27e[_0x0d3b('0x76')]);}logger[_0x0d3b('0x69')](util[_0x0d3b('0x34')]('[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20available',_0xe57338[_0x0d3b('0x4c')]['id'],_0x4fc27e[_0x0d3b('0x76')]));return;}})['then'](function(_0x5d2d66){if(_0x1b7ba3[_0x0d3b('0x7c')]===_0x0d3b('0x92')){return transcribe(_0xe57338[_0x0d3b('0x4c')]['id'],_0x2c161a[_0x0d3b('0x8c')],_0x2c161a[_0x0d3b('0x8d')],_0x4fc27e['transcribeRegion'],_0x4fc27e[_0x0d3b('0x76')],_0x1b7ba3[_0x0d3b('0x54')],_0x4fc27e[_0x0d3b('0x88')]);}else{logger['info'](util['format'](_0x0d3b('0x93'),_0xe57338['params']['id']));return{'transcribeStatus':_0x0d3b('0x94')};}})[_0x0d3b('0x46')](function(_0x430230){if(_0x430230){_0x430230[_0x0d3b('0x95')]=_0xe57338[_0x0d3b('0x4f')]['runSentiment'];return _0x1b7ba3[_0x0d3b('0x96')](_0x430230);}})[_0x0d3b('0x46')](respondWithResult(_0x17a116,null))[_0x0d3b('0x4b')](handleError(_0x17a116,null));};function writeFile(_0x23fef4,_0x324cc8){return new Promise(function(_0x19d778,_0x304e03){fs[_0x0d3b('0x97')](_0x324cc8,_0x23fef4,function(_0x40ab58,_0x20d732){if(_0x40ab58){return _0x304e03(_0x40ab58);}else{return _0x19d778(_0x20d732);}});});}exports[_0x0d3b('0x98')]=function(_0x25047a,_0x20390c,_0x5b2140){return db[_0x0d3b('0x2f')][_0x0d3b('0x7f')]({'where':{'id':_0x25047a['params']['id']}})[_0x0d3b('0x46')](handleEntityNotFound(_0x20390c))[_0x0d3b('0x46')](function(_0x44e2fd){if(_0x44e2fd&&_0x44e2fd[_0x0d3b('0x99')]){var _0x6cc5ea=_0x44e2fd[_0x0d3b('0x99')];var _0x2a2a95=config[_0x0d3b('0x9a')]+_0x0d3b('0x9b')+_0x44e2fd['id']+_0x0d3b('0x9c');if(fs['existsSync'](_0x2a2a95)){return _0x2a2a95;}return writeFile(_0x6cc5ea,_0x2a2a95)['then'](function(){return _0x2a2a95;});}else{throw new db['Sequelize'][(_0x0d3b('0x5b'))](_0x0d3b('0x9d'));}})[_0x0d3b('0x46')](function(_0x18c6e3){return _0x20390c[_0x0d3b('0x51')](_0x18c6e3);})[_0x0d3b('0x4b')](handleError(_0x20390c));};