Built motion from commit d9028345.|2.5.43
[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 _0xb36c=['Sequelize','VoiceRecording\x20not\x20found','filename','extname','destroy','isNil','info','cancellazione\x20fisica\x20documento\x20%s','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','.cypher','File:\x20\x22','unlinkSync','createBucket','TranscribeService','startTranscriptionJob','[RUNTRANSCRIPT][%d]\x20Starting\x20voice\x20recording\x20upload\x20in\x20bucket\x20%s','basename','[RUNTRANSCRIPT][%d]\x20Voice\x20recording\x20uploaded\x20in\x20bucket\x20%s\x20(%s)','Location','location','TranscriptionJob','TranscriptionJobName','transcribeName','transcribeStatus','runTranscribe','findOne','recording','Voice\x20Recording\x20not\x20found','transcribe','transcribeAccountId','transcribeRegion','language','runSentiment','sentiment','sentimentAccountId','bucket','ValidationError','Sentiment\x20Analysis\x20not\x20configured','CloudProvider','data1','data2','Cloud\x20Provider\x20not\x20configured','Buckets','[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20not\x20available','[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20available','tempSentiment','writeFile','downloadTranscribe','fileText','root','/server/files/transcribes/transcribe_','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','aws-sdk','uuid/v4','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','offset','undefined','limit','count','Content-Range','update','then','name','index','type','key','model','map','format','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','filter','where','merge','VIRTUAL','options','VoiceRecording','includeAll','findAll','rows','catch','show','params','rawAttributes','include','find','create','body','describe','../../components/encryptor','uniqueid','value','%s.cypher','existsSync','decryptFile','unlink','download','message','send','Not\x20found','downloads','sequelize','token','push','$and','secrets'];(function(_0x15b367,_0x19a304){var _0x225b6f=function(_0x273aea){while(--_0x273aea){_0x15b367['push'](_0x15b367['shift']());}};_0x225b6f(++_0x19a304);}(_0xb36c,0x153));var _0xcb36=function(_0x10a84d,_0x5b8d51){_0x10a84d=_0x10a84d-0x0;var _0x52bd02=_0xb36c[_0x10a84d];return _0x52bd02;};'use strict';var emlformat=require(_0xcb36('0x0'));var rimraf=require(_0xcb36('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xcb36('0x2'));var rp=require(_0xcb36('0x3'));var moment=require(_0xcb36('0x4'));var BPromise=require(_0xcb36('0x5'));var Mustache=require(_0xcb36('0x6'));var util=require(_0xcb36('0x7'));var path=require('path');var sox=require(_0xcb36('0x8'));var csv=require(_0xcb36('0x9'));var ejs=require(_0xcb36('0xa'));var fs=require('fs');var fs_extra=require(_0xcb36('0xb'));var _=require(_0xcb36('0xc'));var squel=require(_0xcb36('0xd'));var crypto=require(_0xcb36('0xe'));var jsforce=require(_0xcb36('0xf'));var deskjs=require(_0xcb36('0x10'));var toCsv=require(_0xcb36('0x9'));var querystring=require(_0xcb36('0x11'));var Papa=require(_0xcb36('0x12'));var AWS=require(_0xcb36('0x13'));var uuidv4=require(_0xcb36('0x14'));var Redis=require(_0xcb36('0x15'));var authService=require(_0xcb36('0x16'));var qs=require(_0xcb36('0x17'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xcb36('0x18'));var logger=require(_0xcb36('0x19'))('api');var utils=require(_0xcb36('0x1a'));var config=require(_0xcb36('0x1b'));var licenseUtil=require(_0xcb36('0x1c'));var db=require(_0xcb36('0x1d'))['db'];function respondWithStatusCode(_0x1e82ec,_0x29dc08){_0x29dc08=_0x29dc08||0xcc;return function(_0x3e98b2){if(_0x3e98b2){return _0x1e82ec['sendStatus'](_0x29dc08);}return _0x1e82ec[_0xcb36('0x1e')](_0x29dc08)[_0xcb36('0x1f')]();};}function respondWithResult(_0x5c7ee4,_0x5dbff7){_0x5dbff7=_0x5dbff7||0xc8;return function(_0x3b184a){if(_0x3b184a){return _0x5c7ee4['status'](_0x5dbff7)[_0xcb36('0x20')](_0x3b184a);}};}function respondWithFilteredResult(_0x231b10,_0x5feff4){return function(_0x4b4f52){if(_0x4b4f52){var _0x1fae70=typeof _0x5feff4[_0xcb36('0x21')]===_0xcb36('0x22')&&typeof _0x5feff4[_0xcb36('0x23')]===_0xcb36('0x22');var _0x4ca4d0=_0x4b4f52[_0xcb36('0x24')];var _0x4241de=_0x1fae70?0x0:_0x5feff4[_0xcb36('0x21')];var _0x22d5c3=_0x1fae70?_0x4b4f52[_0xcb36('0x24')]:_0x5feff4[_0xcb36('0x21')]+_0x5feff4['limit'];var _0x260d57;if(_0x22d5c3>=_0x4ca4d0){_0x22d5c3=_0x4ca4d0;_0x260d57=0xc8;}else{_0x260d57=0xce;}_0x231b10['status'](_0x260d57);return _0x231b10['set'](_0xcb36('0x25'),_0x4241de+'-'+_0x22d5c3+'/'+_0x4ca4d0)[_0xcb36('0x20')](_0x4b4f52);}return null;};}function patchUpdates(_0x3057fb){return function(_0x57d6f5){try{jsonpatch['apply'](_0x57d6f5,_0x3057fb,!![]);}catch(_0x2eb0b0){return BPromise['reject'](_0x2eb0b0);}return _0x57d6f5['save']();};}function saveUpdates(_0x1d3f91,_0x117e08){return function(_0x1ed1d2){if(_0x1ed1d2){return _0x1ed1d2[_0xcb36('0x26')](_0x1d3f91)[_0xcb36('0x27')](function(_0x199d8b){return _0x199d8b;});}return null;};}function removeEntity(_0x732289,_0x512e0e){return function(_0x291d29){if(_0x291d29){return _0x291d29['destroy']()[_0xcb36('0x27')](function(){_0x732289[_0xcb36('0x1e')](0xcc)[_0xcb36('0x1f')]();});}};}function handleEntityNotFound(_0x56499c,_0x5bf90b){return function(_0x38f37c){if(!_0x38f37c){_0x56499c['sendStatus'](0x194);}return _0x38f37c;};}function handleError(_0x395ec9,_0x239749){_0x239749=_0x239749||0x1f4;return function(_0x2cbe8c){logger['error'](_0x2cbe8c['stack']);if(_0x2cbe8c['name']){delete _0x2cbe8c[_0xcb36('0x28')];}_0x395ec9['status'](_0x239749)['send'](_0x2cbe8c);};}exports[_0xcb36('0x29')]=function(_0xb2d734,_0x3db86d){var _0x1a5c9e={},_0x1acf22={},_0x1243fa={'count':0x0,'rows':[]};var _0x2be74c=_['map'](db['VoiceRecording']['rawAttributes'],function(_0x231be6){return{'name':_0x231be6['fieldName'],'type':_0x231be6[_0xcb36('0x2a')][_0xcb36('0x2b')]};});_0x1acf22[_0xcb36('0x2c')]=_['differenceBy'](_[_0xcb36('0x2d')](_0x2be74c,_0xcb36('0x28')),[_0xcb36('0x2e')]);_0x1acf22[_0xcb36('0x2f')]=_[_0xcb36('0x30')](_0xb2d734[_0xcb36('0x2f')]);_0x1acf22[_0xcb36('0x31')]=_[_0xcb36('0x32')](_0x1acf22[_0xcb36('0x2c')],_0x1acf22[_0xcb36('0x2f')]);_0x1a5c9e['attributes']=_[_0xcb36('0x32')](_0x1acf22[_0xcb36('0x2c')],qs[_0xcb36('0x33')](_0xb2d734[_0xcb36('0x2f')][_0xcb36('0x33')]));_0x1a5c9e['attributes']=_0x1a5c9e[_0xcb36('0x34')][_0xcb36('0x35')]?_0x1a5c9e[_0xcb36('0x34')]:_0x1acf22[_0xcb36('0x2c')];if(!_0xb2d734[_0xcb36('0x2f')][_0xcb36('0x36')](_0xcb36('0x37'))){_0x1a5c9e['limit']=qs['limit'](_0xb2d734['query'][_0xcb36('0x23')]);_0x1a5c9e[_0xcb36('0x21')]=qs[_0xcb36('0x21')](_0xb2d734[_0xcb36('0x2f')][_0xcb36('0x21')]);}_0x1a5c9e[_0xcb36('0x38')]=qs[_0xcb36('0x39')](_0xb2d734[_0xcb36('0x2f')]['sort']);_0x1a5c9e['where']=qs[_0xcb36('0x31')](_['pick'](_0xb2d734[_0xcb36('0x2f')],_0x1acf22[_0xcb36('0x31')]),_0x2be74c);if(_0xb2d734[_0xcb36('0x2f')][_0xcb36('0x3a')]){_0x1a5c9e[_0xcb36('0x3b')]=_[_0xcb36('0x3c')](_0x1a5c9e[_0xcb36('0x3b')],{'$or':_[_0xcb36('0x2d')](_0x2be74c,function(_0x1cd373){if(_0x1cd373[_0xcb36('0x2a')]!==_0xcb36('0x3d')){var _0x258a46={};_0x258a46[_0x1cd373[_0xcb36('0x28')]]={'$like':'%'+_0xb2d734['query']['filter']+'%'};return _0x258a46;}})});}_0x1a5c9e=_['merge']({},_0x1a5c9e,_0xb2d734[_0xcb36('0x3e')]);var _0x5b1774={'where':_0x1a5c9e[_0xcb36('0x3b')]};return db[_0xcb36('0x3f')][_0xcb36('0x24')](_0x5b1774)['then'](function(_0x5ac535){_0x1243fa[_0xcb36('0x24')]=_0x5ac535;if(_0xb2d734['query'][_0xcb36('0x40')]){_0x1a5c9e['include']=[{'all':!![]}];}return db[_0xcb36('0x3f')][_0xcb36('0x41')](_0x1a5c9e);})[_0xcb36('0x27')](function(_0x4cdcf4){_0x1243fa[_0xcb36('0x42')]=_0x4cdcf4;return _0x1243fa;})[_0xcb36('0x27')](respondWithFilteredResult(_0x3db86d,_0x1a5c9e))[_0xcb36('0x43')](handleError(_0x3db86d,null));};exports[_0xcb36('0x44')]=function(_0x16c15b,_0x1737c1){var _0x3fe866={'raw':![],'where':{'id':_0x16c15b[_0xcb36('0x45')]['id']}},_0x5c4402={};_0x5c4402[_0xcb36('0x2c')]=_[_0xcb36('0x30')](db[_0xcb36('0x3f')][_0xcb36('0x46')]);_0x5c4402[_0xcb36('0x2f')]=_[_0xcb36('0x30')](_0x16c15b[_0xcb36('0x2f')]);_0x5c4402[_0xcb36('0x31')]=_[_0xcb36('0x32')](_0x5c4402[_0xcb36('0x2c')],_0x5c4402[_0xcb36('0x2f')]);_0x3fe866[_0xcb36('0x34')]=_['intersection'](_0x5c4402[_0xcb36('0x2c')],qs[_0xcb36('0x33')](_0x16c15b[_0xcb36('0x2f')]['fields']));_0x3fe866[_0xcb36('0x34')]=_0x3fe866[_0xcb36('0x34')][_0xcb36('0x35')]?_0x3fe866[_0xcb36('0x34')]:_0x5c4402[_0xcb36('0x2c')];if(_0x16c15b[_0xcb36('0x2f')][_0xcb36('0x40')]){_0x3fe866[_0xcb36('0x47')]=[{'all':!![]}];}_0x3fe866=_[_0xcb36('0x3c')]({},_0x3fe866,_0x16c15b['options']);return db['VoiceRecording'][_0xcb36('0x48')](_0x3fe866)[_0xcb36('0x27')](handleEntityNotFound(_0x1737c1,null))['then'](respondWithResult(_0x1737c1,null))['catch'](handleError(_0x1737c1,null));};exports[_0xcb36('0x49')]=function(_0x58c168,_0x241617){return db[_0xcb36('0x3f')][_0xcb36('0x49')](_0x58c168[_0xcb36('0x4a')],{})[_0xcb36('0x27')](respondWithResult(_0x241617,0xc9))[_0xcb36('0x43')](handleError(_0x241617,null));};exports[_0xcb36('0x26')]=function(_0x2a62ca,_0x1b412d){if(_0x2a62ca[_0xcb36('0x4a')]['id']){delete _0x2a62ca['body']['id'];}return db[_0xcb36('0x3f')][_0xcb36('0x48')]({'where':{'id':_0x2a62ca['params']['id']}})[_0xcb36('0x27')](handleEntityNotFound(_0x1b412d,null))[_0xcb36('0x27')](saveUpdates(_0x2a62ca['body'],null))['then'](respondWithResult(_0x1b412d,null))[_0xcb36('0x43')](handleError(_0x1b412d,null));};exports[_0xcb36('0x4b')]=function(_0x16f683,_0x17e117){return db['VoiceRecording'][_0xcb36('0x4b')]()['then'](respondWithResult(_0x17e117,null))[_0xcb36('0x43')](handleError(_0x17e117,null));};exports['download']=function(_0xa1cf0e,_0x16ecde,_0x4ed613){var _0x1a2ecf=require(_0xcb36('0x4c'));var _0x55211e=![];var _0x3c1dff={};if(_0xa1cf0e[_0xcb36('0x2f')][_0xcb36('0x2a')]&&_0xa1cf0e[_0xcb36('0x2f')][_0xcb36('0x2a')]===_0xcb36('0x4d')){_0x3c1dff[_0xcb36('0x4d')]=_0xa1cf0e[_0xcb36('0x45')]['id'];}else{_0x3c1dff['id']=_0xa1cf0e['params']['id'];}return db['VoiceRecording'][_0xcb36('0x48')]({'where':_0x3c1dff,'attributes':['id','value'],'raw':!![]})[_0xcb36('0x27')](handleEntityNotFound(_0x16ecde,null))[_0xcb36('0x27')](function(_0x23546b){if(_0x23546b){var _0x593754=_0x23546b[_0xcb36('0x4e')];var _0xce26a1=util['format'](_0xcb36('0x4f'),_0x593754);if(fs[_0xcb36('0x50')](_0xce26a1)){_0x55211e=!![];return _0x1a2ecf[_0xcb36('0x51')](_0xce26a1,_0x593754,config['secrets']['recording'])['then'](function(){return _0x23546b;});}return _0x23546b;}})[_0xcb36('0x27')](function(_0x96b1ec){if(_0x96b1ec){var _0x43f582=_0x96b1ec['value'];if(!fs[_0xcb36('0x50')](_0x43f582)){throw new db['Sequelize']['ValidationError']('VoiceRecording\x20not\x20found');}if(_0x96b1ec['filename']){return _0x16ecde['download'](_0x43f582,_0x96b1ec['filename']+path['extname'](_0x43f582),function(){if(_0x55211e){fs[_0xcb36('0x52')](_0x43f582);}});}else{return _0x16ecde[_0xcb36('0x53')](_0x43f582,function(_0x269d2c){if(_0x55211e){fs[_0xcb36('0x52')](_0x43f582);}});}}})['catch'](function(_0x1dfaac){if(_0x1dfaac[_0xcb36('0x54')]==='VoiceRecording\x20not\x20found'){_0x16ecde[_0xcb36('0x1e')](0x194)[_0xcb36('0x55')](_0xcb36('0x56'));}else{return handleError(_0x16ecde,null);}});};exports[_0xcb36('0x57')]=function(_0x56b35f,_0x4dc8d7,_0x2884aa){var _0x104081=require('../../components/encryptor');var _0x36d731=![];var _0x515a34={'$and':[db[_0xcb36('0x58')]['where'](db['sequelize']['fn']('MD5',db[_0xcb36('0x58')]['col']('uniqueid')),_0x56b35f[_0xcb36('0x2f')][_0xcb36('0x59')])]};if(_0x56b35f[_0xcb36('0x2f')][_0xcb36('0x2a')]&&_0x56b35f[_0xcb36('0x2f')][_0xcb36('0x2a')]==='uniqueid'){_0x515a34['$and'][_0xcb36('0x5a')]({'uniqueid':_0x56b35f[_0xcb36('0x45')]['id']});}else{_0x515a34[_0xcb36('0x5b')][_0xcb36('0x5a')]({'id':_0x56b35f[_0xcb36('0x45')]['id']});}return db[_0xcb36('0x3f')][_0xcb36('0x48')]({'where':_0x515a34,'attributes':['id','value'],'raw':!![]})[_0xcb36('0x27')](handleEntityNotFound(_0x4dc8d7,null))['then'](function(_0x51526a){if(_0x51526a){var _0x21004c=util[_0xcb36('0x2e')](_0xcb36('0x4f'),_0x51526a[_0xcb36('0x4e')]);if(fs[_0xcb36('0x50')](_0x21004c)){_0x36d731=!![];return _0x104081[_0xcb36('0x51')](_0x21004c,_0x51526a[_0xcb36('0x4e')],config[_0xcb36('0x5c')]['recording'])['then'](function(){return _0x51526a;});}return _0x51526a;}})[_0xcb36('0x27')](function(_0x466355){if(_0x466355){if(!fs[_0xcb36('0x50')](_0x466355[_0xcb36('0x4e')])){throw new db[(_0xcb36('0x5d'))]['ValidationError'](_0xcb36('0x5e'));}if(_0x466355[_0xcb36('0x5f')]){return _0x4dc8d7[_0xcb36('0x53')](_0x466355[_0xcb36('0x4e')],_0x466355[_0xcb36('0x5f')]+path[_0xcb36('0x60')](_0x466355[_0xcb36('0x4e')]),function(){if(_0x36d731){fs[_0xcb36('0x52')](_0x466355[_0xcb36('0x4e')]);}});}else{return _0x4dc8d7[_0xcb36('0x53')](_0x466355[_0xcb36('0x4e')],function(_0x55343e){if(_0x36d731){fs[_0xcb36('0x52')](_0x466355[_0xcb36('0x4e')]);}});}}})[_0xcb36('0x43')](handleError(_0x4dc8d7,null));};exports[_0xcb36('0x61')]=function(_0x44959c,_0x1c2634){return db[_0xcb36('0x3f')][_0xcb36('0x48')]({'where':{'id':_0x44959c[_0xcb36('0x45')]['id']}})[_0xcb36('0x27')](function(_0x1ec983){if(_[_0xcb36('0x62')](_0x1ec983)){throw new ReferenceError('Entity\x20not\x20found');}return _0x1ec983;})[_0xcb36('0x27')](function(_0xc48a97){var _0x57073a=_0xc48a97[_0xcb36('0x4e')];logger[_0xcb36('0x63')](_0xcb36('0x64'),_0x57073a);if(!_[_0xcb36('0x62')](_0xc48a97['value'])&&fs[_0xcb36('0x50')](_0x57073a)){logger[_0xcb36('0x63')]('File:\x20\x22'+_0x57073a+_0xcb36('0x65'));fs['unlinkSync'](_0x57073a);}_0x57073a=_0x57073a+_0xcb36('0x66');if(!_[_0xcb36('0x62')](_0xc48a97[_0xcb36('0x4e')])&&fs[_0xcb36('0x50')](_0x57073a)){logger[_0xcb36('0x63')](_0xcb36('0x67')+_0x57073a+_0xcb36('0x65'));fs[_0xcb36('0x68')](_0x57073a);}return _0xc48a97;})[_0xcb36('0x27')](function(_0x570584){if(!_0x570584)throw new InternalError();return _0x570584[_0xcb36('0x61')]();})['then'](function(){_0x1c2634[_0xcb36('0x1e')](0xcc)[_0xcb36('0x1f')]();})[_0xcb36('0x43')](handleError(_0x1c2634,null));};function getBucketslist(_0x1cf638,_0x39fd2c,_0x21d6df){return new Promise(function(_0x169960,_0xaee451){var _0x1a81be=new AWS['S3']({'accessKeyId':_0x39fd2c,'secretAccessKey':_0x1cf638,'region':_0x21d6df});_0x1a81be['listBuckets']({},function(_0x4e0412,_0x4769cd){if(_0x4e0412){return _0xaee451(_0x4e0412);}else{return _0x169960(_0x4769cd);}});});}function createBucket(_0x3a6d71,_0x44f39d,_0x9ad054,_0x25e50c){return new Promise(function(_0xec1f38,_0x2d7112){var _0x334694=new AWS['S3']({'accessKeyId':_0x44f39d,'secretAccessKey':_0x3a6d71,'region':_0x9ad054});_0x334694[_0xcb36('0x69')]({'Bucket':_0x25e50c},function(_0x728e8d,_0x20ea09){if(_0x728e8d){return _0x2d7112(_0x728e8d);}else{return _0xec1f38(_0x20ea09);}});});}function uploadFile(_0x134cc3,_0x186698,_0x3e501b,_0x5e111b,_0x44bfa0,_0x2a920f){return new Promise(function(_0x2a0f74,_0x17160a){var _0x422d0a=new AWS['S3']({'accessKeyId':_0x186698,'secretAccessKey':_0x134cc3,'region':_0x3e501b});_0x422d0a['upload']({'Bucket':_0x5e111b,'Key':_0x44bfa0,'Body':_0x2a920f},function(_0x2e8548,_0x18051c){if(_0x2e8548){return _0x17160a(_0x2e8548);}else{return _0x2a0f74(_0x18051c);}});});}function startTranscribe(_0x227132,_0x530aef,_0x1f059a,_0x73a55c,_0x5ef9c9,_0x1e9251){return new Promise(function(_0x1130de,_0x232a0f){var _0x3b4b79=new AWS[(_0xcb36('0x6a'))]({'accessKeyId':_0x530aef,'secretAccessKey':_0x227132,'region':_0x1f059a});_0x3b4b79[_0xcb36('0x6b')]({'TranscriptionJobName':_0x73a55c,'LanguageCode':_0x5ef9c9,'Media':{'MediaFileUri':_0x1e9251}},function(_0x2daba8,_0x5c5530){if(_0x2daba8){return _0x232a0f(_0x2daba8);}else{return _0x1130de(_0x5c5530);}});});}function transcribe(_0x3784a5,_0x522125,_0x280ea6,_0x3df49b,_0x27d20f,_0x58222d,_0xe73d50){return new Promise(function(_0x541e55,_0x909742){var _0x40d1c6={};logger[_0xcb36('0x63')](util[_0xcb36('0x2e')](_0xcb36('0x6c'),_0x3784a5,_0x27d20f));return uploadFile(_0x522125,_0x280ea6,_0x3df49b,_0x27d20f,path[_0xcb36('0x6d')](_0x58222d),fs['readFileSync'](_0x58222d))[_0xcb36('0x27')](function(_0x287045){logger[_0xcb36('0x63')](util[_0xcb36('0x2e')](_0xcb36('0x6e'),_0x3784a5,_0x27d20f,_0x287045[_0xcb36('0x6f')]));_0x40d1c6['bucket']=_0x287045['Bucket'];_0x40d1c6[_0xcb36('0x70')]=_0x287045[_0xcb36('0x6f')];logger[_0xcb36('0x63')](util[_0xcb36('0x2e')]('[RUNTRANSCRIPT][%d]\x20Sending\x20transcribe\x20request',_0x3784a5));return startTranscribe(_0x522125,_0x280ea6,_0x3df49b,uuidv4(),_0xe73d50,_0x287045[_0xcb36('0x6f')]);})[_0xcb36('0x27')](function(_0x2728d9){logger[_0xcb36('0x63')](util[_0xcb36('0x2e')]('[RUNTRANSCRIPT][%d]\x20Transcription\x20job\x20%s\x20created',_0x3784a5,_0x2728d9[_0xcb36('0x71')][_0xcb36('0x72')]));_0x40d1c6[_0xcb36('0x73')]=_0x2728d9[_0xcb36('0x71')][_0xcb36('0x72')];_0x40d1c6[_0xcb36('0x74')]=_0x2728d9[_0xcb36('0x71')]['TranscriptionJobStatus'];return _0x541e55(_0x40d1c6);})[_0xcb36('0x43')](function(_0x4fecd7){return _0x909742(_0x4fecd7);});});}exports[_0xcb36('0x75')]=function(_0x46c3fc,_0x598ddb,_0xd065d9){var _0x51519e;var _0x1d01f1;var _0x34fb34;var _0x26dd8f=require(_0xcb36('0x4c'));return db['VoiceRecording'][_0xcb36('0x76')]({'where':{'id':_0x46c3fc[_0xcb36('0x45')]['id']}})['then'](function(_0x25e517){if(_0x25e517){var _0x37855a=util['format'](_0xcb36('0x4f'),_0x25e517[_0xcb36('0x4e')]);if(fs[_0xcb36('0x50')](_0x37855a)){cypher=!![];return _0x26dd8f[_0xcb36('0x51')](_0x37855a,_0x25e517[_0xcb36('0x4e')],config[_0xcb36('0x5c')][_0xcb36('0x77')])[_0xcb36('0x27')](function(){return _0x25e517;});}return _0x25e517;}})[_0xcb36('0x27')](function(_0x39dac2){if(!_0x39dac2){throw new db[(_0xcb36('0x5d'))]['ValidationError'](_0xcb36('0x78'));}_0x1d01f1=_0x39dac2;return db['Setting'][_0xcb36('0x76')]({'where':{'id':0x1}});})[_0xcb36('0x27')](handleEntityNotFound(_0x598ddb,null))[_0xcb36('0x27')](function(_0x31cfc2){if(_0x31cfc2){_0x51519e=_0x31cfc2;if(!_0x51519e[_0xcb36('0x79')]||!_0x51519e[_0xcb36('0x7a')]||!_0x51519e[_0xcb36('0x7b')]||!_0x51519e[_0xcb36('0x7c')]||!_0x51519e['bucket']){throw new db[(_0xcb36('0x5d'))]['ValidationError']('Transcribe\x20not\x20configured');}if(_0x46c3fc[_0xcb36('0x4a')][_0xcb36('0x7d')]&&(!_0x51519e[_0xcb36('0x7e')]||!_0x51519e[_0xcb36('0x7f')]||!_0x51519e['sentimentRegion']||!_0x51519e['language']||!_0x51519e[_0xcb36('0x80')])){throw new db['Sequelize'][(_0xcb36('0x81'))](_0xcb36('0x82'));}return db[_0xcb36('0x83')][_0xcb36('0x76')]({'where':{'id':_0x51519e['transcribeAccountId']}});}})['then'](function(_0x1ef182){if(!_0x1ef182){throw new db[(_0xcb36('0x5d'))][(_0xcb36('0x81'))]('Cloud\x20Provider\x20not\x20available');}if(!_0x1ef182[_0xcb36('0x84')]||!_0x1ef182[_0xcb36('0x85')]){throw new db['Sequelize'][(_0xcb36('0x81'))](_0xcb36('0x86'));}_0x34fb34=_0x1ef182;return getBucketslist(_0x34fb34[_0xcb36('0x84')],_0x34fb34[_0xcb36('0x85')],_0x51519e['transcribeRegion']);})['then'](function(_0xab97a6){if(_0xab97a6&&_0xab97a6[_0xcb36('0x87')]){var _0x548f7b=_[_0xcb36('0x48')](_0xab97a6['Buckets'],function(_0x1cb1a1){return _0x1cb1a1['Name']===_0x51519e[_0xcb36('0x80')];});if(!_0x548f7b){logger[_0xcb36('0x63')](util[_0xcb36('0x2e')](_0xcb36('0x88'),_0x46c3fc['params']['id'],_0x51519e[_0xcb36('0x80')]));return createBucket(_0x34fb34[_0xcb36('0x84')],_0x34fb34['data2'],_0x51519e[_0xcb36('0x7b')],_0x51519e[_0xcb36('0x80')]);}logger[_0xcb36('0x63')](util[_0xcb36('0x2e')](_0xcb36('0x89'),_0x46c3fc[_0xcb36('0x45')]['id'],_0x51519e['bucket']));return;}})[_0xcb36('0x27')](function(_0x309a69){if(_0x1d01f1['transcribeStatus']==='NEW'){return transcribe(_0x46c3fc['params']['id'],_0x34fb34['data1'],_0x34fb34[_0xcb36('0x85')],_0x51519e['transcribeRegion'],_0x51519e[_0xcb36('0x80')],_0x1d01f1['value'],_0x51519e[_0xcb36('0x7c')]);}else{logger[_0xcb36('0x63')](util[_0xcb36('0x2e')]('[RUNTRANSCRIPT][%d]\x20Transcript\x20action\x20already\x20requested',_0x46c3fc['params']['id']));return{'transcribeStatus':'IN_PROGRESS'};}})[_0xcb36('0x27')](function(_0x4790e6){if(_0x4790e6){_0x4790e6[_0xcb36('0x8a')]=_0x46c3fc[_0xcb36('0x4a')]['runSentiment'];return _0x1d01f1['updateAttributes'](_0x4790e6);}})[_0xcb36('0x27')](respondWithResult(_0x598ddb,null))[_0xcb36('0x43')](handleError(_0x598ddb,null));};function writeFile(_0x4e48ca,_0x58a8b8){return new Promise(function(_0x112925,_0x14f2a2){fs[_0xcb36('0x8b')](_0x58a8b8,_0x4e48ca,function(_0x3dd973,_0x5c7763){if(_0x3dd973){return _0x14f2a2(_0x3dd973);}else{return _0x112925(_0x5c7763);}});});}exports[_0xcb36('0x8c')]=function(_0x302429,_0x451092,_0xb8849c){return db[_0xcb36('0x3f')][_0xcb36('0x76')]({'where':{'id':_0x302429[_0xcb36('0x45')]['id']}})[_0xcb36('0x27')](handleEntityNotFound(_0x451092))[_0xcb36('0x27')](function(_0x4d25ae){if(_0x4d25ae&&_0x4d25ae[_0xcb36('0x8d')]){var _0x52bb92=_0x4d25ae[_0xcb36('0x8d')];var _0x324b2a=config[_0xcb36('0x8e')]+_0xcb36('0x8f')+_0x4d25ae['id']+'.txt';if(fs[_0xcb36('0x50')](_0x324b2a)){return _0x324b2a;}return writeFile(_0x52bb92,_0x324b2a)[_0xcb36('0x27')](function(){return _0x324b2a;});}else{throw new db[(_0xcb36('0x5d'))]['ValidationError']('Transcript\x20not\x20available');}})[_0xcb36('0x27')](function(_0x5c4af4){return _0x451092[_0xcb36('0x53')](_0x5c4af4);})['catch'](handleError(_0x451092));};