Built motion from commit 56b8093a.|2.6.29
[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 _0x4b37=['show','params','find','create','body','describe','download','../../components/encryptor','uniqueid','value','%s.cypher','existsSync','secrets','recording','ValidationError','VoiceRecording\x20not\x20found','filename','extname','unlink','message','sequelize','token','push','isNil','Entity\x20not\x20found','info','cancellazione\x20fisica\x20documento\x20%s','File:\x20\x22','unlinkSync','.cypher','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','listBuckets','startTranscriptionJob','basename','[RUNTRANSCRIPT][%d]\x20Voice\x20recording\x20uploaded\x20in\x20bucket\x20%s\x20(%s)','Location','Bucket','location','[RUNTRANSCRIPT][%d]\x20Sending\x20transcribe\x20request','[RUNTRANSCRIPT][%d]\x20Transcription\x20job\x20%s\x20created','TranscriptionJobName','TranscriptionJob','transcribeStatus','TranscriptionJobStatus','runTranscribe','Sequelize','Setting','findOne','transcribe','transcribeAccountId','language','Transcribe\x20not\x20configured','sentiment','sentimentRegion','bucket','Sentiment\x20Analysis\x20not\x20configured','CloudProvider','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','NEW','transcribeRegion','IN_PROGRESS','runSentiment','updateAttributes','fileText','root','/server/files/transcribes/transcribe_','Transcript\x20not\x20available','eml-format','zip-dir','request-promise','moment','bluebird','mustache','util','path','sox','ejs','fs-extra','squel','crypto','jsforce','desk.js','querystring','papaparse','uuid/v4','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','undefined','limit','count','offset','set','Content-Range','apply','save','then','destroy','sendStatus','stack','name','send','index','map','rawAttributes','fieldName','type','model','differenceBy','format','query','keys','filters','attributes','intersection','fields','length','nolimit','sort','where','filter','merge','VIRTUAL','options','VoiceRecording','include','findAll','rows','catch'];(function(_0x147565,_0x1ca82c){var _0x46be9a=function(_0x3d3ffd){while(--_0x3d3ffd){_0x147565['push'](_0x147565['shift']());}};_0x46be9a(++_0x1ca82c);}(_0x4b37,0xda));var _0x74b3=function(_0x574b08,_0x327679){_0x574b08=_0x574b08-0x0;var _0x4a555b=_0x4b37[_0x574b08];return _0x4a555b;};'use strict';var emlformat=require(_0x74b3('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x74b3('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x74b3('0x2'));var moment=require(_0x74b3('0x3'));var BPromise=require(_0x74b3('0x4'));var Mustache=require(_0x74b3('0x5'));var util=require(_0x74b3('0x6'));var path=require(_0x74b3('0x7'));var sox=require(_0x74b3('0x8'));var csv=require('to-csv');var ejs=require(_0x74b3('0x9'));var fs=require('fs');var fs_extra=require(_0x74b3('0xa'));var _=require('lodash');var squel=require(_0x74b3('0xb'));var crypto=require(_0x74b3('0xc'));var jsforce=require(_0x74b3('0xd'));var deskjs=require(_0x74b3('0xe'));var toCsv=require('to-csv');var querystring=require(_0x74b3('0xf'));var Papa=require(_0x74b3('0x10'));var AWS=require('aws-sdk');var uuidv4=require(_0x74b3('0x11'));var Redis=require(_0x74b3('0x12'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x74b3('0x13'));var hardwareService=require(_0x74b3('0x14'));var logger=require('../../config/logger')(_0x74b3('0x15'));var utils=require(_0x74b3('0x16'));var config=require(_0x74b3('0x17'));var licenseUtil=require(_0x74b3('0x18'));var db=require(_0x74b3('0x19'))['db'];function respondWithStatusCode(_0x3ed262,_0x77edd3){_0x77edd3=_0x77edd3||0xcc;return function(_0x5bb59a){if(_0x5bb59a){return _0x3ed262['sendStatus'](_0x77edd3);}return _0x3ed262[_0x74b3('0x1a')](_0x77edd3)[_0x74b3('0x1b')]();};}function respondWithResult(_0x5ccded,_0x504c5d){_0x504c5d=_0x504c5d||0xc8;return function(_0x557e5c){if(_0x557e5c){return _0x5ccded[_0x74b3('0x1a')](_0x504c5d)[_0x74b3('0x1c')](_0x557e5c);}};}function respondWithFilteredResult(_0x36fb4d,_0x21b0f5){return function(_0x2e9fb5){if(_0x2e9fb5){var _0x2b68b2=typeof _0x21b0f5['offset']===_0x74b3('0x1d')&&typeof _0x21b0f5[_0x74b3('0x1e')]==='undefined';var _0x403ad7=_0x2e9fb5[_0x74b3('0x1f')];var _0x5ac7aa=_0x2b68b2?0x0:_0x21b0f5[_0x74b3('0x20')];var _0x3fc801=_0x2b68b2?_0x2e9fb5['count']:_0x21b0f5[_0x74b3('0x20')]+_0x21b0f5[_0x74b3('0x1e')];var _0x47be2f;if(_0x3fc801>=_0x403ad7){_0x3fc801=_0x403ad7;_0x47be2f=0xc8;}else{_0x47be2f=0xce;}_0x36fb4d['status'](_0x47be2f);return _0x36fb4d[_0x74b3('0x21')](_0x74b3('0x22'),_0x5ac7aa+'-'+_0x3fc801+'/'+_0x403ad7)[_0x74b3('0x1c')](_0x2e9fb5);}return null;};}function patchUpdates(_0x35206a){return function(_0x4631c5){try{jsonpatch[_0x74b3('0x23')](_0x4631c5,_0x35206a,!![]);}catch(_0x2886c6){return BPromise['reject'](_0x2886c6);}return _0x4631c5[_0x74b3('0x24')]();};}function saveUpdates(_0x3db95c,_0x54779b){return function(_0x214049){if(_0x214049){return _0x214049['update'](_0x3db95c)[_0x74b3('0x25')](function(_0x57257d){return _0x57257d;});}return null;};}function removeEntity(_0x22031c,_0x3f122c){return function(_0x5ad950){if(_0x5ad950){return _0x5ad950[_0x74b3('0x26')]()[_0x74b3('0x25')](function(){_0x22031c['status'](0xcc)[_0x74b3('0x1b')]();});}};}function handleEntityNotFound(_0x418809,_0x2ef20f){return function(_0x16e8f1){if(!_0x16e8f1){_0x418809[_0x74b3('0x27')](0x194);}return _0x16e8f1;};}function handleError(_0x2974dc,_0x57d9bd){_0x57d9bd=_0x57d9bd||0x1f4;return function(_0x327c1c){logger['error'](_0x327c1c[_0x74b3('0x28')]);if(_0x327c1c[_0x74b3('0x29')]){delete _0x327c1c[_0x74b3('0x29')];}_0x2974dc[_0x74b3('0x1a')](_0x57d9bd)[_0x74b3('0x2a')](_0x327c1c);};}exports[_0x74b3('0x2b')]=function(_0x5258a4,_0x43e0a6){var _0x4e9445={},_0x3c4b9b={},_0x4f9066={'count':0x0,'rows':[]};var _0x1bc97a=_[_0x74b3('0x2c')](db['VoiceRecording'][_0x74b3('0x2d')],function(_0x4eb4ac){return{'name':_0x4eb4ac[_0x74b3('0x2e')],'type':_0x4eb4ac[_0x74b3('0x2f')]['key']};});_0x3c4b9b[_0x74b3('0x30')]=_[_0x74b3('0x31')](_[_0x74b3('0x2c')](_0x1bc97a,_0x74b3('0x29')),[_0x74b3('0x32')]);_0x3c4b9b[_0x74b3('0x33')]=_[_0x74b3('0x34')](_0x5258a4[_0x74b3('0x33')]);_0x3c4b9b[_0x74b3('0x35')]=_['intersection'](_0x3c4b9b[_0x74b3('0x30')],_0x3c4b9b[_0x74b3('0x33')]);_0x4e9445[_0x74b3('0x36')]=_[_0x74b3('0x37')](_0x3c4b9b[_0x74b3('0x30')],qs['fields'](_0x5258a4['query'][_0x74b3('0x38')]));_0x4e9445['attributes']=_0x4e9445[_0x74b3('0x36')][_0x74b3('0x39')]?_0x4e9445[_0x74b3('0x36')]:_0x3c4b9b[_0x74b3('0x30')];if(!_0x5258a4[_0x74b3('0x33')]['hasOwnProperty'](_0x74b3('0x3a'))){_0x4e9445[_0x74b3('0x1e')]=qs[_0x74b3('0x1e')](_0x5258a4['query'][_0x74b3('0x1e')]);_0x4e9445[_0x74b3('0x20')]=qs['offset'](_0x5258a4[_0x74b3('0x33')][_0x74b3('0x20')]);}_0x4e9445['order']=qs[_0x74b3('0x3b')](_0x5258a4[_0x74b3('0x33')][_0x74b3('0x3b')]);_0x4e9445[_0x74b3('0x3c')]=qs[_0x74b3('0x35')](_['pick'](_0x5258a4['query'],_0x3c4b9b[_0x74b3('0x35')]),_0x1bc97a);if(_0x5258a4[_0x74b3('0x33')][_0x74b3('0x3d')]){_0x4e9445[_0x74b3('0x3c')]=_[_0x74b3('0x3e')](_0x4e9445['where'],{'$or':_['map'](_0x1bc97a,function(_0x4b3520){if(_0x4b3520['type']!==_0x74b3('0x3f')){var _0x209fb4={};_0x209fb4[_0x4b3520['name']]={'$like':'%'+_0x5258a4[_0x74b3('0x33')][_0x74b3('0x3d')]+'%'};return _0x209fb4;}})});}_0x4e9445=_[_0x74b3('0x3e')]({},_0x4e9445,_0x5258a4[_0x74b3('0x40')]);var _0xee1b9c={'where':_0x4e9445[_0x74b3('0x3c')]};return db[_0x74b3('0x41')][_0x74b3('0x1f')](_0xee1b9c)[_0x74b3('0x25')](function(_0x10ca26){_0x4f9066[_0x74b3('0x1f')]=_0x10ca26;if(_0x5258a4[_0x74b3('0x33')]['includeAll']){_0x4e9445[_0x74b3('0x42')]=[{'all':!![]}];}return db[_0x74b3('0x41')][_0x74b3('0x43')](_0x4e9445);})['then'](function(_0x27b9a8){_0x4f9066[_0x74b3('0x44')]=_0x27b9a8;return _0x4f9066;})[_0x74b3('0x25')](respondWithFilteredResult(_0x43e0a6,_0x4e9445))[_0x74b3('0x45')](handleError(_0x43e0a6,null));};exports[_0x74b3('0x46')]=function(_0x25941c,_0x2d377e){var _0x385488={'raw':![],'where':{'id':_0x25941c[_0x74b3('0x47')]['id']}},_0x263232={};_0x263232['model']=_[_0x74b3('0x34')](db['VoiceRecording'][_0x74b3('0x2d')]);_0x263232[_0x74b3('0x33')]=_[_0x74b3('0x34')](_0x25941c[_0x74b3('0x33')]);_0x263232['filters']=_['intersection'](_0x263232[_0x74b3('0x30')],_0x263232['query']);_0x385488[_0x74b3('0x36')]=_[_0x74b3('0x37')](_0x263232[_0x74b3('0x30')],qs[_0x74b3('0x38')](_0x25941c[_0x74b3('0x33')]['fields']));_0x385488[_0x74b3('0x36')]=_0x385488['attributes'][_0x74b3('0x39')]?_0x385488[_0x74b3('0x36')]:_0x263232['model'];if(_0x25941c[_0x74b3('0x33')]['includeAll']){_0x385488[_0x74b3('0x42')]=[{'all':!![]}];}_0x385488=_[_0x74b3('0x3e')]({},_0x385488,_0x25941c[_0x74b3('0x40')]);return db[_0x74b3('0x41')][_0x74b3('0x48')](_0x385488)['then'](handleEntityNotFound(_0x2d377e,null))['then'](respondWithResult(_0x2d377e,null))[_0x74b3('0x45')](handleError(_0x2d377e,null));};exports[_0x74b3('0x49')]=function(_0x3d8305,_0x727922){return db[_0x74b3('0x41')][_0x74b3('0x49')](_0x3d8305[_0x74b3('0x4a')],{})[_0x74b3('0x25')](respondWithResult(_0x727922,0xc9))[_0x74b3('0x45')](handleError(_0x727922,null));};exports['update']=function(_0x13a088,_0x28914e){if(_0x13a088[_0x74b3('0x4a')]['id']){delete _0x13a088[_0x74b3('0x4a')]['id'];}return db[_0x74b3('0x41')]['find']({'where':{'id':_0x13a088[_0x74b3('0x47')]['id']}})[_0x74b3('0x25')](handleEntityNotFound(_0x28914e,null))[_0x74b3('0x25')](saveUpdates(_0x13a088[_0x74b3('0x4a')],null))[_0x74b3('0x25')](respondWithResult(_0x28914e,null))[_0x74b3('0x45')](handleError(_0x28914e,null));};exports['describe']=function(_0x304a0a,_0x55b38a){return db['VoiceRecording'][_0x74b3('0x4b')]()['then'](respondWithResult(_0x55b38a,null))[_0x74b3('0x45')](handleError(_0x55b38a,null));};exports[_0x74b3('0x4c')]=function(_0xa16b41,_0x5eedac,_0x39f7c5){var _0x5f816a=require(_0x74b3('0x4d'));var _0x30f538=![];var _0x394420={};if(_0xa16b41[_0x74b3('0x33')][_0x74b3('0x2f')]&&_0xa16b41[_0x74b3('0x33')]['type']===_0x74b3('0x4e')){_0x394420['uniqueid']=_0xa16b41[_0x74b3('0x47')]['id'];}else{_0x394420['id']=_0xa16b41[_0x74b3('0x47')]['id'];}return db[_0x74b3('0x41')][_0x74b3('0x48')]({'where':_0x394420,'attributes':['id',_0x74b3('0x4f')],'raw':!![]})[_0x74b3('0x25')](handleEntityNotFound(_0x5eedac,null))['then'](function(_0x592fd0){if(_0x592fd0){var _0x27fa5c=_0x592fd0[_0x74b3('0x4f')];var _0x391bc3=util[_0x74b3('0x32')](_0x74b3('0x50'),_0x27fa5c);if(fs[_0x74b3('0x51')](_0x391bc3)){_0x30f538=!![];return _0x5f816a['decryptFile'](_0x391bc3,_0x27fa5c,config[_0x74b3('0x52')][_0x74b3('0x53')])[_0x74b3('0x25')](function(){return _0x592fd0;});}return _0x592fd0;}})[_0x74b3('0x25')](function(_0x254a46){if(_0x254a46){var _0x1d9ecb=_0x254a46['value'];if(!fs[_0x74b3('0x51')](_0x1d9ecb)){throw new db['Sequelize'][(_0x74b3('0x54'))](_0x74b3('0x55'));}if(_0x254a46[_0x74b3('0x56')]){return _0x5eedac['download'](_0x1d9ecb,_0x254a46['filename']+path[_0x74b3('0x57')](_0x1d9ecb),function(){if(_0x30f538){fs['unlink'](_0x1d9ecb);}});}else{return _0x5eedac[_0x74b3('0x4c')](_0x1d9ecb,function(_0x2ef61e){if(_0x30f538){fs[_0x74b3('0x58')](_0x1d9ecb);}});}}})[_0x74b3('0x45')](function(_0x2f699f){if(_0x2f699f[_0x74b3('0x59')]===_0x74b3('0x55')){_0x5eedac['status'](0x194)[_0x74b3('0x2a')]('Not\x20found');}else{return handleError(_0x5eedac,null);}});};exports['downloads']=function(_0x43d204,_0x29a11c,_0x57d207){var _0x48b76f=require(_0x74b3('0x4d'));var _0x57114a=![];var _0x29fd66={'$and':[db[_0x74b3('0x5a')][_0x74b3('0x3c')](db[_0x74b3('0x5a')]['fn']('MD5',db[_0x74b3('0x5a')]['col']('uniqueid')),_0x43d204[_0x74b3('0x33')][_0x74b3('0x5b')])]};if(_0x43d204[_0x74b3('0x33')]['type']&&_0x43d204['query'][_0x74b3('0x2f')]===_0x74b3('0x4e')){_0x29fd66['$and'][_0x74b3('0x5c')]({'uniqueid':_0x43d204[_0x74b3('0x47')]['id']});}else{_0x29fd66['$and'][_0x74b3('0x5c')]({'id':_0x43d204[_0x74b3('0x47')]['id']});}return db[_0x74b3('0x41')][_0x74b3('0x48')]({'where':_0x29fd66,'attributes':['id',_0x74b3('0x4f')],'raw':!![]})[_0x74b3('0x25')](handleEntityNotFound(_0x29a11c,null))['then'](function(_0x3d8def){if(_0x3d8def){var _0x1d6a54=util['format']('%s.cypher',_0x3d8def['value']);if(fs[_0x74b3('0x51')](_0x1d6a54)){_0x57114a=!![];return _0x48b76f['decryptFile'](_0x1d6a54,_0x3d8def['value'],config['secrets']['recording'])[_0x74b3('0x25')](function(){return _0x3d8def;});}return _0x3d8def;}})[_0x74b3('0x25')](function(_0x4f5279){if(_0x4f5279){if(!fs[_0x74b3('0x51')](_0x4f5279['value'])){throw new db['Sequelize'][(_0x74b3('0x54'))](_0x74b3('0x55'));}if(_0x4f5279[_0x74b3('0x56')]){return _0x29a11c[_0x74b3('0x4c')](_0x4f5279[_0x74b3('0x4f')],_0x4f5279[_0x74b3('0x56')]+path['extname'](_0x4f5279['value']),function(){if(_0x57114a){fs['unlink'](_0x4f5279[_0x74b3('0x4f')]);}});}else{return _0x29a11c[_0x74b3('0x4c')](_0x4f5279['value'],function(_0x51e2e9){if(_0x57114a){fs['unlink'](_0x4f5279['value']);}});}}})[_0x74b3('0x45')](handleError(_0x29a11c,null));};exports[_0x74b3('0x26')]=function(_0x4fc0d8,_0x486bf6){return db[_0x74b3('0x41')][_0x74b3('0x48')]({'where':{'id':_0x4fc0d8[_0x74b3('0x47')]['id']}})['then'](function(_0xed7604){if(_[_0x74b3('0x5d')](_0xed7604)){throw new ReferenceError(_0x74b3('0x5e'));}return _0xed7604;})['then'](function(_0x3b17bd){var _0x3c58db=_0x3b17bd['value'];logger[_0x74b3('0x5f')](_0x74b3('0x60'),_0x3c58db);if(!_['isNil'](_0x3b17bd[_0x74b3('0x4f')])&&fs[_0x74b3('0x51')](_0x3c58db)){logger[_0x74b3('0x5f')](_0x74b3('0x61')+_0x3c58db+'\x22\x20trovato\x20eseguo\x20la\x20cancellazione');fs[_0x74b3('0x62')](_0x3c58db);}_0x3c58db=_0x3c58db+_0x74b3('0x63');if(!_['isNil'](_0x3b17bd[_0x74b3('0x4f')])&&fs['existsSync'](_0x3c58db)){logger[_0x74b3('0x5f')]('File:\x20\x22'+_0x3c58db+_0x74b3('0x64'));fs[_0x74b3('0x62')](_0x3c58db);}return _0x3b17bd;})[_0x74b3('0x25')](function(_0x270cc7){if(!_0x270cc7)throw new InternalError();return _0x270cc7[_0x74b3('0x26')]();})[_0x74b3('0x25')](function(){_0x486bf6[_0x74b3('0x1a')](0xcc)[_0x74b3('0x1b')]();})[_0x74b3('0x45')](handleError(_0x486bf6,null));};function getBucketslist(_0x4a7ac0,_0x31b984,_0x36724f){return new Promise(function(_0x4a321e,_0xbd6380){var _0x5af0be=new AWS['S3']({'accessKeyId':_0x31b984,'secretAccessKey':_0x4a7ac0,'region':_0x36724f});_0x5af0be[_0x74b3('0x65')]({},function(_0x155778,_0x1c09cc){if(_0x155778){return _0xbd6380(_0x155778);}else{return _0x4a321e(_0x1c09cc);}});});}function createBucket(_0x10ea40,_0x3e10cc,_0x22350a,_0x21c6ea){return new Promise(function(_0x5aff0b,_0x5db11a){var _0x40bfda=new AWS['S3']({'accessKeyId':_0x3e10cc,'secretAccessKey':_0x10ea40,'region':_0x22350a});_0x40bfda['createBucket']({'Bucket':_0x21c6ea},function(_0x31529a,_0x4b4501){if(_0x31529a){return _0x5db11a(_0x31529a);}else{return _0x5aff0b(_0x4b4501);}});});}function uploadFile(_0xbf4461,_0x407d1a,_0x4a6346,_0x18bb9b,_0x1b6f2a,_0xb44b3f){return new Promise(function(_0x3ad94b,_0x5984de){var _0x6b3f4b=new AWS['S3']({'accessKeyId':_0x407d1a,'secretAccessKey':_0xbf4461,'region':_0x4a6346});_0x6b3f4b['upload']({'Bucket':_0x18bb9b,'Key':_0x1b6f2a,'Body':_0xb44b3f},function(_0x2c634f,_0x2954b1){if(_0x2c634f){return _0x5984de(_0x2c634f);}else{return _0x3ad94b(_0x2954b1);}});});}function startTranscribe(_0xb60fdc,_0x2f91db,_0x644c6c,_0x71032,_0x18752d,_0x4d20dd){return new Promise(function(_0x189f8e,_0xdb2a8f){var _0x4b6a48=new AWS['TranscribeService']({'accessKeyId':_0x2f91db,'secretAccessKey':_0xb60fdc,'region':_0x644c6c});_0x4b6a48[_0x74b3('0x66')]({'TranscriptionJobName':_0x71032,'LanguageCode':_0x18752d,'Media':{'MediaFileUri':_0x4d20dd}},function(_0x51ee99,_0x4cd5e6){if(_0x51ee99){return _0xdb2a8f(_0x51ee99);}else{return _0x189f8e(_0x4cd5e6);}});});}function transcribe(_0x5823ef,_0x1f71fd,_0x410c1f,_0x544292,_0x3a4ecf,_0x2bad9a,_0x5984a8){return new Promise(function(_0x2acf86,_0xe7a66){var _0x3c188b={};logger[_0x74b3('0x5f')](util[_0x74b3('0x32')]('[RUNTRANSCRIPT][%d]\x20Starting\x20voice\x20recording\x20upload\x20in\x20bucket\x20%s',_0x5823ef,_0x3a4ecf));return uploadFile(_0x1f71fd,_0x410c1f,_0x544292,_0x3a4ecf,path[_0x74b3('0x67')](_0x2bad9a),fs['readFileSync'](_0x2bad9a))[_0x74b3('0x25')](function(_0x290dd8){logger[_0x74b3('0x5f')](util[_0x74b3('0x32')](_0x74b3('0x68'),_0x5823ef,_0x3a4ecf,_0x290dd8[_0x74b3('0x69')]));_0x3c188b['bucket']=_0x290dd8[_0x74b3('0x6a')];_0x3c188b[_0x74b3('0x6b')]=_0x290dd8[_0x74b3('0x69')];logger[_0x74b3('0x5f')](util[_0x74b3('0x32')](_0x74b3('0x6c'),_0x5823ef));return startTranscribe(_0x1f71fd,_0x410c1f,_0x544292,uuidv4(),_0x5984a8,_0x290dd8[_0x74b3('0x69')]);})[_0x74b3('0x25')](function(_0x62bc5a){logger[_0x74b3('0x5f')](util[_0x74b3('0x32')](_0x74b3('0x6d'),_0x5823ef,_0x62bc5a['TranscriptionJob'][_0x74b3('0x6e')]));_0x3c188b['transcribeName']=_0x62bc5a[_0x74b3('0x6f')]['TranscriptionJobName'];_0x3c188b[_0x74b3('0x70')]=_0x62bc5a[_0x74b3('0x6f')][_0x74b3('0x71')];return _0x2acf86(_0x3c188b);})[_0x74b3('0x45')](function(_0x562bbc){return _0xe7a66(_0x562bbc);});});}exports[_0x74b3('0x72')]=function(_0x5ae5b1,_0x27b4bc,_0x1456fd){var _0xe79679;var _0x491e8f;var _0x2a6ae3;var _0x218270=require(_0x74b3('0x4d'));return db[_0x74b3('0x41')]['findOne']({'where':{'id':_0x5ae5b1['params']['id']}})[_0x74b3('0x25')](function(_0x5ba398){if(_0x5ba398){var _0x63d14f=util[_0x74b3('0x32')](_0x74b3('0x50'),_0x5ba398['value']);if(fs[_0x74b3('0x51')](_0x63d14f)){cypher=!![];return _0x218270['decryptFile'](_0x63d14f,_0x5ba398['value'],config['secrets']['recording'])['then'](function(){return _0x5ba398;});}return _0x5ba398;}})[_0x74b3('0x25')](function(_0x3945ae){if(!_0x3945ae){throw new db[(_0x74b3('0x73'))]['ValidationError']('Voice\x20Recording\x20not\x20found');}_0x491e8f=_0x3945ae;return db[_0x74b3('0x74')][_0x74b3('0x75')]({'where':{'id':0x1}});})[_0x74b3('0x25')](handleEntityNotFound(_0x27b4bc,null))[_0x74b3('0x25')](function(_0x2f9993){if(_0x2f9993){_0xe79679=_0x2f9993;if(!_0xe79679[_0x74b3('0x76')]||!_0xe79679[_0x74b3('0x77')]||!_0xe79679['transcribeRegion']||!_0xe79679[_0x74b3('0x78')]||!_0xe79679['bucket']){throw new db[(_0x74b3('0x73'))][(_0x74b3('0x54'))](_0x74b3('0x79'));}if(_0x5ae5b1[_0x74b3('0x4a')]['runSentiment']&&(!_0xe79679[_0x74b3('0x7a')]||!_0xe79679['sentimentAccountId']||!_0xe79679[_0x74b3('0x7b')]||!_0xe79679[_0x74b3('0x78')]||!_0xe79679[_0x74b3('0x7c')])){throw new db[(_0x74b3('0x73'))][(_0x74b3('0x54'))](_0x74b3('0x7d'));}return db[_0x74b3('0x7e')][_0x74b3('0x75')]({'where':{'id':_0xe79679[_0x74b3('0x77')]}});}})[_0x74b3('0x25')](function(_0x86f505){if(!_0x86f505){throw new db[(_0x74b3('0x73'))][(_0x74b3('0x54'))](_0x74b3('0x7f'));}if(!_0x86f505[_0x74b3('0x80')]||!_0x86f505[_0x74b3('0x81')]){throw new db[(_0x74b3('0x73'))]['ValidationError'](_0x74b3('0x82'));}_0x2a6ae3=_0x86f505;return getBucketslist(_0x2a6ae3['data1'],_0x2a6ae3['data2'],_0xe79679['transcribeRegion']);})[_0x74b3('0x25')](function(_0x37528a){if(_0x37528a&&_0x37528a[_0x74b3('0x83')]){var _0x5ede96=_['find'](_0x37528a['Buckets'],function(_0x2a7b6b){return _0x2a7b6b[_0x74b3('0x84')]===_0xe79679[_0x74b3('0x7c')];});if(!_0x5ede96){logger[_0x74b3('0x5f')](util[_0x74b3('0x32')](_0x74b3('0x85'),_0x5ae5b1[_0x74b3('0x47')]['id'],_0xe79679[_0x74b3('0x7c')]));return createBucket(_0x2a6ae3['data1'],_0x2a6ae3[_0x74b3('0x81')],_0xe79679['transcribeRegion'],_0xe79679[_0x74b3('0x7c')]);}logger[_0x74b3('0x5f')](util[_0x74b3('0x32')](_0x74b3('0x86'),_0x5ae5b1[_0x74b3('0x47')]['id'],_0xe79679[_0x74b3('0x7c')]));return;}})[_0x74b3('0x25')](function(_0x1d8e29){if(_0x491e8f[_0x74b3('0x70')]===_0x74b3('0x87')){return transcribe(_0x5ae5b1[_0x74b3('0x47')]['id'],_0x2a6ae3[_0x74b3('0x80')],_0x2a6ae3['data2'],_0xe79679[_0x74b3('0x88')],_0xe79679[_0x74b3('0x7c')],_0x491e8f[_0x74b3('0x4f')],_0xe79679[_0x74b3('0x78')]);}else{logger[_0x74b3('0x5f')](util[_0x74b3('0x32')]('[RUNTRANSCRIPT][%d]\x20Transcript\x20action\x20already\x20requested',_0x5ae5b1[_0x74b3('0x47')]['id']));return{'transcribeStatus':_0x74b3('0x89')};}})[_0x74b3('0x25')](function(_0x38d13a){if(_0x38d13a){_0x38d13a['tempSentiment']=_0x5ae5b1['body'][_0x74b3('0x8a')];return _0x491e8f[_0x74b3('0x8b')](_0x38d13a);}})[_0x74b3('0x25')](respondWithResult(_0x27b4bc,null))[_0x74b3('0x45')](handleError(_0x27b4bc,null));};function writeFile(_0x4ffd6c,_0x2366a6){return new Promise(function(_0x41f8f2,_0x578d40){fs['writeFile'](_0x2366a6,_0x4ffd6c,function(_0x3e75f6,_0xfae9db){if(_0x3e75f6){return _0x578d40(_0x3e75f6);}else{return _0x41f8f2(_0xfae9db);}});});}exports['downloadTranscribe']=function(_0x23dee8,_0x48a4f2,_0x1b0011){return db['VoiceRecording']['findOne']({'where':{'id':_0x23dee8[_0x74b3('0x47')]['id']}})[_0x74b3('0x25')](handleEntityNotFound(_0x48a4f2))[_0x74b3('0x25')](function(_0x5cc1fb){if(_0x5cc1fb&&_0x5cc1fb[_0x74b3('0x8c')]){var _0x3094a0=_0x5cc1fb[_0x74b3('0x8c')];var _0x4afb8e=config[_0x74b3('0x8d')]+_0x74b3('0x8e')+_0x5cc1fb['id']+'.txt';if(fs[_0x74b3('0x51')](_0x4afb8e)){return _0x4afb8e;}return writeFile(_0x3094a0,_0x4afb8e)[_0x74b3('0x25')](function(){return _0x4afb8e;});}else{throw new db[(_0x74b3('0x73'))][(_0x74b3('0x54'))](_0x74b3('0x8f'));}})['then'](function(_0x80a840){return _0x48a4f2[_0x74b3('0x4c')](_0x80a840);})[_0x74b3('0x45')](handleError(_0x48a4f2));};