3071a7b3a568015a9963cd8fd7b50dd18d24d6c7
[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 _0xdac1=['end','json','undefined','limit','count','offset','set','apply','reject','save','update','destroy','then','stack','name','send','index','rawAttributes','fieldName','key','model','differenceBy','map','format','query','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','type','merge','options','VoiceRecording','includeAll','findAll','rows','show','keys','include','catch','create','body','find','params','download','../../components/encryptor','uniqueid','value','%s.cypher','existsSync','decryptFile','secrets','recording','Sequelize','ValidationError','VoiceRecording\x20not\x20found','filename','extname','unlink','downloads','sequelize','token','$and','push','info','cancellazione\x20fisica\x20documento\x20%s','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','.cypher','isNil','listBuckets','createBucket','upload','[RUNTRANSCRIPT][%d]\x20Starting\x20voice\x20recording\x20upload\x20in\x20bucket\x20%s','basename','readFileSync','Location','bucket','Bucket','[RUNTRANSCRIPT][%d]\x20Sending\x20transcribe\x20request','[RUNTRANSCRIPT][%d]\x20Transcription\x20job\x20%s\x20created','TranscriptionJob','TranscriptionJobName','transcribeName','TranscriptionJobStatus','findOne','Voice\x20Recording\x20not\x20found','Setting','transcribe','transcribeRegion','language','Transcribe\x20not\x20configured','runSentiment','sentimentAccountId','Sentiment\x20Analysis\x20not\x20configured','CloudProvider','transcribeAccountId','Cloud\x20Provider\x20not\x20available','data1','data2','Cloud\x20Provider\x20not\x20configured','Buckets','Name','[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20not\x20available','[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20available','transcribeStatus','NEW','[RUNTRANSCRIPT][%d]\x20Transcript\x20action\x20already\x20requested','IN_PROGRESS','tempSentiment','updateAttributes','writeFile','downloadTranscribe','fileText','.txt','Transcript\x20not\x20available','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','sox','to-csv','ejs','fs-extra','squel','crypto','jsforce','desk.js','querystring','papaparse','aws-sdk','uuid/v4','ioredis','../../components/auth/service','../../components/parsers/qs','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0xdac1,0x7d));var _0x1dac=function(_0xc4c62d,_0x406d4a){_0xc4c62d=_0xc4c62d-0x0;var _0x2a6696=_0xdac1[_0xc4c62d];return _0x2a6696;};'use strict';var emlformat=require(_0x1dac('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x1dac('0x1'));var jsonpatch=require(_0x1dac('0x2'));var rp=require(_0x1dac('0x3'));var moment=require(_0x1dac('0x4'));var BPromise=require(_0x1dac('0x5'));var Mustache=require(_0x1dac('0x6'));var util=require(_0x1dac('0x7'));var path=require('path');var sox=require(_0x1dac('0x8'));var csv=require(_0x1dac('0x9'));var ejs=require(_0x1dac('0xa'));var fs=require('fs');var fs_extra=require(_0x1dac('0xb'));var _=require('lodash');var squel=require(_0x1dac('0xc'));var crypto=require(_0x1dac('0xd'));var jsforce=require(_0x1dac('0xe'));var deskjs=require(_0x1dac('0xf'));var toCsv=require(_0x1dac('0x9'));var querystring=require(_0x1dac('0x10'));var Papa=require(_0x1dac('0x11'));var AWS=require(_0x1dac('0x12'));var uuidv4=require(_0x1dac('0x13'));var Redis=require(_0x1dac('0x14'));var authService=require(_0x1dac('0x15'));var qs=require(_0x1dac('0x16'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x1dac('0x17'));var utils=require(_0x1dac('0x18'));var config=require(_0x1dac('0x19'));var licenseUtil=require('../../config/license/util');var db=require(_0x1dac('0x1a'))['db'];function respondWithStatusCode(_0x4b6e80,_0xac5607){_0xac5607=_0xac5607||0xcc;return function(_0x5e7dc8){if(_0x5e7dc8){return _0x4b6e80[_0x1dac('0x1b')](_0xac5607);}return _0x4b6e80[_0x1dac('0x1c')](_0xac5607)[_0x1dac('0x1d')]();};}function respondWithResult(_0x301b4f,_0x14f015){_0x14f015=_0x14f015||0xc8;return function(_0xe2dc7){if(_0xe2dc7){return _0x301b4f[_0x1dac('0x1c')](_0x14f015)[_0x1dac('0x1e')](_0xe2dc7);}};}function respondWithFilteredResult(_0x33767b,_0x13223c){return function(_0x27aad7){if(_0x27aad7){var _0x26ff42=typeof _0x13223c['offset']===_0x1dac('0x1f')&&typeof _0x13223c[_0x1dac('0x20')]===_0x1dac('0x1f');var _0x139352=_0x27aad7[_0x1dac('0x21')];var _0x2d1218=_0x26ff42?0x0:_0x13223c[_0x1dac('0x22')];var _0x2f9658=_0x26ff42?_0x27aad7[_0x1dac('0x21')]:_0x13223c[_0x1dac('0x22')]+_0x13223c[_0x1dac('0x20')];var _0x3442ab;if(_0x2f9658>=_0x139352){_0x2f9658=_0x139352;_0x3442ab=0xc8;}else{_0x3442ab=0xce;}_0x33767b['status'](_0x3442ab);return _0x33767b[_0x1dac('0x23')]('Content-Range',_0x2d1218+'-'+_0x2f9658+'/'+_0x139352)[_0x1dac('0x1e')](_0x27aad7);}return null;};}function patchUpdates(_0x2809eb){return function(_0xa5fade){try{jsonpatch[_0x1dac('0x24')](_0xa5fade,_0x2809eb,!![]);}catch(_0x6c0399){return BPromise[_0x1dac('0x25')](_0x6c0399);}return _0xa5fade[_0x1dac('0x26')]();};}function saveUpdates(_0x35c6e1,_0x3e566b){return function(_0x484425){if(_0x484425){return _0x484425[_0x1dac('0x27')](_0x35c6e1)['then'](function(_0x32c19c){return _0x32c19c;});}return null;};}function removeEntity(_0x2a167e,_0xd961f4){return function(_0x44524c){if(_0x44524c){return _0x44524c[_0x1dac('0x28')]()[_0x1dac('0x29')](function(){_0x2a167e[_0x1dac('0x1c')](0xcc)['end']();});}};}function handleEntityNotFound(_0x467fbb,_0x287606){return function(_0x507b1e){if(!_0x507b1e){_0x467fbb[_0x1dac('0x1b')](0x194);}return _0x507b1e;};}function handleError(_0x537af8,_0x5766a6){_0x5766a6=_0x5766a6||0x1f4;return function(_0x47a907){logger['error'](_0x47a907[_0x1dac('0x2a')]);if(_0x47a907[_0x1dac('0x2b')]){delete _0x47a907['name'];}_0x537af8['status'](_0x5766a6)[_0x1dac('0x2c')](_0x47a907);};}exports[_0x1dac('0x2d')]=function(_0x1c6352,_0x171cdd){var _0x25141c={},_0x298a29={},_0x1c776a={'count':0x0,'rows':[]};var _0x27e5b7=_['map'](db['VoiceRecording'][_0x1dac('0x2e')],function(_0x5e4054){return{'name':_0x5e4054[_0x1dac('0x2f')],'type':_0x5e4054['type'][_0x1dac('0x30')]};});_0x298a29[_0x1dac('0x31')]=_[_0x1dac('0x32')](_[_0x1dac('0x33')](_0x27e5b7,_0x1dac('0x2b')),[_0x1dac('0x34')]);_0x298a29[_0x1dac('0x35')]=_['keys'](_0x1c6352[_0x1dac('0x35')]);_0x298a29[_0x1dac('0x36')]=_[_0x1dac('0x37')](_0x298a29[_0x1dac('0x31')],_0x298a29[_0x1dac('0x35')]);_0x25141c['attributes']=_[_0x1dac('0x37')](_0x298a29['model'],qs[_0x1dac('0x38')](_0x1c6352[_0x1dac('0x35')][_0x1dac('0x38')]));_0x25141c['attributes']=_0x25141c[_0x1dac('0x39')][_0x1dac('0x3a')]?_0x25141c[_0x1dac('0x39')]:_0x298a29[_0x1dac('0x31')];if(!_0x1c6352[_0x1dac('0x35')][_0x1dac('0x3b')](_0x1dac('0x3c'))){_0x25141c['limit']=qs[_0x1dac('0x20')](_0x1c6352[_0x1dac('0x35')][_0x1dac('0x20')]);_0x25141c[_0x1dac('0x22')]=qs[_0x1dac('0x22')](_0x1c6352['query'][_0x1dac('0x22')]);}_0x25141c[_0x1dac('0x3d')]=qs[_0x1dac('0x3e')](_0x1c6352[_0x1dac('0x35')][_0x1dac('0x3e')]);_0x25141c[_0x1dac('0x3f')]=qs['filters'](_[_0x1dac('0x40')](_0x1c6352['query'],_0x298a29[_0x1dac('0x36')]),_0x27e5b7);if(_0x1c6352[_0x1dac('0x35')][_0x1dac('0x41')]){_0x25141c[_0x1dac('0x3f')]=_['merge'](_0x25141c[_0x1dac('0x3f')],{'$or':_[_0x1dac('0x33')](_0x27e5b7,function(_0x41f55){if(_0x41f55[_0x1dac('0x42')]!=='VIRTUAL'){var _0x4593e8={};_0x4593e8[_0x41f55['name']]={'$like':'%'+_0x1c6352[_0x1dac('0x35')][_0x1dac('0x41')]+'%'};return _0x4593e8;}})});}_0x25141c=_[_0x1dac('0x43')]({},_0x25141c,_0x1c6352[_0x1dac('0x44')]);var _0x50450f={'where':_0x25141c[_0x1dac('0x3f')]};return db[_0x1dac('0x45')][_0x1dac('0x21')](_0x50450f)[_0x1dac('0x29')](function(_0x194cb6){_0x1c776a['count']=_0x194cb6;if(_0x1c6352[_0x1dac('0x35')][_0x1dac('0x46')]){_0x25141c['include']=[{'all':!![]}];}return db[_0x1dac('0x45')][_0x1dac('0x47')](_0x25141c);})[_0x1dac('0x29')](function(_0x2c8ab7){_0x1c776a[_0x1dac('0x48')]=_0x2c8ab7;return _0x1c776a;})[_0x1dac('0x29')](respondWithFilteredResult(_0x171cdd,_0x25141c))['catch'](handleError(_0x171cdd,null));};exports[_0x1dac('0x49')]=function(_0x587297,_0x1a97a1){var _0x55ca53={'raw':![],'where':{'id':_0x587297['params']['id']}},_0x2b196a={};_0x2b196a[_0x1dac('0x31')]=_[_0x1dac('0x4a')](db[_0x1dac('0x45')][_0x1dac('0x2e')]);_0x2b196a[_0x1dac('0x35')]=_[_0x1dac('0x4a')](_0x587297[_0x1dac('0x35')]);_0x2b196a[_0x1dac('0x36')]=_[_0x1dac('0x37')](_0x2b196a[_0x1dac('0x31')],_0x2b196a[_0x1dac('0x35')]);_0x55ca53[_0x1dac('0x39')]=_['intersection'](_0x2b196a[_0x1dac('0x31')],qs[_0x1dac('0x38')](_0x587297[_0x1dac('0x35')][_0x1dac('0x38')]));_0x55ca53[_0x1dac('0x39')]=_0x55ca53[_0x1dac('0x39')]['length']?_0x55ca53[_0x1dac('0x39')]:_0x2b196a[_0x1dac('0x31')];if(_0x587297[_0x1dac('0x35')]['includeAll']){_0x55ca53[_0x1dac('0x4b')]=[{'all':!![]}];}_0x55ca53=_[_0x1dac('0x43')]({},_0x55ca53,_0x587297[_0x1dac('0x44')]);return db[_0x1dac('0x45')]['find'](_0x55ca53)[_0x1dac('0x29')](handleEntityNotFound(_0x1a97a1,null))[_0x1dac('0x29')](respondWithResult(_0x1a97a1,null))[_0x1dac('0x4c')](handleError(_0x1a97a1,null));};exports[_0x1dac('0x4d')]=function(_0x3218bc,_0xdb0593){return db['VoiceRecording'][_0x1dac('0x4d')](_0x3218bc[_0x1dac('0x4e')],{})[_0x1dac('0x29')](respondWithResult(_0xdb0593,0xc9))[_0x1dac('0x4c')](handleError(_0xdb0593,null));};exports['update']=function(_0x4b3747,_0x499e8f){if(_0x4b3747['body']['id']){delete _0x4b3747[_0x1dac('0x4e')]['id'];}return db[_0x1dac('0x45')][_0x1dac('0x4f')]({'where':{'id':_0x4b3747[_0x1dac('0x50')]['id']}})[_0x1dac('0x29')](handleEntityNotFound(_0x499e8f,null))['then'](saveUpdates(_0x4b3747['body'],null))[_0x1dac('0x29')](respondWithResult(_0x499e8f,null))[_0x1dac('0x4c')](handleError(_0x499e8f,null));};exports['describe']=function(_0x127007,_0x302945){return db[_0x1dac('0x45')]['describe']()[_0x1dac('0x29')](respondWithResult(_0x302945,null))['catch'](handleError(_0x302945,null));};exports[_0x1dac('0x51')]=function(_0x25d4d6,_0x35fe2a,_0x3e9ab8){var _0x5905cc=require(_0x1dac('0x52'));var _0x1d4e4b=![];var _0x47dbe8={};if(_0x25d4d6['query']['type']&&_0x25d4d6[_0x1dac('0x35')][_0x1dac('0x42')]===_0x1dac('0x53')){_0x47dbe8['uniqueid']=_0x25d4d6['params']['id'];}else{_0x47dbe8['id']=_0x25d4d6['params']['id'];}return db[_0x1dac('0x45')][_0x1dac('0x4f')]({'where':_0x47dbe8,'attributes':['id',_0x1dac('0x54')],'raw':!![]})[_0x1dac('0x29')](handleEntityNotFound(_0x35fe2a,null))[_0x1dac('0x29')](function(_0x3871cd){if(_0x3871cd){var _0x37297b=_0x3871cd[_0x1dac('0x54')];var _0x103b52=util[_0x1dac('0x34')](_0x1dac('0x55'),_0x37297b);if(fs[_0x1dac('0x56')](_0x103b52)){_0x1d4e4b=!![];return _0x5905cc[_0x1dac('0x57')](_0x103b52,_0x37297b,config[_0x1dac('0x58')][_0x1dac('0x59')])[_0x1dac('0x29')](function(){return _0x3871cd;});}return _0x3871cd;}})[_0x1dac('0x29')](function(_0x5891da){if(_0x5891da){var _0x55c968=_0x5891da[_0x1dac('0x54')];if(!fs['existsSync'](_0x55c968)){throw new db[(_0x1dac('0x5a'))][(_0x1dac('0x5b'))](_0x1dac('0x5c'));}if(_0x5891da[_0x1dac('0x5d')]){return _0x35fe2a[_0x1dac('0x51')](_0x55c968,_0x5891da[_0x1dac('0x5d')]+path[_0x1dac('0x5e')](_0x55c968),function(){if(_0x1d4e4b){fs[_0x1dac('0x5f')](_0x55c968);}});}else{return _0x35fe2a[_0x1dac('0x51')](_0x55c968,function(_0x4e001e){if(_0x1d4e4b){fs['unlink'](_0x55c968);}});}}})['catch'](function(_0x5c1c08){if(_0x5c1c08['message']===_0x1dac('0x5c')){_0x35fe2a[_0x1dac('0x1c')](0x194)[_0x1dac('0x2c')]('Not\x20found');}else{return handleError(_0x35fe2a,null);}});};exports[_0x1dac('0x60')]=function(_0x21d350,_0x4e31a5,_0x7bd6d8){var _0xf5c404=require(_0x1dac('0x52'));var _0x22291d=![];var _0x56815b={'$and':[db[_0x1dac('0x61')][_0x1dac('0x3f')](db['sequelize']['fn']('MD5',db['sequelize']['col']('uniqueid')),_0x21d350[_0x1dac('0x35')][_0x1dac('0x62')])]};if(_0x21d350[_0x1dac('0x35')]['type']&&_0x21d350['query'][_0x1dac('0x42')]==='uniqueid'){_0x56815b[_0x1dac('0x63')][_0x1dac('0x64')]({'uniqueid':_0x21d350[_0x1dac('0x50')]['id']});}else{_0x56815b[_0x1dac('0x63')]['push']({'id':_0x21d350['params']['id']});}return db['VoiceRecording'][_0x1dac('0x4f')]({'where':_0x56815b,'attributes':['id',_0x1dac('0x54')],'raw':!![]})[_0x1dac('0x29')](handleEntityNotFound(_0x4e31a5,null))['then'](function(_0x446210){if(_0x446210){var _0x59607a=util[_0x1dac('0x34')]('%s.cypher',_0x446210[_0x1dac('0x54')]);if(fs[_0x1dac('0x56')](_0x59607a)){_0x22291d=!![];return _0xf5c404[_0x1dac('0x57')](_0x59607a,_0x446210['value'],config[_0x1dac('0x58')][_0x1dac('0x59')])[_0x1dac('0x29')](function(){return _0x446210;});}return _0x446210;}})[_0x1dac('0x29')](function(_0x39011c){if(_0x39011c){if(!fs[_0x1dac('0x56')](_0x39011c[_0x1dac('0x54')])){throw new db[(_0x1dac('0x5a'))][(_0x1dac('0x5b'))]('VoiceRecording\x20not\x20found');}if(_0x39011c['filename']){return _0x4e31a5[_0x1dac('0x51')](_0x39011c[_0x1dac('0x54')],_0x39011c['filename']+path[_0x1dac('0x5e')](_0x39011c[_0x1dac('0x54')]),function(){if(_0x22291d){fs['unlink'](_0x39011c[_0x1dac('0x54')]);}});}else{return _0x4e31a5[_0x1dac('0x51')](_0x39011c['value'],function(_0x37d828){if(_0x22291d){fs[_0x1dac('0x5f')](_0x39011c[_0x1dac('0x54')]);}});}}})[_0x1dac('0x4c')](handleError(_0x4e31a5,null));};exports[_0x1dac('0x28')]=function(_0x12e8b5,_0x4292ce){return db[_0x1dac('0x45')][_0x1dac('0x4f')]({'where':{'id':_0x12e8b5[_0x1dac('0x50')]['id']}})[_0x1dac('0x29')](function(_0x588a05){if(_['isNil'](_0x588a05)){throw new ReferenceError('Entity\x20not\x20found');}return _0x588a05;})[_0x1dac('0x29')](function(_0x1a7a20){var _0xec663=_0x1a7a20['value'];logger[_0x1dac('0x65')](_0x1dac('0x66'),_0xec663);if(!_['isNil'](_0x1a7a20[_0x1dac('0x54')])&&fs[_0x1dac('0x56')](_0xec663)){logger[_0x1dac('0x65')](_0x1dac('0x67')+_0xec663+_0x1dac('0x68'));fs[_0x1dac('0x69')](_0xec663);}_0xec663=_0xec663+_0x1dac('0x6a');if(!_[_0x1dac('0x6b')](_0x1a7a20[_0x1dac('0x54')])&&fs[_0x1dac('0x56')](_0xec663)){logger['info'](_0x1dac('0x67')+_0xec663+'\x22\x20trovato\x20eseguo\x20la\x20cancellazione');fs[_0x1dac('0x69')](_0xec663);}return _0x1a7a20;})[_0x1dac('0x29')](function(_0x2edf48){if(!_0x2edf48)throw new InternalError();return _0x2edf48['destroy']();})[_0x1dac('0x29')](function(){_0x4292ce[_0x1dac('0x1c')](0xcc)[_0x1dac('0x1d')]();})[_0x1dac('0x4c')](handleError(_0x4292ce,null));};function getBucketslist(_0x488153,_0x453248,_0xedea16){return new Promise(function(_0x5576cf,_0x15f7a9){var _0x4dd250=new AWS['S3']({'accessKeyId':_0x453248,'secretAccessKey':_0x488153,'region':_0xedea16});_0x4dd250[_0x1dac('0x6c')]({},function(_0x249958,_0x41d43e){if(_0x249958){return _0x15f7a9(_0x249958);}else{return _0x5576cf(_0x41d43e);}});});}function createBucket(_0x456f0e,_0x2ef622,_0xc39d3f,_0x5c5a2f){return new Promise(function(_0x303c2b,_0x16d99f){var _0x54eedd=new AWS['S3']({'accessKeyId':_0x2ef622,'secretAccessKey':_0x456f0e,'region':_0xc39d3f});_0x54eedd[_0x1dac('0x6d')]({'Bucket':_0x5c5a2f},function(_0x3c51c2,_0x99053d){if(_0x3c51c2){return _0x16d99f(_0x3c51c2);}else{return _0x303c2b(_0x99053d);}});});}function uploadFile(_0xb992ab,_0xd9fc40,_0x5a2bb2,_0x5bd0d4,_0x1309ff,_0x200bf1){return new Promise(function(_0x55796c,_0xc69c06){var _0x32dcf9=new AWS['S3']({'accessKeyId':_0xd9fc40,'secretAccessKey':_0xb992ab,'region':_0x5a2bb2});_0x32dcf9[_0x1dac('0x6e')]({'Bucket':_0x5bd0d4,'Key':_0x1309ff,'Body':_0x200bf1},function(_0x2bd8e8,_0x1fde05){if(_0x2bd8e8){return _0xc69c06(_0x2bd8e8);}else{return _0x55796c(_0x1fde05);}});});}function startTranscribe(_0x2ffc6a,_0x13617d,_0x5de0f8,_0x4fe430,_0x26ab05,_0x3c3d28){return new Promise(function(_0x12f5b6,_0x5d8322){var _0x753d93=new AWS['TranscribeService']({'accessKeyId':_0x13617d,'secretAccessKey':_0x2ffc6a,'region':_0x5de0f8});_0x753d93['startTranscriptionJob']({'TranscriptionJobName':_0x4fe430,'LanguageCode':_0x26ab05,'Media':{'MediaFileUri':_0x3c3d28}},function(_0x52e8b6,_0x5d9d31){if(_0x52e8b6){return _0x5d8322(_0x52e8b6);}else{return _0x12f5b6(_0x5d9d31);}});});}function transcribe(_0x361bea,_0x4d79b,_0x37ab02,_0x529ad7,_0x552b16,_0x401de5,_0x4ea1ec){return new Promise(function(_0x515591,_0x471bb6){var _0x396a40={};logger['info'](util['format'](_0x1dac('0x6f'),_0x361bea,_0x552b16));return uploadFile(_0x4d79b,_0x37ab02,_0x529ad7,_0x552b16,path[_0x1dac('0x70')](_0x401de5),fs[_0x1dac('0x71')](_0x401de5))[_0x1dac('0x29')](function(_0x31c6cc){logger[_0x1dac('0x65')](util[_0x1dac('0x34')]('[RUNTRANSCRIPT][%d]\x20Voice\x20recording\x20uploaded\x20in\x20bucket\x20%s\x20(%s)',_0x361bea,_0x552b16,_0x31c6cc[_0x1dac('0x72')]));_0x396a40[_0x1dac('0x73')]=_0x31c6cc[_0x1dac('0x74')];_0x396a40['location']=_0x31c6cc['Location'];logger[_0x1dac('0x65')](util[_0x1dac('0x34')](_0x1dac('0x75'),_0x361bea));return startTranscribe(_0x4d79b,_0x37ab02,_0x529ad7,uuidv4(),_0x4ea1ec,_0x31c6cc['Location']);})[_0x1dac('0x29')](function(_0x1a1a73){logger['info'](util[_0x1dac('0x34')](_0x1dac('0x76'),_0x361bea,_0x1a1a73[_0x1dac('0x77')][_0x1dac('0x78')]));_0x396a40[_0x1dac('0x79')]=_0x1a1a73[_0x1dac('0x77')]['TranscriptionJobName'];_0x396a40['transcribeStatus']=_0x1a1a73['TranscriptionJob'][_0x1dac('0x7a')];return _0x515591(_0x396a40);})[_0x1dac('0x4c')](function(_0x2d4a7d){return _0x471bb6(_0x2d4a7d);});});}exports['runTranscribe']=function(_0x161ca2,_0x3c29b7,_0x4779d3){var _0x42e39e;var _0x19aa77;var _0x43f995;var _0x27cd70=require(_0x1dac('0x52'));return db['VoiceRecording'][_0x1dac('0x7b')]({'where':{'id':_0x161ca2['params']['id']}})[_0x1dac('0x29')](function(_0x2ebc43){if(_0x2ebc43){var _0x262f29=util[_0x1dac('0x34')]('%s.cypher',_0x2ebc43[_0x1dac('0x54')]);if(fs[_0x1dac('0x56')](_0x262f29)){cypher=!![];return _0x27cd70[_0x1dac('0x57')](_0x262f29,_0x2ebc43['value'],config[_0x1dac('0x58')]['recording'])[_0x1dac('0x29')](function(){return _0x2ebc43;});}return _0x2ebc43;}})[_0x1dac('0x29')](function(_0x282e2e){if(!_0x282e2e){throw new db[(_0x1dac('0x5a'))][(_0x1dac('0x5b'))](_0x1dac('0x7c'));}_0x19aa77=_0x282e2e;return db[_0x1dac('0x7d')]['findOne']({'where':{'id':0x1}});})['then'](handleEntityNotFound(_0x3c29b7,null))[_0x1dac('0x29')](function(_0x55b4a0){if(_0x55b4a0){_0x42e39e=_0x55b4a0;if(!_0x42e39e[_0x1dac('0x7e')]||!_0x42e39e['transcribeAccountId']||!_0x42e39e[_0x1dac('0x7f')]||!_0x42e39e[_0x1dac('0x80')]||!_0x42e39e['bucket']){throw new db[(_0x1dac('0x5a'))][(_0x1dac('0x5b'))](_0x1dac('0x81'));}if(_0x161ca2[_0x1dac('0x4e')][_0x1dac('0x82')]&&(!_0x42e39e['sentiment']||!_0x42e39e[_0x1dac('0x83')]||!_0x42e39e['sentimentRegion']||!_0x42e39e[_0x1dac('0x80')]||!_0x42e39e[_0x1dac('0x73')])){throw new db[(_0x1dac('0x5a'))]['ValidationError'](_0x1dac('0x84'));}return db[_0x1dac('0x85')]['findOne']({'where':{'id':_0x42e39e[_0x1dac('0x86')]}});}})[_0x1dac('0x29')](function(_0x2b0efa){if(!_0x2b0efa){throw new db[(_0x1dac('0x5a'))][(_0x1dac('0x5b'))](_0x1dac('0x87'));}if(!_0x2b0efa[_0x1dac('0x88')]||!_0x2b0efa[_0x1dac('0x89')]){throw new db[(_0x1dac('0x5a'))][(_0x1dac('0x5b'))](_0x1dac('0x8a'));}_0x43f995=_0x2b0efa;return getBucketslist(_0x43f995[_0x1dac('0x88')],_0x43f995[_0x1dac('0x89')],_0x42e39e[_0x1dac('0x7f')]);})[_0x1dac('0x29')](function(_0x4f8f2a){if(_0x4f8f2a&&_0x4f8f2a[_0x1dac('0x8b')]){var _0x5e019a=_[_0x1dac('0x4f')](_0x4f8f2a['Buckets'],function(_0x3004f4){return _0x3004f4[_0x1dac('0x8c')]===_0x42e39e[_0x1dac('0x73')];});if(!_0x5e019a){logger[_0x1dac('0x65')](util[_0x1dac('0x34')](_0x1dac('0x8d'),_0x161ca2[_0x1dac('0x50')]['id'],_0x42e39e[_0x1dac('0x73')]));return createBucket(_0x43f995['data1'],_0x43f995[_0x1dac('0x89')],_0x42e39e[_0x1dac('0x7f')],_0x42e39e[_0x1dac('0x73')]);}logger['info'](util[_0x1dac('0x34')](_0x1dac('0x8e'),_0x161ca2['params']['id'],_0x42e39e[_0x1dac('0x73')]));return;}})[_0x1dac('0x29')](function(_0x5ce262){if(_0x19aa77[_0x1dac('0x8f')]===_0x1dac('0x90')){return transcribe(_0x161ca2[_0x1dac('0x50')]['id'],_0x43f995[_0x1dac('0x88')],_0x43f995['data2'],_0x42e39e['transcribeRegion'],_0x42e39e[_0x1dac('0x73')],_0x19aa77['value'],_0x42e39e[_0x1dac('0x80')]);}else{logger[_0x1dac('0x65')](util[_0x1dac('0x34')](_0x1dac('0x91'),_0x161ca2[_0x1dac('0x50')]['id']));return{'transcribeStatus':_0x1dac('0x92')};}})['then'](function(_0x4dc975){if(_0x4dc975){_0x4dc975[_0x1dac('0x93')]=_0x161ca2[_0x1dac('0x4e')]['runSentiment'];return _0x19aa77[_0x1dac('0x94')](_0x4dc975);}})[_0x1dac('0x29')](respondWithResult(_0x3c29b7,null))[_0x1dac('0x4c')](handleError(_0x3c29b7,null));};function writeFile(_0x2d5eb1,_0x5e5c32){return new Promise(function(_0x5ecbe9,_0x41deff){fs[_0x1dac('0x95')](_0x5e5c32,_0x2d5eb1,function(_0x902820,_0x4de2e7){if(_0x902820){return _0x41deff(_0x902820);}else{return _0x5ecbe9(_0x4de2e7);}});});}exports[_0x1dac('0x96')]=function(_0x357a50,_0x108c9b,_0x30be71){return db[_0x1dac('0x45')][_0x1dac('0x7b')]({'where':{'id':_0x357a50[_0x1dac('0x50')]['id']}})['then'](handleEntityNotFound(_0x108c9b))[_0x1dac('0x29')](function(_0x589581){if(_0x589581&&_0x589581[_0x1dac('0x97')]){var _0x184312=_0x589581['fileText'];var _0x548a21=config['root']+'/server/files/transcribes/transcribe_'+_0x589581['id']+_0x1dac('0x98');if(fs[_0x1dac('0x56')](_0x548a21)){return _0x548a21;}return writeFile(_0x184312,_0x548a21)[_0x1dac('0x29')](function(){return _0x548a21;});}else{throw new db[(_0x1dac('0x5a'))][(_0x1dac('0x5b'))](_0x1dac('0x99'));}})[_0x1dac('0x29')](function(_0x10f932){return _0x108c9b['download'](_0x10f932);})['catch'](handleError(_0x108c9b));};