3408963b5012dd4d0b2de50354177209325da037
[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 _0x5688=['../../components/encryptor','uniqueid','value','%s.cypher','decryptFile','secrets','recording','existsSync','ValidationError','VoiceRecording\x20not\x20found','filename','extname','unlink','message','Not\x20found','MD5','sequelize','col','token','$and','push','Sequelize','info','isNil','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','File:\x20\x22','unlinkSync','createBucket','startTranscriptionJob','[RUNTRANSCRIPT][%d]\x20Starting\x20voice\x20recording\x20upload\x20in\x20bucket\x20%s','basename','readFileSync','bucket','Location','[RUNTRANSCRIPT][%d]\x20Sending\x20transcribe\x20request','[RUNTRANSCRIPT][%d]\x20Transcription\x20job\x20%s\x20created','TranscriptionJob','TranscriptionJobName','transcribeName','transcribeStatus','TranscriptionJobStatus','runTranscribe','Setting','findOne','transcribe','transcribeAccountId','transcribeRegion','language','Transcribe\x20not\x20configured','runSentiment','sentiment','sentimentRegion','Cloud\x20Provider\x20not\x20available','data1','data2','Name','[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20not\x20available','NEW','IN_PROGRESS','tempSentiment','updateAttributes','writeFile','downloadTranscribe','fileText','root','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','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','sendStatus','end','status','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','then','destroy','stack','name','render','merge','body','contact','agent','interaction','index','VoiceRecording','key','format','query','filters','intersection','model','attributes','fields','length','nolimit','order','sort','pick','filter','where','map','type','VIRTUAL','includeAll','include','rows','catch','show','params','keys','rawAttributes','find','create','describe','download'];(function(_0x143497,_0x2ba07e){var _0x3f959e=function(_0xf04800){while(--_0xf04800){_0x143497['push'](_0x143497['shift']());}};_0x3f959e(++_0x2ba07e);}(_0x5688,0x16a));var _0x8568=function(_0x1c28d2,_0x1e77f7){_0x1c28d2=_0x1c28d2-0x0;var _0x5aa5b3=_0x5688[_0x1c28d2];return _0x5aa5b3;};'use strict';var emlformat=require(_0x8568('0x0'));var rimraf=require(_0x8568('0x1'));var zipdir=require(_0x8568('0x2'));var jsonpatch=require(_0x8568('0x3'));var rp=require(_0x8568('0x4'));var moment=require(_0x8568('0x5'));var BPromise=require(_0x8568('0x6'));var Mustache=require(_0x8568('0x7'));var util=require('util');var path=require(_0x8568('0x8'));var sox=require(_0x8568('0x9'));var csv=require(_0x8568('0xa'));var ejs=require(_0x8568('0xb'));var fs=require('fs');var fs_extra=require(_0x8568('0xc'));var _=require(_0x8568('0xd'));var squel=require(_0x8568('0xe'));var crypto=require(_0x8568('0xf'));var jsforce=require('jsforce');var deskjs=require(_0x8568('0x10'));var toCsv=require(_0x8568('0xa'));var querystring=require('querystring');var Papa=require(_0x8568('0x11'));var AWS=require('aws-sdk');var uuidv4=require('uuid/v4');var Redis=require(_0x8568('0x12'));var authService=require(_0x8568('0x13'));var qs=require(_0x8568('0x14'));var as=require(_0x8568('0x15'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x8568('0x16'))(_0x8568('0x17'));var utils=require(_0x8568('0x18'));var config=require(_0x8568('0x19'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x4718b5,_0x33ec4a){_0x33ec4a=_0x33ec4a||0xcc;return function(_0x499a9e){if(_0x499a9e){return _0x4718b5[_0x8568('0x1a')](_0x33ec4a);}return _0x4718b5['status'](_0x33ec4a)[_0x8568('0x1b')]();};}function respondWithResult(_0x3a1aad,_0x25b6ba){_0x25b6ba=_0x25b6ba||0xc8;return function(_0x4ffb07){if(_0x4ffb07){return _0x3a1aad[_0x8568('0x1c')](_0x25b6ba)[_0x8568('0x1d')](_0x4ffb07);}};}function respondWithFilteredResult(_0x58c7e6,_0x11809c){return function(_0x466fb1){if(_0x466fb1){var _0x583a63=typeof _0x11809c[_0x8568('0x1e')]===_0x8568('0x1f')&&typeof _0x11809c[_0x8568('0x20')]===_0x8568('0x1f');var _0xf11f01=_0x466fb1[_0x8568('0x21')];var _0x3b7966=_0x583a63?0x0:_0x11809c[_0x8568('0x1e')];var _0x3f81c1=_0x583a63?_0x466fb1['count']:_0x11809c['offset']+_0x11809c[_0x8568('0x20')];var _0x368402;if(_0x3f81c1>=_0xf11f01){_0x3f81c1=_0xf11f01;_0x368402=0xc8;}else{_0x368402=0xce;}_0x58c7e6[_0x8568('0x1c')](_0x368402);return _0x58c7e6[_0x8568('0x22')](_0x8568('0x23'),_0x3b7966+'-'+_0x3f81c1+'/'+_0xf11f01)['json'](_0x466fb1);}return null;};}function patchUpdates(_0x4d64ee){return function(_0x2e09c0){try{jsonpatch[_0x8568('0x24')](_0x2e09c0,_0x4d64ee,!![]);}catch(_0xb28daa){return BPromise[_0x8568('0x25')](_0xb28daa);}return _0x2e09c0[_0x8568('0x26')]();};}function saveUpdates(_0x506787,_0x7d0647){return function(_0x58efa5){if(_0x58efa5){return _0x58efa5[_0x8568('0x27')](_0x506787)[_0x8568('0x28')](function(_0xa86dee){return _0xa86dee;});}return null;};}function removeEntity(_0x3ff260,_0xd408a0){return function(_0x1063ff){if(_0x1063ff){return _0x1063ff[_0x8568('0x29')]()[_0x8568('0x28')](function(){_0x3ff260[_0x8568('0x1c')](0xcc)[_0x8568('0x1b')]();});}};}function handleEntityNotFound(_0xb45d52,_0x4e18b9){return function(_0x1be17c){if(!_0x1be17c){_0xb45d52[_0x8568('0x1a')](0x194);}return _0x1be17c;};}function handleError(_0x4a6f90,_0x275d32){_0x275d32=_0x275d32||0x1f4;return function(_0x4914a7){logger['error'](_0x4914a7[_0x8568('0x2a')]);if(_0x4914a7['name']){delete _0x4914a7[_0x8568('0x2b')];}_0x4a6f90[_0x8568('0x1c')](_0x275d32)['send'](_0x4914a7);};}function getMustacheRender(_0x1406de,_0x5d8998){return Mustache[_0x8568('0x2c')](_0x1406de,_[_0x8568('0x2d')](_0x5d8998[_0x8568('0x2e')],{'contact':_0x5d8998[_0x8568('0x2f')],'message':_0x5d8998['message'],'agent':_0x5d8998[_0x8568('0x30')],'interaction':_0x5d8998[_0x8568('0x31')],'account':_0x5d8998['account']}))||'';}exports[_0x8568('0x32')]=function(_0x21db9c,_0x4d595f){var _0x28e577={},_0x3438c2={},_0x4f55c5={'count':0x0,'rows':[]};var _0x17dbee=_['map'](db[_0x8568('0x33')]['rawAttributes'],function(_0x44b26f){return{'name':_0x44b26f['fieldName'],'type':_0x44b26f['type'][_0x8568('0x34')]};});_0x3438c2['model']=_['differenceBy'](_['map'](_0x17dbee,_0x8568('0x2b')),[_0x8568('0x35')]);_0x3438c2[_0x8568('0x36')]=_['keys'](_0x21db9c['query']);_0x3438c2[_0x8568('0x37')]=_[_0x8568('0x38')](_0x3438c2[_0x8568('0x39')],_0x3438c2[_0x8568('0x36')]);_0x28e577[_0x8568('0x3a')]=_[_0x8568('0x38')](_0x3438c2[_0x8568('0x39')],qs[_0x8568('0x3b')](_0x21db9c[_0x8568('0x36')][_0x8568('0x3b')]));_0x28e577[_0x8568('0x3a')]=_0x28e577[_0x8568('0x3a')][_0x8568('0x3c')]?_0x28e577['attributes']:_0x3438c2[_0x8568('0x39')];if(!_0x21db9c['query']['hasOwnProperty'](_0x8568('0x3d'))){_0x28e577[_0x8568('0x20')]=qs[_0x8568('0x20')](_0x21db9c[_0x8568('0x36')][_0x8568('0x20')]);_0x28e577['offset']=qs[_0x8568('0x1e')](_0x21db9c[_0x8568('0x36')][_0x8568('0x1e')]);}_0x28e577[_0x8568('0x3e')]=qs[_0x8568('0x3f')](_0x21db9c['query'][_0x8568('0x3f')]);_0x28e577['where']=qs[_0x8568('0x37')](_[_0x8568('0x40')](_0x21db9c[_0x8568('0x36')],_0x3438c2['filters']),_0x17dbee);if(_0x21db9c[_0x8568('0x36')][_0x8568('0x41')]){_0x28e577[_0x8568('0x42')]=_[_0x8568('0x2d')](_0x28e577['where'],{'$or':_[_0x8568('0x43')](_0x17dbee,function(_0x291dfc){if(_0x291dfc[_0x8568('0x44')]!==_0x8568('0x45')){var _0x72d292={};_0x72d292[_0x291dfc[_0x8568('0x2b')]]={'$like':'%'+_0x21db9c[_0x8568('0x36')][_0x8568('0x41')]+'%'};return _0x72d292;}})});}_0x28e577=_[_0x8568('0x2d')]({},_0x28e577,_0x21db9c['options']);var _0x1e2d80={'where':_0x28e577[_0x8568('0x42')]};return db[_0x8568('0x33')]['count'](_0x1e2d80)['then'](function(_0x474e12){_0x4f55c5[_0x8568('0x21')]=_0x474e12;if(_0x21db9c[_0x8568('0x36')][_0x8568('0x46')]){_0x28e577[_0x8568('0x47')]=[{'all':!![]}];}return db['VoiceRecording']['findAll'](_0x28e577);})['then'](function(_0x1d0337){_0x4f55c5[_0x8568('0x48')]=_0x1d0337;return _0x4f55c5;})[_0x8568('0x28')](respondWithFilteredResult(_0x4d595f,_0x28e577))[_0x8568('0x49')](handleError(_0x4d595f,null));};exports[_0x8568('0x4a')]=function(_0x3f1fc8,_0x27f12c){var _0xc5bfde={'raw':![],'where':{'id':_0x3f1fc8[_0x8568('0x4b')]['id']}},_0x1fae9b={};_0x1fae9b[_0x8568('0x39')]=_[_0x8568('0x4c')](db[_0x8568('0x33')][_0x8568('0x4d')]);_0x1fae9b[_0x8568('0x36')]=_[_0x8568('0x4c')](_0x3f1fc8['query']);_0x1fae9b['filters']=_[_0x8568('0x38')](_0x1fae9b['model'],_0x1fae9b[_0x8568('0x36')]);_0xc5bfde[_0x8568('0x3a')]=_['intersection'](_0x1fae9b[_0x8568('0x39')],qs[_0x8568('0x3b')](_0x3f1fc8[_0x8568('0x36')]['fields']));_0xc5bfde[_0x8568('0x3a')]=_0xc5bfde[_0x8568('0x3a')][_0x8568('0x3c')]?_0xc5bfde[_0x8568('0x3a')]:_0x1fae9b[_0x8568('0x39')];if(_0x3f1fc8[_0x8568('0x36')][_0x8568('0x46')]){_0xc5bfde['include']=[{'all':!![]}];}_0xc5bfde=_[_0x8568('0x2d')]({},_0xc5bfde,_0x3f1fc8['options']);return db['VoiceRecording'][_0x8568('0x4e')](_0xc5bfde)['then'](handleEntityNotFound(_0x27f12c,null))[_0x8568('0x28')](respondWithResult(_0x27f12c,null))[_0x8568('0x49')](handleError(_0x27f12c,null));};exports[_0x8568('0x4f')]=function(_0x50d3b8,_0x165dd4){return db[_0x8568('0x33')]['create'](_0x50d3b8['body'],{})['then'](respondWithResult(_0x165dd4,0xc9))[_0x8568('0x49')](handleError(_0x165dd4,null));};exports[_0x8568('0x27')]=function(_0x1d1835,_0x4d5350){if(_0x1d1835['body']['id']){delete _0x1d1835[_0x8568('0x2e')]['id'];}return db['VoiceRecording'][_0x8568('0x4e')]({'where':{'id':_0x1d1835[_0x8568('0x4b')]['id']}})[_0x8568('0x28')](handleEntityNotFound(_0x4d5350,null))[_0x8568('0x28')](saveUpdates(_0x1d1835[_0x8568('0x2e')],null))[_0x8568('0x28')](respondWithResult(_0x4d5350,null))[_0x8568('0x49')](handleError(_0x4d5350,null));};exports[_0x8568('0x50')]=function(_0x41fa2d,_0x256e11){return db['VoiceRecording']['describe']()['then'](respondWithResult(_0x256e11,null))[_0x8568('0x49')](handleError(_0x256e11,null));};exports[_0x8568('0x51')]=function(_0x300c1b,_0x300422,_0x5af529){var _0x2befec=require(_0x8568('0x52'));var _0x35e3bb=![];var _0x539f82={};if(_0x300c1b[_0x8568('0x36')][_0x8568('0x44')]&&_0x300c1b[_0x8568('0x36')][_0x8568('0x44')]===_0x8568('0x53')){_0x539f82[_0x8568('0x53')]=_0x300c1b[_0x8568('0x4b')]['id'];}else{_0x539f82['id']=_0x300c1b[_0x8568('0x4b')]['id'];}return db[_0x8568('0x33')][_0x8568('0x4e')]({'where':_0x539f82,'attributes':['id',_0x8568('0x54')],'raw':!![]})[_0x8568('0x28')](handleEntityNotFound(_0x300422,null))[_0x8568('0x28')](function(_0x2a0dd5){if(_0x2a0dd5){var _0x139256=_0x2a0dd5[_0x8568('0x54')];var _0x37c0f7=util['format'](_0x8568('0x55'),_0x139256);if(fs['existsSync'](_0x37c0f7)){_0x35e3bb=!![];return _0x2befec[_0x8568('0x56')](_0x37c0f7,_0x139256,config[_0x8568('0x57')][_0x8568('0x58')])[_0x8568('0x28')](function(){return _0x2a0dd5;});}return _0x2a0dd5;}})[_0x8568('0x28')](function(_0x218b4e){if(_0x218b4e){var _0x5c0fe6=_0x218b4e['value'];if(!fs[_0x8568('0x59')](_0x5c0fe6)){throw new db['Sequelize'][(_0x8568('0x5a'))](_0x8568('0x5b'));}if(_0x218b4e['filename']){return _0x300422['download'](_0x5c0fe6,_0x218b4e[_0x8568('0x5c')]+path[_0x8568('0x5d')](_0x5c0fe6),function(){if(_0x35e3bb){fs[_0x8568('0x5e')](_0x5c0fe6);}});}else{return _0x300422[_0x8568('0x51')](_0x5c0fe6,function(_0x3a989f){if(_0x35e3bb){fs[_0x8568('0x5e')](_0x5c0fe6);}});}}})[_0x8568('0x49')](function(_0x3eb7ce){if(_0x3eb7ce[_0x8568('0x5f')]===_0x8568('0x5b')){_0x300422['status'](0x194)['send'](_0x8568('0x60'));}else{return handleError(_0x300422,null);}});};exports['downloads']=function(_0x108d23,_0x509477,_0x2bb3c5){var _0x39da2d=require(_0x8568('0x52'));var _0x14ae4a=![];var _0x209bd2={'$and':[db['sequelize'][_0x8568('0x42')](db['sequelize']['fn'](_0x8568('0x61'),db[_0x8568('0x62')][_0x8568('0x63')](_0x8568('0x53'))),_0x108d23['query'][_0x8568('0x64')])]};if(_0x108d23['query'][_0x8568('0x44')]&&_0x108d23['query'][_0x8568('0x44')]===_0x8568('0x53')){_0x209bd2[_0x8568('0x65')][_0x8568('0x66')]({'uniqueid':_0x108d23[_0x8568('0x4b')]['id']});}else{_0x209bd2['$and'][_0x8568('0x66')]({'id':_0x108d23[_0x8568('0x4b')]['id']});}return db[_0x8568('0x33')][_0x8568('0x4e')]({'where':_0x209bd2,'attributes':['id',_0x8568('0x54')],'raw':!![]})[_0x8568('0x28')](handleEntityNotFound(_0x509477,null))[_0x8568('0x28')](function(_0x304e88){if(_0x304e88){var _0x19e0ed=util[_0x8568('0x35')](_0x8568('0x55'),_0x304e88[_0x8568('0x54')]);if(fs['existsSync'](_0x19e0ed)){_0x14ae4a=!![];return _0x39da2d['decryptFile'](_0x19e0ed,_0x304e88[_0x8568('0x54')],config[_0x8568('0x57')]['recording'])[_0x8568('0x28')](function(){return _0x304e88;});}return _0x304e88;}})['then'](function(_0x35d0f1){if(_0x35d0f1){if(!fs[_0x8568('0x59')](_0x35d0f1[_0x8568('0x54')])){throw new db[(_0x8568('0x67'))][(_0x8568('0x5a'))]('VoiceRecording\x20not\x20found');}if(_0x35d0f1[_0x8568('0x5c')]){return _0x509477[_0x8568('0x51')](_0x35d0f1[_0x8568('0x54')],_0x35d0f1[_0x8568('0x5c')]+path[_0x8568('0x5d')](_0x35d0f1[_0x8568('0x54')]),function(){if(_0x14ae4a){fs['unlink'](_0x35d0f1[_0x8568('0x54')]);}});}else{return _0x509477[_0x8568('0x51')](_0x35d0f1[_0x8568('0x54')],function(_0x317de0){if(_0x14ae4a){fs[_0x8568('0x5e')](_0x35d0f1['value']);}});}}})[_0x8568('0x49')](handleError(_0x509477,null));};exports['destroy']=function(_0x217e75,_0x580a67){return db[_0x8568('0x33')]['find']({'where':{'id':_0x217e75[_0x8568('0x4b')]['id']}})[_0x8568('0x28')](function(_0xf1c833){if(_['isNil'](_0xf1c833)){throw new ReferenceError('Entity\x20not\x20found');}return _0xf1c833;})['then'](function(_0x49271f){var _0x3edb20=_0x49271f[_0x8568('0x54')];logger[_0x8568('0x68')]('cancellazione\x20fisica\x20documento\x20%s',_0x3edb20);if(!_[_0x8568('0x69')](_0x49271f[_0x8568('0x54')])&&fs[_0x8568('0x59')](_0x3edb20)){logger[_0x8568('0x68')]('File:\x20\x22'+_0x3edb20+_0x8568('0x6a'));fs['unlinkSync'](_0x3edb20);}_0x3edb20=_0x3edb20+'.cypher';if(!_[_0x8568('0x69')](_0x49271f['value'])&&fs[_0x8568('0x59')](_0x3edb20)){logger[_0x8568('0x68')](_0x8568('0x6b')+_0x3edb20+'\x22\x20trovato\x20eseguo\x20la\x20cancellazione');fs[_0x8568('0x6c')](_0x3edb20);}return _0x49271f;})['then'](function(_0x472590){if(!_0x472590)throw new InternalError();return _0x472590[_0x8568('0x29')]();})[_0x8568('0x28')](function(){_0x580a67[_0x8568('0x1c')](0xcc)[_0x8568('0x1b')]();})[_0x8568('0x49')](handleError(_0x580a67,null));};function getBucketslist(_0x5470f8,_0x12c0af,_0x12cf35){return new Promise(function(_0x2e2086,_0x29b4dd){var _0x4659df=new AWS['S3']({'accessKeyId':_0x12c0af,'secretAccessKey':_0x5470f8,'region':_0x12cf35});_0x4659df['listBuckets']({},function(_0x4c0009,_0x31f51f){if(_0x4c0009){return _0x29b4dd(_0x4c0009);}else{return _0x2e2086(_0x31f51f);}});});}function createBucket(_0x4ab041,_0x461d73,_0x1740a7,_0x347726){return new Promise(function(_0x3a075e,_0x5c1df0){var _0x5baf52=new AWS['S3']({'accessKeyId':_0x461d73,'secretAccessKey':_0x4ab041,'region':_0x1740a7});_0x5baf52[_0x8568('0x6d')]({'Bucket':_0x347726},function(_0x416da7,_0x274694){if(_0x416da7){return _0x5c1df0(_0x416da7);}else{return _0x3a075e(_0x274694);}});});}function uploadFile(_0x1a32cd,_0x4f31ff,_0x5af1f1,_0x597f60,_0x5b560a,_0x11028d){return new Promise(function(_0x1dea93,_0x570175){var _0x5dc07c=new AWS['S3']({'accessKeyId':_0x4f31ff,'secretAccessKey':_0x1a32cd,'region':_0x5af1f1});_0x5dc07c['upload']({'Bucket':_0x597f60,'Key':_0x5b560a,'Body':_0x11028d},function(_0x5527b3,_0x20d5c4){if(_0x5527b3){return _0x570175(_0x5527b3);}else{return _0x1dea93(_0x20d5c4);}});});}function startTranscribe(_0x4129f3,_0x5e9500,_0x278000,_0x3947cf,_0x35c8c1,_0x32c4cc){return new Promise(function(_0x3527ca,_0x3bd521){var _0x8834f8=new AWS['TranscribeService']({'accessKeyId':_0x5e9500,'secretAccessKey':_0x4129f3,'region':_0x278000});_0x8834f8[_0x8568('0x6e')]({'TranscriptionJobName':_0x3947cf,'LanguageCode':_0x35c8c1,'Media':{'MediaFileUri':_0x32c4cc}},function(_0x563390,_0x31a882){if(_0x563390){return _0x3bd521(_0x563390);}else{return _0x3527ca(_0x31a882);}});});}function transcribe(_0x59aeb6,_0x112aad,_0x46448c,_0x59d4b2,_0x212c18,_0x4c0fc1,_0x40653f){return new Promise(function(_0x44fe30,_0x14624b){var _0xeed754={};logger[_0x8568('0x68')](util[_0x8568('0x35')](_0x8568('0x6f'),_0x59aeb6,_0x212c18));return uploadFile(_0x112aad,_0x46448c,_0x59d4b2,_0x212c18,path[_0x8568('0x70')](_0x4c0fc1),fs[_0x8568('0x71')](_0x4c0fc1))[_0x8568('0x28')](function(_0x523d96){logger[_0x8568('0x68')](util[_0x8568('0x35')]('[RUNTRANSCRIPT][%d]\x20Voice\x20recording\x20uploaded\x20in\x20bucket\x20%s\x20(%s)',_0x59aeb6,_0x212c18,_0x523d96['Location']));_0xeed754[_0x8568('0x72')]=_0x523d96['Bucket'];_0xeed754['location']=_0x523d96[_0x8568('0x73')];logger[_0x8568('0x68')](util[_0x8568('0x35')](_0x8568('0x74'),_0x59aeb6));return startTranscribe(_0x112aad,_0x46448c,_0x59d4b2,uuidv4(),_0x40653f,_0x523d96[_0x8568('0x73')]);})[_0x8568('0x28')](function(_0x48046f){logger[_0x8568('0x68')](util[_0x8568('0x35')](_0x8568('0x75'),_0x59aeb6,_0x48046f[_0x8568('0x76')][_0x8568('0x77')]));_0xeed754[_0x8568('0x78')]=_0x48046f[_0x8568('0x76')]['TranscriptionJobName'];_0xeed754[_0x8568('0x79')]=_0x48046f[_0x8568('0x76')][_0x8568('0x7a')];return _0x44fe30(_0xeed754);})['catch'](function(_0x115ecc){return _0x14624b(_0x115ecc);});});}exports[_0x8568('0x7b')]=function(_0x3146af,_0x1fa978,_0x4c1bfd){var _0x22e4d3;var _0x593829;var _0x56bc9d;var _0x2f6891=require(_0x8568('0x52'));return db[_0x8568('0x33')]['findOne']({'where':{'id':_0x3146af[_0x8568('0x4b')]['id']}})['then'](function(_0xb0372a){if(_0xb0372a){var _0x38147b=util['format'](_0x8568('0x55'),_0xb0372a['value']);if(fs[_0x8568('0x59')](_0x38147b)){cypher=!![];return _0x2f6891[_0x8568('0x56')](_0x38147b,_0xb0372a[_0x8568('0x54')],config[_0x8568('0x57')][_0x8568('0x58')])[_0x8568('0x28')](function(){return _0xb0372a;});}return _0xb0372a;}})['then'](function(_0x278e76){if(!_0x278e76){throw new db[(_0x8568('0x67'))]['ValidationError']('Voice\x20Recording\x20not\x20found');}_0x593829=_0x278e76;return db[_0x8568('0x7c')][_0x8568('0x7d')]({'where':{'id':0x1}});})[_0x8568('0x28')](handleEntityNotFound(_0x1fa978,null))[_0x8568('0x28')](function(_0x35ed6e){if(_0x35ed6e){_0x22e4d3=_0x35ed6e;if(!_0x22e4d3[_0x8568('0x7e')]||!_0x22e4d3[_0x8568('0x7f')]||!_0x22e4d3[_0x8568('0x80')]||!_0x22e4d3[_0x8568('0x81')]||!_0x22e4d3['bucket']){throw new db[(_0x8568('0x67'))]['ValidationError'](_0x8568('0x82'));}if(_0x3146af[_0x8568('0x2e')][_0x8568('0x83')]&&(!_0x22e4d3[_0x8568('0x84')]||!_0x22e4d3['sentimentAccountId']||!_0x22e4d3[_0x8568('0x85')]||!_0x22e4d3['language']||!_0x22e4d3[_0x8568('0x72')])){throw new db['Sequelize']['ValidationError']('Sentiment\x20Analysis\x20not\x20configured');}return db['CloudProvider'][_0x8568('0x7d')]({'where':{'id':_0x22e4d3[_0x8568('0x7f')]}});}})[_0x8568('0x28')](function(_0x392f03){if(!_0x392f03){throw new db[(_0x8568('0x67'))][(_0x8568('0x5a'))](_0x8568('0x86'));}if(!_0x392f03['data1']||!_0x392f03['data2']){throw new db[(_0x8568('0x67'))][(_0x8568('0x5a'))]('Cloud\x20Provider\x20not\x20configured');}_0x56bc9d=_0x392f03;return getBucketslist(_0x56bc9d[_0x8568('0x87')],_0x56bc9d[_0x8568('0x88')],_0x22e4d3[_0x8568('0x80')]);})[_0x8568('0x28')](function(_0x3b4987){if(_0x3b4987&&_0x3b4987['Buckets']){var _0x2c6472=_[_0x8568('0x4e')](_0x3b4987['Buckets'],function(_0x3f4b04){return _0x3f4b04[_0x8568('0x89')]===_0x22e4d3[_0x8568('0x72')];});if(!_0x2c6472){logger['info'](util[_0x8568('0x35')](_0x8568('0x8a'),_0x3146af[_0x8568('0x4b')]['id'],_0x22e4d3[_0x8568('0x72')]));return createBucket(_0x56bc9d[_0x8568('0x87')],_0x56bc9d[_0x8568('0x88')],_0x22e4d3[_0x8568('0x80')],_0x22e4d3[_0x8568('0x72')]);}logger[_0x8568('0x68')](util[_0x8568('0x35')]('[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20available',_0x3146af[_0x8568('0x4b')]['id'],_0x22e4d3[_0x8568('0x72')]));return;}})[_0x8568('0x28')](function(_0x87ddae){if(_0x593829['transcribeStatus']===_0x8568('0x8b')){return transcribe(_0x3146af[_0x8568('0x4b')]['id'],_0x56bc9d[_0x8568('0x87')],_0x56bc9d[_0x8568('0x88')],_0x22e4d3['transcribeRegion'],_0x22e4d3[_0x8568('0x72')],_0x593829['value'],_0x22e4d3[_0x8568('0x81')]);}else{logger[_0x8568('0x68')](util[_0x8568('0x35')]('[RUNTRANSCRIPT][%d]\x20Transcript\x20action\x20already\x20requested',_0x3146af[_0x8568('0x4b')]['id']));return{'transcribeStatus':_0x8568('0x8c')};}})[_0x8568('0x28')](function(_0x4351a4){if(_0x4351a4){_0x4351a4[_0x8568('0x8d')]=_0x3146af[_0x8568('0x2e')][_0x8568('0x83')];return _0x593829[_0x8568('0x8e')](_0x4351a4);}})[_0x8568('0x28')](respondWithResult(_0x1fa978,null))[_0x8568('0x49')](handleError(_0x1fa978,null));};function writeFile(_0x594262,_0x5ca383){return new Promise(function(_0x194f5a,_0x562786){fs[_0x8568('0x8f')](_0x5ca383,_0x594262,function(_0x70e13f,_0x1c901e){if(_0x70e13f){return _0x562786(_0x70e13f);}else{return _0x194f5a(_0x1c901e);}});});}exports[_0x8568('0x90')]=function(_0x2d09a6,_0x2fcdbf,_0x5495f2){return db[_0x8568('0x33')][_0x8568('0x7d')]({'where':{'id':_0x2d09a6[_0x8568('0x4b')]['id']}})['then'](handleEntityNotFound(_0x2fcdbf))[_0x8568('0x28')](function(_0x3105d3){if(_0x3105d3&&_0x3105d3[_0x8568('0x91')]){var _0x357a73=_0x3105d3['fileText'];var _0x3040c8=config[_0x8568('0x92')]+'/server/files/transcribes/transcribe_'+_0x3105d3['id']+'.txt';if(fs[_0x8568('0x59')](_0x3040c8)){return _0x3040c8;}return writeFile(_0x357a73,_0x3040c8)[_0x8568('0x28')](function(){return _0x3040c8;});}else{throw new db[(_0x8568('0x67'))]['ValidationError'](_0x8568('0x93'));}})[_0x8568('0x28')](function(_0x3d5a5b){return _0x2fcdbf[_0x8568('0x51')](_0x3d5a5b);})['catch'](handleError(_0x2fcdbf));};