e5215dcd7351a5b7a34948eb15077f8614790b25
[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 _0x032c=['eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','aws-sdk','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','limit','undefined','count','offset','set','Content-Range','reject','save','update','then','destroy','error','name','send','index','map','VoiceRecording','key','differenceBy','format','query','keys','filters','intersection','model','attributes','fields','length','nolimit','sort','where','filter','merge','includeAll','include','findAll','rows','show','rawAttributes','catch','create','body','find','params','describe','download','type','uniqueid','value','%s.cypher','decryptFile','secrets','recording','existsSync','Sequelize','VoiceRecording\x20not\x20found','filename','extname','unlink','message','Not\x20found','downloads','../../components/encryptor','MD5','sequelize','col','token','push','ValidationError','isNil','Entity\x20not\x20found','info','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','File:\x20\x22','unlinkSync','listBuckets','createBucket','startTranscriptionJob','[RUNTRANSCRIPT][%d]\x20Starting\x20voice\x20recording\x20upload\x20in\x20bucket\x20%s','basename','[RUNTRANSCRIPT][%d]\x20Voice\x20recording\x20uploaded\x20in\x20bucket\x20%s\x20(%s)','bucket','Bucket','Location','[RUNTRANSCRIPT][%d]\x20Sending\x20transcribe\x20request','[RUNTRANSCRIPT][%d]\x20Transcription\x20job\x20%s\x20created','TranscriptionJob','TranscriptionJobName','transcribeName','transcribeStatus','runTranscribe','Setting','transcribe','Transcribe\x20not\x20configured','sentiment','language','CloudProvider','findOne','transcribeAccountId','Cloud\x20Provider\x20not\x20available','data1','data2','Cloud\x20Provider\x20not\x20configured','transcribeRegion','Buckets','Name','[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20not\x20available','NEW','tempSentiment','runSentiment','updateAttributes','writeFile','downloadTranscribe','fileText','root','/server/files/transcribes/transcribe_','.txt','Transcript\x20not\x20available'];(function(_0x1b6186,_0x1ec7f2){var _0x186121=function(_0x1748a8){while(--_0x1748a8){_0x1b6186['push'](_0x1b6186['shift']());}};_0x186121(++_0x1ec7f2);}(_0x032c,0x1c8));var _0xc032=function(_0xa8075d,_0x22cd29){_0xa8075d=_0xa8075d-0x0;var _0x5285eb=_0x032c[_0xa8075d];return _0x5285eb;};'use strict';var emlformat=require(_0xc032('0x0'));var rimraf=require(_0xc032('0x1'));var zipdir=require(_0xc032('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xc032('0x3'));var moment=require(_0xc032('0x4'));var BPromise=require(_0xc032('0x5'));var Mustache=require(_0xc032('0x6'));var util=require(_0xc032('0x7'));var path=require(_0xc032('0x8'));var sox=require(_0xc032('0x9'));var csv=require(_0xc032('0xa'));var ejs=require(_0xc032('0xb'));var fs=require('fs');var fs_extra=require(_0xc032('0xc'));var _=require(_0xc032('0xd'));var squel=require(_0xc032('0xe'));var crypto=require(_0xc032('0xf'));var jsforce=require(_0xc032('0x10'));var deskjs=require(_0xc032('0x11'));var toCsv=require('to-csv');var querystring=require(_0xc032('0x12'));var Papa=require(_0xc032('0x13'));var AWS=require(_0xc032('0x14'));var uuidv4=require('uuid/v4');var Redis=require(_0xc032('0x15'));var authService=require('../../components/auth/service');var qs=require(_0xc032('0x16'));var as=require(_0xc032('0x17'));var hardwareService=require(_0xc032('0x18'));var logger=require(_0xc032('0x19'))(_0xc032('0x1a'));var utils=require('../../config/utils');var config=require(_0xc032('0x1b'));var licenseUtil=require(_0xc032('0x1c'));var db=require(_0xc032('0x1d'))['db'];function respondWithStatusCode(_0x2cc22a,_0x51c372){_0x51c372=_0x51c372||0xcc;return function(_0x2d5eef){if(_0x2d5eef){return _0x2cc22a[_0xc032('0x1e')](_0x51c372);}return _0x2cc22a[_0xc032('0x1f')](_0x51c372)[_0xc032('0x20')]();};}function respondWithResult(_0x35e5bb,_0x23b0aa){_0x23b0aa=_0x23b0aa||0xc8;return function(_0x5b72ff){if(_0x5b72ff){return _0x35e5bb[_0xc032('0x1f')](_0x23b0aa)[_0xc032('0x21')](_0x5b72ff);}};}function respondWithFilteredResult(_0x2c32d8,_0x4070dd){return function(_0x43ff41){if(_0x43ff41){var _0x1506cd=typeof _0x4070dd['offset']==='undefined'&&typeof _0x4070dd[_0xc032('0x22')]===_0xc032('0x23');var _0x726856=_0x43ff41[_0xc032('0x24')];var _0x52f4e5=_0x1506cd?0x0:_0x4070dd[_0xc032('0x25')];var _0x25cf24=_0x1506cd?_0x43ff41[_0xc032('0x24')]:_0x4070dd[_0xc032('0x25')]+_0x4070dd[_0xc032('0x22')];var _0x494773;if(_0x25cf24>=_0x726856){_0x25cf24=_0x726856;_0x494773=0xc8;}else{_0x494773=0xce;}_0x2c32d8[_0xc032('0x1f')](_0x494773);return _0x2c32d8[_0xc032('0x26')](_0xc032('0x27'),_0x52f4e5+'-'+_0x25cf24+'/'+_0x726856)[_0xc032('0x21')](_0x43ff41);}return null;};}function patchUpdates(_0x3f2f74){return function(_0x24490e){try{jsonpatch['apply'](_0x24490e,_0x3f2f74,!![]);}catch(_0x3567e6){return BPromise[_0xc032('0x28')](_0x3567e6);}return _0x24490e[_0xc032('0x29')]();};}function saveUpdates(_0x31b8a9,_0x5cf1c9){return function(_0x180f24){if(_0x180f24){return _0x180f24[_0xc032('0x2a')](_0x31b8a9)[_0xc032('0x2b')](function(_0x1f3975){return _0x1f3975;});}return null;};}function removeEntity(_0x33573e,_0x863ad3){return function(_0x5f378a){if(_0x5f378a){return _0x5f378a[_0xc032('0x2c')]()[_0xc032('0x2b')](function(){_0x33573e[_0xc032('0x1f')](0xcc)[_0xc032('0x20')]();});}};}function handleEntityNotFound(_0xf75a1a,_0x2fdfa8){return function(_0x5f2116){if(!_0x5f2116){_0xf75a1a[_0xc032('0x1e')](0x194);}return _0x5f2116;};}function handleError(_0x3340bf,_0x25cb94){_0x25cb94=_0x25cb94||0x1f4;return function(_0x352863){logger[_0xc032('0x2d')](_0x352863['stack']);if(_0x352863[_0xc032('0x2e')]){delete _0x352863[_0xc032('0x2e')];}_0x3340bf[_0xc032('0x1f')](_0x25cb94)[_0xc032('0x2f')](_0x352863);};}exports[_0xc032('0x30')]=function(_0x4e8044,_0x54a539){var _0x181886={},_0x5e83d0={},_0x5dfd5f={'count':0x0,'rows':[]};var _0x57756a=_[_0xc032('0x31')](db[_0xc032('0x32')]['rawAttributes'],function(_0x54a9b9){return{'name':_0x54a9b9['fieldName'],'type':_0x54a9b9['type'][_0xc032('0x33')]};});_0x5e83d0['model']=_[_0xc032('0x34')](_[_0xc032('0x31')](_0x57756a,_0xc032('0x2e')),[_0xc032('0x35')]);_0x5e83d0[_0xc032('0x36')]=_[_0xc032('0x37')](_0x4e8044[_0xc032('0x36')]);_0x5e83d0[_0xc032('0x38')]=_[_0xc032('0x39')](_0x5e83d0[_0xc032('0x3a')],_0x5e83d0[_0xc032('0x36')]);_0x181886[_0xc032('0x3b')]=_['intersection'](_0x5e83d0[_0xc032('0x3a')],qs[_0xc032('0x3c')](_0x4e8044[_0xc032('0x36')][_0xc032('0x3c')]));_0x181886['attributes']=_0x181886[_0xc032('0x3b')][_0xc032('0x3d')]?_0x181886[_0xc032('0x3b')]:_0x5e83d0[_0xc032('0x3a')];if(!_0x4e8044['query']['hasOwnProperty'](_0xc032('0x3e'))){_0x181886['limit']=qs[_0xc032('0x22')](_0x4e8044['query']['limit']);_0x181886[_0xc032('0x25')]=qs['offset'](_0x4e8044['query'][_0xc032('0x25')]);}_0x181886['order']=qs[_0xc032('0x3f')](_0x4e8044[_0xc032('0x36')][_0xc032('0x3f')]);_0x181886[_0xc032('0x40')]=qs[_0xc032('0x38')](_['pick'](_0x4e8044[_0xc032('0x36')],_0x5e83d0['filters']),_0x57756a);if(_0x4e8044[_0xc032('0x36')][_0xc032('0x41')]){_0x181886[_0xc032('0x40')]=_['merge'](_0x181886['where'],{'$or':_[_0xc032('0x31')](_0x57756a,function(_0x26ab92){if(_0x26ab92['type']!=='VIRTUAL'){var _0x25341e={};_0x25341e[_0x26ab92[_0xc032('0x2e')]]={'$like':'%'+_0x4e8044[_0xc032('0x36')][_0xc032('0x41')]+'%'};return _0x25341e;}})});}_0x181886=_[_0xc032('0x42')]({},_0x181886,_0x4e8044['options']);var _0x277224={'where':_0x181886[_0xc032('0x40')]};return db[_0xc032('0x32')][_0xc032('0x24')](_0x277224)[_0xc032('0x2b')](function(_0x2b614a){_0x5dfd5f[_0xc032('0x24')]=_0x2b614a;if(_0x4e8044[_0xc032('0x36')][_0xc032('0x43')]){_0x181886[_0xc032('0x44')]=[{'all':!![]}];}return db[_0xc032('0x32')][_0xc032('0x45')](_0x181886);})[_0xc032('0x2b')](function(_0x46a708){_0x5dfd5f[_0xc032('0x46')]=_0x46a708;return _0x5dfd5f;})[_0xc032('0x2b')](respondWithFilteredResult(_0x54a539,_0x181886))['catch'](handleError(_0x54a539,null));};exports[_0xc032('0x47')]=function(_0x4a95db,_0x3e3090){var _0x4c07c7={'raw':![],'where':{'id':_0x4a95db['params']['id']}},_0x16730b={};_0x16730b['model']=_[_0xc032('0x37')](db[_0xc032('0x32')][_0xc032('0x48')]);_0x16730b[_0xc032('0x36')]=_[_0xc032('0x37')](_0x4a95db['query']);_0x16730b[_0xc032('0x38')]=_[_0xc032('0x39')](_0x16730b[_0xc032('0x3a')],_0x16730b[_0xc032('0x36')]);_0x4c07c7[_0xc032('0x3b')]=_[_0xc032('0x39')](_0x16730b['model'],qs[_0xc032('0x3c')](_0x4a95db[_0xc032('0x36')][_0xc032('0x3c')]));_0x4c07c7['attributes']=_0x4c07c7[_0xc032('0x3b')][_0xc032('0x3d')]?_0x4c07c7[_0xc032('0x3b')]:_0x16730b['model'];if(_0x4a95db['query'][_0xc032('0x43')]){_0x4c07c7[_0xc032('0x44')]=[{'all':!![]}];}_0x4c07c7=_[_0xc032('0x42')]({},_0x4c07c7,_0x4a95db['options']);return db[_0xc032('0x32')]['find'](_0x4c07c7)['then'](handleEntityNotFound(_0x3e3090,null))['then'](respondWithResult(_0x3e3090,null))[_0xc032('0x49')](handleError(_0x3e3090,null));};exports[_0xc032('0x4a')]=function(_0x58dbe3,_0x287f39){return db['VoiceRecording'][_0xc032('0x4a')](_0x58dbe3[_0xc032('0x4b')],{})['then'](respondWithResult(_0x287f39,0xc9))[_0xc032('0x49')](handleError(_0x287f39,null));};exports[_0xc032('0x2a')]=function(_0x55605e,_0x3b65c4){if(_0x55605e[_0xc032('0x4b')]['id']){delete _0x55605e[_0xc032('0x4b')]['id'];}return db[_0xc032('0x32')][_0xc032('0x4c')]({'where':{'id':_0x55605e[_0xc032('0x4d')]['id']}})[_0xc032('0x2b')](handleEntityNotFound(_0x3b65c4,null))[_0xc032('0x2b')](saveUpdates(_0x55605e[_0xc032('0x4b')],null))['then'](respondWithResult(_0x3b65c4,null))[_0xc032('0x49')](handleError(_0x3b65c4,null));};exports[_0xc032('0x4e')]=function(_0x5f364d,_0x56e1d9){return db[_0xc032('0x32')][_0xc032('0x4e')]()[_0xc032('0x2b')](respondWithResult(_0x56e1d9,null))[_0xc032('0x49')](handleError(_0x56e1d9,null));};exports[_0xc032('0x4f')]=function(_0x572870,_0xdf2d3a,_0x296d92){var _0xecbc76=require('../../components/encryptor');var _0x66e1af=![];var _0x2e2ef4={};if(_0x572870[_0xc032('0x36')][_0xc032('0x50')]&&_0x572870[_0xc032('0x36')][_0xc032('0x50')]===_0xc032('0x51')){_0x2e2ef4[_0xc032('0x51')]=_0x572870['params']['id'];}else{_0x2e2ef4['id']=_0x572870[_0xc032('0x4d')]['id'];}return db['VoiceRecording'][_0xc032('0x4c')]({'where':_0x2e2ef4,'attributes':['id',_0xc032('0x52')],'raw':!![]})['then'](handleEntityNotFound(_0xdf2d3a,null))[_0xc032('0x2b')](function(_0x42ccd0){if(_0x42ccd0){var _0x5debc6=_0x42ccd0[_0xc032('0x52')];var _0xcc095=util[_0xc032('0x35')](_0xc032('0x53'),_0x5debc6);if(fs['existsSync'](_0xcc095)){_0x66e1af=!![];return _0xecbc76[_0xc032('0x54')](_0xcc095,_0x5debc6,config[_0xc032('0x55')][_0xc032('0x56')])[_0xc032('0x2b')](function(){return _0x42ccd0;});}return _0x42ccd0;}})[_0xc032('0x2b')](function(_0x45c229){if(_0x45c229){var _0x47a67f=_0x45c229['value'];if(!fs[_0xc032('0x57')](_0x47a67f)){throw new db[(_0xc032('0x58'))]['ValidationError'](_0xc032('0x59'));}if(_0x45c229[_0xc032('0x5a')]){return _0xdf2d3a[_0xc032('0x4f')](_0x47a67f,_0x45c229[_0xc032('0x5a')]+path[_0xc032('0x5b')](_0x47a67f),function(){if(_0x66e1af){fs[_0xc032('0x5c')](_0x47a67f);}});}else{return _0xdf2d3a[_0xc032('0x4f')](_0x47a67f,function(_0x3b0978){if(_0x66e1af){fs[_0xc032('0x5c')](_0x47a67f);}});}}})['catch'](function(_0x53093a){if(_0x53093a[_0xc032('0x5d')]==='VoiceRecording\x20not\x20found'){_0xdf2d3a[_0xc032('0x1f')](0x194)['send'](_0xc032('0x5e'));}else{return handleError(_0xdf2d3a,null);}});};exports[_0xc032('0x5f')]=function(_0x6d342c,_0x4c6eef,_0x1a3216){var _0x52277e=require(_0xc032('0x60'));var _0x3518b9=![];var _0x47c6d8={'$and':[db['sequelize'][_0xc032('0x40')](db['sequelize']['fn'](_0xc032('0x61'),db[_0xc032('0x62')][_0xc032('0x63')](_0xc032('0x51'))),_0x6d342c[_0xc032('0x36')][_0xc032('0x64')])]};if(_0x6d342c[_0xc032('0x36')][_0xc032('0x50')]&&_0x6d342c[_0xc032('0x36')][_0xc032('0x50')]===_0xc032('0x51')){_0x47c6d8['$and']['push']({'uniqueid':_0x6d342c[_0xc032('0x4d')]['id']});}else{_0x47c6d8['$and'][_0xc032('0x65')]({'id':_0x6d342c['params']['id']});}return db[_0xc032('0x32')][_0xc032('0x4c')]({'where':_0x47c6d8,'attributes':['id',_0xc032('0x52')],'raw':!![]})[_0xc032('0x2b')](handleEntityNotFound(_0x4c6eef,null))[_0xc032('0x2b')](function(_0x1ffc90){if(_0x1ffc90){var _0x310593=util[_0xc032('0x35')]('%s.cypher',_0x1ffc90['value']);if(fs[_0xc032('0x57')](_0x310593)){_0x3518b9=!![];return _0x52277e[_0xc032('0x54')](_0x310593,_0x1ffc90[_0xc032('0x52')],config['secrets'][_0xc032('0x56')])[_0xc032('0x2b')](function(){return _0x1ffc90;});}return _0x1ffc90;}})[_0xc032('0x2b')](function(_0x41214f){if(_0x41214f){if(!fs[_0xc032('0x57')](_0x41214f[_0xc032('0x52')])){throw new db[(_0xc032('0x58'))][(_0xc032('0x66'))]('VoiceRecording\x20not\x20found');}if(_0x41214f['filename']){return _0x4c6eef[_0xc032('0x4f')](_0x41214f[_0xc032('0x52')],_0x41214f[_0xc032('0x5a')]+path[_0xc032('0x5b')](_0x41214f[_0xc032('0x52')]),function(){if(_0x3518b9){fs[_0xc032('0x5c')](_0x41214f[_0xc032('0x52')]);}});}else{return _0x4c6eef['download'](_0x41214f[_0xc032('0x52')],function(_0x15ccb3){if(_0x3518b9){fs[_0xc032('0x5c')](_0x41214f[_0xc032('0x52')]);}});}}})['catch'](handleError(_0x4c6eef,null));};exports[_0xc032('0x2c')]=function(_0x3a2976,_0x256cf5){return db[_0xc032('0x32')][_0xc032('0x4c')]({'where':{'id':_0x3a2976[_0xc032('0x4d')]['id']}})['then'](function(_0x20b477){if(_[_0xc032('0x67')](_0x20b477)){throw new ReferenceError(_0xc032('0x68'));}return _0x20b477;})[_0xc032('0x2b')](function(_0x5bca0a){var _0x1f4656=_0x5bca0a[_0xc032('0x52')];logger[_0xc032('0x69')]('cancellazione\x20fisica\x20documento\x20%s',_0x1f4656);if(!_[_0xc032('0x67')](_0x5bca0a[_0xc032('0x52')])&&fs[_0xc032('0x57')](_0x1f4656)){logger['info']('File:\x20\x22'+_0x1f4656+_0xc032('0x6a'));fs['unlinkSync'](_0x1f4656);}_0x1f4656=_0x1f4656+'.cypher';if(!_[_0xc032('0x67')](_0x5bca0a[_0xc032('0x52')])&&fs[_0xc032('0x57')](_0x1f4656)){logger[_0xc032('0x69')](_0xc032('0x6b')+_0x1f4656+_0xc032('0x6a'));fs[_0xc032('0x6c')](_0x1f4656);}return _0x5bca0a;})['then'](function(_0x7a2bdd){if(!_0x7a2bdd)throw new InternalError();return _0x7a2bdd[_0xc032('0x2c')]();})[_0xc032('0x2b')](function(){_0x256cf5[_0xc032('0x1f')](0xcc)['end']();})[_0xc032('0x49')](handleError(_0x256cf5,null));};function getBucketslist(_0x453ab0,_0x529376,_0x29d18e){return new Promise(function(_0x5d592c,_0x56db63){var _0x5bc1bf=new AWS['S3']({'accessKeyId':_0x529376,'secretAccessKey':_0x453ab0,'region':_0x29d18e});_0x5bc1bf[_0xc032('0x6d')]({},function(_0x34abd1,_0x203fc0){if(_0x34abd1){return _0x56db63(_0x34abd1);}else{return _0x5d592c(_0x203fc0);}});});}function createBucket(_0x3dcc82,_0x201062,_0x151ddd,_0x5652e9){return new Promise(function(_0x17c2e5,_0x1db0b2){var _0x345bba=new AWS['S3']({'accessKeyId':_0x201062,'secretAccessKey':_0x3dcc82,'region':_0x151ddd});_0x345bba[_0xc032('0x6e')]({'Bucket':_0x5652e9},function(_0x2c607b,_0x585f1f){if(_0x2c607b){return _0x1db0b2(_0x2c607b);}else{return _0x17c2e5(_0x585f1f);}});});}function uploadFile(_0x42a585,_0x2f37d6,_0x34d747,_0x16c89e,_0x2f2a08,_0x3481fa){return new Promise(function(_0x293c1f,_0x291659){var _0x3aac5d=new AWS['S3']({'accessKeyId':_0x2f37d6,'secretAccessKey':_0x42a585,'region':_0x34d747});_0x3aac5d['upload']({'Bucket':_0x16c89e,'Key':_0x2f2a08,'Body':_0x3481fa},function(_0x10ca2b,_0x363f13){if(_0x10ca2b){return _0x291659(_0x10ca2b);}else{return _0x293c1f(_0x363f13);}});});}function startTranscribe(_0x27ef06,_0x5605b0,_0xff7588,_0x888da5,_0x3dd6e4,_0x3f9bd7){return new Promise(function(_0x1e97de,_0x7c9dee){var _0x440f81=new AWS['TranscribeService']({'accessKeyId':_0x5605b0,'secretAccessKey':_0x27ef06,'region':_0xff7588});_0x440f81[_0xc032('0x6f')]({'TranscriptionJobName':_0x888da5,'LanguageCode':_0x3dd6e4,'Media':{'MediaFileUri':_0x3f9bd7}},function(_0x1bd5ea,_0x81284c){if(_0x1bd5ea){return _0x7c9dee(_0x1bd5ea);}else{return _0x1e97de(_0x81284c);}});});}function transcribe(_0x2b38be,_0x20d8ff,_0x235190,_0x2686c2,_0x58e5e4,_0x9a5682,_0x53bef5){return new Promise(function(_0x2cccf2,_0x4bfc24){var _0x2d4c0e={};logger[_0xc032('0x69')](util['format'](_0xc032('0x70'),_0x2b38be,_0x58e5e4));return uploadFile(_0x20d8ff,_0x235190,_0x2686c2,_0x58e5e4,path[_0xc032('0x71')](_0x9a5682),fs['readFileSync'](_0x9a5682))[_0xc032('0x2b')](function(_0x5bf165){logger[_0xc032('0x69')](util['format'](_0xc032('0x72'),_0x2b38be,_0x58e5e4,_0x5bf165['Location']));_0x2d4c0e[_0xc032('0x73')]=_0x5bf165[_0xc032('0x74')];_0x2d4c0e['location']=_0x5bf165[_0xc032('0x75')];logger[_0xc032('0x69')](util[_0xc032('0x35')](_0xc032('0x76'),_0x2b38be));return startTranscribe(_0x20d8ff,_0x235190,_0x2686c2,uuidv4(),_0x53bef5,_0x5bf165[_0xc032('0x75')]);})[_0xc032('0x2b')](function(_0x12cbf9){logger[_0xc032('0x69')](util[_0xc032('0x35')](_0xc032('0x77'),_0x2b38be,_0x12cbf9[_0xc032('0x78')][_0xc032('0x79')]));_0x2d4c0e[_0xc032('0x7a')]=_0x12cbf9[_0xc032('0x78')][_0xc032('0x79')];_0x2d4c0e[_0xc032('0x7b')]=_0x12cbf9['TranscriptionJob']['TranscriptionJobStatus'];return _0x2cccf2(_0x2d4c0e);})['catch'](function(_0x480d88){return _0x4bfc24(_0x480d88);});});}exports[_0xc032('0x7c')]=function(_0x66b011,_0x5803fe,_0x31d555){var _0x3de8f3;var _0x440e39;var _0x1af986;var _0x1e9cd3=require(_0xc032('0x60'));return db[_0xc032('0x32')]['findOne']({'where':{'id':_0x66b011[_0xc032('0x4d')]['id']}})[_0xc032('0x2b')](function(_0x5f4673){if(_0x5f4673){var _0x60d52f=util[_0xc032('0x35')](_0xc032('0x53'),_0x5f4673[_0xc032('0x52')]);if(fs[_0xc032('0x57')](_0x60d52f)){cypher=!![];return _0x1e9cd3['decryptFile'](_0x60d52f,_0x5f4673['value'],config[_0xc032('0x55')]['recording'])[_0xc032('0x2b')](function(){return _0x5f4673;});}return _0x5f4673;}})[_0xc032('0x2b')](function(_0x36f28f){if(!_0x36f28f){throw new db[(_0xc032('0x58'))][(_0xc032('0x66'))]('Voice\x20Recording\x20not\x20found');}_0x440e39=_0x36f28f;return db[_0xc032('0x7d')]['findOne']({'where':{'id':0x1}});})['then'](handleEntityNotFound(_0x5803fe,null))[_0xc032('0x2b')](function(_0x31381a){if(_0x31381a){_0x3de8f3=_0x31381a;if(!_0x3de8f3[_0xc032('0x7e')]||!_0x3de8f3['transcribeAccountId']||!_0x3de8f3['transcribeRegion']||!_0x3de8f3['language']||!_0x3de8f3[_0xc032('0x73')]){throw new db[(_0xc032('0x58'))][(_0xc032('0x66'))](_0xc032('0x7f'));}if(_0x66b011['body']['runSentiment']&&(!_0x3de8f3[_0xc032('0x80')]||!_0x3de8f3['sentimentAccountId']||!_0x3de8f3['sentimentRegion']||!_0x3de8f3[_0xc032('0x81')]||!_0x3de8f3['bucket'])){throw new db['Sequelize'][(_0xc032('0x66'))]('Sentiment\x20Analysis\x20not\x20configured');}return db[_0xc032('0x82')][_0xc032('0x83')]({'where':{'id':_0x3de8f3[_0xc032('0x84')]}});}})[_0xc032('0x2b')](function(_0x42157d){if(!_0x42157d){throw new db[(_0xc032('0x58'))][(_0xc032('0x66'))](_0xc032('0x85'));}if(!_0x42157d[_0xc032('0x86')]||!_0x42157d[_0xc032('0x87')]){throw new db['Sequelize'][(_0xc032('0x66'))](_0xc032('0x88'));}_0x1af986=_0x42157d;return getBucketslist(_0x1af986[_0xc032('0x86')],_0x1af986[_0xc032('0x87')],_0x3de8f3[_0xc032('0x89')]);})['then'](function(_0x18f5c0){if(_0x18f5c0&&_0x18f5c0[_0xc032('0x8a')]){var _0x319afb=_['find'](_0x18f5c0['Buckets'],function(_0x3dd511){return _0x3dd511[_0xc032('0x8b')]===_0x3de8f3[_0xc032('0x73')];});if(!_0x319afb){logger[_0xc032('0x69')](util[_0xc032('0x35')](_0xc032('0x8c'),_0x66b011[_0xc032('0x4d')]['id'],_0x3de8f3['bucket']));return createBucket(_0x1af986[_0xc032('0x86')],_0x1af986[_0xc032('0x87')],_0x3de8f3[_0xc032('0x89')],_0x3de8f3[_0xc032('0x73')]);}logger[_0xc032('0x69')](util[_0xc032('0x35')]('[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20available',_0x66b011[_0xc032('0x4d')]['id'],_0x3de8f3[_0xc032('0x73')]));return;}})['then'](function(_0x4dd476){if(_0x440e39[_0xc032('0x7b')]===_0xc032('0x8d')){return transcribe(_0x66b011[_0xc032('0x4d')]['id'],_0x1af986[_0xc032('0x86')],_0x1af986[_0xc032('0x87')],_0x3de8f3[_0xc032('0x89')],_0x3de8f3[_0xc032('0x73')],_0x440e39[_0xc032('0x52')],_0x3de8f3['language']);}else{logger['info'](util['format']('[RUNTRANSCRIPT][%d]\x20Transcript\x20action\x20already\x20requested',_0x66b011[_0xc032('0x4d')]['id']));return{'transcribeStatus':'IN_PROGRESS'};}})[_0xc032('0x2b')](function(_0x555d9b){if(_0x555d9b){_0x555d9b[_0xc032('0x8e')]=_0x66b011[_0xc032('0x4b')][_0xc032('0x8f')];return _0x440e39[_0xc032('0x90')](_0x555d9b);}})[_0xc032('0x2b')](respondWithResult(_0x5803fe,null))[_0xc032('0x49')](handleError(_0x5803fe,null));};function writeFile(_0x5b620d,_0x2b1292){return new Promise(function(_0x447b7f,_0x2d6ac1){fs[_0xc032('0x91')](_0x2b1292,_0x5b620d,function(_0x6b1c61,_0x594cc0){if(_0x6b1c61){return _0x2d6ac1(_0x6b1c61);}else{return _0x447b7f(_0x594cc0);}});});}exports[_0xc032('0x92')]=function(_0x4363f2,_0x3fdeb7,_0x4824a1){return db[_0xc032('0x32')]['findOne']({'where':{'id':_0x4363f2[_0xc032('0x4d')]['id']}})[_0xc032('0x2b')](handleEntityNotFound(_0x3fdeb7))[_0xc032('0x2b')](function(_0x1240cf){if(_0x1240cf&&_0x1240cf[_0xc032('0x93')]){var _0x187a45=_0x1240cf[_0xc032('0x93')];var _0xf2b37d=config[_0xc032('0x94')]+_0xc032('0x95')+_0x1240cf['id']+_0xc032('0x96');if(fs[_0xc032('0x57')](_0xf2b37d)){return _0xf2b37d;}return writeFile(_0x187a45,_0xf2b37d)[_0xc032('0x2b')](function(){return _0xf2b37d;});}else{throw new db[(_0xc032('0x58'))][(_0xc032('0x66'))](_0xc032('0x97'));}})[_0xc032('0x2b')](function(_0x10cf9a){return _0x3fdeb7[_0xc032('0x4f')](_0x10cf9a);})[_0xc032('0x49')](handleError(_0x3fdeb7));};