c55ed2157167731eb7689c1ffbd990eb2455257f
[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 _0xbd45=['TranscribeService','startTranscriptionJob','readFileSync','[RUNTRANSCRIPT][%d]\x20Voice\x20recording\x20uploaded\x20in\x20bucket\x20%s\x20(%s)','Location','bucket','Bucket','location','[RUNTRANSCRIPT][%d]\x20Sending\x20transcribe\x20request','[RUNTRANSCRIPT][%d]\x20Transcription\x20job\x20%s\x20created','TranscriptionJob','TranscriptionJobName','transcribeName','transcribeStatus','TranscriptionJobStatus','runTranscribe','findOne','Voice\x20Recording\x20not\x20found','Setting','transcribe','transcribeAccountId','language','Transcribe\x20not\x20configured','runSentiment','sentiment','sentimentRegion','Sentiment\x20Analysis\x20not\x20configured','Cloud\x20Provider\x20not\x20available','data2','data1','transcribeRegion','Buckets','Name','[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20not\x20available','NEW','[RUNTRANSCRIPT][%d]\x20Transcript\x20action\x20already\x20requested','tempSentiment','updateAttributes','downloadTranscribe','fileText','/server/files/transcribes/transcribe_','.txt','Transcript\x20not\x20available','eml-format','zip-dir','request-promise','moment','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','querystring','papaparse','aws-sdk','uuid/v4','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','end','json','offset','undefined','limit','count','set','apply','save','update','destroy','then','status','sendStatus','error','stack','name','send','VoiceRecording','rawAttributes','fieldName','type','key','model','differenceBy','map','format','query','keys','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','pick','merge','VIRTUAL','includeAll','include','findAll','rows','catch','show','params','filters','length','options','find','create','body','describe','download','../../components/encryptor','uniqueid','%s.cypher','decryptFile','secrets','recording','existsSync','ValidationError','VoiceRecording\x20not\x20found','filename','unlink','Not\x20found','downloads','sequelize','MD5','col','token','$and','push','value','Sequelize','extname','isNil','Entity\x20not\x20found','info','cancellazione\x20fisica\x20documento\x20%s','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','listBuckets','upload'];(function(_0x212b5d,_0x318113){var _0xd29835=function(_0x39dc22){while(--_0x39dc22){_0x212b5d['push'](_0x212b5d['shift']());}};_0xd29835(++_0x318113);}(_0xbd45,0x15d));var _0x5bd4=function(_0x100c1c,_0x3fe733){_0x100c1c=_0x100c1c-0x0;var _0x5c3d11=_0xbd45[_0x100c1c];return _0x5c3d11;};'use strict';var emlformat=require(_0x5bd4('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x5bd4('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x5bd4('0x2'));var moment=require(_0x5bd4('0x3'));var BPromise=require('bluebird');var Mustache=require(_0x5bd4('0x4'));var util=require(_0x5bd4('0x5'));var path=require(_0x5bd4('0x6'));var sox=require(_0x5bd4('0x7'));var csv=require(_0x5bd4('0x8'));var ejs=require(_0x5bd4('0x9'));var fs=require('fs');var fs_extra=require(_0x5bd4('0xa'));var _=require(_0x5bd4('0xb'));var squel=require(_0x5bd4('0xc'));var crypto=require(_0x5bd4('0xd'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x5bd4('0xe'));var Papa=require(_0x5bd4('0xf'));var AWS=require(_0x5bd4('0x10'));var uuidv4=require(_0x5bd4('0x11'));var Redis=require('ioredis');var authService=require(_0x5bd4('0x12'));var qs=require('../../components/parsers/qs');var as=require(_0x5bd4('0x13'));var hardwareService=require(_0x5bd4('0x14'));var logger=require(_0x5bd4('0x15'))(_0x5bd4('0x16'));var utils=require('../../config/utils');var config=require(_0x5bd4('0x17'));var licenseUtil=require(_0x5bd4('0x18'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x1e9b15,_0x5ea23e){_0x5ea23e=_0x5ea23e||0xcc;return function(_0x54de7e){if(_0x54de7e){return _0x1e9b15['sendStatus'](_0x5ea23e);}return _0x1e9b15['status'](_0x5ea23e)[_0x5bd4('0x19')]();};}function respondWithResult(_0x34896b,_0x583140){_0x583140=_0x583140||0xc8;return function(_0x1a6a83){if(_0x1a6a83){return _0x34896b['status'](_0x583140)[_0x5bd4('0x1a')](_0x1a6a83);}};}function respondWithFilteredResult(_0xd6ff92,_0x55f3ac){return function(_0x23ca24){if(_0x23ca24){var _0x97f11a=typeof _0x55f3ac[_0x5bd4('0x1b')]===_0x5bd4('0x1c')&&typeof _0x55f3ac[_0x5bd4('0x1d')]===_0x5bd4('0x1c');var _0x4009f4=_0x23ca24['count'];var _0x29840c=_0x97f11a?0x0:_0x55f3ac[_0x5bd4('0x1b')];var _0x1641a7=_0x97f11a?_0x23ca24[_0x5bd4('0x1e')]:_0x55f3ac[_0x5bd4('0x1b')]+_0x55f3ac[_0x5bd4('0x1d')];var _0x773590;if(_0x1641a7>=_0x4009f4){_0x1641a7=_0x4009f4;_0x773590=0xc8;}else{_0x773590=0xce;}_0xd6ff92['status'](_0x773590);return _0xd6ff92[_0x5bd4('0x1f')]('Content-Range',_0x29840c+'-'+_0x1641a7+'/'+_0x4009f4)[_0x5bd4('0x1a')](_0x23ca24);}return null;};}function patchUpdates(_0x422a98){return function(_0xea7416){try{jsonpatch[_0x5bd4('0x20')](_0xea7416,_0x422a98,!![]);}catch(_0x2037b3){return BPromise['reject'](_0x2037b3);}return _0xea7416[_0x5bd4('0x21')]();};}function saveUpdates(_0x9652e7,_0x36dbc2){return function(_0x420cca){if(_0x420cca){return _0x420cca[_0x5bd4('0x22')](_0x9652e7)['then'](function(_0x1b5739){return _0x1b5739;});}return null;};}function removeEntity(_0x1502e0,_0x55b08a){return function(_0x2c7f42){if(_0x2c7f42){return _0x2c7f42[_0x5bd4('0x23')]()[_0x5bd4('0x24')](function(){_0x1502e0[_0x5bd4('0x25')](0xcc)['end']();});}};}function handleEntityNotFound(_0x243fa6,_0x228f59){return function(_0x402912){if(!_0x402912){_0x243fa6[_0x5bd4('0x26')](0x194);}return _0x402912;};}function handleError(_0x5357c4,_0x5656e7){_0x5656e7=_0x5656e7||0x1f4;return function(_0x2ac428){logger[_0x5bd4('0x27')](_0x2ac428[_0x5bd4('0x28')]);if(_0x2ac428[_0x5bd4('0x29')]){delete _0x2ac428['name'];}_0x5357c4['status'](_0x5656e7)[_0x5bd4('0x2a')](_0x2ac428);};}exports['index']=function(_0x5df026,_0x217745){var _0x48289a={},_0x36979e={},_0x3586b1={'count':0x0,'rows':[]};var _0x238fd4=_['map'](db[_0x5bd4('0x2b')][_0x5bd4('0x2c')],function(_0x5adc14){return{'name':_0x5adc14[_0x5bd4('0x2d')],'type':_0x5adc14[_0x5bd4('0x2e')][_0x5bd4('0x2f')]};});_0x36979e[_0x5bd4('0x30')]=_[_0x5bd4('0x31')](_[_0x5bd4('0x32')](_0x238fd4,_0x5bd4('0x29')),[_0x5bd4('0x33')]);_0x36979e[_0x5bd4('0x34')]=_[_0x5bd4('0x35')](_0x5df026[_0x5bd4('0x34')]);_0x36979e['filters']=_[_0x5bd4('0x36')](_0x36979e[_0x5bd4('0x30')],_0x36979e[_0x5bd4('0x34')]);_0x48289a[_0x5bd4('0x37')]=_[_0x5bd4('0x36')](_0x36979e[_0x5bd4('0x30')],qs['fields'](_0x5df026['query'][_0x5bd4('0x38')]));_0x48289a['attributes']=_0x48289a[_0x5bd4('0x37')]['length']?_0x48289a[_0x5bd4('0x37')]:_0x36979e[_0x5bd4('0x30')];if(!_0x5df026[_0x5bd4('0x34')][_0x5bd4('0x39')](_0x5bd4('0x3a'))){_0x48289a[_0x5bd4('0x1d')]=qs[_0x5bd4('0x1d')](_0x5df026[_0x5bd4('0x34')][_0x5bd4('0x1d')]);_0x48289a[_0x5bd4('0x1b')]=qs[_0x5bd4('0x1b')](_0x5df026[_0x5bd4('0x34')]['offset']);}_0x48289a[_0x5bd4('0x3b')]=qs['sort'](_0x5df026['query'][_0x5bd4('0x3c')]);_0x48289a[_0x5bd4('0x3d')]=qs['filters'](_[_0x5bd4('0x3e')](_0x5df026[_0x5bd4('0x34')],_0x36979e['filters']),_0x238fd4);if(_0x5df026[_0x5bd4('0x34')]['filter']){_0x48289a[_0x5bd4('0x3d')]=_[_0x5bd4('0x3f')](_0x48289a['where'],{'$or':_[_0x5bd4('0x32')](_0x238fd4,function(_0x723b84){if(_0x723b84['type']!==_0x5bd4('0x40')){var _0x44cfb7={};_0x44cfb7[_0x723b84[_0x5bd4('0x29')]]={'$like':'%'+_0x5df026[_0x5bd4('0x34')]['filter']+'%'};return _0x44cfb7;}})});}_0x48289a=_[_0x5bd4('0x3f')]({},_0x48289a,_0x5df026['options']);var _0x24e82c={'where':_0x48289a[_0x5bd4('0x3d')]};return db[_0x5bd4('0x2b')]['count'](_0x24e82c)[_0x5bd4('0x24')](function(_0xfc2a6f){_0x3586b1['count']=_0xfc2a6f;if(_0x5df026[_0x5bd4('0x34')][_0x5bd4('0x41')]){_0x48289a[_0x5bd4('0x42')]=[{'all':!![]}];}return db[_0x5bd4('0x2b')][_0x5bd4('0x43')](_0x48289a);})['then'](function(_0x321ca8){_0x3586b1[_0x5bd4('0x44')]=_0x321ca8;return _0x3586b1;})[_0x5bd4('0x24')](respondWithFilteredResult(_0x217745,_0x48289a))[_0x5bd4('0x45')](handleError(_0x217745,null));};exports[_0x5bd4('0x46')]=function(_0x1ec296,_0xb560ee){var _0x1440e6={'raw':![],'where':{'id':_0x1ec296[_0x5bd4('0x47')]['id']}},_0x328971={};_0x328971[_0x5bd4('0x30')]=_[_0x5bd4('0x35')](db[_0x5bd4('0x2b')][_0x5bd4('0x2c')]);_0x328971[_0x5bd4('0x34')]=_[_0x5bd4('0x35')](_0x1ec296['query']);_0x328971[_0x5bd4('0x48')]=_[_0x5bd4('0x36')](_0x328971[_0x5bd4('0x30')],_0x328971['query']);_0x1440e6[_0x5bd4('0x37')]=_[_0x5bd4('0x36')](_0x328971[_0x5bd4('0x30')],qs[_0x5bd4('0x38')](_0x1ec296[_0x5bd4('0x34')][_0x5bd4('0x38')]));_0x1440e6[_0x5bd4('0x37')]=_0x1440e6[_0x5bd4('0x37')][_0x5bd4('0x49')]?_0x1440e6[_0x5bd4('0x37')]:_0x328971[_0x5bd4('0x30')];if(_0x1ec296[_0x5bd4('0x34')]['includeAll']){_0x1440e6[_0x5bd4('0x42')]=[{'all':!![]}];}_0x1440e6=_['merge']({},_0x1440e6,_0x1ec296[_0x5bd4('0x4a')]);return db['VoiceRecording'][_0x5bd4('0x4b')](_0x1440e6)[_0x5bd4('0x24')](handleEntityNotFound(_0xb560ee,null))['then'](respondWithResult(_0xb560ee,null))['catch'](handleError(_0xb560ee,null));};exports[_0x5bd4('0x4c')]=function(_0x32b8f3,_0x5ec736){return db[_0x5bd4('0x2b')][_0x5bd4('0x4c')](_0x32b8f3['body'],{})[_0x5bd4('0x24')](respondWithResult(_0x5ec736,0xc9))[_0x5bd4('0x45')](handleError(_0x5ec736,null));};exports['update']=function(_0x4914ba,_0xfc030c){if(_0x4914ba['body']['id']){delete _0x4914ba[_0x5bd4('0x4d')]['id'];}return db[_0x5bd4('0x2b')]['find']({'where':{'id':_0x4914ba[_0x5bd4('0x47')]['id']}})[_0x5bd4('0x24')](handleEntityNotFound(_0xfc030c,null))[_0x5bd4('0x24')](saveUpdates(_0x4914ba['body'],null))[_0x5bd4('0x24')](respondWithResult(_0xfc030c,null))[_0x5bd4('0x45')](handleError(_0xfc030c,null));};exports[_0x5bd4('0x4e')]=function(_0x36331e,_0x28baab){return db[_0x5bd4('0x2b')]['describe']()[_0x5bd4('0x24')](respondWithResult(_0x28baab,null))[_0x5bd4('0x45')](handleError(_0x28baab,null));};exports[_0x5bd4('0x4f')]=function(_0x1187c5,_0x36b611,_0x54893b){var _0x3b8582=require(_0x5bd4('0x50'));var _0x3541c0=![];var _0x4df8c0={};if(_0x1187c5[_0x5bd4('0x34')][_0x5bd4('0x2e')]&&_0x1187c5[_0x5bd4('0x34')][_0x5bd4('0x2e')]==='uniqueid'){_0x4df8c0[_0x5bd4('0x51')]=_0x1187c5['params']['id'];}else{_0x4df8c0['id']=_0x1187c5[_0x5bd4('0x47')]['id'];}return db[_0x5bd4('0x2b')]['find']({'where':_0x4df8c0,'attributes':['id','value'],'raw':!![]})[_0x5bd4('0x24')](handleEntityNotFound(_0x36b611,null))[_0x5bd4('0x24')](function(_0x31f912){if(_0x31f912){var _0xd665df=_0x31f912['value'];var _0x457e19=util[_0x5bd4('0x33')](_0x5bd4('0x52'),_0xd665df);if(fs['existsSync'](_0x457e19)){_0x3541c0=!![];return _0x3b8582[_0x5bd4('0x53')](_0x457e19,_0xd665df,config[_0x5bd4('0x54')][_0x5bd4('0x55')])[_0x5bd4('0x24')](function(){return _0x31f912;});}return _0x31f912;}})[_0x5bd4('0x24')](function(_0x3054c2){if(_0x3054c2){var _0x253527=_0x3054c2['value'];if(!fs[_0x5bd4('0x56')](_0x253527)){throw new db['Sequelize'][(_0x5bd4('0x57'))](_0x5bd4('0x58'));}if(_0x3054c2[_0x5bd4('0x59')]){return _0x36b611[_0x5bd4('0x4f')](_0x253527,_0x3054c2[_0x5bd4('0x59')]+path['extname'](_0x253527),function(){if(_0x3541c0){fs[_0x5bd4('0x5a')](_0x253527);}});}else{return _0x36b611['download'](_0x253527,function(_0x18106e){if(_0x3541c0){fs[_0x5bd4('0x5a')](_0x253527);}});}}})[_0x5bd4('0x45')](function(_0x2beffa){if(_0x2beffa['message']===_0x5bd4('0x58')){_0x36b611['status'](0x194)[_0x5bd4('0x2a')](_0x5bd4('0x5b'));}else{return handleError(_0x36b611,null);}});};exports[_0x5bd4('0x5c')]=function(_0x17d756,_0x4c469a,_0x5d582c){var _0x34232d=require('../../components/encryptor');var _0x346c0e=![];var _0x116f85={'$and':[db['sequelize'][_0x5bd4('0x3d')](db[_0x5bd4('0x5d')]['fn'](_0x5bd4('0x5e'),db[_0x5bd4('0x5d')][_0x5bd4('0x5f')](_0x5bd4('0x51'))),_0x17d756[_0x5bd4('0x34')][_0x5bd4('0x60')])]};if(_0x17d756[_0x5bd4('0x34')]['type']&&_0x17d756[_0x5bd4('0x34')][_0x5bd4('0x2e')]===_0x5bd4('0x51')){_0x116f85[_0x5bd4('0x61')]['push']({'uniqueid':_0x17d756[_0x5bd4('0x47')]['id']});}else{_0x116f85[_0x5bd4('0x61')][_0x5bd4('0x62')]({'id':_0x17d756[_0x5bd4('0x47')]['id']});}return db[_0x5bd4('0x2b')][_0x5bd4('0x4b')]({'where':_0x116f85,'attributes':['id',_0x5bd4('0x63')],'raw':!![]})[_0x5bd4('0x24')](handleEntityNotFound(_0x4c469a,null))[_0x5bd4('0x24')](function(_0x213be0){if(_0x213be0){var _0x479caa=util[_0x5bd4('0x33')](_0x5bd4('0x52'),_0x213be0[_0x5bd4('0x63')]);if(fs[_0x5bd4('0x56')](_0x479caa)){_0x346c0e=!![];return _0x34232d[_0x5bd4('0x53')](_0x479caa,_0x213be0[_0x5bd4('0x63')],config[_0x5bd4('0x54')][_0x5bd4('0x55')])[_0x5bd4('0x24')](function(){return _0x213be0;});}return _0x213be0;}})[_0x5bd4('0x24')](function(_0x5c9813){if(_0x5c9813){if(!fs['existsSync'](_0x5c9813[_0x5bd4('0x63')])){throw new db[(_0x5bd4('0x64'))]['ValidationError'](_0x5bd4('0x58'));}if(_0x5c9813[_0x5bd4('0x59')]){return _0x4c469a['download'](_0x5c9813[_0x5bd4('0x63')],_0x5c9813[_0x5bd4('0x59')]+path[_0x5bd4('0x65')](_0x5c9813[_0x5bd4('0x63')]),function(){if(_0x346c0e){fs[_0x5bd4('0x5a')](_0x5c9813['value']);}});}else{return _0x4c469a[_0x5bd4('0x4f')](_0x5c9813[_0x5bd4('0x63')],function(_0x120306){if(_0x346c0e){fs[_0x5bd4('0x5a')](_0x5c9813[_0x5bd4('0x63')]);}});}}})['catch'](handleError(_0x4c469a,null));};exports[_0x5bd4('0x23')]=function(_0x3d9bd0,_0x3dbfd2){return db[_0x5bd4('0x2b')][_0x5bd4('0x4b')]({'where':{'id':_0x3d9bd0[_0x5bd4('0x47')]['id']}})[_0x5bd4('0x24')](function(_0x3995f3){if(_[_0x5bd4('0x66')](_0x3995f3)){throw new ReferenceError(_0x5bd4('0x67'));}return _0x3995f3;})[_0x5bd4('0x24')](function(_0xda062f){var _0x24caba=_0xda062f['value'];logger[_0x5bd4('0x68')](_0x5bd4('0x69'),_0x24caba);if(!_['isNil'](_0xda062f[_0x5bd4('0x63')])&&fs['existsSync'](_0x24caba)){logger[_0x5bd4('0x68')]('File:\x20\x22'+_0x24caba+_0x5bd4('0x6a'));fs[_0x5bd4('0x6b')](_0x24caba);}_0x24caba=_0x24caba+'.cypher';if(!_[_0x5bd4('0x66')](_0xda062f[_0x5bd4('0x63')])&&fs['existsSync'](_0x24caba)){logger['info']('File:\x20\x22'+_0x24caba+'\x22\x20trovato\x20eseguo\x20la\x20cancellazione');fs[_0x5bd4('0x6b')](_0x24caba);}return _0xda062f;})[_0x5bd4('0x24')](function(_0x2e88b1){if(!_0x2e88b1)throw new InternalError();return _0x2e88b1[_0x5bd4('0x23')]();})[_0x5bd4('0x24')](function(){_0x3dbfd2[_0x5bd4('0x25')](0xcc)[_0x5bd4('0x19')]();})['catch'](handleError(_0x3dbfd2,null));};function getBucketslist(_0x1dab08,_0x414748,_0x2028c7){return new Promise(function(_0x3842c2,_0x1e4522){var _0x30a314=new AWS['S3']({'accessKeyId':_0x414748,'secretAccessKey':_0x1dab08,'region':_0x2028c7});_0x30a314[_0x5bd4('0x6c')]({},function(_0x1279cf,_0x4e54a2){if(_0x1279cf){return _0x1e4522(_0x1279cf);}else{return _0x3842c2(_0x4e54a2);}});});}function createBucket(_0x4eaf08,_0x4e2a40,_0x52c58a,_0x215a5f){return new Promise(function(_0x308f4d,_0x526f94){var _0x5f5194=new AWS['S3']({'accessKeyId':_0x4e2a40,'secretAccessKey':_0x4eaf08,'region':_0x52c58a});_0x5f5194['createBucket']({'Bucket':_0x215a5f},function(_0x4c8707,_0x51e003){if(_0x4c8707){return _0x526f94(_0x4c8707);}else{return _0x308f4d(_0x51e003);}});});}function uploadFile(_0x540ef0,_0x57aa78,_0x5e252c,_0x3a9630,_0x2652a0,_0x8d6177){return new Promise(function(_0x30d5a5,_0x541dbe){var _0x4e27f5=new AWS['S3']({'accessKeyId':_0x57aa78,'secretAccessKey':_0x540ef0,'region':_0x5e252c});_0x4e27f5[_0x5bd4('0x6d')]({'Bucket':_0x3a9630,'Key':_0x2652a0,'Body':_0x8d6177},function(_0x368491,_0x5ea606){if(_0x368491){return _0x541dbe(_0x368491);}else{return _0x30d5a5(_0x5ea606);}});});}function startTranscribe(_0x2a34a1,_0x1916c9,_0x4a9b4c,_0x513663,_0x45901d,_0x5c696b){return new Promise(function(_0x162b06,_0x260a34){var _0x11d048=new AWS[(_0x5bd4('0x6e'))]({'accessKeyId':_0x1916c9,'secretAccessKey':_0x2a34a1,'region':_0x4a9b4c});_0x11d048[_0x5bd4('0x6f')]({'TranscriptionJobName':_0x513663,'LanguageCode':_0x45901d,'Media':{'MediaFileUri':_0x5c696b}},function(_0x2918e2,_0x144155){if(_0x2918e2){return _0x260a34(_0x2918e2);}else{return _0x162b06(_0x144155);}});});}function transcribe(_0x3c019c,_0x4aa4bc,_0x58b965,_0x51e3ed,_0x17bf9a,_0x65528a,_0x13e5a9){return new Promise(function(_0x5403b2,_0x44ed08){var _0x203db2={};logger[_0x5bd4('0x68')](util[_0x5bd4('0x33')]('[RUNTRANSCRIPT][%d]\x20Starting\x20voice\x20recording\x20upload\x20in\x20bucket\x20%s',_0x3c019c,_0x17bf9a));return uploadFile(_0x4aa4bc,_0x58b965,_0x51e3ed,_0x17bf9a,path['basename'](_0x65528a),fs[_0x5bd4('0x70')](_0x65528a))[_0x5bd4('0x24')](function(_0x486e94){logger[_0x5bd4('0x68')](util['format'](_0x5bd4('0x71'),_0x3c019c,_0x17bf9a,_0x486e94[_0x5bd4('0x72')]));_0x203db2[_0x5bd4('0x73')]=_0x486e94[_0x5bd4('0x74')];_0x203db2[_0x5bd4('0x75')]=_0x486e94['Location'];logger[_0x5bd4('0x68')](util[_0x5bd4('0x33')](_0x5bd4('0x76'),_0x3c019c));return startTranscribe(_0x4aa4bc,_0x58b965,_0x51e3ed,uuidv4(),_0x13e5a9,_0x486e94['Location']);})[_0x5bd4('0x24')](function(_0x541a47){logger[_0x5bd4('0x68')](util['format'](_0x5bd4('0x77'),_0x3c019c,_0x541a47[_0x5bd4('0x78')][_0x5bd4('0x79')]));_0x203db2[_0x5bd4('0x7a')]=_0x541a47[_0x5bd4('0x78')][_0x5bd4('0x79')];_0x203db2[_0x5bd4('0x7b')]=_0x541a47['TranscriptionJob'][_0x5bd4('0x7c')];return _0x5403b2(_0x203db2);})['catch'](function(_0x5b6240){return _0x44ed08(_0x5b6240);});});}exports[_0x5bd4('0x7d')]=function(_0x152666,_0x29730a,_0x3b09f4){var _0x21b4c9;var _0x393586;var _0x1308e5;var _0x1930de=require(_0x5bd4('0x50'));return db['VoiceRecording'][_0x5bd4('0x7e')]({'where':{'id':_0x152666[_0x5bd4('0x47')]['id']}})[_0x5bd4('0x24')](function(_0x54e78c){if(_0x54e78c){var _0x4ddfff=util[_0x5bd4('0x33')](_0x5bd4('0x52'),_0x54e78c[_0x5bd4('0x63')]);if(fs['existsSync'](_0x4ddfff)){cypher=!![];return _0x1930de['decryptFile'](_0x4ddfff,_0x54e78c[_0x5bd4('0x63')],config[_0x5bd4('0x54')]['recording'])[_0x5bd4('0x24')](function(){return _0x54e78c;});}return _0x54e78c;}})[_0x5bd4('0x24')](function(_0x26d837){if(!_0x26d837){throw new db[(_0x5bd4('0x64'))][(_0x5bd4('0x57'))](_0x5bd4('0x7f'));}_0x393586=_0x26d837;return db[_0x5bd4('0x80')][_0x5bd4('0x7e')]({'where':{'id':0x1}});})['then'](handleEntityNotFound(_0x29730a,null))['then'](function(_0x115a72){if(_0x115a72){_0x21b4c9=_0x115a72;if(!_0x21b4c9[_0x5bd4('0x81')]||!_0x21b4c9[_0x5bd4('0x82')]||!_0x21b4c9['transcribeRegion']||!_0x21b4c9[_0x5bd4('0x83')]||!_0x21b4c9[_0x5bd4('0x73')]){throw new db['Sequelize'][(_0x5bd4('0x57'))](_0x5bd4('0x84'));}if(_0x152666[_0x5bd4('0x4d')][_0x5bd4('0x85')]&&(!_0x21b4c9[_0x5bd4('0x86')]||!_0x21b4c9['sentimentAccountId']||!_0x21b4c9[_0x5bd4('0x87')]||!_0x21b4c9['language']||!_0x21b4c9['bucket'])){throw new db['Sequelize'][(_0x5bd4('0x57'))](_0x5bd4('0x88'));}return db['CloudProvider'][_0x5bd4('0x7e')]({'where':{'id':_0x21b4c9[_0x5bd4('0x82')]}});}})['then'](function(_0x2bb82a){if(!_0x2bb82a){throw new db[(_0x5bd4('0x64'))][(_0x5bd4('0x57'))](_0x5bd4('0x89'));}if(!_0x2bb82a['data1']||!_0x2bb82a[_0x5bd4('0x8a')]){throw new db[(_0x5bd4('0x64'))][(_0x5bd4('0x57'))]('Cloud\x20Provider\x20not\x20configured');}_0x1308e5=_0x2bb82a;return getBucketslist(_0x1308e5[_0x5bd4('0x8b')],_0x1308e5[_0x5bd4('0x8a')],_0x21b4c9[_0x5bd4('0x8c')]);})[_0x5bd4('0x24')](function(_0xbdd213){if(_0xbdd213&&_0xbdd213[_0x5bd4('0x8d')]){var _0x43db44=_['find'](_0xbdd213[_0x5bd4('0x8d')],function(_0x39b1d7){return _0x39b1d7[_0x5bd4('0x8e')]===_0x21b4c9[_0x5bd4('0x73')];});if(!_0x43db44){logger[_0x5bd4('0x68')](util[_0x5bd4('0x33')](_0x5bd4('0x8f'),_0x152666['params']['id'],_0x21b4c9[_0x5bd4('0x73')]));return createBucket(_0x1308e5[_0x5bd4('0x8b')],_0x1308e5[_0x5bd4('0x8a')],_0x21b4c9[_0x5bd4('0x8c')],_0x21b4c9[_0x5bd4('0x73')]);}logger[_0x5bd4('0x68')](util[_0x5bd4('0x33')]('[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20available',_0x152666[_0x5bd4('0x47')]['id'],_0x21b4c9[_0x5bd4('0x73')]));return;}})[_0x5bd4('0x24')](function(_0x4c09f3){if(_0x393586[_0x5bd4('0x7b')]===_0x5bd4('0x90')){return transcribe(_0x152666[_0x5bd4('0x47')]['id'],_0x1308e5[_0x5bd4('0x8b')],_0x1308e5[_0x5bd4('0x8a')],_0x21b4c9[_0x5bd4('0x8c')],_0x21b4c9[_0x5bd4('0x73')],_0x393586[_0x5bd4('0x63')],_0x21b4c9['language']);}else{logger[_0x5bd4('0x68')](util['format'](_0x5bd4('0x91'),_0x152666[_0x5bd4('0x47')]['id']));return{'transcribeStatus':'IN_PROGRESS'};}})['then'](function(_0x11d27c){if(_0x11d27c){_0x11d27c[_0x5bd4('0x92')]=_0x152666['body'][_0x5bd4('0x85')];return _0x393586[_0x5bd4('0x93')](_0x11d27c);}})[_0x5bd4('0x24')](respondWithResult(_0x29730a,null))[_0x5bd4('0x45')](handleError(_0x29730a,null));};function writeFile(_0x1b305d,_0x40233b){return new Promise(function(_0x5183df,_0x22b802){fs['writeFile'](_0x40233b,_0x1b305d,function(_0x289ef8,_0x172999){if(_0x289ef8){return _0x22b802(_0x289ef8);}else{return _0x5183df(_0x172999);}});});}exports[_0x5bd4('0x94')]=function(_0x1e6104,_0x1fd2cf,_0x2cb9e8){return db[_0x5bd4('0x2b')][_0x5bd4('0x7e')]({'where':{'id':_0x1e6104['params']['id']}})[_0x5bd4('0x24')](handleEntityNotFound(_0x1fd2cf))['then'](function(_0x4ae29b){if(_0x4ae29b&&_0x4ae29b[_0x5bd4('0x95')]){var _0x32817d=_0x4ae29b[_0x5bd4('0x95')];var _0x1fd555=config['root']+_0x5bd4('0x96')+_0x4ae29b['id']+_0x5bd4('0x97');if(fs['existsSync'](_0x1fd555)){return _0x1fd555;}return writeFile(_0x32817d,_0x1fd555)[_0x5bd4('0x24')](function(){return _0x1fd555;});}else{throw new db[(_0x5bd4('0x64'))][(_0x5bd4('0x57'))](_0x5bd4('0x98'));}})[_0x5bd4('0x24')](function(_0x125115){return _0x1fd2cf[_0x5bd4('0x4f')](_0x125115);})[_0x5bd4('0x45')](handleError(_0x1fd2cf));};