Built motion from commit da617fac.|2.6.6
[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 _0x4edb=['readFileSync','[RUNTRANSCRIPT][%d]\x20Voice\x20recording\x20uploaded\x20in\x20bucket\x20%s\x20(%s)','Bucket','location','Location','[RUNTRANSCRIPT][%d]\x20Sending\x20transcribe\x20request','[RUNTRANSCRIPT][%d]\x20Transcription\x20job\x20%s\x20created','TranscriptionJob','TranscriptionJobName','transcribeName','transcribeStatus','TranscriptionJobStatus','runTranscribe','findOne','Setting','transcribe','transcribeAccountId','language','bucket','runSentiment','sentiment','sentimentRegion','Sentiment\x20Analysis\x20not\x20configured','CloudProvider','Cloud\x20Provider\x20not\x20available','data1','data2','transcribeRegion','Buckets','Name','[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20not\x20available','[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20available','NEW','[RUNTRANSCRIPT][%d]\x20Transcript\x20action\x20already\x20requested','IN_PROGRESS','tempSentiment','updateAttributes','writeFile','downloadTranscribe','fileText','root','.txt','Transcript\x20not\x20available','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','path','sox','ejs','squel','crypto','jsforce','desk.js','to-csv','aws-sdk','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','count','limit','set','Content-Range','apply','reject','save','update','destroy','error','stack','name','VoiceRecording','fieldName','type','key','model','differenceBy','map','format','query','keys','intersection','fields','attributes','length','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','then','rows','catch','show','params','rawAttributes','filters','find','create','body','describe','../../components/encryptor','uniqueid','value','existsSync','decryptFile','secrets','recording','ValidationError','VoiceRecording\x20not\x20found','filename','download','extname','unlink','message','Not\x20found','sequelize','MD5','token','$and','push','%s.cypher','Sequelize','isNil','Entity\x20not\x20found','info','cancellazione\x20fisica\x20documento\x20%s','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','.cypher','unlinkSync','listBuckets','upload','startTranscriptionJob','basename'];(function(_0x19950b,_0x53d0d7){var _0x3c6b41=function(_0x3924ad){while(--_0x3924ad){_0x19950b['push'](_0x19950b['shift']());}};_0x3c6b41(++_0x53d0d7);}(_0x4edb,0xc6));var _0xb4ed=function(_0x30e0f5,_0x5e4826){_0x30e0f5=_0x30e0f5-0x0;var _0x3b5800=_0x4edb[_0x30e0f5];return _0x3b5800;};'use strict';var emlformat=require(_0xb4ed('0x0'));var rimraf=require(_0xb4ed('0x1'));var zipdir=require(_0xb4ed('0x2'));var jsonpatch=require(_0xb4ed('0x3'));var rp=require(_0xb4ed('0x4'));var moment=require('moment');var BPromise=require(_0xb4ed('0x5'));var Mustache=require(_0xb4ed('0x6'));var util=require('util');var path=require(_0xb4ed('0x7'));var sox=require(_0xb4ed('0x8'));var csv=require('to-csv');var ejs=require(_0xb4ed('0x9'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0xb4ed('0xa'));var crypto=require(_0xb4ed('0xb'));var jsforce=require(_0xb4ed('0xc'));var deskjs=require(_0xb4ed('0xd'));var toCsv=require(_0xb4ed('0xe'));var querystring=require('querystring');var Papa=require('papaparse');var AWS=require(_0xb4ed('0xf'));var uuidv4=require('uuid/v4');var Redis=require(_0xb4ed('0x10'));var authService=require('../../components/auth/service');var qs=require(_0xb4ed('0x11'));var as=require(_0xb4ed('0x12'));var hardwareService=require(_0xb4ed('0x13'));var logger=require('../../config/logger')(_0xb4ed('0x14'));var utils=require(_0xb4ed('0x15'));var config=require('../../config/environment');var licenseUtil=require(_0xb4ed('0x16'));var db=require(_0xb4ed('0x17'))['db'];function respondWithStatusCode(_0x480281,_0x1fefcd){_0x1fefcd=_0x1fefcd||0xcc;return function(_0x1b6463){if(_0x1b6463){return _0x480281[_0xb4ed('0x18')](_0x1fefcd);}return _0x480281[_0xb4ed('0x19')](_0x1fefcd)[_0xb4ed('0x1a')]();};}function respondWithResult(_0x1453cc,_0x25f6c0){_0x25f6c0=_0x25f6c0||0xc8;return function(_0x1644c5){if(_0x1644c5){return _0x1453cc[_0xb4ed('0x19')](_0x25f6c0)[_0xb4ed('0x1b')](_0x1644c5);}};}function respondWithFilteredResult(_0x10c55b,_0x2d9e5d){return function(_0x1d4d35){if(_0x1d4d35){var _0x54b550=typeof _0x2d9e5d[_0xb4ed('0x1c')]===_0xb4ed('0x1d')&&typeof _0x2d9e5d['limit']==='undefined';var _0x528479=_0x1d4d35['count'];var _0x593c6c=_0x54b550?0x0:_0x2d9e5d[_0xb4ed('0x1c')];var _0x21b1f5=_0x54b550?_0x1d4d35[_0xb4ed('0x1e')]:_0x2d9e5d[_0xb4ed('0x1c')]+_0x2d9e5d[_0xb4ed('0x1f')];var _0x4c0edc;if(_0x21b1f5>=_0x528479){_0x21b1f5=_0x528479;_0x4c0edc=0xc8;}else{_0x4c0edc=0xce;}_0x10c55b[_0xb4ed('0x19')](_0x4c0edc);return _0x10c55b[_0xb4ed('0x20')](_0xb4ed('0x21'),_0x593c6c+'-'+_0x21b1f5+'/'+_0x528479)[_0xb4ed('0x1b')](_0x1d4d35);}return null;};}function patchUpdates(_0x190487){return function(_0x3cd95c){try{jsonpatch[_0xb4ed('0x22')](_0x3cd95c,_0x190487,!![]);}catch(_0x342e50){return BPromise[_0xb4ed('0x23')](_0x342e50);}return _0x3cd95c[_0xb4ed('0x24')]();};}function saveUpdates(_0x3870f0,_0x1ad387){return function(_0x3dfa1d){if(_0x3dfa1d){return _0x3dfa1d[_0xb4ed('0x25')](_0x3870f0)['then'](function(_0x170655){return _0x170655;});}return null;};}function removeEntity(_0x3815fc,_0x1dc901){return function(_0x454a6a){if(_0x454a6a){return _0x454a6a[_0xb4ed('0x26')]()['then'](function(){_0x3815fc['status'](0xcc)[_0xb4ed('0x1a')]();});}};}function handleEntityNotFound(_0x4a4403,_0x1e5cb7){return function(_0x125dcd){if(!_0x125dcd){_0x4a4403[_0xb4ed('0x18')](0x194);}return _0x125dcd;};}function handleError(_0x39d2a3,_0x21335f){_0x21335f=_0x21335f||0x1f4;return function(_0x56a253){logger[_0xb4ed('0x27')](_0x56a253[_0xb4ed('0x28')]);if(_0x56a253[_0xb4ed('0x29')]){delete _0x56a253[_0xb4ed('0x29')];}_0x39d2a3[_0xb4ed('0x19')](_0x21335f)['send'](_0x56a253);};}exports['index']=function(_0x57119a,_0x278940){var _0x32d27d={},_0x452b67={},_0x59bbac={'count':0x0,'rows':[]};var _0x448d24=_['map'](db[_0xb4ed('0x2a')]['rawAttributes'],function(_0x9f3a12){return{'name':_0x9f3a12[_0xb4ed('0x2b')],'type':_0x9f3a12[_0xb4ed('0x2c')][_0xb4ed('0x2d')]};});_0x452b67[_0xb4ed('0x2e')]=_[_0xb4ed('0x2f')](_[_0xb4ed('0x30')](_0x448d24,_0xb4ed('0x29')),[_0xb4ed('0x31')]);_0x452b67[_0xb4ed('0x32')]=_[_0xb4ed('0x33')](_0x57119a[_0xb4ed('0x32')]);_0x452b67['filters']=_[_0xb4ed('0x34')](_0x452b67['model'],_0x452b67[_0xb4ed('0x32')]);_0x32d27d['attributes']=_[_0xb4ed('0x34')](_0x452b67['model'],qs[_0xb4ed('0x35')](_0x57119a[_0xb4ed('0x32')]['fields']));_0x32d27d[_0xb4ed('0x36')]=_0x32d27d[_0xb4ed('0x36')][_0xb4ed('0x37')]?_0x32d27d['attributes']:_0x452b67[_0xb4ed('0x2e')];if(!_0x57119a['query']['hasOwnProperty'](_0xb4ed('0x38'))){_0x32d27d[_0xb4ed('0x1f')]=qs[_0xb4ed('0x1f')](_0x57119a[_0xb4ed('0x32')]['limit']);_0x32d27d['offset']=qs['offset'](_0x57119a[_0xb4ed('0x32')]['offset']);}_0x32d27d[_0xb4ed('0x39')]=qs['sort'](_0x57119a[_0xb4ed('0x32')][_0xb4ed('0x3a')]);_0x32d27d[_0xb4ed('0x3b')]=qs['filters'](_[_0xb4ed('0x3c')](_0x57119a[_0xb4ed('0x32')],_0x452b67['filters']),_0x448d24);if(_0x57119a['query'][_0xb4ed('0x3d')]){_0x32d27d['where']=_[_0xb4ed('0x3e')](_0x32d27d['where'],{'$or':_[_0xb4ed('0x30')](_0x448d24,function(_0x2ce0b0){if(_0x2ce0b0[_0xb4ed('0x2c')]!==_0xb4ed('0x3f')){var _0x3c8f14={};_0x3c8f14[_0x2ce0b0[_0xb4ed('0x29')]]={'$like':'%'+_0x57119a[_0xb4ed('0x32')][_0xb4ed('0x3d')]+'%'};return _0x3c8f14;}})});}_0x32d27d=_['merge']({},_0x32d27d,_0x57119a[_0xb4ed('0x40')]);var _0x50af68={'where':_0x32d27d[_0xb4ed('0x3b')]};return db[_0xb4ed('0x2a')][_0xb4ed('0x1e')](_0x50af68)['then'](function(_0x1fbbeb){_0x59bbac[_0xb4ed('0x1e')]=_0x1fbbeb;if(_0x57119a['query'][_0xb4ed('0x41')]){_0x32d27d[_0xb4ed('0x42')]=[{'all':!![]}];}return db['VoiceRecording'][_0xb4ed('0x43')](_0x32d27d);})[_0xb4ed('0x44')](function(_0x39c3ce){_0x59bbac[_0xb4ed('0x45')]=_0x39c3ce;return _0x59bbac;})[_0xb4ed('0x44')](respondWithFilteredResult(_0x278940,_0x32d27d))[_0xb4ed('0x46')](handleError(_0x278940,null));};exports[_0xb4ed('0x47')]=function(_0x5c47a2,_0x49245b){var _0x33164b={'raw':![],'where':{'id':_0x5c47a2[_0xb4ed('0x48')]['id']}},_0x59dbcc={};_0x59dbcc[_0xb4ed('0x2e')]=_[_0xb4ed('0x33')](db[_0xb4ed('0x2a')][_0xb4ed('0x49')]);_0x59dbcc[_0xb4ed('0x32')]=_[_0xb4ed('0x33')](_0x5c47a2[_0xb4ed('0x32')]);_0x59dbcc[_0xb4ed('0x4a')]=_[_0xb4ed('0x34')](_0x59dbcc[_0xb4ed('0x2e')],_0x59dbcc[_0xb4ed('0x32')]);_0x33164b[_0xb4ed('0x36')]=_['intersection'](_0x59dbcc[_0xb4ed('0x2e')],qs['fields'](_0x5c47a2[_0xb4ed('0x32')][_0xb4ed('0x35')]));_0x33164b[_0xb4ed('0x36')]=_0x33164b[_0xb4ed('0x36')]['length']?_0x33164b['attributes']:_0x59dbcc[_0xb4ed('0x2e')];if(_0x5c47a2[_0xb4ed('0x32')][_0xb4ed('0x41')]){_0x33164b['include']=[{'all':!![]}];}_0x33164b=_[_0xb4ed('0x3e')]({},_0x33164b,_0x5c47a2[_0xb4ed('0x40')]);return db['VoiceRecording'][_0xb4ed('0x4b')](_0x33164b)[_0xb4ed('0x44')](handleEntityNotFound(_0x49245b,null))['then'](respondWithResult(_0x49245b,null))[_0xb4ed('0x46')](handleError(_0x49245b,null));};exports[_0xb4ed('0x4c')]=function(_0x394add,_0x5a4264){return db[_0xb4ed('0x2a')]['create'](_0x394add[_0xb4ed('0x4d')],{})[_0xb4ed('0x44')](respondWithResult(_0x5a4264,0xc9))['catch'](handleError(_0x5a4264,null));};exports['update']=function(_0x5490a0,_0x2982cb){if(_0x5490a0['body']['id']){delete _0x5490a0['body']['id'];}return db['VoiceRecording'][_0xb4ed('0x4b')]({'where':{'id':_0x5490a0[_0xb4ed('0x48')]['id']}})[_0xb4ed('0x44')](handleEntityNotFound(_0x2982cb,null))['then'](saveUpdates(_0x5490a0[_0xb4ed('0x4d')],null))['then'](respondWithResult(_0x2982cb,null))[_0xb4ed('0x46')](handleError(_0x2982cb,null));};exports[_0xb4ed('0x4e')]=function(_0x42f50a,_0x2abd00){return db['VoiceRecording'][_0xb4ed('0x4e')]()[_0xb4ed('0x44')](respondWithResult(_0x2abd00,null))[_0xb4ed('0x46')](handleError(_0x2abd00,null));};exports['download']=function(_0x3aebec,_0x40d446,_0xfb1279){var _0x303d9d=require(_0xb4ed('0x4f'));var _0x3a5e68=![];var _0x33a362={};if(_0x3aebec[_0xb4ed('0x32')][_0xb4ed('0x2c')]&&_0x3aebec['query'][_0xb4ed('0x2c')]===_0xb4ed('0x50')){_0x33a362[_0xb4ed('0x50')]=_0x3aebec['params']['id'];}else{_0x33a362['id']=_0x3aebec[_0xb4ed('0x48')]['id'];}return db[_0xb4ed('0x2a')][_0xb4ed('0x4b')]({'where':_0x33a362,'attributes':['id',_0xb4ed('0x51')],'raw':!![]})[_0xb4ed('0x44')](handleEntityNotFound(_0x40d446,null))[_0xb4ed('0x44')](function(_0x3ac67d){if(_0x3ac67d){var _0xb3dac1=_0x3ac67d['value'];var _0x425e4e=util[_0xb4ed('0x31')]('%s.cypher',_0xb3dac1);if(fs[_0xb4ed('0x52')](_0x425e4e)){_0x3a5e68=!![];return _0x303d9d[_0xb4ed('0x53')](_0x425e4e,_0xb3dac1,config[_0xb4ed('0x54')][_0xb4ed('0x55')])[_0xb4ed('0x44')](function(){return _0x3ac67d;});}return _0x3ac67d;}})[_0xb4ed('0x44')](function(_0x600898){if(_0x600898){var _0x13333a=_0x600898[_0xb4ed('0x51')];if(!fs[_0xb4ed('0x52')](_0x13333a)){throw new db['Sequelize'][(_0xb4ed('0x56'))](_0xb4ed('0x57'));}if(_0x600898[_0xb4ed('0x58')]){return _0x40d446[_0xb4ed('0x59')](_0x13333a,_0x600898[_0xb4ed('0x58')]+path[_0xb4ed('0x5a')](_0x13333a),function(){if(_0x3a5e68){fs[_0xb4ed('0x5b')](_0x13333a);}});}else{return _0x40d446[_0xb4ed('0x59')](_0x13333a,function(_0x34b4f9){if(_0x3a5e68){fs['unlink'](_0x13333a);}});}}})[_0xb4ed('0x46')](function(_0x2ceb5b){if(_0x2ceb5b[_0xb4ed('0x5c')]===_0xb4ed('0x57')){_0x40d446[_0xb4ed('0x19')](0x194)['send'](_0xb4ed('0x5d'));}else{return handleError(_0x40d446,null);}});};exports['downloads']=function(_0x6f36b8,_0x1ab709,_0x308b91){var _0x429cde=require(_0xb4ed('0x4f'));var _0x184a0c=![];var _0x15ebd0={'$and':[db[_0xb4ed('0x5e')]['where'](db[_0xb4ed('0x5e')]['fn'](_0xb4ed('0x5f'),db[_0xb4ed('0x5e')]['col'](_0xb4ed('0x50'))),_0x6f36b8[_0xb4ed('0x32')][_0xb4ed('0x60')])]};if(_0x6f36b8[_0xb4ed('0x32')][_0xb4ed('0x2c')]&&_0x6f36b8[_0xb4ed('0x32')][_0xb4ed('0x2c')]===_0xb4ed('0x50')){_0x15ebd0[_0xb4ed('0x61')][_0xb4ed('0x62')]({'uniqueid':_0x6f36b8['params']['id']});}else{_0x15ebd0[_0xb4ed('0x61')][_0xb4ed('0x62')]({'id':_0x6f36b8[_0xb4ed('0x48')]['id']});}return db['VoiceRecording'][_0xb4ed('0x4b')]({'where':_0x15ebd0,'attributes':['id','value'],'raw':!![]})[_0xb4ed('0x44')](handleEntityNotFound(_0x1ab709,null))[_0xb4ed('0x44')](function(_0x2ce7a4){if(_0x2ce7a4){var _0x20e908=util['format'](_0xb4ed('0x63'),_0x2ce7a4[_0xb4ed('0x51')]);if(fs[_0xb4ed('0x52')](_0x20e908)){_0x184a0c=!![];return _0x429cde[_0xb4ed('0x53')](_0x20e908,_0x2ce7a4[_0xb4ed('0x51')],config['secrets'][_0xb4ed('0x55')])[_0xb4ed('0x44')](function(){return _0x2ce7a4;});}return _0x2ce7a4;}})[_0xb4ed('0x44')](function(_0x5f541a){if(_0x5f541a){if(!fs[_0xb4ed('0x52')](_0x5f541a[_0xb4ed('0x51')])){throw new db[(_0xb4ed('0x64'))][(_0xb4ed('0x56'))](_0xb4ed('0x57'));}if(_0x5f541a['filename']){return _0x1ab709['download'](_0x5f541a[_0xb4ed('0x51')],_0x5f541a[_0xb4ed('0x58')]+path[_0xb4ed('0x5a')](_0x5f541a[_0xb4ed('0x51')]),function(){if(_0x184a0c){fs['unlink'](_0x5f541a['value']);}});}else{return _0x1ab709['download'](_0x5f541a['value'],function(_0x1ab773){if(_0x184a0c){fs['unlink'](_0x5f541a[_0xb4ed('0x51')]);}});}}})[_0xb4ed('0x46')](handleError(_0x1ab709,null));};exports['destroy']=function(_0x8577a5,_0x46ec34){return db['VoiceRecording']['find']({'where':{'id':_0x8577a5['params']['id']}})[_0xb4ed('0x44')](function(_0x293a7d){if(_[_0xb4ed('0x65')](_0x293a7d)){throw new ReferenceError(_0xb4ed('0x66'));}return _0x293a7d;})['then'](function(_0x124ee3){var _0x2b1a0a=_0x124ee3[_0xb4ed('0x51')];logger[_0xb4ed('0x67')](_0xb4ed('0x68'),_0x2b1a0a);if(!_['isNil'](_0x124ee3[_0xb4ed('0x51')])&&fs[_0xb4ed('0x52')](_0x2b1a0a)){logger[_0xb4ed('0x67')]('File:\x20\x22'+_0x2b1a0a+_0xb4ed('0x69'));fs['unlinkSync'](_0x2b1a0a);}_0x2b1a0a=_0x2b1a0a+_0xb4ed('0x6a');if(!_[_0xb4ed('0x65')](_0x124ee3[_0xb4ed('0x51')])&&fs[_0xb4ed('0x52')](_0x2b1a0a)){logger[_0xb4ed('0x67')]('File:\x20\x22'+_0x2b1a0a+_0xb4ed('0x69'));fs[_0xb4ed('0x6b')](_0x2b1a0a);}return _0x124ee3;})[_0xb4ed('0x44')](function(_0x98f763){if(!_0x98f763)throw new InternalError();return _0x98f763[_0xb4ed('0x26')]();})[_0xb4ed('0x44')](function(){_0x46ec34[_0xb4ed('0x19')](0xcc)[_0xb4ed('0x1a')]();})[_0xb4ed('0x46')](handleError(_0x46ec34,null));};function getBucketslist(_0x5ee054,_0x318963,_0x3d53dd){return new Promise(function(_0x5db0ed,_0x486f8d){var _0x235263=new AWS['S3']({'accessKeyId':_0x318963,'secretAccessKey':_0x5ee054,'region':_0x3d53dd});_0x235263[_0xb4ed('0x6c')]({},function(_0x21acc5,_0x2cfd99){if(_0x21acc5){return _0x486f8d(_0x21acc5);}else{return _0x5db0ed(_0x2cfd99);}});});}function createBucket(_0x33b35c,_0x141d9f,_0x9bb8fb,_0x13f120){return new Promise(function(_0x308107,_0x3df4ee){var _0x2c24a1=new AWS['S3']({'accessKeyId':_0x141d9f,'secretAccessKey':_0x33b35c,'region':_0x9bb8fb});_0x2c24a1['createBucket']({'Bucket':_0x13f120},function(_0x210636,_0x5646c9){if(_0x210636){return _0x3df4ee(_0x210636);}else{return _0x308107(_0x5646c9);}});});}function uploadFile(_0x35920e,_0x34ebed,_0x2607b8,_0x3493e0,_0x364d33,_0x4c8697){return new Promise(function(_0x32e9c2,_0x2d49a4){var _0x29df3a=new AWS['S3']({'accessKeyId':_0x34ebed,'secretAccessKey':_0x35920e,'region':_0x2607b8});_0x29df3a[_0xb4ed('0x6d')]({'Bucket':_0x3493e0,'Key':_0x364d33,'Body':_0x4c8697},function(_0xc039bc,_0x38aef6){if(_0xc039bc){return _0x2d49a4(_0xc039bc);}else{return _0x32e9c2(_0x38aef6);}});});}function startTranscribe(_0x1f563c,_0xc96295,_0x5f0723,_0x250a76,_0x21ea5f,_0x4bff9a){return new Promise(function(_0x1318be,_0x4c1e06){var _0x8d2dd1=new AWS['TranscribeService']({'accessKeyId':_0xc96295,'secretAccessKey':_0x1f563c,'region':_0x5f0723});_0x8d2dd1[_0xb4ed('0x6e')]({'TranscriptionJobName':_0x250a76,'LanguageCode':_0x21ea5f,'Media':{'MediaFileUri':_0x4bff9a}},function(_0x2557c0,_0xd36fa){if(_0x2557c0){return _0x4c1e06(_0x2557c0);}else{return _0x1318be(_0xd36fa);}});});}function transcribe(_0x3186e2,_0x51bc01,_0x30a831,_0x165284,_0x49c247,_0x56b390,_0x10d0ea){return new Promise(function(_0x546601,_0x55bfb5){var _0x56957a={};logger['info'](util[_0xb4ed('0x31')]('[RUNTRANSCRIPT][%d]\x20Starting\x20voice\x20recording\x20upload\x20in\x20bucket\x20%s',_0x3186e2,_0x49c247));return uploadFile(_0x51bc01,_0x30a831,_0x165284,_0x49c247,path[_0xb4ed('0x6f')](_0x56b390),fs[_0xb4ed('0x70')](_0x56b390))['then'](function(_0xc0e7b1){logger[_0xb4ed('0x67')](util[_0xb4ed('0x31')](_0xb4ed('0x71'),_0x3186e2,_0x49c247,_0xc0e7b1['Location']));_0x56957a['bucket']=_0xc0e7b1[_0xb4ed('0x72')];_0x56957a[_0xb4ed('0x73')]=_0xc0e7b1[_0xb4ed('0x74')];logger[_0xb4ed('0x67')](util[_0xb4ed('0x31')](_0xb4ed('0x75'),_0x3186e2));return startTranscribe(_0x51bc01,_0x30a831,_0x165284,uuidv4(),_0x10d0ea,_0xc0e7b1[_0xb4ed('0x74')]);})['then'](function(_0x3382b7){logger[_0xb4ed('0x67')](util[_0xb4ed('0x31')](_0xb4ed('0x76'),_0x3186e2,_0x3382b7[_0xb4ed('0x77')][_0xb4ed('0x78')]));_0x56957a[_0xb4ed('0x79')]=_0x3382b7[_0xb4ed('0x77')]['TranscriptionJobName'];_0x56957a[_0xb4ed('0x7a')]=_0x3382b7[_0xb4ed('0x77')][_0xb4ed('0x7b')];return _0x546601(_0x56957a);})[_0xb4ed('0x46')](function(_0x25e0a3){return _0x55bfb5(_0x25e0a3);});});}exports[_0xb4ed('0x7c')]=function(_0x22da0c,_0xc91f02,_0x191d24){var _0x279610;var _0x355e90;var _0x43b494;var _0x58a71a=require(_0xb4ed('0x4f'));return db['VoiceRecording'][_0xb4ed('0x7d')]({'where':{'id':_0x22da0c['params']['id']}})[_0xb4ed('0x44')](function(_0x8a22b7){if(_0x8a22b7){var _0x40b489=util[_0xb4ed('0x31')](_0xb4ed('0x63'),_0x8a22b7[_0xb4ed('0x51')]);if(fs[_0xb4ed('0x52')](_0x40b489)){cypher=!![];return _0x58a71a[_0xb4ed('0x53')](_0x40b489,_0x8a22b7['value'],config[_0xb4ed('0x54')][_0xb4ed('0x55')])[_0xb4ed('0x44')](function(){return _0x8a22b7;});}return _0x8a22b7;}})['then'](function(_0x515d1e){if(!_0x515d1e){throw new db[(_0xb4ed('0x64'))]['ValidationError']('Voice\x20Recording\x20not\x20found');}_0x355e90=_0x515d1e;return db[_0xb4ed('0x7e')]['findOne']({'where':{'id':0x1}});})['then'](handleEntityNotFound(_0xc91f02,null))[_0xb4ed('0x44')](function(_0x5ac3be){if(_0x5ac3be){_0x279610=_0x5ac3be;if(!_0x279610[_0xb4ed('0x7f')]||!_0x279610[_0xb4ed('0x80')]||!_0x279610['transcribeRegion']||!_0x279610[_0xb4ed('0x81')]||!_0x279610[_0xb4ed('0x82')]){throw new db[(_0xb4ed('0x64'))][(_0xb4ed('0x56'))]('Transcribe\x20not\x20configured');}if(_0x22da0c[_0xb4ed('0x4d')][_0xb4ed('0x83')]&&(!_0x279610[_0xb4ed('0x84')]||!_0x279610['sentimentAccountId']||!_0x279610[_0xb4ed('0x85')]||!_0x279610[_0xb4ed('0x81')]||!_0x279610[_0xb4ed('0x82')])){throw new db[(_0xb4ed('0x64'))]['ValidationError'](_0xb4ed('0x86'));}return db[_0xb4ed('0x87')][_0xb4ed('0x7d')]({'where':{'id':_0x279610[_0xb4ed('0x80')]}});}})['then'](function(_0x9fd82e){if(!_0x9fd82e){throw new db[(_0xb4ed('0x64'))][(_0xb4ed('0x56'))](_0xb4ed('0x88'));}if(!_0x9fd82e[_0xb4ed('0x89')]||!_0x9fd82e[_0xb4ed('0x8a')]){throw new db[(_0xb4ed('0x64'))][(_0xb4ed('0x56'))]('Cloud\x20Provider\x20not\x20configured');}_0x43b494=_0x9fd82e;return getBucketslist(_0x43b494[_0xb4ed('0x89')],_0x43b494[_0xb4ed('0x8a')],_0x279610[_0xb4ed('0x8b')]);})['then'](function(_0x88449b){if(_0x88449b&&_0x88449b['Buckets']){var _0x175e4c=_[_0xb4ed('0x4b')](_0x88449b[_0xb4ed('0x8c')],function(_0x4136ac){return _0x4136ac[_0xb4ed('0x8d')]===_0x279610[_0xb4ed('0x82')];});if(!_0x175e4c){logger[_0xb4ed('0x67')](util['format'](_0xb4ed('0x8e'),_0x22da0c[_0xb4ed('0x48')]['id'],_0x279610[_0xb4ed('0x82')]));return createBucket(_0x43b494['data1'],_0x43b494[_0xb4ed('0x8a')],_0x279610[_0xb4ed('0x8b')],_0x279610['bucket']);}logger[_0xb4ed('0x67')](util['format'](_0xb4ed('0x8f'),_0x22da0c[_0xb4ed('0x48')]['id'],_0x279610['bucket']));return;}})[_0xb4ed('0x44')](function(_0x296c53){if(_0x355e90[_0xb4ed('0x7a')]===_0xb4ed('0x90')){return transcribe(_0x22da0c['params']['id'],_0x43b494[_0xb4ed('0x89')],_0x43b494[_0xb4ed('0x8a')],_0x279610[_0xb4ed('0x8b')],_0x279610[_0xb4ed('0x82')],_0x355e90[_0xb4ed('0x51')],_0x279610[_0xb4ed('0x81')]);}else{logger[_0xb4ed('0x67')](util['format'](_0xb4ed('0x91'),_0x22da0c['params']['id']));return{'transcribeStatus':_0xb4ed('0x92')};}})[_0xb4ed('0x44')](function(_0x11c071){if(_0x11c071){_0x11c071[_0xb4ed('0x93')]=_0x22da0c['body']['runSentiment'];return _0x355e90[_0xb4ed('0x94')](_0x11c071);}})[_0xb4ed('0x44')](respondWithResult(_0xc91f02,null))['catch'](handleError(_0xc91f02,null));};function writeFile(_0x25f438,_0x55bae0){return new Promise(function(_0x4a2523,_0x2b34b8){fs[_0xb4ed('0x95')](_0x55bae0,_0x25f438,function(_0x188ecd,_0x525f8c){if(_0x188ecd){return _0x2b34b8(_0x188ecd);}else{return _0x4a2523(_0x525f8c);}});});}exports[_0xb4ed('0x96')]=function(_0x274632,_0x3f6fa5,_0x469b03){return db[_0xb4ed('0x2a')]['findOne']({'where':{'id':_0x274632[_0xb4ed('0x48')]['id']}})['then'](handleEntityNotFound(_0x3f6fa5))[_0xb4ed('0x44')](function(_0x13626b){if(_0x13626b&&_0x13626b['fileText']){var _0x2f26c9=_0x13626b[_0xb4ed('0x97')];var _0xfc23d6=config[_0xb4ed('0x98')]+'/server/files/transcribes/transcribe_'+_0x13626b['id']+_0xb4ed('0x99');if(fs[_0xb4ed('0x52')](_0xfc23d6)){return _0xfc23d6;}return writeFile(_0x2f26c9,_0xfc23d6)[_0xb4ed('0x44')](function(){return _0xfc23d6;});}else{throw new db[(_0xb4ed('0x64'))]['ValidationError'](_0xb4ed('0x9a'));}})[_0xb4ed('0x44')](function(_0x1bbf10){return _0x3f6fa5[_0xb4ed('0x59')](_0x1bbf10);})[_0xb4ed('0x46')](handleError(_0x3f6fa5));};