Built motion from commit 994c64e1.|2.6.1
[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 _0x5d12=['runSentiment','updateAttributes','writeFile','downloadTranscribe','fileText','root','/server/files/transcribes/transcribe_','zip-dir','fast-json-patch','moment','bluebird','mustache','path','sox','to-csv','ejs','fs-extra','crypto','desk.js','aws-sdk','uuid/v4','../../components/auth/service','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','end','status','offset','undefined','count','limit','set','Content-Range','json','apply','reject','update','then','destroy','sendStatus','error','name','send','index','map','VoiceRecording','rawAttributes','key','model','differenceBy','format','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','type','VIRTUAL','includeAll','include','findAll','rows','show','params','options','find','catch','create','body','describe','../../components/encryptor','uniqueid','value','%s.cypher','existsSync','decryptFile','secrets','recording','Sequelize','ValidationError','VoiceRecording\x20not\x20found','filename','extname','unlink','download','downloads','sequelize','MD5','token','$and','push','isNil','Entity\x20not\x20found','cancellazione\x20fisica\x20documento\x20%s','info','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','.cypher','listBuckets','createBucket','startTranscriptionJob','basename','readFileSync','[RUNTRANSCRIPT][%d]\x20Voice\x20recording\x20uploaded\x20in\x20bucket\x20%s\x20(%s)','bucket','Bucket','location','Location','TranscriptionJob','TranscriptionJobName','transcribeName','Voice\x20Recording\x20not\x20found','findOne','transcribe','transcribeAccountId','transcribeRegion','language','sentimentRegion','Cloud\x20Provider\x20not\x20available','data1','data2','Buckets','[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20available','transcribeStatus','NEW','[RUNTRANSCRIPT][%d]\x20Transcript\x20action\x20already\x20requested','IN_PROGRESS','tempSentiment'];(function(_0x119b3e,_0x4c584d){var _0x346ad6=function(_0x6673f2){while(--_0x6673f2){_0x119b3e['push'](_0x119b3e['shift']());}};_0x346ad6(++_0x4c584d);}(_0x5d12,0x121));var _0x25d1=function(_0x231e16,_0x67347b){_0x231e16=_0x231e16-0x0;var _0x570a7c=_0x5d12[_0x231e16];return _0x570a7c;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x25d1('0x0'));var jsonpatch=require(_0x25d1('0x1'));var rp=require('request-promise');var moment=require(_0x25d1('0x2'));var BPromise=require(_0x25d1('0x3'));var Mustache=require(_0x25d1('0x4'));var util=require('util');var path=require(_0x25d1('0x5'));var sox=require(_0x25d1('0x6'));var csv=require(_0x25d1('0x7'));var ejs=require(_0x25d1('0x8'));var fs=require('fs');var fs_extra=require(_0x25d1('0x9'));var _=require('lodash');var squel=require('squel');var crypto=require(_0x25d1('0xa'));var jsforce=require('jsforce');var deskjs=require(_0x25d1('0xb'));var toCsv=require(_0x25d1('0x7'));var querystring=require('querystring');var Papa=require('papaparse');var AWS=require(_0x25d1('0xc'));var uuidv4=require(_0x25d1('0xd'));var Redis=require('ioredis');var authService=require(_0x25d1('0xe'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x25d1('0xf'));var logger=require(_0x25d1('0x10'))(_0x25d1('0x11'));var utils=require(_0x25d1('0x12'));var config=require(_0x25d1('0x13'));var licenseUtil=require(_0x25d1('0x14'));var db=require(_0x25d1('0x15'))['db'];function respondWithStatusCode(_0x20fd26,_0x4c5af9){_0x4c5af9=_0x4c5af9||0xcc;return function(_0x36e25b){if(_0x36e25b){return _0x20fd26['sendStatus'](_0x4c5af9);}return _0x20fd26['status'](_0x4c5af9)[_0x25d1('0x16')]();};}function respondWithResult(_0xc185fa,_0x5e2135){_0x5e2135=_0x5e2135||0xc8;return function(_0x11959e){if(_0x11959e){return _0xc185fa[_0x25d1('0x17')](_0x5e2135)['json'](_0x11959e);}};}function respondWithFilteredResult(_0x528e88,_0x2d8da4){return function(_0xdf25d1){if(_0xdf25d1){var _0x2bdb85=typeof _0x2d8da4[_0x25d1('0x18')]===_0x25d1('0x19')&&typeof _0x2d8da4['limit']==='undefined';var _0x4f93e9=_0xdf25d1[_0x25d1('0x1a')];var _0x19131e=_0x2bdb85?0x0:_0x2d8da4['offset'];var _0x50fb00=_0x2bdb85?_0xdf25d1['count']:_0x2d8da4[_0x25d1('0x18')]+_0x2d8da4[_0x25d1('0x1b')];var _0x1a5094;if(_0x50fb00>=_0x4f93e9){_0x50fb00=_0x4f93e9;_0x1a5094=0xc8;}else{_0x1a5094=0xce;}_0x528e88['status'](_0x1a5094);return _0x528e88[_0x25d1('0x1c')](_0x25d1('0x1d'),_0x19131e+'-'+_0x50fb00+'/'+_0x4f93e9)[_0x25d1('0x1e')](_0xdf25d1);}return null;};}function patchUpdates(_0xc7de30){return function(_0x29baa7){try{jsonpatch[_0x25d1('0x1f')](_0x29baa7,_0xc7de30,!![]);}catch(_0x51b16b){return BPromise[_0x25d1('0x20')](_0x51b16b);}return _0x29baa7['save']();};}function saveUpdates(_0x3654c6,_0x17dd73){return function(_0x31050b){if(_0x31050b){return _0x31050b[_0x25d1('0x21')](_0x3654c6)[_0x25d1('0x22')](function(_0x264390){return _0x264390;});}return null;};}function removeEntity(_0x273959,_0x4f3035){return function(_0x1870da){if(_0x1870da){return _0x1870da[_0x25d1('0x23')]()[_0x25d1('0x22')](function(){_0x273959[_0x25d1('0x17')](0xcc)[_0x25d1('0x16')]();});}};}function handleEntityNotFound(_0x22f88f,_0x3c7891){return function(_0x21c947){if(!_0x21c947){_0x22f88f[_0x25d1('0x24')](0x194);}return _0x21c947;};}function handleError(_0xdc97bd,_0x1961d2){_0x1961d2=_0x1961d2||0x1f4;return function(_0xaff844){logger[_0x25d1('0x25')](_0xaff844['stack']);if(_0xaff844['name']){delete _0xaff844[_0x25d1('0x26')];}_0xdc97bd[_0x25d1('0x17')](_0x1961d2)[_0x25d1('0x27')](_0xaff844);};}exports[_0x25d1('0x28')]=function(_0x661d6b,_0x590e9e){var _0x52858c={},_0x5d3c6a={},_0x314d25={'count':0x0,'rows':[]};var _0x1fd446=_[_0x25d1('0x29')](db[_0x25d1('0x2a')][_0x25d1('0x2b')],function(_0x56f2a3){return{'name':_0x56f2a3['fieldName'],'type':_0x56f2a3['type'][_0x25d1('0x2c')]};});_0x5d3c6a[_0x25d1('0x2d')]=_[_0x25d1('0x2e')](_[_0x25d1('0x29')](_0x1fd446,_0x25d1('0x26')),[_0x25d1('0x2f')]);_0x5d3c6a[_0x25d1('0x30')]=_[_0x25d1('0x31')](_0x661d6b['query']);_0x5d3c6a[_0x25d1('0x32')]=_[_0x25d1('0x33')](_0x5d3c6a['model'],_0x5d3c6a[_0x25d1('0x30')]);_0x52858c[_0x25d1('0x34')]=_[_0x25d1('0x33')](_0x5d3c6a['model'],qs[_0x25d1('0x35')](_0x661d6b[_0x25d1('0x30')][_0x25d1('0x35')]));_0x52858c[_0x25d1('0x34')]=_0x52858c[_0x25d1('0x34')][_0x25d1('0x36')]?_0x52858c[_0x25d1('0x34')]:_0x5d3c6a[_0x25d1('0x2d')];if(!_0x661d6b[_0x25d1('0x30')][_0x25d1('0x37')](_0x25d1('0x38'))){_0x52858c[_0x25d1('0x1b')]=qs['limit'](_0x661d6b[_0x25d1('0x30')][_0x25d1('0x1b')]);_0x52858c['offset']=qs['offset'](_0x661d6b[_0x25d1('0x30')][_0x25d1('0x18')]);}_0x52858c[_0x25d1('0x39')]=qs[_0x25d1('0x3a')](_0x661d6b[_0x25d1('0x30')][_0x25d1('0x3a')]);_0x52858c[_0x25d1('0x3b')]=qs[_0x25d1('0x32')](_[_0x25d1('0x3c')](_0x661d6b[_0x25d1('0x30')],_0x5d3c6a[_0x25d1('0x32')]),_0x1fd446);if(_0x661d6b[_0x25d1('0x30')][_0x25d1('0x3d')]){_0x52858c[_0x25d1('0x3b')]=_[_0x25d1('0x3e')](_0x52858c['where'],{'$or':_['map'](_0x1fd446,function(_0x2c6231){if(_0x2c6231[_0x25d1('0x3f')]!==_0x25d1('0x40')){var _0x227c44={};_0x227c44[_0x2c6231[_0x25d1('0x26')]]={'$like':'%'+_0x661d6b['query'][_0x25d1('0x3d')]+'%'};return _0x227c44;}})});}_0x52858c=_['merge']({},_0x52858c,_0x661d6b['options']);var _0xd7c37b={'where':_0x52858c[_0x25d1('0x3b')]};return db[_0x25d1('0x2a')][_0x25d1('0x1a')](_0xd7c37b)[_0x25d1('0x22')](function(_0xa11839){_0x314d25['count']=_0xa11839;if(_0x661d6b[_0x25d1('0x30')][_0x25d1('0x41')]){_0x52858c[_0x25d1('0x42')]=[{'all':!![]}];}return db['VoiceRecording'][_0x25d1('0x43')](_0x52858c);})[_0x25d1('0x22')](function(_0x1ac345){_0x314d25[_0x25d1('0x44')]=_0x1ac345;return _0x314d25;})[_0x25d1('0x22')](respondWithFilteredResult(_0x590e9e,_0x52858c))['catch'](handleError(_0x590e9e,null));};exports[_0x25d1('0x45')]=function(_0x21fe17,_0x5f5a99){var _0x444dc9={'raw':![],'where':{'id':_0x21fe17[_0x25d1('0x46')]['id']}},_0x982eac={};_0x982eac[_0x25d1('0x2d')]=_[_0x25d1('0x31')](db[_0x25d1('0x2a')][_0x25d1('0x2b')]);_0x982eac[_0x25d1('0x30')]=_['keys'](_0x21fe17[_0x25d1('0x30')]);_0x982eac[_0x25d1('0x32')]=_['intersection'](_0x982eac[_0x25d1('0x2d')],_0x982eac['query']);_0x444dc9[_0x25d1('0x34')]=_[_0x25d1('0x33')](_0x982eac[_0x25d1('0x2d')],qs[_0x25d1('0x35')](_0x21fe17[_0x25d1('0x30')][_0x25d1('0x35')]));_0x444dc9[_0x25d1('0x34')]=_0x444dc9[_0x25d1('0x34')]['length']?_0x444dc9[_0x25d1('0x34')]:_0x982eac['model'];if(_0x21fe17[_0x25d1('0x30')][_0x25d1('0x41')]){_0x444dc9[_0x25d1('0x42')]=[{'all':!![]}];}_0x444dc9=_[_0x25d1('0x3e')]({},_0x444dc9,_0x21fe17[_0x25d1('0x47')]);return db[_0x25d1('0x2a')][_0x25d1('0x48')](_0x444dc9)[_0x25d1('0x22')](handleEntityNotFound(_0x5f5a99,null))['then'](respondWithResult(_0x5f5a99,null))[_0x25d1('0x49')](handleError(_0x5f5a99,null));};exports[_0x25d1('0x4a')]=function(_0x461d1c,_0xdeb583){return db[_0x25d1('0x2a')][_0x25d1('0x4a')](_0x461d1c[_0x25d1('0x4b')],{})[_0x25d1('0x22')](respondWithResult(_0xdeb583,0xc9))[_0x25d1('0x49')](handleError(_0xdeb583,null));};exports[_0x25d1('0x21')]=function(_0x12af17,_0x2a7763){if(_0x12af17['body']['id']){delete _0x12af17[_0x25d1('0x4b')]['id'];}return db['VoiceRecording'][_0x25d1('0x48')]({'where':{'id':_0x12af17[_0x25d1('0x46')]['id']}})[_0x25d1('0x22')](handleEntityNotFound(_0x2a7763,null))[_0x25d1('0x22')](saveUpdates(_0x12af17[_0x25d1('0x4b')],null))[_0x25d1('0x22')](respondWithResult(_0x2a7763,null))['catch'](handleError(_0x2a7763,null));};exports[_0x25d1('0x4c')]=function(_0x7b350a,_0x3f78c1){return db[_0x25d1('0x2a')]['describe']()[_0x25d1('0x22')](respondWithResult(_0x3f78c1,null))[_0x25d1('0x49')](handleError(_0x3f78c1,null));};exports['download']=function(_0x11674d,_0xaba149,_0x1ee716){var _0x712c66=require(_0x25d1('0x4d'));var _0x349369=![];var _0x15e2a4={};if(_0x11674d[_0x25d1('0x30')][_0x25d1('0x3f')]&&_0x11674d[_0x25d1('0x30')][_0x25d1('0x3f')]===_0x25d1('0x4e')){_0x15e2a4[_0x25d1('0x4e')]=_0x11674d['params']['id'];}else{_0x15e2a4['id']=_0x11674d[_0x25d1('0x46')]['id'];}return db[_0x25d1('0x2a')][_0x25d1('0x48')]({'where':_0x15e2a4,'attributes':['id',_0x25d1('0x4f')],'raw':!![]})[_0x25d1('0x22')](handleEntityNotFound(_0xaba149,null))[_0x25d1('0x22')](function(_0x10c984){if(_0x10c984){var _0x685493=_0x10c984[_0x25d1('0x4f')];var _0x116a3b=util['format'](_0x25d1('0x50'),_0x685493);if(fs[_0x25d1('0x51')](_0x116a3b)){_0x349369=!![];return _0x712c66[_0x25d1('0x52')](_0x116a3b,_0x685493,config[_0x25d1('0x53')][_0x25d1('0x54')])[_0x25d1('0x22')](function(){return _0x10c984;});}return _0x10c984;}})[_0x25d1('0x22')](function(_0x146c9b){if(_0x146c9b){var _0x59be56=_0x146c9b[_0x25d1('0x4f')];if(!fs[_0x25d1('0x51')](_0x59be56)){throw new db[(_0x25d1('0x55'))][(_0x25d1('0x56'))](_0x25d1('0x57'));}if(_0x146c9b[_0x25d1('0x58')]){return _0xaba149['download'](_0x59be56,_0x146c9b['filename']+path[_0x25d1('0x59')](_0x59be56),function(){if(_0x349369){fs[_0x25d1('0x5a')](_0x59be56);}});}else{return _0xaba149[_0x25d1('0x5b')](_0x59be56,function(_0x368151){if(_0x349369){fs[_0x25d1('0x5a')](_0x59be56);}});}}})[_0x25d1('0x49')](function(_0x5a64d6){if(_0x5a64d6['message']===_0x25d1('0x57')){_0xaba149[_0x25d1('0x17')](0x194)[_0x25d1('0x27')]('Not\x20found');}else{return handleError(_0xaba149,null);}});};exports[_0x25d1('0x5c')]=function(_0x13b1ce,_0x2121be,_0x10e8f6){var _0x24ebb8=require('../../components/encryptor');var _0x56128d=![];var _0x2e7c8e={'$and':[db[_0x25d1('0x5d')][_0x25d1('0x3b')](db['sequelize']['fn'](_0x25d1('0x5e'),db[_0x25d1('0x5d')]['col'](_0x25d1('0x4e'))),_0x13b1ce[_0x25d1('0x30')][_0x25d1('0x5f')])]};if(_0x13b1ce[_0x25d1('0x30')]['type']&&_0x13b1ce[_0x25d1('0x30')][_0x25d1('0x3f')]===_0x25d1('0x4e')){_0x2e7c8e[_0x25d1('0x60')][_0x25d1('0x61')]({'uniqueid':_0x13b1ce[_0x25d1('0x46')]['id']});}else{_0x2e7c8e[_0x25d1('0x60')][_0x25d1('0x61')]({'id':_0x13b1ce[_0x25d1('0x46')]['id']});}return db[_0x25d1('0x2a')][_0x25d1('0x48')]({'where':_0x2e7c8e,'attributes':['id',_0x25d1('0x4f')],'raw':!![]})[_0x25d1('0x22')](handleEntityNotFound(_0x2121be,null))['then'](function(_0x5e1bde){if(_0x5e1bde){var _0x1a5221=util['format']('%s.cypher',_0x5e1bde[_0x25d1('0x4f')]);if(fs[_0x25d1('0x51')](_0x1a5221)){_0x56128d=!![];return _0x24ebb8[_0x25d1('0x52')](_0x1a5221,_0x5e1bde['value'],config['secrets']['recording'])[_0x25d1('0x22')](function(){return _0x5e1bde;});}return _0x5e1bde;}})[_0x25d1('0x22')](function(_0x4adfd4){if(_0x4adfd4){if(!fs[_0x25d1('0x51')](_0x4adfd4[_0x25d1('0x4f')])){throw new db[(_0x25d1('0x55'))][(_0x25d1('0x56'))](_0x25d1('0x57'));}if(_0x4adfd4[_0x25d1('0x58')]){return _0x2121be[_0x25d1('0x5b')](_0x4adfd4[_0x25d1('0x4f')],_0x4adfd4[_0x25d1('0x58')]+path[_0x25d1('0x59')](_0x4adfd4[_0x25d1('0x4f')]),function(){if(_0x56128d){fs[_0x25d1('0x5a')](_0x4adfd4['value']);}});}else{return _0x2121be['download'](_0x4adfd4[_0x25d1('0x4f')],function(_0x275327){if(_0x56128d){fs[_0x25d1('0x5a')](_0x4adfd4[_0x25d1('0x4f')]);}});}}})[_0x25d1('0x49')](handleError(_0x2121be,null));};exports[_0x25d1('0x23')]=function(_0x2d44da,_0x3f2641){return db[_0x25d1('0x2a')][_0x25d1('0x48')]({'where':{'id':_0x2d44da['params']['id']}})[_0x25d1('0x22')](function(_0x4a5268){if(_[_0x25d1('0x62')](_0x4a5268)){throw new ReferenceError(_0x25d1('0x63'));}return _0x4a5268;})[_0x25d1('0x22')](function(_0x159a4c){var _0x394904=_0x159a4c[_0x25d1('0x4f')];logger['info'](_0x25d1('0x64'),_0x394904);if(!_[_0x25d1('0x62')](_0x159a4c[_0x25d1('0x4f')])&&fs[_0x25d1('0x51')](_0x394904)){logger[_0x25d1('0x65')]('File:\x20\x22'+_0x394904+_0x25d1('0x66'));fs['unlinkSync'](_0x394904);}_0x394904=_0x394904+_0x25d1('0x67');if(!_[_0x25d1('0x62')](_0x159a4c[_0x25d1('0x4f')])&&fs[_0x25d1('0x51')](_0x394904)){logger[_0x25d1('0x65')]('File:\x20\x22'+_0x394904+_0x25d1('0x66'));fs['unlinkSync'](_0x394904);}return _0x159a4c;})[_0x25d1('0x22')](function(_0x5963e4){if(!_0x5963e4)throw new InternalError();return _0x5963e4[_0x25d1('0x23')]();})['then'](function(){_0x3f2641[_0x25d1('0x17')](0xcc)[_0x25d1('0x16')]();})[_0x25d1('0x49')](handleError(_0x3f2641,null));};function getBucketslist(_0x338086,_0x4bef62,_0x36a75d){return new Promise(function(_0x3871c4,_0x51dd4d){var _0x313edf=new AWS['S3']({'accessKeyId':_0x4bef62,'secretAccessKey':_0x338086,'region':_0x36a75d});_0x313edf[_0x25d1('0x68')]({},function(_0x455049,_0x5174d3){if(_0x455049){return _0x51dd4d(_0x455049);}else{return _0x3871c4(_0x5174d3);}});});}function createBucket(_0x12fe6b,_0x5a5b2b,_0x47649b,_0x127f39){return new Promise(function(_0x3fcf93,_0x4be29a){var _0xcf190c=new AWS['S3']({'accessKeyId':_0x5a5b2b,'secretAccessKey':_0x12fe6b,'region':_0x47649b});_0xcf190c[_0x25d1('0x69')]({'Bucket':_0x127f39},function(_0xbe8fb,_0x3d5ef4){if(_0xbe8fb){return _0x4be29a(_0xbe8fb);}else{return _0x3fcf93(_0x3d5ef4);}});});}function uploadFile(_0x34698b,_0x4268f6,_0x3ce82d,_0x312745,_0x421910,_0x2080ff){return new Promise(function(_0x22bb01,_0x24211e){var _0x48a6df=new AWS['S3']({'accessKeyId':_0x4268f6,'secretAccessKey':_0x34698b,'region':_0x3ce82d});_0x48a6df['upload']({'Bucket':_0x312745,'Key':_0x421910,'Body':_0x2080ff},function(_0x3cced2,_0x59e7c7){if(_0x3cced2){return _0x24211e(_0x3cced2);}else{return _0x22bb01(_0x59e7c7);}});});}function startTranscribe(_0x530ab8,_0x49a8c6,_0x4b4028,_0x148e47,_0x140310,_0x3dab23){return new Promise(function(_0x2cf764,_0x563a2a){var _0x20b951=new AWS['TranscribeService']({'accessKeyId':_0x49a8c6,'secretAccessKey':_0x530ab8,'region':_0x4b4028});_0x20b951[_0x25d1('0x6a')]({'TranscriptionJobName':_0x148e47,'LanguageCode':_0x140310,'Media':{'MediaFileUri':_0x3dab23}},function(_0x333480,_0x580257){if(_0x333480){return _0x563a2a(_0x333480);}else{return _0x2cf764(_0x580257);}});});}function transcribe(_0x2ae000,_0x1f2ad4,_0x3b5b2b,_0xc04aa3,_0x5d7154,_0x4ebb5d,_0x54b541){return new Promise(function(_0x512374,_0x3a2772){var _0x373cf0={};logger[_0x25d1('0x65')](util[_0x25d1('0x2f')]('[RUNTRANSCRIPT][%d]\x20Starting\x20voice\x20recording\x20upload\x20in\x20bucket\x20%s',_0x2ae000,_0x5d7154));return uploadFile(_0x1f2ad4,_0x3b5b2b,_0xc04aa3,_0x5d7154,path[_0x25d1('0x6b')](_0x4ebb5d),fs[_0x25d1('0x6c')](_0x4ebb5d))[_0x25d1('0x22')](function(_0x4d8a62){logger[_0x25d1('0x65')](util['format'](_0x25d1('0x6d'),_0x2ae000,_0x5d7154,_0x4d8a62['Location']));_0x373cf0[_0x25d1('0x6e')]=_0x4d8a62[_0x25d1('0x6f')];_0x373cf0[_0x25d1('0x70')]=_0x4d8a62['Location'];logger[_0x25d1('0x65')](util[_0x25d1('0x2f')]('[RUNTRANSCRIPT][%d]\x20Sending\x20transcribe\x20request',_0x2ae000));return startTranscribe(_0x1f2ad4,_0x3b5b2b,_0xc04aa3,uuidv4(),_0x54b541,_0x4d8a62[_0x25d1('0x71')]);})[_0x25d1('0x22')](function(_0xd5f6e7){logger[_0x25d1('0x65')](util['format']('[RUNTRANSCRIPT][%d]\x20Transcription\x20job\x20%s\x20created',_0x2ae000,_0xd5f6e7[_0x25d1('0x72')][_0x25d1('0x73')]));_0x373cf0[_0x25d1('0x74')]=_0xd5f6e7['TranscriptionJob'][_0x25d1('0x73')];_0x373cf0['transcribeStatus']=_0xd5f6e7[_0x25d1('0x72')]['TranscriptionJobStatus'];return _0x512374(_0x373cf0);})[_0x25d1('0x49')](function(_0x174d80){return _0x3a2772(_0x174d80);});});}exports['runTranscribe']=function(_0x23dfda,_0x588b7a,_0x476e6f){var _0x39a691;var _0x1dc576;var _0x1dea92;var _0x11d116=require(_0x25d1('0x4d'));return db['VoiceRecording']['findOne']({'where':{'id':_0x23dfda[_0x25d1('0x46')]['id']}})[_0x25d1('0x22')](function(_0x121657){if(_0x121657){var _0x5a9670=util[_0x25d1('0x2f')](_0x25d1('0x50'),_0x121657[_0x25d1('0x4f')]);if(fs[_0x25d1('0x51')](_0x5a9670)){cypher=!![];return _0x11d116[_0x25d1('0x52')](_0x5a9670,_0x121657[_0x25d1('0x4f')],config['secrets'][_0x25d1('0x54')])[_0x25d1('0x22')](function(){return _0x121657;});}return _0x121657;}})[_0x25d1('0x22')](function(_0x447279){if(!_0x447279){throw new db[(_0x25d1('0x55'))][(_0x25d1('0x56'))](_0x25d1('0x75'));}_0x1dc576=_0x447279;return db['Setting'][_0x25d1('0x76')]({'where':{'id':0x1}});})[_0x25d1('0x22')](handleEntityNotFound(_0x588b7a,null))[_0x25d1('0x22')](function(_0x4c73fa){if(_0x4c73fa){_0x39a691=_0x4c73fa;if(!_0x39a691[_0x25d1('0x77')]||!_0x39a691[_0x25d1('0x78')]||!_0x39a691[_0x25d1('0x79')]||!_0x39a691[_0x25d1('0x7a')]||!_0x39a691['bucket']){throw new db[(_0x25d1('0x55'))][(_0x25d1('0x56'))]('Transcribe\x20not\x20configured');}if(_0x23dfda[_0x25d1('0x4b')]['runSentiment']&&(!_0x39a691['sentiment']||!_0x39a691['sentimentAccountId']||!_0x39a691[_0x25d1('0x7b')]||!_0x39a691[_0x25d1('0x7a')]||!_0x39a691['bucket'])){throw new db[(_0x25d1('0x55'))]['ValidationError']('Sentiment\x20Analysis\x20not\x20configured');}return db['CloudProvider'][_0x25d1('0x76')]({'where':{'id':_0x39a691['transcribeAccountId']}});}})[_0x25d1('0x22')](function(_0x4a1e7e){if(!_0x4a1e7e){throw new db['Sequelize'][(_0x25d1('0x56'))](_0x25d1('0x7c'));}if(!_0x4a1e7e[_0x25d1('0x7d')]||!_0x4a1e7e['data2']){throw new db[(_0x25d1('0x55'))]['ValidationError']('Cloud\x20Provider\x20not\x20configured');}_0x1dea92=_0x4a1e7e;return getBucketslist(_0x1dea92[_0x25d1('0x7d')],_0x1dea92[_0x25d1('0x7e')],_0x39a691[_0x25d1('0x79')]);})[_0x25d1('0x22')](function(_0x3cee16){if(_0x3cee16&&_0x3cee16[_0x25d1('0x7f')]){var _0x1598b8=_[_0x25d1('0x48')](_0x3cee16[_0x25d1('0x7f')],function(_0xd0f32c){return _0xd0f32c['Name']===_0x39a691[_0x25d1('0x6e')];});if(!_0x1598b8){logger[_0x25d1('0x65')](util[_0x25d1('0x2f')]('[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20not\x20available',_0x23dfda[_0x25d1('0x46')]['id'],_0x39a691[_0x25d1('0x6e')]));return createBucket(_0x1dea92[_0x25d1('0x7d')],_0x1dea92[_0x25d1('0x7e')],_0x39a691[_0x25d1('0x79')],_0x39a691[_0x25d1('0x6e')]);}logger[_0x25d1('0x65')](util[_0x25d1('0x2f')](_0x25d1('0x80'),_0x23dfda['params']['id'],_0x39a691['bucket']));return;}})['then'](function(_0x2818c8){if(_0x1dc576[_0x25d1('0x81')]===_0x25d1('0x82')){return transcribe(_0x23dfda[_0x25d1('0x46')]['id'],_0x1dea92['data1'],_0x1dea92[_0x25d1('0x7e')],_0x39a691[_0x25d1('0x79')],_0x39a691[_0x25d1('0x6e')],_0x1dc576[_0x25d1('0x4f')],_0x39a691[_0x25d1('0x7a')]);}else{logger[_0x25d1('0x65')](util['format'](_0x25d1('0x83'),_0x23dfda[_0x25d1('0x46')]['id']));return{'transcribeStatus':_0x25d1('0x84')};}})[_0x25d1('0x22')](function(_0x15eead){if(_0x15eead){_0x15eead[_0x25d1('0x85')]=_0x23dfda[_0x25d1('0x4b')][_0x25d1('0x86')];return _0x1dc576[_0x25d1('0x87')](_0x15eead);}})[_0x25d1('0x22')](respondWithResult(_0x588b7a,null))[_0x25d1('0x49')](handleError(_0x588b7a,null));};function writeFile(_0xaecaa9,_0x1a1935){return new Promise(function(_0x5e5ebe,_0x268c5c){fs[_0x25d1('0x88')](_0x1a1935,_0xaecaa9,function(_0x4633ce,_0x2c1f56){if(_0x4633ce){return _0x268c5c(_0x4633ce);}else{return _0x5e5ebe(_0x2c1f56);}});});}exports[_0x25d1('0x89')]=function(_0x3e4c0c,_0x1b0e8e,_0x506ae7){return db[_0x25d1('0x2a')]['findOne']({'where':{'id':_0x3e4c0c[_0x25d1('0x46')]['id']}})[_0x25d1('0x22')](handleEntityNotFound(_0x1b0e8e))[_0x25d1('0x22')](function(_0x4c6043){if(_0x4c6043&&_0x4c6043[_0x25d1('0x8a')]){var _0x228698=_0x4c6043[_0x25d1('0x8a')];var _0x44aae7=config[_0x25d1('0x8b')]+_0x25d1('0x8c')+_0x4c6043['id']+'.txt';if(fs[_0x25d1('0x51')](_0x44aae7)){return _0x44aae7;}return writeFile(_0x228698,_0x44aae7)[_0x25d1('0x22')](function(){return _0x44aae7;});}else{throw new db['Sequelize'][(_0x25d1('0x56'))]('Transcript\x20not\x20available');}})[_0x25d1('0x22')](function(_0x17261c){return _0x1b0e8e[_0x25d1('0x5b')](_0x17261c);})[_0x25d1('0x49')](handleError(_0x1b0e8e));};