f6437dbb1c2603f7eff02dbabb2c57e10c7e529e
[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 _0x0a80=['params','fields','find','create','body','describe','../../components/encryptor','uniqueid','value','format','%s.cypher','existsSync','decryptFile','Sequelize','filename','extname','unlink','download','message','Not\x20found','downloads','sequelize','MD5','$and','secrets','recording','ValidationError','VoiceRecording\x20not\x20found','destroy','isNil','info','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','.cypher','createBucket','upload','TranscribeService','[RUNTRANSCRIPT][%d]\x20Starting\x20voice\x20recording\x20upload\x20in\x20bucket\x20%s','basename','Location','bucket','Bucket','location','[RUNTRANSCRIPT][%d]\x20Sending\x20transcribe\x20request','[RUNTRANSCRIPT][%d]\x20Transcription\x20job\x20%s\x20created','TranscriptionJob','TranscriptionJobName','transcribeName','transcribeStatus','TranscriptionJobStatus','findOne','Voice\x20Recording\x20not\x20found','Setting','transcribe','transcribeAccountId','transcribeRegion','language','runSentiment','sentiment','sentimentAccountId','sentimentRegion','Sentiment\x20Analysis\x20not\x20configured','Cloud\x20Provider\x20not\x20available','data1','data2','Buckets','[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20not\x20available','[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20available','NEW','[RUNTRANSCRIPT][%d]\x20Transcript\x20action\x20already\x20requested','tempSentiment','updateAttributes','writeFile','fileText','root','/server/files/transcribes/transcribe_','.txt','html-pdf','eml-format','rimraf','zip-dir','request-promise','moment','mustache','util','path','sox','to-csv','ejs','lodash','squel','desk.js','querystring','papaparse','aws-sdk','uuid/v4','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','api','../../config/utils','../../mysqldb','status','end','json','offset','limit','set','Content-Range','apply','update','then','sendStatus','error','stack','name','send','index','map','fieldName','type','model','differenceBy','query','keys','intersection','attributes','hasOwnProperty','order','sort','where','pick','filters','filter','merge','options','VoiceRecording','count','includeAll','include','findAll','rows','catch'];(function(_0x48c79b,_0xd6638a){var _0x3b4538=function(_0x1734a1){while(--_0x1734a1){_0x48c79b['push'](_0x48c79b['shift']());}};_0x3b4538(++_0xd6638a);}(_0x0a80,0xdf));var _0x00a8=function(_0x4a0c28,_0x558479){_0x4a0c28=_0x4a0c28-0x0;var _0x27aead=_0x0a80[_0x4a0c28];return _0x27aead;};'use strict';var pdf=require(_0x00a8('0x0'));var emlformat=require(_0x00a8('0x1'));var rimraf=require(_0x00a8('0x2'));var zipdir=require(_0x00a8('0x3'));var jsonpatch=require('fast-json-patch');var rp=require(_0x00a8('0x4'));var moment=require(_0x00a8('0x5'));var BPromise=require('bluebird');var Mustache=require(_0x00a8('0x6'));var util=require(_0x00a8('0x7'));var path=require(_0x00a8('0x8'));var sox=require(_0x00a8('0x9'));var csv=require(_0x00a8('0xa'));var ejs=require(_0x00a8('0xb'));var fs=require('fs');var _=require(_0x00a8('0xc'));var squel=require(_0x00a8('0xd'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x00a8('0xe'));var toCsv=require(_0x00a8('0xa'));var querystring=require(_0x00a8('0xf'));var Papa=require(_0x00a8('0x10'));var AWS=require(_0x00a8('0x11'));var uuidv4=require(_0x00a8('0x12'));var Redis=require(_0x00a8('0x13'));var authService=require(_0x00a8('0x14'));var qs=require(_0x00a8('0x15'));var as=require(_0x00a8('0x16'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x00a8('0x17'));var utils=require(_0x00a8('0x18'));var config=require('../../config/environment');var db=require(_0x00a8('0x19'))['db'];function respondWithStatusCode(_0x56fcbd,_0x511db0){_0x511db0=_0x511db0||0xcc;return function(_0x560f50){if(_0x560f50){return _0x56fcbd['sendStatus'](_0x511db0);}return _0x56fcbd[_0x00a8('0x1a')](_0x511db0)[_0x00a8('0x1b')]();};}function respondWithResult(_0x2eab76,_0x27b37b){_0x27b37b=_0x27b37b||0xc8;return function(_0x553917){if(_0x553917){return _0x2eab76[_0x00a8('0x1a')](_0x27b37b)[_0x00a8('0x1c')](_0x553917);}};}function respondWithFilteredResult(_0x50f43b,_0x2ff810){return function(_0x3ca09e){if(_0x3ca09e){var _0x253c54=_0x3ca09e['count'],_0x5ed9a0=_0x2ff810[_0x00a8('0x1d')],_0x191be5=_0x2ff810['offset']+_0x2ff810[_0x00a8('0x1e')],_0x501e77;if(_0x191be5>=_0x253c54){_0x191be5=_0x253c54;_0x501e77=0xc8;}else{_0x501e77=0xce;}_0x50f43b[_0x00a8('0x1a')](_0x501e77);return _0x50f43b[_0x00a8('0x1f')](_0x00a8('0x20'),_0x5ed9a0+'-'+_0x191be5+'/'+_0x253c54)[_0x00a8('0x1c')](_0x3ca09e);}return null;};}function patchUpdates(_0x210d12){return function(_0x34a2b7){try{jsonpatch[_0x00a8('0x21')](_0x34a2b7,_0x210d12,!![]);}catch(_0x1ad683){return BPromise['reject'](_0x1ad683);}return _0x34a2b7['save']();};}function saveUpdates(_0x561553,_0x35c790){return function(_0x3c778b){if(_0x3c778b){return _0x3c778b[_0x00a8('0x22')](_0x561553)[_0x00a8('0x23')](function(_0x3125d1){return _0x3125d1;});}return null;};}function removeEntity(_0x1eab6d,_0x3e923e){return function(_0x51a8ae){if(_0x51a8ae){return _0x51a8ae['destroy']()[_0x00a8('0x23')](function(){_0x1eab6d[_0x00a8('0x1a')](0xcc)[_0x00a8('0x1b')]();});}};}function handleEntityNotFound(_0x2d977b,_0x2590ac){return function(_0x3253b7){if(!_0x3253b7){_0x2d977b[_0x00a8('0x24')](0x194);}return _0x3253b7;};}function handleError(_0x24e5bf,_0x2b9a04){_0x2b9a04=_0x2b9a04||0x1f4;return function(_0x3d6390){logger[_0x00a8('0x25')](_0x3d6390[_0x00a8('0x26')]);if(_0x3d6390[_0x00a8('0x27')]){delete _0x3d6390['name'];}_0x24e5bf[_0x00a8('0x1a')](_0x2b9a04)[_0x00a8('0x28')](_0x3d6390);};}exports[_0x00a8('0x29')]=function(_0x1b5650,_0x464a7e){var _0x1258a4={},_0x2cb4fa={},_0x24f299={'count':0x0,'rows':[]};var _0x2fabd8=_[_0x00a8('0x2a')](db['VoiceRecording']['rawAttributes'],function(_0x4acc36){return{'name':_0x4acc36[_0x00a8('0x2b')],'type':_0x4acc36[_0x00a8('0x2c')]['key']};});_0x2cb4fa[_0x00a8('0x2d')]=_[_0x00a8('0x2e')](_[_0x00a8('0x2a')](_0x2fabd8,_0x00a8('0x27')),['format']);_0x2cb4fa[_0x00a8('0x2f')]=_[_0x00a8('0x30')](_0x1b5650[_0x00a8('0x2f')]);_0x2cb4fa['filters']=_[_0x00a8('0x31')](_0x2cb4fa['model'],_0x2cb4fa[_0x00a8('0x2f')]);_0x1258a4[_0x00a8('0x32')]=_[_0x00a8('0x31')](_0x2cb4fa[_0x00a8('0x2d')],qs['fields'](_0x1b5650[_0x00a8('0x2f')]['fields']));_0x1258a4[_0x00a8('0x32')]=_0x1258a4['attributes']['length']?_0x1258a4[_0x00a8('0x32')]:_0x2cb4fa[_0x00a8('0x2d')];if(!_0x1b5650[_0x00a8('0x2f')][_0x00a8('0x33')]('nolimit')){_0x1258a4[_0x00a8('0x1e')]=qs['limit'](_0x1b5650[_0x00a8('0x2f')]['limit']);_0x1258a4[_0x00a8('0x1d')]=qs['offset'](_0x1b5650[_0x00a8('0x2f')][_0x00a8('0x1d')]);}_0x1258a4[_0x00a8('0x34')]=qs[_0x00a8('0x35')](_0x1b5650['query'][_0x00a8('0x35')]);_0x1258a4[_0x00a8('0x36')]=qs['filters'](_[_0x00a8('0x37')](_0x1b5650[_0x00a8('0x2f')],_0x2cb4fa[_0x00a8('0x38')]),_0x2fabd8);if(_0x1b5650[_0x00a8('0x2f')][_0x00a8('0x39')]){_0x1258a4['where']=_['merge'](_0x1258a4['where'],{'$or':_['map'](_0x2fabd8,function(_0x409029){if(_0x409029[_0x00a8('0x2c')]!=='VIRTUAL'){var _0x28bce0={};_0x28bce0[_0x409029['name']]={'$like':'%'+_0x1b5650['query'][_0x00a8('0x39')]+'%'};return _0x28bce0;}})});}_0x1258a4=_[_0x00a8('0x3a')]({},_0x1258a4,_0x1b5650[_0x00a8('0x3b')]);var _0x364e50={'where':_0x1258a4[_0x00a8('0x36')]};return db[_0x00a8('0x3c')][_0x00a8('0x3d')](_0x364e50)[_0x00a8('0x23')](function(_0x19f03c){_0x24f299[_0x00a8('0x3d')]=_0x19f03c;if(_0x1b5650[_0x00a8('0x2f')][_0x00a8('0x3e')]){_0x1258a4[_0x00a8('0x3f')]=[{'all':!![]}];}return db['VoiceRecording'][_0x00a8('0x40')](_0x1258a4);})[_0x00a8('0x23')](function(_0x43512c){_0x24f299[_0x00a8('0x41')]=_0x43512c;return _0x24f299;})['then'](respondWithFilteredResult(_0x464a7e,_0x1258a4))[_0x00a8('0x42')](handleError(_0x464a7e,null));};exports['show']=function(_0x57159b,_0x47ff7a){var _0x32de7b={'raw':![],'where':{'id':_0x57159b[_0x00a8('0x43')]['id']}},_0x505a43={};_0x505a43[_0x00a8('0x2d')]=_['keys'](db['VoiceRecording']['rawAttributes']);_0x505a43[_0x00a8('0x2f')]=_[_0x00a8('0x30')](_0x57159b[_0x00a8('0x2f')]);_0x505a43['filters']=_[_0x00a8('0x31')](_0x505a43[_0x00a8('0x2d')],_0x505a43[_0x00a8('0x2f')]);_0x32de7b[_0x00a8('0x32')]=_['intersection'](_0x505a43[_0x00a8('0x2d')],qs[_0x00a8('0x44')](_0x57159b[_0x00a8('0x2f')][_0x00a8('0x44')]));_0x32de7b[_0x00a8('0x32')]=_0x32de7b[_0x00a8('0x32')]['length']?_0x32de7b[_0x00a8('0x32')]:_0x505a43[_0x00a8('0x2d')];if(_0x57159b[_0x00a8('0x2f')][_0x00a8('0x3e')]){_0x32de7b['include']=[{'all':!![]}];}_0x32de7b=_['merge']({},_0x32de7b,_0x57159b[_0x00a8('0x3b')]);return db[_0x00a8('0x3c')][_0x00a8('0x45')](_0x32de7b)[_0x00a8('0x23')](handleEntityNotFound(_0x47ff7a,null))[_0x00a8('0x23')](respondWithResult(_0x47ff7a,null))[_0x00a8('0x42')](handleError(_0x47ff7a,null));};exports[_0x00a8('0x46')]=function(_0x4f7e7f,_0x193ee1){return db[_0x00a8('0x3c')][_0x00a8('0x46')](_0x4f7e7f['body'],{})[_0x00a8('0x23')](respondWithResult(_0x193ee1,0xc9))[_0x00a8('0x42')](handleError(_0x193ee1,null));};exports[_0x00a8('0x22')]=function(_0x3b41fd,_0xc795a7){if(_0x3b41fd[_0x00a8('0x47')]['id']){delete _0x3b41fd[_0x00a8('0x47')]['id'];}return db[_0x00a8('0x3c')][_0x00a8('0x45')]({'where':{'id':_0x3b41fd[_0x00a8('0x43')]['id']}})[_0x00a8('0x23')](handleEntityNotFound(_0xc795a7,null))[_0x00a8('0x23')](saveUpdates(_0x3b41fd[_0x00a8('0x47')],null))[_0x00a8('0x23')](respondWithResult(_0xc795a7,null))[_0x00a8('0x42')](handleError(_0xc795a7,null));};exports[_0x00a8('0x48')]=function(_0x9229d3,_0x122e55){return db[_0x00a8('0x3c')][_0x00a8('0x48')]()[_0x00a8('0x23')](respondWithResult(_0x122e55,null))[_0x00a8('0x42')](handleError(_0x122e55,null));};exports['download']=function(_0x3dd26f,_0x4b7d25,_0x19c063){var _0x1ef8f7=require(_0x00a8('0x49'));var _0x154233=![];var _0x356954={};if(_0x3dd26f[_0x00a8('0x2f')][_0x00a8('0x2c')]&&_0x3dd26f['query'][_0x00a8('0x2c')]==='uniqueid'){_0x356954[_0x00a8('0x4a')]=_0x3dd26f[_0x00a8('0x43')]['id'];}else{_0x356954['id']=_0x3dd26f[_0x00a8('0x43')]['id'];}return db[_0x00a8('0x3c')][_0x00a8('0x45')]({'where':_0x356954,'attributes':['id','value'],'raw':!![]})[_0x00a8('0x23')](handleEntityNotFound(_0x4b7d25,null))[_0x00a8('0x23')](function(_0x24bcbe){if(_0x24bcbe){var _0x19d148=_0x24bcbe[_0x00a8('0x4b')];var _0x18bc5d=util[_0x00a8('0x4c')](_0x00a8('0x4d'),_0x19d148);if(fs[_0x00a8('0x4e')](_0x18bc5d)){_0x154233=!![];return _0x1ef8f7[_0x00a8('0x4f')](_0x18bc5d,_0x19d148,config['secrets']['recording'])[_0x00a8('0x23')](function(){return _0x24bcbe;});}return _0x24bcbe;}})[_0x00a8('0x23')](function(_0x11ffa9){if(_0x11ffa9){var _0x1c7b02=_0x11ffa9[_0x00a8('0x4b')];if(!fs[_0x00a8('0x4e')](_0x1c7b02)){throw new db[(_0x00a8('0x50'))]['ValidationError']('VoiceRecording\x20not\x20found');}if(_0x11ffa9[_0x00a8('0x51')]){return _0x4b7d25['download'](_0x1c7b02,_0x11ffa9[_0x00a8('0x51')]+path[_0x00a8('0x52')](_0x1c7b02),function(){if(_0x154233){fs[_0x00a8('0x53')](_0x1c7b02);}});}else{return _0x4b7d25[_0x00a8('0x54')](_0x1c7b02,function(_0xc2cf9b){if(_0x154233){fs[_0x00a8('0x53')](_0x1c7b02);}});}}})[_0x00a8('0x42')](function(_0xcc7f00){if(_0xcc7f00[_0x00a8('0x55')]==='VoiceRecording\x20not\x20found'){_0x4b7d25[_0x00a8('0x1a')](0x194)[_0x00a8('0x28')](_0x00a8('0x56'));}else{return handleError(_0x4b7d25,null);}});};exports[_0x00a8('0x57')]=function(_0x2d1d97,_0xf96658,_0x58ce7f){var _0xfb9169=require(_0x00a8('0x49'));var _0x432e09=![];var _0x33c1d3={'$and':[db[_0x00a8('0x58')][_0x00a8('0x36')](db[_0x00a8('0x58')]['fn'](_0x00a8('0x59'),db[_0x00a8('0x58')]['col']('uniqueid')),_0x2d1d97['query']['token'])]};if(_0x2d1d97[_0x00a8('0x2f')]['type']&&_0x2d1d97[_0x00a8('0x2f')]['type']===_0x00a8('0x4a')){_0x33c1d3[_0x00a8('0x5a')]['push']({'uniqueid':_0x2d1d97['params']['id']});}else{_0x33c1d3[_0x00a8('0x5a')]['push']({'id':_0x2d1d97[_0x00a8('0x43')]['id']});}return db[_0x00a8('0x3c')][_0x00a8('0x45')]({'where':_0x33c1d3,'attributes':['id',_0x00a8('0x4b')],'raw':!![]})[_0x00a8('0x23')](handleEntityNotFound(_0xf96658,null))['then'](function(_0x33eb9a){if(_0x33eb9a){var _0x560154=util[_0x00a8('0x4c')](_0x00a8('0x4d'),_0x33eb9a[_0x00a8('0x4b')]);if(fs[_0x00a8('0x4e')](_0x560154)){_0x432e09=!![];return _0xfb9169['decryptFile'](_0x560154,_0x33eb9a['value'],config[_0x00a8('0x5b')][_0x00a8('0x5c')])['then'](function(){return _0x33eb9a;});}return _0x33eb9a;}})[_0x00a8('0x23')](function(_0x812bb8){if(_0x812bb8){if(!fs[_0x00a8('0x4e')](_0x812bb8[_0x00a8('0x4b')])){throw new db[(_0x00a8('0x50'))][(_0x00a8('0x5d'))](_0x00a8('0x5e'));}if(_0x812bb8['filename']){return _0xf96658[_0x00a8('0x54')](_0x812bb8[_0x00a8('0x4b')],_0x812bb8[_0x00a8('0x51')]+path['extname'](_0x812bb8['value']),function(){if(_0x432e09){fs[_0x00a8('0x53')](_0x812bb8[_0x00a8('0x4b')]);}});}else{return _0xf96658[_0x00a8('0x54')](_0x812bb8[_0x00a8('0x4b')],function(_0x374ffd){if(_0x432e09){fs[_0x00a8('0x53')](_0x812bb8[_0x00a8('0x4b')]);}});}}})[_0x00a8('0x42')](handleError(_0xf96658,null));};exports[_0x00a8('0x5f')]=function(_0x213c93,_0xbc8ed9){return db['VoiceRecording'][_0x00a8('0x45')]({'where':{'id':_0x213c93[_0x00a8('0x43')]['id']}})[_0x00a8('0x23')](function(_0x381120){if(!_0x381120)throw new ReferenceError('Entity\x20not\x20found');return _0x381120;})[_0x00a8('0x23')](function(_0x518646){var _0x14e90a=_0x518646[_0x00a8('0x4b')];logger['info']('cancellazione\x20fisica\x20documento\x20%s',_0x14e90a);if(!_[_0x00a8('0x60')](_0x518646[_0x00a8('0x4b')])&&fs[_0x00a8('0x4e')](_0x14e90a)){logger[_0x00a8('0x61')](_0x00a8('0x62')+_0x14e90a+_0x00a8('0x63'));fs[_0x00a8('0x64')](_0x14e90a);}_0x14e90a=_0x14e90a+_0x00a8('0x65');if(!_[_0x00a8('0x60')](_0x518646[_0x00a8('0x4b')])&&fs[_0x00a8('0x4e')](_0x14e90a)){logger['info'](_0x00a8('0x62')+_0x14e90a+_0x00a8('0x63'));fs[_0x00a8('0x64')](_0x14e90a);}return _0x518646;})['then'](function(_0xa48f80){if(!_0xa48f80)throw new InternalError();return _0xa48f80[_0x00a8('0x5f')]();})[_0x00a8('0x23')](function(){_0xbc8ed9[_0x00a8('0x1a')](0xcc)['end']();})[_0x00a8('0x42')](handleError(_0xbc8ed9,null));};function getBucketslist(_0x511f8b,_0x87596f,_0x29ebe5){return new Promise(function(_0x3923e3,_0x543684){var _0x5ea0fd=new AWS['S3']({'accessKeyId':_0x87596f,'secretAccessKey':_0x511f8b,'region':_0x29ebe5});_0x5ea0fd['listBuckets']({},function(_0x565985,_0x396db3){if(_0x565985){return _0x543684(_0x565985);}else{return _0x3923e3(_0x396db3);}});});}function createBucket(_0x482263,_0x50f4e3,_0x102159,_0x1861a3){return new Promise(function(_0x5e330f,_0x127569){var _0x1a7121=new AWS['S3']({'accessKeyId':_0x50f4e3,'secretAccessKey':_0x482263,'region':_0x102159});_0x1a7121[_0x00a8('0x66')]({'Bucket':_0x1861a3},function(_0x4aeaf7,_0x2271b1){if(_0x4aeaf7){return _0x127569(_0x4aeaf7);}else{return _0x5e330f(_0x2271b1);}});});}function uploadFile(_0x4a5b27,_0x461a03,_0xbce02b,_0x32071c,_0x2e37fd,_0x504ebc){return new Promise(function(_0x1f71f1,_0x36ed75){var _0x31e69c=new AWS['S3']({'accessKeyId':_0x461a03,'secretAccessKey':_0x4a5b27,'region':_0xbce02b});_0x31e69c[_0x00a8('0x67')]({'Bucket':_0x32071c,'Key':_0x2e37fd,'Body':_0x504ebc},function(_0x2b4e30,_0x47e880){if(_0x2b4e30){return _0x36ed75(_0x2b4e30);}else{return _0x1f71f1(_0x47e880);}});});}function startTranscribe(_0x4a0ef7,_0x4bc003,_0x134fca,_0x21099f,_0x14a9c1,_0x38ee54){return new Promise(function(_0x188ef7,_0x29ba9d){var _0x284359=new AWS[(_0x00a8('0x68'))]({'accessKeyId':_0x4bc003,'secretAccessKey':_0x4a0ef7,'region':_0x134fca});_0x284359['startTranscriptionJob']({'TranscriptionJobName':_0x21099f,'LanguageCode':_0x14a9c1,'Media':{'MediaFileUri':_0x38ee54}},function(_0x1bcb08,_0x2ec090){if(_0x1bcb08){return _0x29ba9d(_0x1bcb08);}else{return _0x188ef7(_0x2ec090);}});});}function transcribe(_0x353902,_0x44ab61,_0x2088ea,_0x68203a,_0x1d0fcc,_0x4e67cc,_0x1a0e1c){return new Promise(function(_0x47e5e3,_0x281d54){var _0x57ca4a={};logger[_0x00a8('0x61')](util[_0x00a8('0x4c')](_0x00a8('0x69'),_0x353902,_0x1d0fcc));return uploadFile(_0x44ab61,_0x2088ea,_0x68203a,_0x1d0fcc,path[_0x00a8('0x6a')](_0x4e67cc),fs['readFileSync'](_0x4e67cc))[_0x00a8('0x23')](function(_0x185369){logger[_0x00a8('0x61')](util['format']('[RUNTRANSCRIPT][%d]\x20Voice\x20recording\x20uploaded\x20in\x20bucket\x20%s\x20(%s)',_0x353902,_0x1d0fcc,_0x185369[_0x00a8('0x6b')]));_0x57ca4a[_0x00a8('0x6c')]=_0x185369[_0x00a8('0x6d')];_0x57ca4a[_0x00a8('0x6e')]=_0x185369[_0x00a8('0x6b')];logger[_0x00a8('0x61')](util[_0x00a8('0x4c')](_0x00a8('0x6f'),_0x353902));return startTranscribe(_0x44ab61,_0x2088ea,_0x68203a,uuidv4(),_0x1a0e1c,_0x185369['Location']);})[_0x00a8('0x23')](function(_0x20d045){logger[_0x00a8('0x61')](util[_0x00a8('0x4c')](_0x00a8('0x70'),_0x353902,_0x20d045[_0x00a8('0x71')][_0x00a8('0x72')]));_0x57ca4a[_0x00a8('0x73')]=_0x20d045[_0x00a8('0x71')][_0x00a8('0x72')];_0x57ca4a[_0x00a8('0x74')]=_0x20d045[_0x00a8('0x71')][_0x00a8('0x75')];return _0x47e5e3(_0x57ca4a);})[_0x00a8('0x42')](function(_0x3b4311){return _0x281d54(_0x3b4311);});});}exports['runTranscribe']=function(_0x11b555,_0x5069b2,_0x36bd0e){var _0x1995eb;var _0x579392;var _0x895ab4;var _0x189082=require(_0x00a8('0x49'));return db['VoiceRecording'][_0x00a8('0x76')]({'where':{'id':_0x11b555['params']['id']}})[_0x00a8('0x23')](function(_0x323ca3){if(_0x323ca3){var _0x56f70d=util['format'](_0x00a8('0x4d'),_0x323ca3[_0x00a8('0x4b')]);if(fs[_0x00a8('0x4e')](_0x56f70d)){cypher=!![];return _0x189082[_0x00a8('0x4f')](_0x56f70d,_0x323ca3[_0x00a8('0x4b')],config[_0x00a8('0x5b')]['recording'])['then'](function(){return _0x323ca3;});}return _0x323ca3;}})[_0x00a8('0x23')](function(_0x5be782){if(!_0x5be782){throw new db[(_0x00a8('0x50'))][(_0x00a8('0x5d'))](_0x00a8('0x77'));}_0x579392=_0x5be782;return db[_0x00a8('0x78')][_0x00a8('0x76')]({'where':{'id':0x1}});})[_0x00a8('0x23')](handleEntityNotFound(_0x5069b2,null))[_0x00a8('0x23')](function(_0x46f025){if(_0x46f025){_0x1995eb=_0x46f025;if(!_0x1995eb[_0x00a8('0x79')]||!_0x1995eb[_0x00a8('0x7a')]||!_0x1995eb[_0x00a8('0x7b')]||!_0x1995eb[_0x00a8('0x7c')]||!_0x1995eb[_0x00a8('0x6c')]){throw new db['Sequelize'][(_0x00a8('0x5d'))]('Transcribe\x20not\x20configured');}if(_0x11b555[_0x00a8('0x47')][_0x00a8('0x7d')]&&(!_0x1995eb[_0x00a8('0x7e')]||!_0x1995eb[_0x00a8('0x7f')]||!_0x1995eb[_0x00a8('0x80')]||!_0x1995eb['language']||!_0x1995eb[_0x00a8('0x6c')])){throw new db[(_0x00a8('0x50'))]['ValidationError'](_0x00a8('0x81'));}return db['CloudProvider']['findOne']({'where':{'id':_0x1995eb[_0x00a8('0x7a')]}});}})[_0x00a8('0x23')](function(_0x4ee225){if(!_0x4ee225){throw new db[(_0x00a8('0x50'))][(_0x00a8('0x5d'))](_0x00a8('0x82'));}if(!_0x4ee225[_0x00a8('0x83')]||!_0x4ee225[_0x00a8('0x84')]){throw new db[(_0x00a8('0x50'))][(_0x00a8('0x5d'))]('Cloud\x20Provider\x20not\x20configured');}_0x895ab4=_0x4ee225;return getBucketslist(_0x895ab4['data1'],_0x895ab4[_0x00a8('0x84')],_0x1995eb[_0x00a8('0x7b')]);})[_0x00a8('0x23')](function(_0x118f6d){if(_0x118f6d&&_0x118f6d[_0x00a8('0x85')]){var _0x5ac2f9=_[_0x00a8('0x45')](_0x118f6d[_0x00a8('0x85')],function(_0x125f4b){return _0x125f4b['Name']===_0x1995eb['bucket'];});if(!_0x5ac2f9){logger[_0x00a8('0x61')](util[_0x00a8('0x4c')](_0x00a8('0x86'),_0x11b555[_0x00a8('0x43')]['id'],_0x1995eb[_0x00a8('0x6c')]));return createBucket(_0x895ab4[_0x00a8('0x83')],_0x895ab4['data2'],_0x1995eb[_0x00a8('0x7b')],_0x1995eb[_0x00a8('0x6c')]);}logger[_0x00a8('0x61')](util[_0x00a8('0x4c')](_0x00a8('0x87'),_0x11b555['params']['id'],_0x1995eb['bucket']));return;}})[_0x00a8('0x23')](function(_0x1b5101){if(_0x579392[_0x00a8('0x74')]===_0x00a8('0x88')){return transcribe(_0x11b555[_0x00a8('0x43')]['id'],_0x895ab4[_0x00a8('0x83')],_0x895ab4[_0x00a8('0x84')],_0x1995eb['transcribeRegion'],_0x1995eb['bucket'],_0x579392[_0x00a8('0x4b')],_0x1995eb[_0x00a8('0x7c')]);}else{logger['info'](util['format'](_0x00a8('0x89'),_0x11b555[_0x00a8('0x43')]['id']));return{'transcribeStatus':'IN_PROGRESS'};}})[_0x00a8('0x23')](function(_0x458bfa){if(_0x458bfa){_0x458bfa[_0x00a8('0x8a')]=_0x11b555[_0x00a8('0x47')][_0x00a8('0x7d')];return _0x579392[_0x00a8('0x8b')](_0x458bfa);}})['then'](respondWithResult(_0x5069b2,null))[_0x00a8('0x42')](handleError(_0x5069b2,null));};function writeFile(_0x53706e,_0x42fba5){return new Promise(function(_0x53066f,_0x29000d){fs[_0x00a8('0x8c')](_0x42fba5,_0x53706e,function(_0x265d26,_0x440258){if(_0x265d26){return _0x29000d(_0x265d26);}else{return _0x53066f(_0x440258);}});});}exports['downloadTranscribe']=function(_0x561e8b,_0x3f57f6,_0x5f2cb7){return db[_0x00a8('0x3c')][_0x00a8('0x76')]({'where':{'id':_0x561e8b[_0x00a8('0x43')]['id']}})['then'](handleEntityNotFound(_0x3f57f6))[_0x00a8('0x23')](function(_0x127dc1){if(_0x127dc1&&_0x127dc1['fileText']){var _0x3d5f39=_0x127dc1[_0x00a8('0x8d')];var _0x2ff7d9=config[_0x00a8('0x8e')]+_0x00a8('0x8f')+_0x127dc1['id']+_0x00a8('0x90');if(fs[_0x00a8('0x4e')](_0x2ff7d9)){return _0x2ff7d9;}return writeFile(_0x3d5f39,_0x2ff7d9)[_0x00a8('0x23')](function(){return _0x2ff7d9;});}else{throw new db[(_0x00a8('0x50'))]['ValidationError']('Transcript\x20not\x20available');}})[_0x00a8('0x23')](function(_0x343b55){return _0x3f57f6[_0x00a8('0x54')](_0x343b55);})[_0x00a8('0x42')](handleError(_0x3f57f6));};