5f128e5022bdc09e894435f458973ad0ea6d4ed2
[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 _0xdf31=['VoiceRecording','findAll','rows','catch','show','params','create','body','find','describe','../../components/encryptor','type','uniqueid','value','decryptFile','secrets','recording','existsSync','Sequelize','ValidationError','VoiceRecording\x20not\x20found','download','extname','unlink','message','Not\x20found','downloads','sequelize','MD5','token','$and','push','%s.cypher','filename','destroy','Entity\x20not\x20found','info','cancellazione\x20fisica\x20documento\x20%s','isNil','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','.cypher','listBuckets','createBucket','upload','TranscribeService','[RUNTRANSCRIPT][%d]\x20Starting\x20voice\x20recording\x20upload\x20in\x20bucket\x20%s','basename','readFileSync','[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','transcribeName','TranscriptionJob','TranscriptionJobStatus','runTranscribe','findOne','Voice\x20Recording\x20not\x20found','Setting','transcribe','transcribeAccountId','transcribeRegion','language','Transcribe\x20not\x20configured','runSentiment','sentimentAccountId','sentimentRegion','Sentiment\x20Analysis\x20not\x20configured','CloudProvider','Cloud\x20Provider\x20not\x20available','data1','Cloud\x20Provider\x20not\x20configured','data2','Buckets','Name','[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20not\x20available','[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20available','transcribeStatus','NEW','IN_PROGRESS','tempSentiment','downloadTranscribe','fileText','root','/server/files/transcribes/transcribe_','.txt','html-pdf','eml-format','rimraf','zip-dir','moment','bluebird','mustache','util','path','to-csv','ejs','lodash','squel','desk.js','querystring','papaparse','uuid/v4','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','json','count','offset','limit','set','Content-Range','apply','reject','save','update','then','end','stack','name','send','index','map','rawAttributes','fieldName','model','differenceBy','format','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','sort','pick','merge','where','VIRTUAL','filter','options','includeAll','include'];(function(_0x2f32c4,_0x531dc6){var _0x3f3018=function(_0x406998){while(--_0x406998){_0x2f32c4['push'](_0x2f32c4['shift']());}};_0x3f3018(++_0x531dc6);}(_0xdf31,0x19b));var _0x1df3=function(_0x2a956a,_0x1c0978){_0x2a956a=_0x2a956a-0x0;var _0x37ed04=_0xdf31[_0x2a956a];return _0x37ed04;};'use strict';var pdf=require(_0x1df3('0x0'));var emlformat=require(_0x1df3('0x1'));var rimraf=require(_0x1df3('0x2'));var zipdir=require(_0x1df3('0x3'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x1df3('0x4'));var BPromise=require(_0x1df3('0x5'));var Mustache=require(_0x1df3('0x6'));var util=require(_0x1df3('0x7'));var path=require(_0x1df3('0x8'));var sox=require('sox');var csv=require(_0x1df3('0x9'));var ejs=require(_0x1df3('0xa'));var fs=require('fs');var _=require(_0x1df3('0xb'));var squel=require(_0x1df3('0xc'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x1df3('0xd'));var toCsv=require('to-csv');var querystring=require(_0x1df3('0xe'));var Papa=require(_0x1df3('0xf'));var AWS=require('aws-sdk');var uuidv4=require(_0x1df3('0x10'));var Redis=require(_0x1df3('0x11'));var authService=require(_0x1df3('0x12'));var qs=require('../../components/parsers/qs');var as=require(_0x1df3('0x13'));var hardwareService=require(_0x1df3('0x14'));var logger=require(_0x1df3('0x15'))(_0x1df3('0x16'));var utils=require(_0x1df3('0x17'));var config=require(_0x1df3('0x18'));var licenseUtil=require(_0x1df3('0x19'));var db=require(_0x1df3('0x1a'))['db'];function respondWithStatusCode(_0xac2a4,_0x1bd3f9){_0x1bd3f9=_0x1bd3f9||0xcc;return function(_0x39fe1b){if(_0x39fe1b){return _0xac2a4[_0x1df3('0x1b')](_0x1bd3f9);}return _0xac2a4[_0x1df3('0x1c')](_0x1bd3f9)['end']();};}function respondWithResult(_0x48913f,_0x2e21ea){_0x2e21ea=_0x2e21ea||0xc8;return function(_0x36e2e1){if(_0x36e2e1){return _0x48913f[_0x1df3('0x1c')](_0x2e21ea)[_0x1df3('0x1d')](_0x36e2e1);}};}function respondWithFilteredResult(_0x2c8d7b,_0x100763){return function(_0x4703ab){if(_0x4703ab){var _0x5e4fad=_0x4703ab[_0x1df3('0x1e')],_0x592e77=_0x100763[_0x1df3('0x1f')],_0x5a78bc=_0x100763['offset']+_0x100763[_0x1df3('0x20')],_0x51d418;if(_0x5a78bc>=_0x5e4fad){_0x5a78bc=_0x5e4fad;_0x51d418=0xc8;}else{_0x51d418=0xce;}_0x2c8d7b[_0x1df3('0x1c')](_0x51d418);return _0x2c8d7b[_0x1df3('0x21')](_0x1df3('0x22'),_0x592e77+'-'+_0x5a78bc+'/'+_0x5e4fad)[_0x1df3('0x1d')](_0x4703ab);}return null;};}function patchUpdates(_0x21f810){return function(_0x207154){try{jsonpatch[_0x1df3('0x23')](_0x207154,_0x21f810,!![]);}catch(_0x1d7dbd){return BPromise[_0x1df3('0x24')](_0x1d7dbd);}return _0x207154[_0x1df3('0x25')]();};}function saveUpdates(_0x5778c5,_0x3badab){return function(_0x4f003a){if(_0x4f003a){return _0x4f003a[_0x1df3('0x26')](_0x5778c5)[_0x1df3('0x27')](function(_0x3d242b){return _0x3d242b;});}return null;};}function removeEntity(_0x4c3e8a,_0x2eedf2){return function(_0x51e10e){if(_0x51e10e){return _0x51e10e['destroy']()[_0x1df3('0x27')](function(){_0x4c3e8a[_0x1df3('0x1c')](0xcc)[_0x1df3('0x28')]();});}};}function handleEntityNotFound(_0xb7b7a1,_0x4aedb4){return function(_0x30f7b0){if(!_0x30f7b0){_0xb7b7a1[_0x1df3('0x1b')](0x194);}return _0x30f7b0;};}function handleError(_0x52883b,_0x5949ed){_0x5949ed=_0x5949ed||0x1f4;return function(_0x54938b){logger['error'](_0x54938b[_0x1df3('0x29')]);if(_0x54938b['name']){delete _0x54938b[_0x1df3('0x2a')];}_0x52883b[_0x1df3('0x1c')](_0x5949ed)[_0x1df3('0x2b')](_0x54938b);};}exports[_0x1df3('0x2c')]=function(_0x2a243a,_0x5057d4){var _0x5dafd5={},_0x4eea32={},_0x55089f={'count':0x0,'rows':[]};var _0x4eab03=_[_0x1df3('0x2d')](db['VoiceRecording'][_0x1df3('0x2e')],function(_0x4cde36){return{'name':_0x4cde36[_0x1df3('0x2f')],'type':_0x4cde36['type']['key']};});_0x4eea32[_0x1df3('0x30')]=_[_0x1df3('0x31')](_[_0x1df3('0x2d')](_0x4eab03,_0x1df3('0x2a')),[_0x1df3('0x32')]);_0x4eea32[_0x1df3('0x33')]=_[_0x1df3('0x34')](_0x2a243a[_0x1df3('0x33')]);_0x4eea32[_0x1df3('0x35')]=_[_0x1df3('0x36')](_0x4eea32['model'],_0x4eea32[_0x1df3('0x33')]);_0x5dafd5['attributes']=_[_0x1df3('0x36')](_0x4eea32['model'],qs[_0x1df3('0x37')](_0x2a243a[_0x1df3('0x33')]['fields']));_0x5dafd5['attributes']=_0x5dafd5[_0x1df3('0x38')][_0x1df3('0x39')]?_0x5dafd5[_0x1df3('0x38')]:_0x4eea32['model'];if(!_0x2a243a['query'][_0x1df3('0x3a')](_0x1df3('0x3b'))){_0x5dafd5[_0x1df3('0x20')]=qs[_0x1df3('0x20')](_0x2a243a[_0x1df3('0x33')]['limit']);_0x5dafd5['offset']=qs['offset'](_0x2a243a[_0x1df3('0x33')][_0x1df3('0x1f')]);}_0x5dafd5['order']=qs[_0x1df3('0x3c')](_0x2a243a[_0x1df3('0x33')][_0x1df3('0x3c')]);_0x5dafd5['where']=qs[_0x1df3('0x35')](_[_0x1df3('0x3d')](_0x2a243a[_0x1df3('0x33')],_0x4eea32['filters']),_0x4eab03);if(_0x2a243a['query']['filter']){_0x5dafd5['where']=_[_0x1df3('0x3e')](_0x5dafd5[_0x1df3('0x3f')],{'$or':_['map'](_0x4eab03,function(_0x559a87){if(_0x559a87['type']!==_0x1df3('0x40')){var _0x39391c={};_0x39391c[_0x559a87['name']]={'$like':'%'+_0x2a243a[_0x1df3('0x33')][_0x1df3('0x41')]+'%'};return _0x39391c;}})});}_0x5dafd5=_[_0x1df3('0x3e')]({},_0x5dafd5,_0x2a243a[_0x1df3('0x42')]);var _0x197f21={'where':_0x5dafd5[_0x1df3('0x3f')]};return db['VoiceRecording'][_0x1df3('0x1e')](_0x197f21)[_0x1df3('0x27')](function(_0x30db31){_0x55089f[_0x1df3('0x1e')]=_0x30db31;if(_0x2a243a[_0x1df3('0x33')][_0x1df3('0x43')]){_0x5dafd5[_0x1df3('0x44')]=[{'all':!![]}];}return db[_0x1df3('0x45')][_0x1df3('0x46')](_0x5dafd5);})[_0x1df3('0x27')](function(_0x4a708a){_0x55089f[_0x1df3('0x47')]=_0x4a708a;return _0x55089f;})[_0x1df3('0x27')](respondWithFilteredResult(_0x5057d4,_0x5dafd5))[_0x1df3('0x48')](handleError(_0x5057d4,null));};exports[_0x1df3('0x49')]=function(_0x3c2df5,_0x5a5a47){var _0x1ded8c={'raw':![],'where':{'id':_0x3c2df5[_0x1df3('0x4a')]['id']}},_0xa0465f={};_0xa0465f[_0x1df3('0x30')]=_['keys'](db[_0x1df3('0x45')][_0x1df3('0x2e')]);_0xa0465f['query']=_[_0x1df3('0x34')](_0x3c2df5[_0x1df3('0x33')]);_0xa0465f[_0x1df3('0x35')]=_['intersection'](_0xa0465f[_0x1df3('0x30')],_0xa0465f[_0x1df3('0x33')]);_0x1ded8c[_0x1df3('0x38')]=_['intersection'](_0xa0465f[_0x1df3('0x30')],qs[_0x1df3('0x37')](_0x3c2df5['query']['fields']));_0x1ded8c['attributes']=_0x1ded8c[_0x1df3('0x38')][_0x1df3('0x39')]?_0x1ded8c['attributes']:_0xa0465f[_0x1df3('0x30')];if(_0x3c2df5[_0x1df3('0x33')][_0x1df3('0x43')]){_0x1ded8c[_0x1df3('0x44')]=[{'all':!![]}];}_0x1ded8c=_[_0x1df3('0x3e')]({},_0x1ded8c,_0x3c2df5[_0x1df3('0x42')]);return db[_0x1df3('0x45')]['find'](_0x1ded8c)[_0x1df3('0x27')](handleEntityNotFound(_0x5a5a47,null))[_0x1df3('0x27')](respondWithResult(_0x5a5a47,null))['catch'](handleError(_0x5a5a47,null));};exports[_0x1df3('0x4b')]=function(_0x56fc5c,_0x6d193e){return db['VoiceRecording'][_0x1df3('0x4b')](_0x56fc5c[_0x1df3('0x4c')],{})['then'](respondWithResult(_0x6d193e,0xc9))[_0x1df3('0x48')](handleError(_0x6d193e,null));};exports[_0x1df3('0x26')]=function(_0x4d4328,_0x37778e){if(_0x4d4328[_0x1df3('0x4c')]['id']){delete _0x4d4328[_0x1df3('0x4c')]['id'];}return db[_0x1df3('0x45')][_0x1df3('0x4d')]({'where':{'id':_0x4d4328[_0x1df3('0x4a')]['id']}})[_0x1df3('0x27')](handleEntityNotFound(_0x37778e,null))[_0x1df3('0x27')](saveUpdates(_0x4d4328[_0x1df3('0x4c')],null))[_0x1df3('0x27')](respondWithResult(_0x37778e,null))[_0x1df3('0x48')](handleError(_0x37778e,null));};exports[_0x1df3('0x4e')]=function(_0x5924ca,_0x136c85){return db[_0x1df3('0x45')][_0x1df3('0x4e')]()[_0x1df3('0x27')](respondWithResult(_0x136c85,null))[_0x1df3('0x48')](handleError(_0x136c85,null));};exports['download']=function(_0x161c0f,_0x5a5771,_0x11c396){var _0x478ef6=require(_0x1df3('0x4f'));var _0x877d51=![];var _0x98fc27={};if(_0x161c0f['query'][_0x1df3('0x50')]&&_0x161c0f[_0x1df3('0x33')][_0x1df3('0x50')]==='uniqueid'){_0x98fc27[_0x1df3('0x51')]=_0x161c0f['params']['id'];}else{_0x98fc27['id']=_0x161c0f[_0x1df3('0x4a')]['id'];}return db['VoiceRecording']['find']({'where':_0x98fc27,'attributes':['id',_0x1df3('0x52')],'raw':!![]})['then'](handleEntityNotFound(_0x5a5771,null))['then'](function(_0x10bd0d){if(_0x10bd0d){var _0x4ba812=_0x10bd0d[_0x1df3('0x52')];var _0x41ce6c=util[_0x1df3('0x32')]('%s.cypher',_0x4ba812);if(fs['existsSync'](_0x41ce6c)){_0x877d51=!![];return _0x478ef6[_0x1df3('0x53')](_0x41ce6c,_0x4ba812,config[_0x1df3('0x54')][_0x1df3('0x55')])['then'](function(){return _0x10bd0d;});}return _0x10bd0d;}})['then'](function(_0x4ce36f){if(_0x4ce36f){var _0x3b8cb4=_0x4ce36f[_0x1df3('0x52')];if(!fs[_0x1df3('0x56')](_0x3b8cb4)){throw new db[(_0x1df3('0x57'))][(_0x1df3('0x58'))](_0x1df3('0x59'));}if(_0x4ce36f['filename']){return _0x5a5771[_0x1df3('0x5a')](_0x3b8cb4,_0x4ce36f['filename']+path[_0x1df3('0x5b')](_0x3b8cb4),function(){if(_0x877d51){fs[_0x1df3('0x5c')](_0x3b8cb4);}});}else{return _0x5a5771[_0x1df3('0x5a')](_0x3b8cb4,function(_0x26032d){if(_0x877d51){fs[_0x1df3('0x5c')](_0x3b8cb4);}});}}})[_0x1df3('0x48')](function(_0x338e2b){if(_0x338e2b[_0x1df3('0x5d')]===_0x1df3('0x59')){_0x5a5771['status'](0x194)[_0x1df3('0x2b')](_0x1df3('0x5e'));}else{return handleError(_0x5a5771,null);}});};exports[_0x1df3('0x5f')]=function(_0x6e5f09,_0xf9a2a5,_0x1fa72a){var _0x579eb1=require(_0x1df3('0x4f'));var _0x15ed09=![];var _0x46e40e={'$and':[db[_0x1df3('0x60')][_0x1df3('0x3f')](db['sequelize']['fn'](_0x1df3('0x61'),db['sequelize']['col'](_0x1df3('0x51'))),_0x6e5f09['query'][_0x1df3('0x62')])]};if(_0x6e5f09['query'][_0x1df3('0x50')]&&_0x6e5f09[_0x1df3('0x33')]['type']==='uniqueid'){_0x46e40e[_0x1df3('0x63')][_0x1df3('0x64')]({'uniqueid':_0x6e5f09[_0x1df3('0x4a')]['id']});}else{_0x46e40e[_0x1df3('0x63')]['push']({'id':_0x6e5f09[_0x1df3('0x4a')]['id']});}return db['VoiceRecording'][_0x1df3('0x4d')]({'where':_0x46e40e,'attributes':['id',_0x1df3('0x52')],'raw':!![]})[_0x1df3('0x27')](handleEntityNotFound(_0xf9a2a5,null))[_0x1df3('0x27')](function(_0x1f424a){if(_0x1f424a){var _0x24b0a6=util['format'](_0x1df3('0x65'),_0x1f424a[_0x1df3('0x52')]);if(fs['existsSync'](_0x24b0a6)){_0x15ed09=!![];return _0x579eb1[_0x1df3('0x53')](_0x24b0a6,_0x1f424a['value'],config[_0x1df3('0x54')]['recording'])[_0x1df3('0x27')](function(){return _0x1f424a;});}return _0x1f424a;}})[_0x1df3('0x27')](function(_0x574e46){if(_0x574e46){if(!fs[_0x1df3('0x56')](_0x574e46['value'])){throw new db[(_0x1df3('0x57'))]['ValidationError'](_0x1df3('0x59'));}if(_0x574e46[_0x1df3('0x66')]){return _0xf9a2a5[_0x1df3('0x5a')](_0x574e46['value'],_0x574e46[_0x1df3('0x66')]+path[_0x1df3('0x5b')](_0x574e46[_0x1df3('0x52')]),function(){if(_0x15ed09){fs[_0x1df3('0x5c')](_0x574e46[_0x1df3('0x52')]);}});}else{return _0xf9a2a5[_0x1df3('0x5a')](_0x574e46[_0x1df3('0x52')],function(_0x23385c){if(_0x15ed09){fs[_0x1df3('0x5c')](_0x574e46[_0x1df3('0x52')]);}});}}})[_0x1df3('0x48')](handleError(_0xf9a2a5,null));};exports[_0x1df3('0x67')]=function(_0x47ffb4,_0x1b96ab){return db[_0x1df3('0x45')][_0x1df3('0x4d')]({'where':{'id':_0x47ffb4[_0x1df3('0x4a')]['id']}})[_0x1df3('0x27')](function(_0x1fdd1a){if(!_0x1fdd1a)throw new ReferenceError(_0x1df3('0x68'));return _0x1fdd1a;})[_0x1df3('0x27')](function(_0x498dbe){var _0x267367=_0x498dbe[_0x1df3('0x52')];logger[_0x1df3('0x69')](_0x1df3('0x6a'),_0x267367);if(!_[_0x1df3('0x6b')](_0x498dbe[_0x1df3('0x52')])&&fs[_0x1df3('0x56')](_0x267367)){logger[_0x1df3('0x69')](_0x1df3('0x6c')+_0x267367+_0x1df3('0x6d'));fs[_0x1df3('0x6e')](_0x267367);}_0x267367=_0x267367+_0x1df3('0x6f');if(!_[_0x1df3('0x6b')](_0x498dbe[_0x1df3('0x52')])&&fs[_0x1df3('0x56')](_0x267367)){logger['info'](_0x1df3('0x6c')+_0x267367+'\x22\x20trovato\x20eseguo\x20la\x20cancellazione');fs[_0x1df3('0x6e')](_0x267367);}return _0x498dbe;})[_0x1df3('0x27')](function(_0x3f02b7){if(!_0x3f02b7)throw new InternalError();return _0x3f02b7['destroy']();})[_0x1df3('0x27')](function(){_0x1b96ab[_0x1df3('0x1c')](0xcc)[_0x1df3('0x28')]();})[_0x1df3('0x48')](handleError(_0x1b96ab,null));};function getBucketslist(_0x3d2d9e,_0x41504c,_0x1e03cb){return new Promise(function(_0x499dc9,_0x545875){var _0x40e436=new AWS['S3']({'accessKeyId':_0x41504c,'secretAccessKey':_0x3d2d9e,'region':_0x1e03cb});_0x40e436[_0x1df3('0x70')]({},function(_0x51ef4c,_0x2f0002){if(_0x51ef4c){return _0x545875(_0x51ef4c);}else{return _0x499dc9(_0x2f0002);}});});}function createBucket(_0x4d36b9,_0x1023ce,_0xbd2bd3,_0x1d276d){return new Promise(function(_0x2cd41f,_0x117bdd){var _0x490b34=new AWS['S3']({'accessKeyId':_0x1023ce,'secretAccessKey':_0x4d36b9,'region':_0xbd2bd3});_0x490b34[_0x1df3('0x71')]({'Bucket':_0x1d276d},function(_0x3f9bde,_0x21d33a){if(_0x3f9bde){return _0x117bdd(_0x3f9bde);}else{return _0x2cd41f(_0x21d33a);}});});}function uploadFile(_0x4965d0,_0x3373eb,_0xe10719,_0x3e7532,_0x1673d8,_0x327b60){return new Promise(function(_0x4b4136,_0x3f875e){var _0x3b9a3d=new AWS['S3']({'accessKeyId':_0x3373eb,'secretAccessKey':_0x4965d0,'region':_0xe10719});_0x3b9a3d[_0x1df3('0x72')]({'Bucket':_0x3e7532,'Key':_0x1673d8,'Body':_0x327b60},function(_0x22410b,_0x51dc90){if(_0x22410b){return _0x3f875e(_0x22410b);}else{return _0x4b4136(_0x51dc90);}});});}function startTranscribe(_0x560950,_0x50abb7,_0x463854,_0x5bf2c8,_0x3672da,_0x32236b){return new Promise(function(_0x959272,_0x110510){var _0x356ab2=new AWS[(_0x1df3('0x73'))]({'accessKeyId':_0x50abb7,'secretAccessKey':_0x560950,'region':_0x463854});_0x356ab2['startTranscriptionJob']({'TranscriptionJobName':_0x5bf2c8,'LanguageCode':_0x3672da,'Media':{'MediaFileUri':_0x32236b}},function(_0x58f76a,_0x5b0211){if(_0x58f76a){return _0x110510(_0x58f76a);}else{return _0x959272(_0x5b0211);}});});}function transcribe(_0x2872ee,_0xaa4e2d,_0x56f5ba,_0x54359f,_0x479ddb,_0x2b7218,_0x2515ef){return new Promise(function(_0x3e1d78,_0x4d151d){var _0xb85f92={};logger[_0x1df3('0x69')](util[_0x1df3('0x32')](_0x1df3('0x74'),_0x2872ee,_0x479ddb));return uploadFile(_0xaa4e2d,_0x56f5ba,_0x54359f,_0x479ddb,path[_0x1df3('0x75')](_0x2b7218),fs[_0x1df3('0x76')](_0x2b7218))[_0x1df3('0x27')](function(_0x10038a){logger[_0x1df3('0x69')](util[_0x1df3('0x32')](_0x1df3('0x77'),_0x2872ee,_0x479ddb,_0x10038a[_0x1df3('0x78')]));_0xb85f92[_0x1df3('0x79')]=_0x10038a['Bucket'];_0xb85f92[_0x1df3('0x7a')]=_0x10038a[_0x1df3('0x78')];logger[_0x1df3('0x69')](util[_0x1df3('0x32')](_0x1df3('0x7b'),_0x2872ee));return startTranscribe(_0xaa4e2d,_0x56f5ba,_0x54359f,uuidv4(),_0x2515ef,_0x10038a[_0x1df3('0x78')]);})['then'](function(_0x9aa118){logger['info'](util['format'](_0x1df3('0x7c'),_0x2872ee,_0x9aa118['TranscriptionJob'][_0x1df3('0x7d')]));_0xb85f92[_0x1df3('0x7e')]=_0x9aa118[_0x1df3('0x7f')][_0x1df3('0x7d')];_0xb85f92['transcribeStatus']=_0x9aa118[_0x1df3('0x7f')][_0x1df3('0x80')];return _0x3e1d78(_0xb85f92);})[_0x1df3('0x48')](function(_0x270d9f){return _0x4d151d(_0x270d9f);});});}exports[_0x1df3('0x81')]=function(_0x2ef7f5,_0x44e722,_0x2a6dc8){var _0x582216;var _0x48e576;var _0x592b58;var _0x301b13=require(_0x1df3('0x4f'));return db['VoiceRecording'][_0x1df3('0x82')]({'where':{'id':_0x2ef7f5[_0x1df3('0x4a')]['id']}})[_0x1df3('0x27')](function(_0x43a106){if(_0x43a106){var _0xe35435=util[_0x1df3('0x32')]('%s.cypher',_0x43a106['value']);if(fs[_0x1df3('0x56')](_0xe35435)){cypher=!![];return _0x301b13[_0x1df3('0x53')](_0xe35435,_0x43a106[_0x1df3('0x52')],config[_0x1df3('0x54')][_0x1df3('0x55')])[_0x1df3('0x27')](function(){return _0x43a106;});}return _0x43a106;}})['then'](function(_0x4aba87){if(!_0x4aba87){throw new db[(_0x1df3('0x57'))]['ValidationError'](_0x1df3('0x83'));}_0x48e576=_0x4aba87;return db[_0x1df3('0x84')][_0x1df3('0x82')]({'where':{'id':0x1}});})[_0x1df3('0x27')](handleEntityNotFound(_0x44e722,null))[_0x1df3('0x27')](function(_0x353954){if(_0x353954){_0x582216=_0x353954;if(!_0x582216[_0x1df3('0x85')]||!_0x582216[_0x1df3('0x86')]||!_0x582216[_0x1df3('0x87')]||!_0x582216[_0x1df3('0x88')]||!_0x582216[_0x1df3('0x79')]){throw new db[(_0x1df3('0x57'))][(_0x1df3('0x58'))](_0x1df3('0x89'));}if(_0x2ef7f5[_0x1df3('0x4c')][_0x1df3('0x8a')]&&(!_0x582216['sentiment']||!_0x582216[_0x1df3('0x8b')]||!_0x582216[_0x1df3('0x8c')]||!_0x582216[_0x1df3('0x88')]||!_0x582216['bucket'])){throw new db[(_0x1df3('0x57'))][(_0x1df3('0x58'))](_0x1df3('0x8d'));}return db[_0x1df3('0x8e')]['findOne']({'where':{'id':_0x582216[_0x1df3('0x86')]}});}})[_0x1df3('0x27')](function(_0x5b4225){if(!_0x5b4225){throw new db[(_0x1df3('0x57'))][(_0x1df3('0x58'))](_0x1df3('0x8f'));}if(!_0x5b4225[_0x1df3('0x90')]||!_0x5b4225['data2']){throw new db[(_0x1df3('0x57'))][(_0x1df3('0x58'))](_0x1df3('0x91'));}_0x592b58=_0x5b4225;return getBucketslist(_0x592b58['data1'],_0x592b58[_0x1df3('0x92')],_0x582216['transcribeRegion']);})[_0x1df3('0x27')](function(_0x2ba3e0){if(_0x2ba3e0&&_0x2ba3e0[_0x1df3('0x93')]){var _0x1b18dd=_[_0x1df3('0x4d')](_0x2ba3e0['Buckets'],function(_0x310399){return _0x310399[_0x1df3('0x94')]===_0x582216[_0x1df3('0x79')];});if(!_0x1b18dd){logger['info'](util[_0x1df3('0x32')](_0x1df3('0x95'),_0x2ef7f5['params']['id'],_0x582216[_0x1df3('0x79')]));return createBucket(_0x592b58['data1'],_0x592b58[_0x1df3('0x92')],_0x582216['transcribeRegion'],_0x582216[_0x1df3('0x79')]);}logger['info'](util[_0x1df3('0x32')](_0x1df3('0x96'),_0x2ef7f5[_0x1df3('0x4a')]['id'],_0x582216[_0x1df3('0x79')]));return;}})[_0x1df3('0x27')](function(_0x4113bb){if(_0x48e576[_0x1df3('0x97')]===_0x1df3('0x98')){return transcribe(_0x2ef7f5[_0x1df3('0x4a')]['id'],_0x592b58[_0x1df3('0x90')],_0x592b58[_0x1df3('0x92')],_0x582216['transcribeRegion'],_0x582216[_0x1df3('0x79')],_0x48e576[_0x1df3('0x52')],_0x582216[_0x1df3('0x88')]);}else{logger[_0x1df3('0x69')](util[_0x1df3('0x32')]('[RUNTRANSCRIPT][%d]\x20Transcript\x20action\x20already\x20requested',_0x2ef7f5[_0x1df3('0x4a')]['id']));return{'transcribeStatus':_0x1df3('0x99')};}})[_0x1df3('0x27')](function(_0x31236c){if(_0x31236c){_0x31236c[_0x1df3('0x9a')]=_0x2ef7f5[_0x1df3('0x4c')]['runSentiment'];return _0x48e576['updateAttributes'](_0x31236c);}})[_0x1df3('0x27')](respondWithResult(_0x44e722,null))['catch'](handleError(_0x44e722,null));};function writeFile(_0x33a3d9,_0xb212a9){return new Promise(function(_0x16e748,_0x4ad2b4){fs['writeFile'](_0xb212a9,_0x33a3d9,function(_0x192277,_0x40ea73){if(_0x192277){return _0x4ad2b4(_0x192277);}else{return _0x16e748(_0x40ea73);}});});}exports[_0x1df3('0x9b')]=function(_0x2a6c64,_0x26944c,_0x144c00){return db[_0x1df3('0x45')][_0x1df3('0x82')]({'where':{'id':_0x2a6c64[_0x1df3('0x4a')]['id']}})[_0x1df3('0x27')](handleEntityNotFound(_0x26944c))[_0x1df3('0x27')](function(_0x298d9c){if(_0x298d9c&&_0x298d9c['fileText']){var _0x1cbca0=_0x298d9c[_0x1df3('0x9c')];var _0x12f41d=config[_0x1df3('0x9d')]+_0x1df3('0x9e')+_0x298d9c['id']+_0x1df3('0x9f');if(fs[_0x1df3('0x56')](_0x12f41d)){return _0x12f41d;}return writeFile(_0x1cbca0,_0x12f41d)[_0x1df3('0x27')](function(){return _0x12f41d;});}else{throw new db[(_0x1df3('0x57'))]['ValidationError']('Transcript\x20not\x20available');}})['then'](function(_0x19ebbe){return _0x26944c[_0x1df3('0x5a')](_0x19ebbe);})['catch'](handleError(_0x26944c));};