Built motion from commit da24aabd.|2.6.20
[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 _0x391e=['TranscriptionJobStatus','runTranscribe','findOne','%s.cypher','Voice\x20Recording\x20not\x20found','Setting','transcribe','language','Transcribe\x20not\x20configured','runSentiment','sentimentAccountId','sentimentRegion','CloudProvider','transcribeAccountId','data1','data2','Cloud\x20Provider\x20not\x20configured','transcribeRegion','Buckets','Name','[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20available','NEW','IN_PROGRESS','tempSentiment','writeFile','downloadTranscribe','fileText','root','/server/files/transcribes/transcribe_','.txt','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','sox','fs-extra','squel','crypto','jsforce','to-csv','querystring','aws-sdk','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','undefined','limit','count','offset','set','Content-Range','apply','reject','update','then','destroy','sendStatus','error','stack','name','map','VoiceRecording','fieldName','type','key','format','query','intersection','model','fields','attributes','length','hasOwnProperty','nolimit','order','sort','filters','pick','filter','merge','where','VIRTUAL','options','include','findAll','rows','catch','params','keys','includeAll','find','create','body','describe','../../components/encryptor','value','existsSync','decryptFile','recording','Sequelize','ValidationError','filename','download','extname','unlink','message','VoiceRecording\x20not\x20found','send','Not\x20found','sequelize','col','token','$and','push','secrets','isNil','Entity\x20not\x20found','info','cancellazione\x20fisica\x20documento\x20%s','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','.cypher','File:\x20\x22','listBuckets','createBucket','upload','TranscribeService','startTranscriptionJob','[RUNTRANSCRIPT][%d]\x20Starting\x20voice\x20recording\x20upload\x20in\x20bucket\x20%s','basename','readFileSync','Location','bucket','location','[RUNTRANSCRIPT][%d]\x20Sending\x20transcribe\x20request','[RUNTRANSCRIPT][%d]\x20Transcription\x20job\x20%s\x20created','TranscriptionJob','TranscriptionJobName','transcribeStatus'];(function(_0x343af8,_0x34185e){var _0x38c094=function(_0x4fa8c0){while(--_0x4fa8c0){_0x343af8['push'](_0x343af8['shift']());}};_0x38c094(++_0x34185e);}(_0x391e,0xb8));var _0xe391=function(_0x11005e,_0x20c3d2){_0x11005e=_0x11005e-0x0;var _0x29338f=_0x391e[_0x11005e];return _0x29338f;};'use strict';var emlformat=require(_0xe391('0x0'));var rimraf=require(_0xe391('0x1'));var zipdir=require(_0xe391('0x2'));var jsonpatch=require(_0xe391('0x3'));var rp=require(_0xe391('0x4'));var moment=require(_0xe391('0x5'));var BPromise=require('bluebird');var Mustache=require(_0xe391('0x6'));var util=require(_0xe391('0x7'));var path=require(_0xe391('0x8'));var sox=require(_0xe391('0x9'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xe391('0xa'));var _=require('lodash');var squel=require(_0xe391('0xb'));var crypto=require(_0xe391('0xc'));var jsforce=require(_0xe391('0xd'));var deskjs=require('desk.js');var toCsv=require(_0xe391('0xe'));var querystring=require(_0xe391('0xf'));var Papa=require('papaparse');var AWS=require(_0xe391('0x10'));var uuidv4=require('uuid/v4');var Redis=require(_0xe391('0x11'));var authService=require(_0xe391('0x12'));var qs=require(_0xe391('0x13'));var as=require(_0xe391('0x14'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xe391('0x15'))(_0xe391('0x16'));var utils=require(_0xe391('0x17'));var config=require(_0xe391('0x18'));var licenseUtil=require(_0xe391('0x19'));var db=require(_0xe391('0x1a'))['db'];function respondWithStatusCode(_0x4152cd,_0x44428c){_0x44428c=_0x44428c||0xcc;return function(_0x207533){if(_0x207533){return _0x4152cd['sendStatus'](_0x44428c);}return _0x4152cd[_0xe391('0x1b')](_0x44428c)[_0xe391('0x1c')]();};}function respondWithResult(_0x29e25d,_0x20de8f){_0x20de8f=_0x20de8f||0xc8;return function(_0x86df1e){if(_0x86df1e){return _0x29e25d[_0xe391('0x1b')](_0x20de8f)[_0xe391('0x1d')](_0x86df1e);}};}function respondWithFilteredResult(_0x3c4a51,_0x5f9068){return function(_0xe82076){if(_0xe82076){var _0x5cde3a=typeof _0x5f9068['offset']===_0xe391('0x1e')&&typeof _0x5f9068[_0xe391('0x1f')]===_0xe391('0x1e');var _0x185460=_0xe82076[_0xe391('0x20')];var _0x5239f3=_0x5cde3a?0x0:_0x5f9068['offset'];var _0x20276a=_0x5cde3a?_0xe82076[_0xe391('0x20')]:_0x5f9068[_0xe391('0x21')]+_0x5f9068[_0xe391('0x1f')];var _0x5318e7;if(_0x20276a>=_0x185460){_0x20276a=_0x185460;_0x5318e7=0xc8;}else{_0x5318e7=0xce;}_0x3c4a51['status'](_0x5318e7);return _0x3c4a51[_0xe391('0x22')](_0xe391('0x23'),_0x5239f3+'-'+_0x20276a+'/'+_0x185460)['json'](_0xe82076);}return null;};}function patchUpdates(_0xd44cd1){return function(_0xa27a80){try{jsonpatch[_0xe391('0x24')](_0xa27a80,_0xd44cd1,!![]);}catch(_0x1d2d0f){return BPromise[_0xe391('0x25')](_0x1d2d0f);}return _0xa27a80['save']();};}function saveUpdates(_0x2aba26,_0x4b458d){return function(_0x200152){if(_0x200152){return _0x200152[_0xe391('0x26')](_0x2aba26)[_0xe391('0x27')](function(_0xdfbd6){return _0xdfbd6;});}return null;};}function removeEntity(_0x554076,_0x4f9ecc){return function(_0x2967ea){if(_0x2967ea){return _0x2967ea[_0xe391('0x28')]()['then'](function(){_0x554076[_0xe391('0x1b')](0xcc)[_0xe391('0x1c')]();});}};}function handleEntityNotFound(_0x91d39f,_0x35cb6c){return function(_0x57894b){if(!_0x57894b){_0x91d39f[_0xe391('0x29')](0x194);}return _0x57894b;};}function handleError(_0x45f38b,_0x4fe468){_0x4fe468=_0x4fe468||0x1f4;return function(_0x24f1c6){logger[_0xe391('0x2a')](_0x24f1c6[_0xe391('0x2b')]);if(_0x24f1c6[_0xe391('0x2c')]){delete _0x24f1c6['name'];}_0x45f38b[_0xe391('0x1b')](_0x4fe468)['send'](_0x24f1c6);};}exports['index']=function(_0x597632,_0x53cc4c){var _0x5455db={},_0x3c2015={},_0x1b1b1c={'count':0x0,'rows':[]};var _0x1d198e=_[_0xe391('0x2d')](db[_0xe391('0x2e')]['rawAttributes'],function(_0x5ae499){return{'name':_0x5ae499[_0xe391('0x2f')],'type':_0x5ae499[_0xe391('0x30')][_0xe391('0x31')]};});_0x3c2015['model']=_['differenceBy'](_[_0xe391('0x2d')](_0x1d198e,_0xe391('0x2c')),[_0xe391('0x32')]);_0x3c2015['query']=_['keys'](_0x597632[_0xe391('0x33')]);_0x3c2015['filters']=_[_0xe391('0x34')](_0x3c2015[_0xe391('0x35')],_0x3c2015['query']);_0x5455db['attributes']=_[_0xe391('0x34')](_0x3c2015[_0xe391('0x35')],qs[_0xe391('0x36')](_0x597632[_0xe391('0x33')][_0xe391('0x36')]));_0x5455db[_0xe391('0x37')]=_0x5455db[_0xe391('0x37')][_0xe391('0x38')]?_0x5455db[_0xe391('0x37')]:_0x3c2015[_0xe391('0x35')];if(!_0x597632[_0xe391('0x33')][_0xe391('0x39')](_0xe391('0x3a'))){_0x5455db[_0xe391('0x1f')]=qs['limit'](_0x597632[_0xe391('0x33')]['limit']);_0x5455db[_0xe391('0x21')]=qs[_0xe391('0x21')](_0x597632[_0xe391('0x33')]['offset']);}_0x5455db[_0xe391('0x3b')]=qs[_0xe391('0x3c')](_0x597632[_0xe391('0x33')][_0xe391('0x3c')]);_0x5455db['where']=qs[_0xe391('0x3d')](_[_0xe391('0x3e')](_0x597632[_0xe391('0x33')],_0x3c2015[_0xe391('0x3d')]),_0x1d198e);if(_0x597632[_0xe391('0x33')][_0xe391('0x3f')]){_0x5455db['where']=_[_0xe391('0x40')](_0x5455db[_0xe391('0x41')],{'$or':_[_0xe391('0x2d')](_0x1d198e,function(_0x26ef95){if(_0x26ef95[_0xe391('0x30')]!==_0xe391('0x42')){var _0x26c5e2={};_0x26c5e2[_0x26ef95[_0xe391('0x2c')]]={'$like':'%'+_0x597632[_0xe391('0x33')][_0xe391('0x3f')]+'%'};return _0x26c5e2;}})});}_0x5455db=_['merge']({},_0x5455db,_0x597632[_0xe391('0x43')]);var _0xf2d5c1={'where':_0x5455db[_0xe391('0x41')]};return db[_0xe391('0x2e')][_0xe391('0x20')](_0xf2d5c1)[_0xe391('0x27')](function(_0x51d4e3){_0x1b1b1c[_0xe391('0x20')]=_0x51d4e3;if(_0x597632[_0xe391('0x33')]['includeAll']){_0x5455db[_0xe391('0x44')]=[{'all':!![]}];}return db[_0xe391('0x2e')][_0xe391('0x45')](_0x5455db);})[_0xe391('0x27')](function(_0x16677f){_0x1b1b1c[_0xe391('0x46')]=_0x16677f;return _0x1b1b1c;})[_0xe391('0x27')](respondWithFilteredResult(_0x53cc4c,_0x5455db))[_0xe391('0x47')](handleError(_0x53cc4c,null));};exports['show']=function(_0x3fc612,_0x434be4){var _0x42d4d6={'raw':![],'where':{'id':_0x3fc612[_0xe391('0x48')]['id']}},_0x3911b7={};_0x3911b7[_0xe391('0x35')]=_[_0xe391('0x49')](db[_0xe391('0x2e')]['rawAttributes']);_0x3911b7[_0xe391('0x33')]=_[_0xe391('0x49')](_0x3fc612[_0xe391('0x33')]);_0x3911b7['filters']=_[_0xe391('0x34')](_0x3911b7['model'],_0x3911b7[_0xe391('0x33')]);_0x42d4d6[_0xe391('0x37')]=_[_0xe391('0x34')](_0x3911b7[_0xe391('0x35')],qs[_0xe391('0x36')](_0x3fc612[_0xe391('0x33')][_0xe391('0x36')]));_0x42d4d6[_0xe391('0x37')]=_0x42d4d6['attributes'][_0xe391('0x38')]?_0x42d4d6[_0xe391('0x37')]:_0x3911b7[_0xe391('0x35')];if(_0x3fc612[_0xe391('0x33')][_0xe391('0x4a')]){_0x42d4d6[_0xe391('0x44')]=[{'all':!![]}];}_0x42d4d6=_['merge']({},_0x42d4d6,_0x3fc612['options']);return db['VoiceRecording'][_0xe391('0x4b')](_0x42d4d6)[_0xe391('0x27')](handleEntityNotFound(_0x434be4,null))[_0xe391('0x27')](respondWithResult(_0x434be4,null))[_0xe391('0x47')](handleError(_0x434be4,null));};exports['create']=function(_0x4d0f58,_0x28dbdf){return db[_0xe391('0x2e')][_0xe391('0x4c')](_0x4d0f58['body'],{})[_0xe391('0x27')](respondWithResult(_0x28dbdf,0xc9))['catch'](handleError(_0x28dbdf,null));};exports['update']=function(_0x56f093,_0x189ea9){if(_0x56f093['body']['id']){delete _0x56f093[_0xe391('0x4d')]['id'];}return db['VoiceRecording']['find']({'where':{'id':_0x56f093[_0xe391('0x48')]['id']}})['then'](handleEntityNotFound(_0x189ea9,null))['then'](saveUpdates(_0x56f093[_0xe391('0x4d')],null))['then'](respondWithResult(_0x189ea9,null))[_0xe391('0x47')](handleError(_0x189ea9,null));};exports[_0xe391('0x4e')]=function(_0x4b4297,_0x466c0a){return db[_0xe391('0x2e')][_0xe391('0x4e')]()[_0xe391('0x27')](respondWithResult(_0x466c0a,null))[_0xe391('0x47')](handleError(_0x466c0a,null));};exports['download']=function(_0x2a7b79,_0x2252f3,_0x390910){var _0xebdbe0=require(_0xe391('0x4f'));var _0x17d57d=![];var _0x737aed={};if(_0x2a7b79[_0xe391('0x33')][_0xe391('0x30')]&&_0x2a7b79[_0xe391('0x33')]['type']==='uniqueid'){_0x737aed['uniqueid']=_0x2a7b79[_0xe391('0x48')]['id'];}else{_0x737aed['id']=_0x2a7b79[_0xe391('0x48')]['id'];}return db['VoiceRecording'][_0xe391('0x4b')]({'where':_0x737aed,'attributes':['id','value'],'raw':!![]})['then'](handleEntityNotFound(_0x2252f3,null))[_0xe391('0x27')](function(_0x245103){if(_0x245103){var _0x5669de=_0x245103[_0xe391('0x50')];var _0x30574b=util[_0xe391('0x32')]('%s.cypher',_0x5669de);if(fs[_0xe391('0x51')](_0x30574b)){_0x17d57d=!![];return _0xebdbe0[_0xe391('0x52')](_0x30574b,_0x5669de,config['secrets'][_0xe391('0x53')])[_0xe391('0x27')](function(){return _0x245103;});}return _0x245103;}})[_0xe391('0x27')](function(_0x4e0cbc){if(_0x4e0cbc){var _0x4b17d5=_0x4e0cbc[_0xe391('0x50')];if(!fs[_0xe391('0x51')](_0x4b17d5)){throw new db[(_0xe391('0x54'))][(_0xe391('0x55'))]('VoiceRecording\x20not\x20found');}if(_0x4e0cbc[_0xe391('0x56')]){return _0x2252f3[_0xe391('0x57')](_0x4b17d5,_0x4e0cbc[_0xe391('0x56')]+path[_0xe391('0x58')](_0x4b17d5),function(){if(_0x17d57d){fs[_0xe391('0x59')](_0x4b17d5);}});}else{return _0x2252f3[_0xe391('0x57')](_0x4b17d5,function(_0x74c10){if(_0x17d57d){fs[_0xe391('0x59')](_0x4b17d5);}});}}})['catch'](function(_0x36e819){if(_0x36e819[_0xe391('0x5a')]===_0xe391('0x5b')){_0x2252f3['status'](0x194)[_0xe391('0x5c')](_0xe391('0x5d'));}else{return handleError(_0x2252f3,null);}});};exports['downloads']=function(_0x4e75a9,_0x1f68e5,_0x458bfb){var _0x5346c8=require(_0xe391('0x4f'));var _0xc5dc26=![];var _0xedd192={'$and':[db[_0xe391('0x5e')][_0xe391('0x41')](db[_0xe391('0x5e')]['fn']('MD5',db[_0xe391('0x5e')][_0xe391('0x5f')]('uniqueid')),_0x4e75a9[_0xe391('0x33')][_0xe391('0x60')])]};if(_0x4e75a9[_0xe391('0x33')][_0xe391('0x30')]&&_0x4e75a9[_0xe391('0x33')][_0xe391('0x30')]==='uniqueid'){_0xedd192[_0xe391('0x61')][_0xe391('0x62')]({'uniqueid':_0x4e75a9[_0xe391('0x48')]['id']});}else{_0xedd192[_0xe391('0x61')][_0xe391('0x62')]({'id':_0x4e75a9['params']['id']});}return db['VoiceRecording']['find']({'where':_0xedd192,'attributes':['id','value'],'raw':!![]})[_0xe391('0x27')](handleEntityNotFound(_0x1f68e5,null))['then'](function(_0x2f5197){if(_0x2f5197){var _0xa34f85=util[_0xe391('0x32')]('%s.cypher',_0x2f5197['value']);if(fs[_0xe391('0x51')](_0xa34f85)){_0xc5dc26=!![];return _0x5346c8[_0xe391('0x52')](_0xa34f85,_0x2f5197['value'],config[_0xe391('0x63')]['recording'])['then'](function(){return _0x2f5197;});}return _0x2f5197;}})[_0xe391('0x27')](function(_0x1ee2bd){if(_0x1ee2bd){if(!fs[_0xe391('0x51')](_0x1ee2bd[_0xe391('0x50')])){throw new db[(_0xe391('0x54'))]['ValidationError'](_0xe391('0x5b'));}if(_0x1ee2bd[_0xe391('0x56')]){return _0x1f68e5[_0xe391('0x57')](_0x1ee2bd['value'],_0x1ee2bd[_0xe391('0x56')]+path['extname'](_0x1ee2bd['value']),function(){if(_0xc5dc26){fs[_0xe391('0x59')](_0x1ee2bd[_0xe391('0x50')]);}});}else{return _0x1f68e5[_0xe391('0x57')](_0x1ee2bd[_0xe391('0x50')],function(_0x284aed){if(_0xc5dc26){fs[_0xe391('0x59')](_0x1ee2bd[_0xe391('0x50')]);}});}}})[_0xe391('0x47')](handleError(_0x1f68e5,null));};exports[_0xe391('0x28')]=function(_0x5a7f54,_0x558316){return db[_0xe391('0x2e')][_0xe391('0x4b')]({'where':{'id':_0x5a7f54[_0xe391('0x48')]['id']}})[_0xe391('0x27')](function(_0x2ce3ab){if(_[_0xe391('0x64')](_0x2ce3ab)){throw new ReferenceError(_0xe391('0x65'));}return _0x2ce3ab;})[_0xe391('0x27')](function(_0x12a593){var _0xb428d9=_0x12a593[_0xe391('0x50')];logger[_0xe391('0x66')](_0xe391('0x67'),_0xb428d9);if(!_[_0xe391('0x64')](_0x12a593['value'])&&fs[_0xe391('0x51')](_0xb428d9)){logger[_0xe391('0x66')]('File:\x20\x22'+_0xb428d9+_0xe391('0x68'));fs[_0xe391('0x69')](_0xb428d9);}_0xb428d9=_0xb428d9+_0xe391('0x6a');if(!_['isNil'](_0x12a593[_0xe391('0x50')])&&fs[_0xe391('0x51')](_0xb428d9)){logger[_0xe391('0x66')](_0xe391('0x6b')+_0xb428d9+_0xe391('0x68'));fs['unlinkSync'](_0xb428d9);}return _0x12a593;})['then'](function(_0x10237e){if(!_0x10237e)throw new InternalError();return _0x10237e['destroy']();})[_0xe391('0x27')](function(){_0x558316[_0xe391('0x1b')](0xcc)[_0xe391('0x1c')]();})[_0xe391('0x47')](handleError(_0x558316,null));};function getBucketslist(_0xed65c0,_0x341a67,_0x3e9b8e){return new Promise(function(_0x49ec11,_0xbbe532){var _0xfaceba=new AWS['S3']({'accessKeyId':_0x341a67,'secretAccessKey':_0xed65c0,'region':_0x3e9b8e});_0xfaceba[_0xe391('0x6c')]({},function(_0x415f1a,_0x4e30b3){if(_0x415f1a){return _0xbbe532(_0x415f1a);}else{return _0x49ec11(_0x4e30b3);}});});}function createBucket(_0x4cefc4,_0x421511,_0x5a824b,_0x78aa6d){return new Promise(function(_0x170f03,_0x73d338){var _0x46bc33=new AWS['S3']({'accessKeyId':_0x421511,'secretAccessKey':_0x4cefc4,'region':_0x5a824b});_0x46bc33[_0xe391('0x6d')]({'Bucket':_0x78aa6d},function(_0x27e01f,_0x27a20f){if(_0x27e01f){return _0x73d338(_0x27e01f);}else{return _0x170f03(_0x27a20f);}});});}function uploadFile(_0x2252f0,_0x2fe904,_0x31f7e7,_0x8309c8,_0x5b088c,_0x19e1a7){return new Promise(function(_0x56360d,_0x19ef35){var _0x1be7c3=new AWS['S3']({'accessKeyId':_0x2fe904,'secretAccessKey':_0x2252f0,'region':_0x31f7e7});_0x1be7c3[_0xe391('0x6e')]({'Bucket':_0x8309c8,'Key':_0x5b088c,'Body':_0x19e1a7},function(_0x692fea,_0x37dd25){if(_0x692fea){return _0x19ef35(_0x692fea);}else{return _0x56360d(_0x37dd25);}});});}function startTranscribe(_0x14d725,_0x22b20e,_0xb0beee,_0x4c004f,_0x104b78,_0x844c22){return new Promise(function(_0xcde64f,_0x2d1152){var _0x46f9a2=new AWS[(_0xe391('0x6f'))]({'accessKeyId':_0x22b20e,'secretAccessKey':_0x14d725,'region':_0xb0beee});_0x46f9a2[_0xe391('0x70')]({'TranscriptionJobName':_0x4c004f,'LanguageCode':_0x104b78,'Media':{'MediaFileUri':_0x844c22}},function(_0x16cf99,_0x4217f8){if(_0x16cf99){return _0x2d1152(_0x16cf99);}else{return _0xcde64f(_0x4217f8);}});});}function transcribe(_0x1f004f,_0x44ee3c,_0x4cb724,_0x2f7cc4,_0x500c44,_0x48b81d,_0x4f0d15){return new Promise(function(_0x3bddb0,_0x1fff2c){var _0xcb2947={};logger[_0xe391('0x66')](util['format'](_0xe391('0x71'),_0x1f004f,_0x500c44));return uploadFile(_0x44ee3c,_0x4cb724,_0x2f7cc4,_0x500c44,path[_0xe391('0x72')](_0x48b81d),fs[_0xe391('0x73')](_0x48b81d))[_0xe391('0x27')](function(_0x3a1232){logger[_0xe391('0x66')](util['format']('[RUNTRANSCRIPT][%d]\x20Voice\x20recording\x20uploaded\x20in\x20bucket\x20%s\x20(%s)',_0x1f004f,_0x500c44,_0x3a1232[_0xe391('0x74')]));_0xcb2947[_0xe391('0x75')]=_0x3a1232['Bucket'];_0xcb2947[_0xe391('0x76')]=_0x3a1232[_0xe391('0x74')];logger[_0xe391('0x66')](util['format'](_0xe391('0x77'),_0x1f004f));return startTranscribe(_0x44ee3c,_0x4cb724,_0x2f7cc4,uuidv4(),_0x4f0d15,_0x3a1232[_0xe391('0x74')]);})[_0xe391('0x27')](function(_0x17e893){logger[_0xe391('0x66')](util[_0xe391('0x32')](_0xe391('0x78'),_0x1f004f,_0x17e893[_0xe391('0x79')][_0xe391('0x7a')]));_0xcb2947['transcribeName']=_0x17e893[_0xe391('0x79')][_0xe391('0x7a')];_0xcb2947[_0xe391('0x7b')]=_0x17e893['TranscriptionJob'][_0xe391('0x7c')];return _0x3bddb0(_0xcb2947);})['catch'](function(_0x249392){return _0x1fff2c(_0x249392);});});}exports[_0xe391('0x7d')]=function(_0x4846f9,_0x58f759,_0x327c91){var _0x296dfc;var _0x288ae0;var _0x44e701;var _0x302a95=require('../../components/encryptor');return db[_0xe391('0x2e')][_0xe391('0x7e')]({'where':{'id':_0x4846f9[_0xe391('0x48')]['id']}})[_0xe391('0x27')](function(_0x4bc039){if(_0x4bc039){var _0x5cde86=util[_0xe391('0x32')](_0xe391('0x7f'),_0x4bc039['value']);if(fs[_0xe391('0x51')](_0x5cde86)){cypher=!![];return _0x302a95[_0xe391('0x52')](_0x5cde86,_0x4bc039[_0xe391('0x50')],config['secrets']['recording'])[_0xe391('0x27')](function(){return _0x4bc039;});}return _0x4bc039;}})[_0xe391('0x27')](function(_0x49d0c5){if(!_0x49d0c5){throw new db[(_0xe391('0x54'))][(_0xe391('0x55'))](_0xe391('0x80'));}_0x288ae0=_0x49d0c5;return db[_0xe391('0x81')][_0xe391('0x7e')]({'where':{'id':0x1}});})[_0xe391('0x27')](handleEntityNotFound(_0x58f759,null))['then'](function(_0x21eadf){if(_0x21eadf){_0x296dfc=_0x21eadf;if(!_0x296dfc[_0xe391('0x82')]||!_0x296dfc['transcribeAccountId']||!_0x296dfc['transcribeRegion']||!_0x296dfc[_0xe391('0x83')]||!_0x296dfc[_0xe391('0x75')]){throw new db[(_0xe391('0x54'))][(_0xe391('0x55'))](_0xe391('0x84'));}if(_0x4846f9[_0xe391('0x4d')][_0xe391('0x85')]&&(!_0x296dfc['sentiment']||!_0x296dfc[_0xe391('0x86')]||!_0x296dfc[_0xe391('0x87')]||!_0x296dfc[_0xe391('0x83')]||!_0x296dfc['bucket'])){throw new db[(_0xe391('0x54'))]['ValidationError']('Sentiment\x20Analysis\x20not\x20configured');}return db[_0xe391('0x88')][_0xe391('0x7e')]({'where':{'id':_0x296dfc[_0xe391('0x89')]}});}})[_0xe391('0x27')](function(_0x20e3fc){if(!_0x20e3fc){throw new db[(_0xe391('0x54'))][(_0xe391('0x55'))]('Cloud\x20Provider\x20not\x20available');}if(!_0x20e3fc[_0xe391('0x8a')]||!_0x20e3fc[_0xe391('0x8b')]){throw new db['Sequelize'][(_0xe391('0x55'))](_0xe391('0x8c'));}_0x44e701=_0x20e3fc;return getBucketslist(_0x44e701[_0xe391('0x8a')],_0x44e701[_0xe391('0x8b')],_0x296dfc[_0xe391('0x8d')]);})['then'](function(_0x57ff7c){if(_0x57ff7c&&_0x57ff7c[_0xe391('0x8e')]){var _0x5cd070=_[_0xe391('0x4b')](_0x57ff7c[_0xe391('0x8e')],function(_0x32729c){return _0x32729c[_0xe391('0x8f')]===_0x296dfc[_0xe391('0x75')];});if(!_0x5cd070){logger['info'](util[_0xe391('0x32')]('[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20not\x20available',_0x4846f9[_0xe391('0x48')]['id'],_0x296dfc[_0xe391('0x75')]));return createBucket(_0x44e701['data1'],_0x44e701[_0xe391('0x8b')],_0x296dfc[_0xe391('0x8d')],_0x296dfc[_0xe391('0x75')]);}logger[_0xe391('0x66')](util[_0xe391('0x32')](_0xe391('0x90'),_0x4846f9[_0xe391('0x48')]['id'],_0x296dfc[_0xe391('0x75')]));return;}})['then'](function(_0x3997f2){if(_0x288ae0[_0xe391('0x7b')]===_0xe391('0x91')){return transcribe(_0x4846f9[_0xe391('0x48')]['id'],_0x44e701['data1'],_0x44e701['data2'],_0x296dfc['transcribeRegion'],_0x296dfc[_0xe391('0x75')],_0x288ae0['value'],_0x296dfc['language']);}else{logger[_0xe391('0x66')](util[_0xe391('0x32')]('[RUNTRANSCRIPT][%d]\x20Transcript\x20action\x20already\x20requested',_0x4846f9['params']['id']));return{'transcribeStatus':_0xe391('0x92')};}})[_0xe391('0x27')](function(_0xf33e6e){if(_0xf33e6e){_0xf33e6e[_0xe391('0x93')]=_0x4846f9['body'][_0xe391('0x85')];return _0x288ae0['updateAttributes'](_0xf33e6e);}})['then'](respondWithResult(_0x58f759,null))[_0xe391('0x47')](handleError(_0x58f759,null));};function writeFile(_0x21245d,_0x505393){return new Promise(function(_0x2960c9,_0x529a24){fs[_0xe391('0x94')](_0x505393,_0x21245d,function(_0x40db62,_0x529c85){if(_0x40db62){return _0x529a24(_0x40db62);}else{return _0x2960c9(_0x529c85);}});});}exports[_0xe391('0x95')]=function(_0x553601,_0x218afd,_0x5c8f2c){return db['VoiceRecording'][_0xe391('0x7e')]({'where':{'id':_0x553601[_0xe391('0x48')]['id']}})[_0xe391('0x27')](handleEntityNotFound(_0x218afd))['then'](function(_0x32e942){if(_0x32e942&&_0x32e942[_0xe391('0x96')]){var _0x17e25b=_0x32e942[_0xe391('0x96')];var _0x239e3b=config[_0xe391('0x97')]+_0xe391('0x98')+_0x32e942['id']+_0xe391('0x99');if(fs[_0xe391('0x51')](_0x239e3b)){return _0x239e3b;}return writeFile(_0x17e25b,_0x239e3b)[_0xe391('0x27')](function(){return _0x239e3b;});}else{throw new db['Sequelize'][(_0xe391('0x55'))]('Transcript\x20not\x20available');}})[_0xe391('0x27')](function(_0x507f50){return _0x218afd[_0xe391('0x57')](_0x507f50);})[_0xe391('0x47')](handleError(_0x218afd));};