d9c0f17ba22f610afac6b26f499c5bf61a3abf63
[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 _0x0fc5=['[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','TranscriptionJob','transcribeName','TranscriptionJobName','transcribeStatus','TranscriptionJobStatus','runTranscribe','findOne','Voice\x20Recording\x20not\x20found','Setting','transcribeAccountId','transcribeRegion','language','Transcribe\x20not\x20configured','runSentiment','sentimentAccountId','sentimentRegion','CloudProvider','data1','Cloud\x20Provider\x20not\x20configured','data2','Buckets','bucket','[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20not\x20available','[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20available','NEW','IN_PROGRESS','tempSentiment','updateAttributes','writeFile','downloadTranscribe','fileText','/server/files/transcribes/transcribe_','.txt','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','util','path','sox','to-csv','ejs','fs-extra','lodash','crypto','desk.js','querystring','papaparse','uuid/v4','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','status','json','undefined','count','offset','limit','set','apply','save','update','then','destroy','end','sendStatus','name','send','index','map','VoiceRecording','rawAttributes','fieldName','type','key','model','differenceBy','format','query','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','pick','filter','merge','where','includeAll','include','catch','params','keys','create','body','describe','download','../../components/encryptor','uniqueid','find','value','%s.cypher','existsSync','decryptFile','secrets','recording','Sequelize','ValidationError','filename','extname','unlink','Not\x20found','sequelize','MD5','col','token','$and','push','VoiceRecording\x20not\x20found','Entity\x20not\x20found','info','cancellazione\x20fisica\x20documento\x20%s','isNil','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','.cypher','listBuckets','createBucket','TranscribeService','startTranscriptionJob','[RUNTRANSCRIPT][%d]\x20Starting\x20voice\x20recording\x20upload\x20in\x20bucket\x20%s','readFileSync'];(function(_0x582ccd,_0xa9ab43){var _0x11545d=function(_0x4010fa){while(--_0x4010fa){_0x582ccd['push'](_0x582ccd['shift']());}};_0x11545d(++_0xa9ab43);}(_0x0fc5,0xbd));var _0x50fc=function(_0x279df8,_0x58ac13){_0x279df8=_0x279df8-0x0;var _0x180824=_0x0fc5[_0x279df8];return _0x180824;};'use strict';var emlformat=require(_0x50fc('0x0'));var rimraf=require(_0x50fc('0x1'));var zipdir=require(_0x50fc('0x2'));var jsonpatch=require(_0x50fc('0x3'));var rp=require(_0x50fc('0x4'));var moment=require('moment');var BPromise=require(_0x50fc('0x5'));var Mustache=require('mustache');var util=require(_0x50fc('0x6'));var path=require(_0x50fc('0x7'));var sox=require(_0x50fc('0x8'));var csv=require(_0x50fc('0x9'));var ejs=require(_0x50fc('0xa'));var fs=require('fs');var fs_extra=require(_0x50fc('0xb'));var _=require(_0x50fc('0xc'));var squel=require('squel');var crypto=require(_0x50fc('0xd'));var jsforce=require('jsforce');var deskjs=require(_0x50fc('0xe'));var toCsv=require(_0x50fc('0x9'));var querystring=require(_0x50fc('0xf'));var Papa=require(_0x50fc('0x10'));var AWS=require('aws-sdk');var uuidv4=require(_0x50fc('0x11'));var Redis=require('ioredis');var authService=require(_0x50fc('0x12'));var qs=require(_0x50fc('0x13'));var as=require(_0x50fc('0x14'));var hardwareService=require(_0x50fc('0x15'));var logger=require(_0x50fc('0x16'))('api');var utils=require(_0x50fc('0x17'));var config=require(_0x50fc('0x18'));var licenseUtil=require(_0x50fc('0x19'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x58d21d,_0x1b2a15){_0x1b2a15=_0x1b2a15||0xcc;return function(_0x16e5f2){if(_0x16e5f2){return _0x58d21d['sendStatus'](_0x1b2a15);}return _0x58d21d[_0x50fc('0x1a')](_0x1b2a15)['end']();};}function respondWithResult(_0x3dbf3e,_0x3075fc){_0x3075fc=_0x3075fc||0xc8;return function(_0x2369fa){if(_0x2369fa){return _0x3dbf3e['status'](_0x3075fc)[_0x50fc('0x1b')](_0x2369fa);}};}function respondWithFilteredResult(_0x3512a9,_0xbf6599){return function(_0xf0e0ba){if(_0xf0e0ba){var _0x1da3fb=typeof _0xbf6599['offset']===_0x50fc('0x1c')&&typeof _0xbf6599['limit']===_0x50fc('0x1c');var _0x26e498=_0xf0e0ba[_0x50fc('0x1d')];var _0x2e892a=_0x1da3fb?0x0:_0xbf6599[_0x50fc('0x1e')];var _0x511874=_0x1da3fb?_0xf0e0ba['count']:_0xbf6599[_0x50fc('0x1e')]+_0xbf6599[_0x50fc('0x1f')];var _0x1a2d04;if(_0x511874>=_0x26e498){_0x511874=_0x26e498;_0x1a2d04=0xc8;}else{_0x1a2d04=0xce;}_0x3512a9[_0x50fc('0x1a')](_0x1a2d04);return _0x3512a9[_0x50fc('0x20')]('Content-Range',_0x2e892a+'-'+_0x511874+'/'+_0x26e498)['json'](_0xf0e0ba);}return null;};}function patchUpdates(_0x32c2be){return function(_0x343f14){try{jsonpatch[_0x50fc('0x21')](_0x343f14,_0x32c2be,!![]);}catch(_0x564b34){return BPromise['reject'](_0x564b34);}return _0x343f14[_0x50fc('0x22')]();};}function saveUpdates(_0xced0d9,_0x438a34){return function(_0x30b7a3){if(_0x30b7a3){return _0x30b7a3[_0x50fc('0x23')](_0xced0d9)[_0x50fc('0x24')](function(_0x37c94f){return _0x37c94f;});}return null;};}function removeEntity(_0x3b8348,_0x2149dc){return function(_0x12d6f2){if(_0x12d6f2){return _0x12d6f2[_0x50fc('0x25')]()[_0x50fc('0x24')](function(){_0x3b8348[_0x50fc('0x1a')](0xcc)[_0x50fc('0x26')]();});}};}function handleEntityNotFound(_0x2812ae,_0x4726db){return function(_0xb98671){if(!_0xb98671){_0x2812ae[_0x50fc('0x27')](0x194);}return _0xb98671;};}function handleError(_0x563a3e,_0x54fa9b){_0x54fa9b=_0x54fa9b||0x1f4;return function(_0x140c0f){logger['error'](_0x140c0f['stack']);if(_0x140c0f[_0x50fc('0x28')]){delete _0x140c0f[_0x50fc('0x28')];}_0x563a3e[_0x50fc('0x1a')](_0x54fa9b)[_0x50fc('0x29')](_0x140c0f);};}exports[_0x50fc('0x2a')]=function(_0x344c60,_0x39a44d){var _0x3b44da={},_0x2122b5={},_0xfbce23={'count':0x0,'rows':[]};var _0x1449b5=_[_0x50fc('0x2b')](db[_0x50fc('0x2c')][_0x50fc('0x2d')],function(_0x234bc1){return{'name':_0x234bc1[_0x50fc('0x2e')],'type':_0x234bc1[_0x50fc('0x2f')][_0x50fc('0x30')]};});_0x2122b5[_0x50fc('0x31')]=_[_0x50fc('0x32')](_['map'](_0x1449b5,_0x50fc('0x28')),[_0x50fc('0x33')]);_0x2122b5['query']=_['keys'](_0x344c60[_0x50fc('0x34')]);_0x2122b5[_0x50fc('0x35')]=_[_0x50fc('0x36')](_0x2122b5[_0x50fc('0x31')],_0x2122b5[_0x50fc('0x34')]);_0x3b44da['attributes']=_[_0x50fc('0x36')](_0x2122b5[_0x50fc('0x31')],qs[_0x50fc('0x37')](_0x344c60['query'][_0x50fc('0x37')]));_0x3b44da[_0x50fc('0x38')]=_0x3b44da[_0x50fc('0x38')][_0x50fc('0x39')]?_0x3b44da[_0x50fc('0x38')]:_0x2122b5['model'];if(!_0x344c60[_0x50fc('0x34')][_0x50fc('0x3a')](_0x50fc('0x3b'))){_0x3b44da[_0x50fc('0x1f')]=qs[_0x50fc('0x1f')](_0x344c60['query'][_0x50fc('0x1f')]);_0x3b44da[_0x50fc('0x1e')]=qs[_0x50fc('0x1e')](_0x344c60[_0x50fc('0x34')][_0x50fc('0x1e')]);}_0x3b44da[_0x50fc('0x3c')]=qs['sort'](_0x344c60[_0x50fc('0x34')][_0x50fc('0x3d')]);_0x3b44da['where']=qs[_0x50fc('0x35')](_[_0x50fc('0x3e')](_0x344c60[_0x50fc('0x34')],_0x2122b5[_0x50fc('0x35')]),_0x1449b5);if(_0x344c60[_0x50fc('0x34')][_0x50fc('0x3f')]){_0x3b44da['where']=_[_0x50fc('0x40')](_0x3b44da[_0x50fc('0x41')],{'$or':_[_0x50fc('0x2b')](_0x1449b5,function(_0x404c15){if(_0x404c15['type']!=='VIRTUAL'){var _0x3a2770={};_0x3a2770[_0x404c15['name']]={'$like':'%'+_0x344c60['query'][_0x50fc('0x3f')]+'%'};return _0x3a2770;}})});}_0x3b44da=_['merge']({},_0x3b44da,_0x344c60['options']);var _0x2e3887={'where':_0x3b44da[_0x50fc('0x41')]};return db[_0x50fc('0x2c')][_0x50fc('0x1d')](_0x2e3887)[_0x50fc('0x24')](function(_0xb204ef){_0xfbce23[_0x50fc('0x1d')]=_0xb204ef;if(_0x344c60['query'][_0x50fc('0x42')]){_0x3b44da[_0x50fc('0x43')]=[{'all':!![]}];}return db[_0x50fc('0x2c')]['findAll'](_0x3b44da);})[_0x50fc('0x24')](function(_0xc042eb){_0xfbce23['rows']=_0xc042eb;return _0xfbce23;})[_0x50fc('0x24')](respondWithFilteredResult(_0x39a44d,_0x3b44da))[_0x50fc('0x44')](handleError(_0x39a44d,null));};exports['show']=function(_0x40a72c,_0x5348a9){var _0x39118a={'raw':![],'where':{'id':_0x40a72c[_0x50fc('0x45')]['id']}},_0x31a082={};_0x31a082[_0x50fc('0x31')]=_[_0x50fc('0x46')](db[_0x50fc('0x2c')][_0x50fc('0x2d')]);_0x31a082[_0x50fc('0x34')]=_[_0x50fc('0x46')](_0x40a72c[_0x50fc('0x34')]);_0x31a082['filters']=_['intersection'](_0x31a082[_0x50fc('0x31')],_0x31a082[_0x50fc('0x34')]);_0x39118a[_0x50fc('0x38')]=_[_0x50fc('0x36')](_0x31a082['model'],qs[_0x50fc('0x37')](_0x40a72c[_0x50fc('0x34')][_0x50fc('0x37')]));_0x39118a[_0x50fc('0x38')]=_0x39118a['attributes'][_0x50fc('0x39')]?_0x39118a[_0x50fc('0x38')]:_0x31a082['model'];if(_0x40a72c[_0x50fc('0x34')][_0x50fc('0x42')]){_0x39118a[_0x50fc('0x43')]=[{'all':!![]}];}_0x39118a=_['merge']({},_0x39118a,_0x40a72c['options']);return db[_0x50fc('0x2c')]['find'](_0x39118a)[_0x50fc('0x24')](handleEntityNotFound(_0x5348a9,null))[_0x50fc('0x24')](respondWithResult(_0x5348a9,null))[_0x50fc('0x44')](handleError(_0x5348a9,null));};exports[_0x50fc('0x47')]=function(_0x27bba3,_0x339578){return db['VoiceRecording'][_0x50fc('0x47')](_0x27bba3['body'],{})[_0x50fc('0x24')](respondWithResult(_0x339578,0xc9))[_0x50fc('0x44')](handleError(_0x339578,null));};exports['update']=function(_0x4ab890,_0x282d36){if(_0x4ab890[_0x50fc('0x48')]['id']){delete _0x4ab890[_0x50fc('0x48')]['id'];}return db[_0x50fc('0x2c')]['find']({'where':{'id':_0x4ab890[_0x50fc('0x45')]['id']}})['then'](handleEntityNotFound(_0x282d36,null))[_0x50fc('0x24')](saveUpdates(_0x4ab890['body'],null))['then'](respondWithResult(_0x282d36,null))['catch'](handleError(_0x282d36,null));};exports[_0x50fc('0x49')]=function(_0x2cb24b,_0x7ce0c){return db[_0x50fc('0x2c')]['describe']()[_0x50fc('0x24')](respondWithResult(_0x7ce0c,null))[_0x50fc('0x44')](handleError(_0x7ce0c,null));};exports[_0x50fc('0x4a')]=function(_0x1d94c5,_0x3e47d7,_0x37339f){var _0x4e3764=require(_0x50fc('0x4b'));var _0x3b34e2=![];var _0x518682={};if(_0x1d94c5['query'][_0x50fc('0x2f')]&&_0x1d94c5['query']['type']===_0x50fc('0x4c')){_0x518682['uniqueid']=_0x1d94c5[_0x50fc('0x45')]['id'];}else{_0x518682['id']=_0x1d94c5[_0x50fc('0x45')]['id'];}return db[_0x50fc('0x2c')][_0x50fc('0x4d')]({'where':_0x518682,'attributes':['id','value'],'raw':!![]})[_0x50fc('0x24')](handleEntityNotFound(_0x3e47d7,null))['then'](function(_0x5bccaf){if(_0x5bccaf){var _0x1bc167=_0x5bccaf[_0x50fc('0x4e')];var _0x1af93a=util[_0x50fc('0x33')](_0x50fc('0x4f'),_0x1bc167);if(fs[_0x50fc('0x50')](_0x1af93a)){_0x3b34e2=!![];return _0x4e3764[_0x50fc('0x51')](_0x1af93a,_0x1bc167,config[_0x50fc('0x52')][_0x50fc('0x53')])['then'](function(){return _0x5bccaf;});}return _0x5bccaf;}})[_0x50fc('0x24')](function(_0x27f71a){if(_0x27f71a){var _0x3ea04a=_0x27f71a[_0x50fc('0x4e')];if(!fs[_0x50fc('0x50')](_0x3ea04a)){throw new db[(_0x50fc('0x54'))][(_0x50fc('0x55'))]('VoiceRecording\x20not\x20found');}if(_0x27f71a[_0x50fc('0x56')]){return _0x3e47d7[_0x50fc('0x4a')](_0x3ea04a,_0x27f71a[_0x50fc('0x56')]+path[_0x50fc('0x57')](_0x3ea04a),function(){if(_0x3b34e2){fs[_0x50fc('0x58')](_0x3ea04a);}});}else{return _0x3e47d7[_0x50fc('0x4a')](_0x3ea04a,function(_0x2c75c0){if(_0x3b34e2){fs[_0x50fc('0x58')](_0x3ea04a);}});}}})[_0x50fc('0x44')](function(_0x322d8c){if(_0x322d8c['message']==='VoiceRecording\x20not\x20found'){_0x3e47d7[_0x50fc('0x1a')](0x194)[_0x50fc('0x29')](_0x50fc('0x59'));}else{return handleError(_0x3e47d7,null);}});};exports['downloads']=function(_0x5ee4b8,_0x1f5c40,_0x37aaf0){var _0x2889ce=require(_0x50fc('0x4b'));var _0x12118d=![];var _0x1bd282={'$and':[db[_0x50fc('0x5a')][_0x50fc('0x41')](db[_0x50fc('0x5a')]['fn'](_0x50fc('0x5b'),db[_0x50fc('0x5a')][_0x50fc('0x5c')](_0x50fc('0x4c'))),_0x5ee4b8[_0x50fc('0x34')][_0x50fc('0x5d')])]};if(_0x5ee4b8[_0x50fc('0x34')][_0x50fc('0x2f')]&&_0x5ee4b8[_0x50fc('0x34')][_0x50fc('0x2f')]===_0x50fc('0x4c')){_0x1bd282[_0x50fc('0x5e')][_0x50fc('0x5f')]({'uniqueid':_0x5ee4b8[_0x50fc('0x45')]['id']});}else{_0x1bd282[_0x50fc('0x5e')][_0x50fc('0x5f')]({'id':_0x5ee4b8['params']['id']});}return db[_0x50fc('0x2c')][_0x50fc('0x4d')]({'where':_0x1bd282,'attributes':['id',_0x50fc('0x4e')],'raw':!![]})[_0x50fc('0x24')](handleEntityNotFound(_0x1f5c40,null))[_0x50fc('0x24')](function(_0x587040){if(_0x587040){var _0x352ba2=util[_0x50fc('0x33')](_0x50fc('0x4f'),_0x587040[_0x50fc('0x4e')]);if(fs['existsSync'](_0x352ba2)){_0x12118d=!![];return _0x2889ce[_0x50fc('0x51')](_0x352ba2,_0x587040['value'],config[_0x50fc('0x52')][_0x50fc('0x53')])['then'](function(){return _0x587040;});}return _0x587040;}})[_0x50fc('0x24')](function(_0x51e9fe){if(_0x51e9fe){if(!fs[_0x50fc('0x50')](_0x51e9fe[_0x50fc('0x4e')])){throw new db[(_0x50fc('0x54'))]['ValidationError'](_0x50fc('0x60'));}if(_0x51e9fe[_0x50fc('0x56')]){return _0x1f5c40[_0x50fc('0x4a')](_0x51e9fe['value'],_0x51e9fe[_0x50fc('0x56')]+path[_0x50fc('0x57')](_0x51e9fe[_0x50fc('0x4e')]),function(){if(_0x12118d){fs['unlink'](_0x51e9fe[_0x50fc('0x4e')]);}});}else{return _0x1f5c40[_0x50fc('0x4a')](_0x51e9fe[_0x50fc('0x4e')],function(_0x269152){if(_0x12118d){fs[_0x50fc('0x58')](_0x51e9fe[_0x50fc('0x4e')]);}});}}})[_0x50fc('0x44')](handleError(_0x1f5c40,null));};exports[_0x50fc('0x25')]=function(_0x1834dd,_0xc97c77){return db[_0x50fc('0x2c')][_0x50fc('0x4d')]({'where':{'id':_0x1834dd[_0x50fc('0x45')]['id']}})[_0x50fc('0x24')](function(_0x284481){if(_['isNil'](_0x284481)){throw new ReferenceError(_0x50fc('0x61'));}return _0x284481;})[_0x50fc('0x24')](function(_0x5cfb3a){var _0x4f8f7=_0x5cfb3a[_0x50fc('0x4e')];logger[_0x50fc('0x62')](_0x50fc('0x63'),_0x4f8f7);if(!_[_0x50fc('0x64')](_0x5cfb3a[_0x50fc('0x4e')])&&fs['existsSync'](_0x4f8f7)){logger[_0x50fc('0x62')](_0x50fc('0x65')+_0x4f8f7+_0x50fc('0x66'));fs[_0x50fc('0x67')](_0x4f8f7);}_0x4f8f7=_0x4f8f7+_0x50fc('0x68');if(!_[_0x50fc('0x64')](_0x5cfb3a[_0x50fc('0x4e')])&&fs[_0x50fc('0x50')](_0x4f8f7)){logger['info'](_0x50fc('0x65')+_0x4f8f7+_0x50fc('0x66'));fs[_0x50fc('0x67')](_0x4f8f7);}return _0x5cfb3a;})[_0x50fc('0x24')](function(_0x204886){if(!_0x204886)throw new InternalError();return _0x204886[_0x50fc('0x25')]();})[_0x50fc('0x24')](function(){_0xc97c77[_0x50fc('0x1a')](0xcc)[_0x50fc('0x26')]();})[_0x50fc('0x44')](handleError(_0xc97c77,null));};function getBucketslist(_0x1205d3,_0x195746,_0x50c995){return new Promise(function(_0x5e3f81,_0x484d2b){var _0x47f4d9=new AWS['S3']({'accessKeyId':_0x195746,'secretAccessKey':_0x1205d3,'region':_0x50c995});_0x47f4d9[_0x50fc('0x69')]({},function(_0x296eba,_0x22072b){if(_0x296eba){return _0x484d2b(_0x296eba);}else{return _0x5e3f81(_0x22072b);}});});}function createBucket(_0x3b3e04,_0x5c1299,_0x40c7a3,_0x1cbcb8){return new Promise(function(_0x204033,_0x408808){var _0x3063c8=new AWS['S3']({'accessKeyId':_0x5c1299,'secretAccessKey':_0x3b3e04,'region':_0x40c7a3});_0x3063c8[_0x50fc('0x6a')]({'Bucket':_0x1cbcb8},function(_0x2a06b9,_0x189b2f){if(_0x2a06b9){return _0x408808(_0x2a06b9);}else{return _0x204033(_0x189b2f);}});});}function uploadFile(_0x50aa51,_0x115f5b,_0x31de38,_0x116c5d,_0x2c35a2,_0x1123b3){return new Promise(function(_0x181b31,_0x18b81f){var _0x3dd043=new AWS['S3']({'accessKeyId':_0x115f5b,'secretAccessKey':_0x50aa51,'region':_0x31de38});_0x3dd043['upload']({'Bucket':_0x116c5d,'Key':_0x2c35a2,'Body':_0x1123b3},function(_0x2b78b4,_0x4c6bd4){if(_0x2b78b4){return _0x18b81f(_0x2b78b4);}else{return _0x181b31(_0x4c6bd4);}});});}function startTranscribe(_0x8d1b8f,_0x203829,_0x3ecf18,_0x5ec359,_0x1ac9d2,_0x13b12a){return new Promise(function(_0x325aa7,_0x403541){var _0x1090d6=new AWS[(_0x50fc('0x6b'))]({'accessKeyId':_0x203829,'secretAccessKey':_0x8d1b8f,'region':_0x3ecf18});_0x1090d6[_0x50fc('0x6c')]({'TranscriptionJobName':_0x5ec359,'LanguageCode':_0x1ac9d2,'Media':{'MediaFileUri':_0x13b12a}},function(_0x473375,_0x10fd6b){if(_0x473375){return _0x403541(_0x473375);}else{return _0x325aa7(_0x10fd6b);}});});}function transcribe(_0x37945a,_0xbc923e,_0x18eb5e,_0x58a68d,_0x7f2dc,_0x3d6a9b,_0x6acb4d){return new Promise(function(_0x4ca4b8,_0x2b0c81){var _0x385890={};logger['info'](util['format'](_0x50fc('0x6d'),_0x37945a,_0x7f2dc));return uploadFile(_0xbc923e,_0x18eb5e,_0x58a68d,_0x7f2dc,path['basename'](_0x3d6a9b),fs[_0x50fc('0x6e')](_0x3d6a9b))[_0x50fc('0x24')](function(_0x5d6401){logger[_0x50fc('0x62')](util[_0x50fc('0x33')](_0x50fc('0x6f'),_0x37945a,_0x7f2dc,_0x5d6401[_0x50fc('0x70')]));_0x385890['bucket']=_0x5d6401[_0x50fc('0x71')];_0x385890[_0x50fc('0x72')]=_0x5d6401['Location'];logger[_0x50fc('0x62')](util['format'](_0x50fc('0x73'),_0x37945a));return startTranscribe(_0xbc923e,_0x18eb5e,_0x58a68d,uuidv4(),_0x6acb4d,_0x5d6401['Location']);})[_0x50fc('0x24')](function(_0x29248c){logger['info'](util[_0x50fc('0x33')](_0x50fc('0x74'),_0x37945a,_0x29248c[_0x50fc('0x75')]['TranscriptionJobName']));_0x385890[_0x50fc('0x76')]=_0x29248c[_0x50fc('0x75')][_0x50fc('0x77')];_0x385890[_0x50fc('0x78')]=_0x29248c[_0x50fc('0x75')][_0x50fc('0x79')];return _0x4ca4b8(_0x385890);})[_0x50fc('0x44')](function(_0x2822ce){return _0x2b0c81(_0x2822ce);});});}exports[_0x50fc('0x7a')]=function(_0x4f96dd,_0x4928a9,_0x4ad369){var _0x34306e;var _0x416919;var _0x2b7807;var _0x263904=require(_0x50fc('0x4b'));return db[_0x50fc('0x2c')][_0x50fc('0x7b')]({'where':{'id':_0x4f96dd[_0x50fc('0x45')]['id']}})['then'](function(_0x14ff98){if(_0x14ff98){var _0x3e8461=util[_0x50fc('0x33')](_0x50fc('0x4f'),_0x14ff98[_0x50fc('0x4e')]);if(fs['existsSync'](_0x3e8461)){cypher=!![];return _0x263904[_0x50fc('0x51')](_0x3e8461,_0x14ff98[_0x50fc('0x4e')],config[_0x50fc('0x52')]['recording'])[_0x50fc('0x24')](function(){return _0x14ff98;});}return _0x14ff98;}})['then'](function(_0x53f351){if(!_0x53f351){throw new db[(_0x50fc('0x54'))]['ValidationError'](_0x50fc('0x7c'));}_0x416919=_0x53f351;return db[_0x50fc('0x7d')][_0x50fc('0x7b')]({'where':{'id':0x1}});})[_0x50fc('0x24')](handleEntityNotFound(_0x4928a9,null))[_0x50fc('0x24')](function(_0x47dd24){if(_0x47dd24){_0x34306e=_0x47dd24;if(!_0x34306e['transcribe']||!_0x34306e[_0x50fc('0x7e')]||!_0x34306e[_0x50fc('0x7f')]||!_0x34306e[_0x50fc('0x80')]||!_0x34306e['bucket']){throw new db[(_0x50fc('0x54'))]['ValidationError'](_0x50fc('0x81'));}if(_0x4f96dd['body'][_0x50fc('0x82')]&&(!_0x34306e['sentiment']||!_0x34306e[_0x50fc('0x83')]||!_0x34306e[_0x50fc('0x84')]||!_0x34306e[_0x50fc('0x80')]||!_0x34306e['bucket'])){throw new db[(_0x50fc('0x54'))][(_0x50fc('0x55'))]('Sentiment\x20Analysis\x20not\x20configured');}return db[_0x50fc('0x85')][_0x50fc('0x7b')]({'where':{'id':_0x34306e[_0x50fc('0x7e')]}});}})[_0x50fc('0x24')](function(_0x3bca5b){if(!_0x3bca5b){throw new db['Sequelize'][(_0x50fc('0x55'))]('Cloud\x20Provider\x20not\x20available');}if(!_0x3bca5b[_0x50fc('0x86')]||!_0x3bca5b['data2']){throw new db[(_0x50fc('0x54'))]['ValidationError'](_0x50fc('0x87'));}_0x2b7807=_0x3bca5b;return getBucketslist(_0x2b7807[_0x50fc('0x86')],_0x2b7807[_0x50fc('0x88')],_0x34306e[_0x50fc('0x7f')]);})[_0x50fc('0x24')](function(_0x1f240c){if(_0x1f240c&&_0x1f240c[_0x50fc('0x89')]){var _0x52522e=_[_0x50fc('0x4d')](_0x1f240c['Buckets'],function(_0x210df6){return _0x210df6['Name']===_0x34306e[_0x50fc('0x8a')];});if(!_0x52522e){logger[_0x50fc('0x62')](util[_0x50fc('0x33')](_0x50fc('0x8b'),_0x4f96dd[_0x50fc('0x45')]['id'],_0x34306e[_0x50fc('0x8a')]));return createBucket(_0x2b7807[_0x50fc('0x86')],_0x2b7807['data2'],_0x34306e['transcribeRegion'],_0x34306e[_0x50fc('0x8a')]);}logger[_0x50fc('0x62')](util[_0x50fc('0x33')](_0x50fc('0x8c'),_0x4f96dd[_0x50fc('0x45')]['id'],_0x34306e[_0x50fc('0x8a')]));return;}})[_0x50fc('0x24')](function(_0x4f916c){if(_0x416919[_0x50fc('0x78')]===_0x50fc('0x8d')){return transcribe(_0x4f96dd['params']['id'],_0x2b7807['data1'],_0x2b7807[_0x50fc('0x88')],_0x34306e['transcribeRegion'],_0x34306e['bucket'],_0x416919['value'],_0x34306e[_0x50fc('0x80')]);}else{logger['info'](util[_0x50fc('0x33')]('[RUNTRANSCRIPT][%d]\x20Transcript\x20action\x20already\x20requested',_0x4f96dd[_0x50fc('0x45')]['id']));return{'transcribeStatus':_0x50fc('0x8e')};}})[_0x50fc('0x24')](function(_0x4f4558){if(_0x4f4558){_0x4f4558[_0x50fc('0x8f')]=_0x4f96dd['body']['runSentiment'];return _0x416919[_0x50fc('0x90')](_0x4f4558);}})[_0x50fc('0x24')](respondWithResult(_0x4928a9,null))[_0x50fc('0x44')](handleError(_0x4928a9,null));};function writeFile(_0xae351b,_0x156d80){return new Promise(function(_0x4926b5,_0x44e7f7){fs[_0x50fc('0x91')](_0x156d80,_0xae351b,function(_0x13fc04,_0x4e825d){if(_0x13fc04){return _0x44e7f7(_0x13fc04);}else{return _0x4926b5(_0x4e825d);}});});}exports[_0x50fc('0x92')]=function(_0xf7265b,_0x145cac,_0x2ca733){return db[_0x50fc('0x2c')]['findOne']({'where':{'id':_0xf7265b[_0x50fc('0x45')]['id']}})['then'](handleEntityNotFound(_0x145cac))['then'](function(_0x42f3ce){if(_0x42f3ce&&_0x42f3ce[_0x50fc('0x93')]){var _0x48098e=_0x42f3ce[_0x50fc('0x93')];var _0x44ef14=config['root']+_0x50fc('0x94')+_0x42f3ce['id']+_0x50fc('0x95');if(fs[_0x50fc('0x50')](_0x44ef14)){return _0x44ef14;}return writeFile(_0x48098e,_0x44ef14)[_0x50fc('0x24')](function(){return _0x44ef14;});}else{throw new db[(_0x50fc('0x54'))][(_0x50fc('0x55'))]('Transcript\x20not\x20available');}})[_0x50fc('0x24')](function(_0x381d92){return _0x145cac['download'](_0x381d92);})[_0x50fc('0x44')](handleError(_0x145cac));};