c4d9215c60b9a5b9ab7096fc9488085ced328558
[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 _0xbec6=['ejs','fs-extra','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','limit','undefined','count','offset','Content-Range','apply','reject','save','update','destroy','then','stack','name','send','index','map','VoiceRecording','fieldName','type','key','model','differenceBy','format','query','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','where','filters','pick','filter','merge','VIRTUAL','options','includeAll','include','catch','show','params','keys','find','create','body','describe','download','../../components/encryptor','value','%s.cypher','existsSync','decryptFile','secrets','Sequelize','ValidationError','filename','unlink','message','sequelize','MD5','col','uniqueid','token','$and','push','VoiceRecording\x20not\x20found','extname','Entity\x20not\x20found','info','cancellazione\x20fisica\x20documento\x20%s','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','isNil','unlinkSync','listBuckets','createBucket','[RUNTRANSCRIPT][%d]\x20Starting\x20voice\x20recording\x20upload\x20in\x20bucket\x20%s','[RUNTRANSCRIPT][%d]\x20Voice\x20recording\x20uploaded\x20in\x20bucket\x20%s\x20(%s)','Location','bucket','location','[RUNTRANSCRIPT][%d]\x20Transcription\x20job\x20%s\x20created','TranscriptionJob','TranscriptionJobName','transcribeName','TranscriptionJobStatus','runTranscribe','Voice\x20Recording\x20not\x20found','Setting','transcribeAccountId','transcribeRegion','language','Transcribe\x20not\x20configured','sentiment','sentimentAccountId','findOne','Cloud\x20Provider\x20not\x20available','data2','data1','Buckets','Name','[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20available','transcribeStatus','NEW','IN_PROGRESS','tempSentiment','runSentiment','updateAttributes','downloadTranscribe','fileText','root','/server/files/transcribes/transcribe_','.txt','Transcript\x20not\x20available','eml-format','rimraf','fast-json-patch','request-promise','bluebird','mustache','util','path','to-csv'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0xbec6,0x85));var _0x6bec=function(_0x256d6a,_0x2f002f){_0x256d6a=_0x256d6a-0x0;var _0x460058=_0xbec6[_0x256d6a];return _0x460058;};'use strict';var emlformat=require(_0x6bec('0x0'));var rimraf=require(_0x6bec('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x6bec('0x2'));var rp=require(_0x6bec('0x3'));var moment=require('moment');var BPromise=require(_0x6bec('0x4'));var Mustache=require(_0x6bec('0x5'));var util=require(_0x6bec('0x6'));var path=require(_0x6bec('0x7'));var sox=require('sox');var csv=require(_0x6bec('0x8'));var ejs=require(_0x6bec('0x9'));var fs=require('fs');var fs_extra=require(_0x6bec('0xa'));var _=require('lodash');var squel=require('squel');var crypto=require(_0x6bec('0xb'));var jsforce=require('jsforce');var deskjs=require(_0x6bec('0xc'));var toCsv=require(_0x6bec('0x8'));var querystring=require(_0x6bec('0xd'));var Papa=require(_0x6bec('0xe'));var AWS=require('aws-sdk');var uuidv4=require('uuid/v4');var Redis=require(_0x6bec('0xf'));var authService=require(_0x6bec('0x10'));var qs=require(_0x6bec('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x6bec('0x12'));var utils=require(_0x6bec('0x13'));var config=require(_0x6bec('0x14'));var licenseUtil=require(_0x6bec('0x15'));var db=require(_0x6bec('0x16'))['db'];function respondWithStatusCode(_0x1fffa2,_0x34749d){_0x34749d=_0x34749d||0xcc;return function(_0x186ed3){if(_0x186ed3){return _0x1fffa2['sendStatus'](_0x34749d);}return _0x1fffa2[_0x6bec('0x17')](_0x34749d)[_0x6bec('0x18')]();};}function respondWithResult(_0x5abfba,_0x2546a1){_0x2546a1=_0x2546a1||0xc8;return function(_0x1da234){if(_0x1da234){return _0x5abfba[_0x6bec('0x17')](_0x2546a1)[_0x6bec('0x19')](_0x1da234);}};}function respondWithFilteredResult(_0x5777ab,_0x5606a3){return function(_0x4527f6){if(_0x4527f6){var _0x3a0422=typeof _0x5606a3['offset']==='undefined'&&typeof _0x5606a3[_0x6bec('0x1a')]===_0x6bec('0x1b');var _0x53a0d0=_0x4527f6[_0x6bec('0x1c')];var _0x38e542=_0x3a0422?0x0:_0x5606a3['offset'];var _0x268131=_0x3a0422?_0x4527f6[_0x6bec('0x1c')]:_0x5606a3[_0x6bec('0x1d')]+_0x5606a3[_0x6bec('0x1a')];var _0x3167e6;if(_0x268131>=_0x53a0d0){_0x268131=_0x53a0d0;_0x3167e6=0xc8;}else{_0x3167e6=0xce;}_0x5777ab[_0x6bec('0x17')](_0x3167e6);return _0x5777ab['set'](_0x6bec('0x1e'),_0x38e542+'-'+_0x268131+'/'+_0x53a0d0)[_0x6bec('0x19')](_0x4527f6);}return null;};}function patchUpdates(_0x41e459){return function(_0x400ee7){try{jsonpatch[_0x6bec('0x1f')](_0x400ee7,_0x41e459,!![]);}catch(_0x31792a){return BPromise[_0x6bec('0x20')](_0x31792a);}return _0x400ee7[_0x6bec('0x21')]();};}function saveUpdates(_0x2682df,_0x6e6e32){return function(_0x101da5){if(_0x101da5){return _0x101da5[_0x6bec('0x22')](_0x2682df)['then'](function(_0x4fc67b){return _0x4fc67b;});}return null;};}function removeEntity(_0x102048,_0x4d74ea){return function(_0x28d634){if(_0x28d634){return _0x28d634[_0x6bec('0x23')]()[_0x6bec('0x24')](function(){_0x102048[_0x6bec('0x17')](0xcc)[_0x6bec('0x18')]();});}};}function handleEntityNotFound(_0x1ab801,_0x95ff6d){return function(_0x15be72){if(!_0x15be72){_0x1ab801['sendStatus'](0x194);}return _0x15be72;};}function handleError(_0x25440d,_0x275356){_0x275356=_0x275356||0x1f4;return function(_0x5269a7){logger['error'](_0x5269a7[_0x6bec('0x25')]);if(_0x5269a7[_0x6bec('0x26')]){delete _0x5269a7[_0x6bec('0x26')];}_0x25440d[_0x6bec('0x17')](_0x275356)[_0x6bec('0x27')](_0x5269a7);};}exports[_0x6bec('0x28')]=function(_0x59726b,_0x4b1e21){var _0x127288={},_0x58d506={},_0x3f3292={'count':0x0,'rows':[]};var _0x307e38=_[_0x6bec('0x29')](db[_0x6bec('0x2a')]['rawAttributes'],function(_0x4a6c1c){return{'name':_0x4a6c1c[_0x6bec('0x2b')],'type':_0x4a6c1c[_0x6bec('0x2c')][_0x6bec('0x2d')]};});_0x58d506[_0x6bec('0x2e')]=_[_0x6bec('0x2f')](_[_0x6bec('0x29')](_0x307e38,_0x6bec('0x26')),[_0x6bec('0x30')]);_0x58d506[_0x6bec('0x31')]=_['keys'](_0x59726b[_0x6bec('0x31')]);_0x58d506['filters']=_[_0x6bec('0x32')](_0x58d506[_0x6bec('0x2e')],_0x58d506['query']);_0x127288[_0x6bec('0x33')]=_['intersection'](_0x58d506[_0x6bec('0x2e')],qs[_0x6bec('0x34')](_0x59726b[_0x6bec('0x31')][_0x6bec('0x34')]));_0x127288[_0x6bec('0x33')]=_0x127288['attributes'][_0x6bec('0x35')]?_0x127288['attributes']:_0x58d506[_0x6bec('0x2e')];if(!_0x59726b['query'][_0x6bec('0x36')](_0x6bec('0x37'))){_0x127288['limit']=qs['limit'](_0x59726b['query'][_0x6bec('0x1a')]);_0x127288[_0x6bec('0x1d')]=qs[_0x6bec('0x1d')](_0x59726b[_0x6bec('0x31')][_0x6bec('0x1d')]);}_0x127288[_0x6bec('0x38')]=qs['sort'](_0x59726b[_0x6bec('0x31')]['sort']);_0x127288[_0x6bec('0x39')]=qs[_0x6bec('0x3a')](_[_0x6bec('0x3b')](_0x59726b['query'],_0x58d506[_0x6bec('0x3a')]),_0x307e38);if(_0x59726b[_0x6bec('0x31')][_0x6bec('0x3c')]){_0x127288[_0x6bec('0x39')]=_[_0x6bec('0x3d')](_0x127288[_0x6bec('0x39')],{'$or':_[_0x6bec('0x29')](_0x307e38,function(_0x905f4a){if(_0x905f4a[_0x6bec('0x2c')]!==_0x6bec('0x3e')){var _0x2784e0={};_0x2784e0[_0x905f4a['name']]={'$like':'%'+_0x59726b[_0x6bec('0x31')][_0x6bec('0x3c')]+'%'};return _0x2784e0;}})});}_0x127288=_[_0x6bec('0x3d')]({},_0x127288,_0x59726b[_0x6bec('0x3f')]);var _0x4f3dbf={'where':_0x127288[_0x6bec('0x39')]};return db['VoiceRecording'][_0x6bec('0x1c')](_0x4f3dbf)[_0x6bec('0x24')](function(_0x51e9ce){_0x3f3292[_0x6bec('0x1c')]=_0x51e9ce;if(_0x59726b[_0x6bec('0x31')][_0x6bec('0x40')]){_0x127288[_0x6bec('0x41')]=[{'all':!![]}];}return db[_0x6bec('0x2a')]['findAll'](_0x127288);})[_0x6bec('0x24')](function(_0x807501){_0x3f3292['rows']=_0x807501;return _0x3f3292;})[_0x6bec('0x24')](respondWithFilteredResult(_0x4b1e21,_0x127288))[_0x6bec('0x42')](handleError(_0x4b1e21,null));};exports[_0x6bec('0x43')]=function(_0x232543,_0x2c23c1){var _0x538e2e={'raw':![],'where':{'id':_0x232543[_0x6bec('0x44')]['id']}},_0x576fb0={};_0x576fb0['model']=_[_0x6bec('0x45')](db[_0x6bec('0x2a')]['rawAttributes']);_0x576fb0[_0x6bec('0x31')]=_[_0x6bec('0x45')](_0x232543['query']);_0x576fb0[_0x6bec('0x3a')]=_[_0x6bec('0x32')](_0x576fb0['model'],_0x576fb0['query']);_0x538e2e['attributes']=_[_0x6bec('0x32')](_0x576fb0[_0x6bec('0x2e')],qs[_0x6bec('0x34')](_0x232543['query'][_0x6bec('0x34')]));_0x538e2e[_0x6bec('0x33')]=_0x538e2e[_0x6bec('0x33')][_0x6bec('0x35')]?_0x538e2e[_0x6bec('0x33')]:_0x576fb0[_0x6bec('0x2e')];if(_0x232543[_0x6bec('0x31')][_0x6bec('0x40')]){_0x538e2e[_0x6bec('0x41')]=[{'all':!![]}];}_0x538e2e=_[_0x6bec('0x3d')]({},_0x538e2e,_0x232543['options']);return db[_0x6bec('0x2a')][_0x6bec('0x46')](_0x538e2e)['then'](handleEntityNotFound(_0x2c23c1,null))[_0x6bec('0x24')](respondWithResult(_0x2c23c1,null))[_0x6bec('0x42')](handleError(_0x2c23c1,null));};exports[_0x6bec('0x47')]=function(_0x3768eb,_0x5bdc81){return db[_0x6bec('0x2a')][_0x6bec('0x47')](_0x3768eb[_0x6bec('0x48')],{})['then'](respondWithResult(_0x5bdc81,0xc9))[_0x6bec('0x42')](handleError(_0x5bdc81,null));};exports[_0x6bec('0x22')]=function(_0x4280e8,_0x2d2fc1){if(_0x4280e8[_0x6bec('0x48')]['id']){delete _0x4280e8[_0x6bec('0x48')]['id'];}return db[_0x6bec('0x2a')]['find']({'where':{'id':_0x4280e8[_0x6bec('0x44')]['id']}})[_0x6bec('0x24')](handleEntityNotFound(_0x2d2fc1,null))[_0x6bec('0x24')](saveUpdates(_0x4280e8[_0x6bec('0x48')],null))[_0x6bec('0x24')](respondWithResult(_0x2d2fc1,null))[_0x6bec('0x42')](handleError(_0x2d2fc1,null));};exports[_0x6bec('0x49')]=function(_0x2e5b39,_0x4bd395){return db[_0x6bec('0x2a')][_0x6bec('0x49')]()[_0x6bec('0x24')](respondWithResult(_0x4bd395,null))['catch'](handleError(_0x4bd395,null));};exports[_0x6bec('0x4a')]=function(_0x5847c7,_0xa169fa,_0x213b65){var _0x23dafe=require(_0x6bec('0x4b'));var _0x44104e=![];var _0x725c7b={};if(_0x5847c7[_0x6bec('0x31')][_0x6bec('0x2c')]&&_0x5847c7[_0x6bec('0x31')][_0x6bec('0x2c')]==='uniqueid'){_0x725c7b['uniqueid']=_0x5847c7[_0x6bec('0x44')]['id'];}else{_0x725c7b['id']=_0x5847c7[_0x6bec('0x44')]['id'];}return db[_0x6bec('0x2a')][_0x6bec('0x46')]({'where':_0x725c7b,'attributes':['id',_0x6bec('0x4c')],'raw':!![]})[_0x6bec('0x24')](handleEntityNotFound(_0xa169fa,null))['then'](function(_0x56842f){if(_0x56842f){var _0x7f50cb=_0x56842f['value'];var _0x4c34ce=util[_0x6bec('0x30')](_0x6bec('0x4d'),_0x7f50cb);if(fs[_0x6bec('0x4e')](_0x4c34ce)){_0x44104e=!![];return _0x23dafe[_0x6bec('0x4f')](_0x4c34ce,_0x7f50cb,config[_0x6bec('0x50')]['recording'])[_0x6bec('0x24')](function(){return _0x56842f;});}return _0x56842f;}})['then'](function(_0x4933f8){if(_0x4933f8){var _0x3c0724=_0x4933f8['value'];if(!fs[_0x6bec('0x4e')](_0x3c0724)){throw new db[(_0x6bec('0x51'))][(_0x6bec('0x52'))]('VoiceRecording\x20not\x20found');}if(_0x4933f8[_0x6bec('0x53')]){return _0xa169fa[_0x6bec('0x4a')](_0x3c0724,_0x4933f8[_0x6bec('0x53')]+path['extname'](_0x3c0724),function(){if(_0x44104e){fs[_0x6bec('0x54')](_0x3c0724);}});}else{return _0xa169fa['download'](_0x3c0724,function(_0x5d56b){if(_0x44104e){fs[_0x6bec('0x54')](_0x3c0724);}});}}})[_0x6bec('0x42')](function(_0x272221){if(_0x272221[_0x6bec('0x55')]==='VoiceRecording\x20not\x20found'){_0xa169fa[_0x6bec('0x17')](0x194)['send']('Not\x20found');}else{return handleError(_0xa169fa,null);}});};exports['downloads']=function(_0x3b1ab4,_0x3830b6,_0x4a7589){var _0x1e0bc2=require(_0x6bec('0x4b'));var _0x12fa90=![];var _0x3e7e98={'$and':[db[_0x6bec('0x56')]['where'](db[_0x6bec('0x56')]['fn'](_0x6bec('0x57'),db['sequelize'][_0x6bec('0x58')](_0x6bec('0x59'))),_0x3b1ab4[_0x6bec('0x31')][_0x6bec('0x5a')])]};if(_0x3b1ab4[_0x6bec('0x31')][_0x6bec('0x2c')]&&_0x3b1ab4[_0x6bec('0x31')][_0x6bec('0x2c')]===_0x6bec('0x59')){_0x3e7e98[_0x6bec('0x5b')][_0x6bec('0x5c')]({'uniqueid':_0x3b1ab4[_0x6bec('0x44')]['id']});}else{_0x3e7e98[_0x6bec('0x5b')][_0x6bec('0x5c')]({'id':_0x3b1ab4[_0x6bec('0x44')]['id']});}return db[_0x6bec('0x2a')][_0x6bec('0x46')]({'where':_0x3e7e98,'attributes':['id',_0x6bec('0x4c')],'raw':!![]})[_0x6bec('0x24')](handleEntityNotFound(_0x3830b6,null))[_0x6bec('0x24')](function(_0x2625fc){if(_0x2625fc){var _0x3afdb9=util[_0x6bec('0x30')](_0x6bec('0x4d'),_0x2625fc[_0x6bec('0x4c')]);if(fs[_0x6bec('0x4e')](_0x3afdb9)){_0x12fa90=!![];return _0x1e0bc2[_0x6bec('0x4f')](_0x3afdb9,_0x2625fc[_0x6bec('0x4c')],config[_0x6bec('0x50')]['recording'])[_0x6bec('0x24')](function(){return _0x2625fc;});}return _0x2625fc;}})[_0x6bec('0x24')](function(_0x1edb3a){if(_0x1edb3a){if(!fs[_0x6bec('0x4e')](_0x1edb3a[_0x6bec('0x4c')])){throw new db[(_0x6bec('0x51'))][(_0x6bec('0x52'))](_0x6bec('0x5d'));}if(_0x1edb3a[_0x6bec('0x53')]){return _0x3830b6[_0x6bec('0x4a')](_0x1edb3a[_0x6bec('0x4c')],_0x1edb3a[_0x6bec('0x53')]+path[_0x6bec('0x5e')](_0x1edb3a[_0x6bec('0x4c')]),function(){if(_0x12fa90){fs['unlink'](_0x1edb3a['value']);}});}else{return _0x3830b6[_0x6bec('0x4a')](_0x1edb3a[_0x6bec('0x4c')],function(_0x4dcb72){if(_0x12fa90){fs['unlink'](_0x1edb3a[_0x6bec('0x4c')]);}});}}})[_0x6bec('0x42')](handleError(_0x3830b6,null));};exports[_0x6bec('0x23')]=function(_0x4da7c3,_0x216da9){return db[_0x6bec('0x2a')][_0x6bec('0x46')]({'where':{'id':_0x4da7c3[_0x6bec('0x44')]['id']}})[_0x6bec('0x24')](function(_0xcc2a56){if(_['isNil'](_0xcc2a56)){throw new ReferenceError(_0x6bec('0x5f'));}return _0xcc2a56;})[_0x6bec('0x24')](function(_0x398518){var _0x750db=_0x398518[_0x6bec('0x4c')];logger[_0x6bec('0x60')](_0x6bec('0x61'),_0x750db);if(!_['isNil'](_0x398518['value'])&&fs['existsSync'](_0x750db)){logger[_0x6bec('0x60')](_0x6bec('0x62')+_0x750db+_0x6bec('0x63'));fs['unlinkSync'](_0x750db);}_0x750db=_0x750db+'.cypher';if(!_[_0x6bec('0x64')](_0x398518['value'])&&fs[_0x6bec('0x4e')](_0x750db)){logger[_0x6bec('0x60')](_0x6bec('0x62')+_0x750db+_0x6bec('0x63'));fs[_0x6bec('0x65')](_0x750db);}return _0x398518;})[_0x6bec('0x24')](function(_0x27891b){if(!_0x27891b)throw new InternalError();return _0x27891b[_0x6bec('0x23')]();})[_0x6bec('0x24')](function(){_0x216da9[_0x6bec('0x17')](0xcc)[_0x6bec('0x18')]();})[_0x6bec('0x42')](handleError(_0x216da9,null));};function getBucketslist(_0x4419c6,_0x26e4e0,_0x14d9cf){return new Promise(function(_0x5c45ff,_0x32a3de){var _0x328aa1=new AWS['S3']({'accessKeyId':_0x26e4e0,'secretAccessKey':_0x4419c6,'region':_0x14d9cf});_0x328aa1[_0x6bec('0x66')]({},function(_0x1f645c,_0x85f716){if(_0x1f645c){return _0x32a3de(_0x1f645c);}else{return _0x5c45ff(_0x85f716);}});});}function createBucket(_0x1a9836,_0x3d9089,_0x2f88d4,_0x5916cd){return new Promise(function(_0x4e630b,_0x426e60){var _0x224cfe=new AWS['S3']({'accessKeyId':_0x3d9089,'secretAccessKey':_0x1a9836,'region':_0x2f88d4});_0x224cfe[_0x6bec('0x67')]({'Bucket':_0x5916cd},function(_0x2b7cfb,_0x3195db){if(_0x2b7cfb){return _0x426e60(_0x2b7cfb);}else{return _0x4e630b(_0x3195db);}});});}function uploadFile(_0x580fbe,_0x5bbf22,_0xc371da,_0x525b4e,_0x49dac1,_0x51eb68){return new Promise(function(_0x31ce0b,_0x327b7f){var _0x1516f3=new AWS['S3']({'accessKeyId':_0x5bbf22,'secretAccessKey':_0x580fbe,'region':_0xc371da});_0x1516f3['upload']({'Bucket':_0x525b4e,'Key':_0x49dac1,'Body':_0x51eb68},function(_0x346fee,_0x16f58d){if(_0x346fee){return _0x327b7f(_0x346fee);}else{return _0x31ce0b(_0x16f58d);}});});}function startTranscribe(_0x5a3d71,_0x3f2761,_0x5b35a4,_0x57e1c4,_0x46500c,_0x4d32f9){return new Promise(function(_0x5bb88a,_0x28b753){var _0x36faae=new AWS['TranscribeService']({'accessKeyId':_0x3f2761,'secretAccessKey':_0x5a3d71,'region':_0x5b35a4});_0x36faae['startTranscriptionJob']({'TranscriptionJobName':_0x57e1c4,'LanguageCode':_0x46500c,'Media':{'MediaFileUri':_0x4d32f9}},function(_0x1a856e,_0x2187fe){if(_0x1a856e){return _0x28b753(_0x1a856e);}else{return _0x5bb88a(_0x2187fe);}});});}function transcribe(_0x440af7,_0x45eb81,_0x3196f9,_0x1ccc58,_0x14d9ff,_0x31731b,_0x449310){return new Promise(function(_0x34a0b9,_0x5b2a57){var _0x6bf78b={};logger[_0x6bec('0x60')](util[_0x6bec('0x30')](_0x6bec('0x68'),_0x440af7,_0x14d9ff));return uploadFile(_0x45eb81,_0x3196f9,_0x1ccc58,_0x14d9ff,path['basename'](_0x31731b),fs['readFileSync'](_0x31731b))[_0x6bec('0x24')](function(_0x488961){logger[_0x6bec('0x60')](util[_0x6bec('0x30')](_0x6bec('0x69'),_0x440af7,_0x14d9ff,_0x488961[_0x6bec('0x6a')]));_0x6bf78b[_0x6bec('0x6b')]=_0x488961['Bucket'];_0x6bf78b[_0x6bec('0x6c')]=_0x488961['Location'];logger[_0x6bec('0x60')](util[_0x6bec('0x30')]('[RUNTRANSCRIPT][%d]\x20Sending\x20transcribe\x20request',_0x440af7));return startTranscribe(_0x45eb81,_0x3196f9,_0x1ccc58,uuidv4(),_0x449310,_0x488961[_0x6bec('0x6a')]);})[_0x6bec('0x24')](function(_0x91c63f){logger['info'](util['format'](_0x6bec('0x6d'),_0x440af7,_0x91c63f[_0x6bec('0x6e')][_0x6bec('0x6f')]));_0x6bf78b[_0x6bec('0x70')]=_0x91c63f[_0x6bec('0x6e')]['TranscriptionJobName'];_0x6bf78b['transcribeStatus']=_0x91c63f[_0x6bec('0x6e')][_0x6bec('0x71')];return _0x34a0b9(_0x6bf78b);})[_0x6bec('0x42')](function(_0x44fb12){return _0x5b2a57(_0x44fb12);});});}exports[_0x6bec('0x72')]=function(_0x4906f4,_0x300927,_0x743e20){var _0x4573f9;var _0x3d4401;var _0x299789;var _0x3aadc4=require(_0x6bec('0x4b'));return db['VoiceRecording']['findOne']({'where':{'id':_0x4906f4[_0x6bec('0x44')]['id']}})['then'](function(_0x54d638){if(_0x54d638){var _0x15948c=util['format']('%s.cypher',_0x54d638[_0x6bec('0x4c')]);if(fs['existsSync'](_0x15948c)){cypher=!![];return _0x3aadc4['decryptFile'](_0x15948c,_0x54d638['value'],config['secrets']['recording'])[_0x6bec('0x24')](function(){return _0x54d638;});}return _0x54d638;}})[_0x6bec('0x24')](function(_0x5b182e){if(!_0x5b182e){throw new db[(_0x6bec('0x51'))][(_0x6bec('0x52'))](_0x6bec('0x73'));}_0x3d4401=_0x5b182e;return db[_0x6bec('0x74')]['findOne']({'where':{'id':0x1}});})[_0x6bec('0x24')](handleEntityNotFound(_0x300927,null))[_0x6bec('0x24')](function(_0x3b235a){if(_0x3b235a){_0x4573f9=_0x3b235a;if(!_0x4573f9['transcribe']||!_0x4573f9[_0x6bec('0x75')]||!_0x4573f9[_0x6bec('0x76')]||!_0x4573f9[_0x6bec('0x77')]||!_0x4573f9['bucket']){throw new db[(_0x6bec('0x51'))][(_0x6bec('0x52'))](_0x6bec('0x78'));}if(_0x4906f4[_0x6bec('0x48')]['runSentiment']&&(!_0x4573f9[_0x6bec('0x79')]||!_0x4573f9[_0x6bec('0x7a')]||!_0x4573f9['sentimentRegion']||!_0x4573f9[_0x6bec('0x77')]||!_0x4573f9[_0x6bec('0x6b')])){throw new db[(_0x6bec('0x51'))][(_0x6bec('0x52'))]('Sentiment\x20Analysis\x20not\x20configured');}return db['CloudProvider'][_0x6bec('0x7b')]({'where':{'id':_0x4573f9['transcribeAccountId']}});}})['then'](function(_0x28d63e){if(!_0x28d63e){throw new db[(_0x6bec('0x51'))][(_0x6bec('0x52'))](_0x6bec('0x7c'));}if(!_0x28d63e['data1']||!_0x28d63e[_0x6bec('0x7d')]){throw new db[(_0x6bec('0x51'))]['ValidationError']('Cloud\x20Provider\x20not\x20configured');}_0x299789=_0x28d63e;return getBucketslist(_0x299789[_0x6bec('0x7e')],_0x299789[_0x6bec('0x7d')],_0x4573f9[_0x6bec('0x76')]);})[_0x6bec('0x24')](function(_0x2cee1f){if(_0x2cee1f&&_0x2cee1f[_0x6bec('0x7f')]){var _0x2f6cea=_[_0x6bec('0x46')](_0x2cee1f[_0x6bec('0x7f')],function(_0x4ecaf0){return _0x4ecaf0[_0x6bec('0x80')]===_0x4573f9[_0x6bec('0x6b')];});if(!_0x2f6cea){logger['info'](util[_0x6bec('0x30')]('[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20not\x20available',_0x4906f4[_0x6bec('0x44')]['id'],_0x4573f9[_0x6bec('0x6b')]));return createBucket(_0x299789[_0x6bec('0x7e')],_0x299789['data2'],_0x4573f9[_0x6bec('0x76')],_0x4573f9['bucket']);}logger[_0x6bec('0x60')](util['format'](_0x6bec('0x81'),_0x4906f4[_0x6bec('0x44')]['id'],_0x4573f9[_0x6bec('0x6b')]));return;}})[_0x6bec('0x24')](function(_0x3f9f19){if(_0x3d4401[_0x6bec('0x82')]===_0x6bec('0x83')){return transcribe(_0x4906f4['params']['id'],_0x299789[_0x6bec('0x7e')],_0x299789[_0x6bec('0x7d')],_0x4573f9[_0x6bec('0x76')],_0x4573f9[_0x6bec('0x6b')],_0x3d4401[_0x6bec('0x4c')],_0x4573f9['language']);}else{logger['info'](util[_0x6bec('0x30')]('[RUNTRANSCRIPT][%d]\x20Transcript\x20action\x20already\x20requested',_0x4906f4[_0x6bec('0x44')]['id']));return{'transcribeStatus':_0x6bec('0x84')};}})[_0x6bec('0x24')](function(_0x7b8aad){if(_0x7b8aad){_0x7b8aad[_0x6bec('0x85')]=_0x4906f4[_0x6bec('0x48')][_0x6bec('0x86')];return _0x3d4401[_0x6bec('0x87')](_0x7b8aad);}})['then'](respondWithResult(_0x300927,null))[_0x6bec('0x42')](handleError(_0x300927,null));};function writeFile(_0x411353,_0x551481){return new Promise(function(_0x56a1af,_0x10b892){fs['writeFile'](_0x551481,_0x411353,function(_0x200a5e,_0x31e50d){if(_0x200a5e){return _0x10b892(_0x200a5e);}else{return _0x56a1af(_0x31e50d);}});});}exports[_0x6bec('0x88')]=function(_0x2351d0,_0x17fb00,_0x11dee7){return db['VoiceRecording'][_0x6bec('0x7b')]({'where':{'id':_0x2351d0['params']['id']}})[_0x6bec('0x24')](handleEntityNotFound(_0x17fb00))[_0x6bec('0x24')](function(_0x52404f){if(_0x52404f&&_0x52404f[_0x6bec('0x89')]){var _0xf203b5=_0x52404f[_0x6bec('0x89')];var _0x176f68=config[_0x6bec('0x8a')]+_0x6bec('0x8b')+_0x52404f['id']+_0x6bec('0x8c');if(fs['existsSync'](_0x176f68)){return _0x176f68;}return writeFile(_0xf203b5,_0x176f68)[_0x6bec('0x24')](function(){return _0x176f68;});}else{throw new db[(_0x6bec('0x51'))]['ValidationError'](_0x6bec('0x8d'));}})[_0x6bec('0x24')](function(_0x1c99d0){return _0x17fb00[_0x6bec('0x4a')](_0x1c99d0);})[_0x6bec('0x42')](handleError(_0x17fb00));};