Built motion from commit 14588770.|2.5.38
[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 _0x0872=['fieldName','key','model','differenceBy','query','filters','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','pick','filter','where','merge','type','VIRTUAL','options','VoiceRecording','includeAll','include','findAll','rows','catch','keys','find','create','body','params','describe','download','../../components/encryptor','existsSync','decryptFile','recording','value','ValidationError','VoiceRecording\x20not\x20found','filename','unlink','Not\x20found','downloads','sequelize','MD5','col','token','uniqueid','push','format','secrets','extname','isNil','Entity\x20not\x20found','info','cancellazione\x20fisica\x20documento\x20%s','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','File:\x20\x22','upload','[RUNTRANSCRIPT][%d]\x20Starting\x20voice\x20recording\x20upload\x20in\x20bucket\x20%s','readFileSync','[RUNTRANSCRIPT][%d]\x20Voice\x20recording\x20uploaded\x20in\x20bucket\x20%s\x20(%s)','Location','bucket','Bucket','location','[RUNTRANSCRIPT][%d]\x20Sending\x20transcribe\x20request','[RUNTRANSCRIPT][%d]\x20Transcription\x20job\x20%s\x20created','TranscriptionJob','TranscriptionJobName','transcribeName','transcribeStatus','TranscriptionJobStatus','runTranscribe','findOne','%s.cypher','Sequelize','Voice\x20Recording\x20not\x20found','Setting','transcribeAccountId','runSentiment','sentiment','sentimentAccountId','sentimentRegion','language','Sentiment\x20Analysis\x20not\x20configured','CloudProvider','Cloud\x20Provider\x20not\x20configured','data1','data2','transcribeRegion','Buckets','Name','[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20not\x20available','NEW','[RUNTRANSCRIPT][%d]\x20Transcript\x20action\x20already\x20requested','IN_PROGRESS','tempSentiment','updateAttributes','writeFile','downloadTranscribe','fileText','root','/server/files/transcribes/transcribe_','.txt','eml-format','rimraf','zip-dir','fast-json-patch','mustache','path','sox','ejs','crypto','jsforce','desk.js','to-csv','querystring','papaparse','aws-sdk','uuid/v4','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','json','offset','undefined','count','limit','set','apply','reject','save','update','then','destroy','end','error','name','send','map','rawAttributes'];(function(_0x92a712,_0x3733ca){var _0x9774da=function(_0xa64e26){while(--_0xa64e26){_0x92a712['push'](_0x92a712['shift']());}};_0x9774da(++_0x3733ca);}(_0x0872,0x6b));var _0x2087=function(_0xf16f9a,_0x261d58){_0xf16f9a=_0xf16f9a-0x0;var _0x13ddea=_0x0872[_0xf16f9a];return _0x13ddea;};'use strict';var emlformat=require(_0x2087('0x0'));var rimraf=require(_0x2087('0x1'));var zipdir=require(_0x2087('0x2'));var jsonpatch=require(_0x2087('0x3'));var rp=require('request-promise');var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x2087('0x4'));var util=require('util');var path=require(_0x2087('0x5'));var sox=require(_0x2087('0x6'));var csv=require('to-csv');var ejs=require(_0x2087('0x7'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require('squel');var crypto=require(_0x2087('0x8'));var jsforce=require(_0x2087('0x9'));var deskjs=require(_0x2087('0xa'));var toCsv=require(_0x2087('0xb'));var querystring=require(_0x2087('0xc'));var Papa=require(_0x2087('0xd'));var AWS=require(_0x2087('0xe'));var uuidv4=require(_0x2087('0xf'));var Redis=require(_0x2087('0x10'));var authService=require('../../components/auth/service');var qs=require(_0x2087('0x11'));var as=require(_0x2087('0x12'));var hardwareService=require(_0x2087('0x13'));var logger=require(_0x2087('0x14'))(_0x2087('0x15'));var utils=require(_0x2087('0x16'));var config=require(_0x2087('0x17'));var licenseUtil=require(_0x2087('0x18'));var db=require(_0x2087('0x19'))['db'];function respondWithStatusCode(_0x2a78f0,_0x2853ce){_0x2853ce=_0x2853ce||0xcc;return function(_0x1b871f){if(_0x1b871f){return _0x2a78f0[_0x2087('0x1a')](_0x2853ce);}return _0x2a78f0[_0x2087('0x1b')](_0x2853ce)['end']();};}function respondWithResult(_0x5536fd,_0x1c01de){_0x1c01de=_0x1c01de||0xc8;return function(_0x4fc8f9){if(_0x4fc8f9){return _0x5536fd['status'](_0x1c01de)[_0x2087('0x1c')](_0x4fc8f9);}};}function respondWithFilteredResult(_0x388801,_0x3bcbeb){return function(_0x324142){if(_0x324142){var _0x15690d=typeof _0x3bcbeb[_0x2087('0x1d')]==='undefined'&&typeof _0x3bcbeb['limit']===_0x2087('0x1e');var _0xd5ff35=_0x324142[_0x2087('0x1f')];var _0x46ebab=_0x15690d?0x0:_0x3bcbeb[_0x2087('0x1d')];var _0x382ca0=_0x15690d?_0x324142[_0x2087('0x1f')]:_0x3bcbeb[_0x2087('0x1d')]+_0x3bcbeb[_0x2087('0x20')];var _0x29e832;if(_0x382ca0>=_0xd5ff35){_0x382ca0=_0xd5ff35;_0x29e832=0xc8;}else{_0x29e832=0xce;}_0x388801[_0x2087('0x1b')](_0x29e832);return _0x388801[_0x2087('0x21')]('Content-Range',_0x46ebab+'-'+_0x382ca0+'/'+_0xd5ff35)['json'](_0x324142);}return null;};}function patchUpdates(_0x49c536){return function(_0x59ff1c){try{jsonpatch[_0x2087('0x22')](_0x59ff1c,_0x49c536,!![]);}catch(_0x2f40c2){return BPromise[_0x2087('0x23')](_0x2f40c2);}return _0x59ff1c[_0x2087('0x24')]();};}function saveUpdates(_0x23fae9,_0x43ae4d){return function(_0x8d4839){if(_0x8d4839){return _0x8d4839[_0x2087('0x25')](_0x23fae9)[_0x2087('0x26')](function(_0x2e19e6){return _0x2e19e6;});}return null;};}function removeEntity(_0x32da3a,_0x1fcc19){return function(_0x31cb81){if(_0x31cb81){return _0x31cb81[_0x2087('0x27')]()[_0x2087('0x26')](function(){_0x32da3a[_0x2087('0x1b')](0xcc)[_0x2087('0x28')]();});}};}function handleEntityNotFound(_0x5b8bdf,_0x4153cb){return function(_0x5db0af){if(!_0x5db0af){_0x5b8bdf['sendStatus'](0x194);}return _0x5db0af;};}function handleError(_0xc74ad9,_0x5064be){_0x5064be=_0x5064be||0x1f4;return function(_0x4e3258){logger[_0x2087('0x29')](_0x4e3258['stack']);if(_0x4e3258[_0x2087('0x2a')]){delete _0x4e3258[_0x2087('0x2a')];}_0xc74ad9[_0x2087('0x1b')](_0x5064be)[_0x2087('0x2b')](_0x4e3258);};}exports['index']=function(_0x243ecb,_0x154118){var _0x5bea78={},_0x41a873={},_0x4988bd={'count':0x0,'rows':[]};var _0x438272=_[_0x2087('0x2c')](db['VoiceRecording'][_0x2087('0x2d')],function(_0x3dc2cc){return{'name':_0x3dc2cc[_0x2087('0x2e')],'type':_0x3dc2cc['type'][_0x2087('0x2f')]};});_0x41a873[_0x2087('0x30')]=_[_0x2087('0x31')](_[_0x2087('0x2c')](_0x438272,_0x2087('0x2a')),['format']);_0x41a873[_0x2087('0x32')]=_['keys'](_0x243ecb[_0x2087('0x32')]);_0x41a873[_0x2087('0x33')]=_[_0x2087('0x34')](_0x41a873[_0x2087('0x30')],_0x41a873[_0x2087('0x32')]);_0x5bea78[_0x2087('0x35')]=_[_0x2087('0x34')](_0x41a873[_0x2087('0x30')],qs[_0x2087('0x36')](_0x243ecb['query']['fields']));_0x5bea78[_0x2087('0x35')]=_0x5bea78[_0x2087('0x35')]['length']?_0x5bea78['attributes']:_0x41a873[_0x2087('0x30')];if(!_0x243ecb[_0x2087('0x32')][_0x2087('0x37')](_0x2087('0x38'))){_0x5bea78[_0x2087('0x20')]=qs['limit'](_0x243ecb[_0x2087('0x32')][_0x2087('0x20')]);_0x5bea78[_0x2087('0x1d')]=qs[_0x2087('0x1d')](_0x243ecb[_0x2087('0x32')][_0x2087('0x1d')]);}_0x5bea78[_0x2087('0x39')]=qs[_0x2087('0x3a')](_0x243ecb[_0x2087('0x32')]['sort']);_0x5bea78['where']=qs['filters'](_[_0x2087('0x3b')](_0x243ecb[_0x2087('0x32')],_0x41a873[_0x2087('0x33')]),_0x438272);if(_0x243ecb['query'][_0x2087('0x3c')]){_0x5bea78[_0x2087('0x3d')]=_[_0x2087('0x3e')](_0x5bea78['where'],{'$or':_['map'](_0x438272,function(_0x20a18a){if(_0x20a18a[_0x2087('0x3f')]!==_0x2087('0x40')){var _0x4ef1c0={};_0x4ef1c0[_0x20a18a[_0x2087('0x2a')]]={'$like':'%'+_0x243ecb[_0x2087('0x32')]['filter']+'%'};return _0x4ef1c0;}})});}_0x5bea78=_[_0x2087('0x3e')]({},_0x5bea78,_0x243ecb[_0x2087('0x41')]);var _0x32f9f6={'where':_0x5bea78['where']};return db[_0x2087('0x42')][_0x2087('0x1f')](_0x32f9f6)[_0x2087('0x26')](function(_0x253844){_0x4988bd[_0x2087('0x1f')]=_0x253844;if(_0x243ecb[_0x2087('0x32')][_0x2087('0x43')]){_0x5bea78[_0x2087('0x44')]=[{'all':!![]}];}return db[_0x2087('0x42')][_0x2087('0x45')](_0x5bea78);})['then'](function(_0xf450bd){_0x4988bd[_0x2087('0x46')]=_0xf450bd;return _0x4988bd;})['then'](respondWithFilteredResult(_0x154118,_0x5bea78))[_0x2087('0x47')](handleError(_0x154118,null));};exports['show']=function(_0x47fe54,_0x4bd0c4){var _0x41e870={'raw':![],'where':{'id':_0x47fe54['params']['id']}},_0xdc1721={};_0xdc1721[_0x2087('0x30')]=_[_0x2087('0x48')](db['VoiceRecording'][_0x2087('0x2d')]);_0xdc1721[_0x2087('0x32')]=_[_0x2087('0x48')](_0x47fe54['query']);_0xdc1721[_0x2087('0x33')]=_[_0x2087('0x34')](_0xdc1721['model'],_0xdc1721[_0x2087('0x32')]);_0x41e870[_0x2087('0x35')]=_[_0x2087('0x34')](_0xdc1721[_0x2087('0x30')],qs['fields'](_0x47fe54['query'][_0x2087('0x36')]));_0x41e870[_0x2087('0x35')]=_0x41e870[_0x2087('0x35')]['length']?_0x41e870[_0x2087('0x35')]:_0xdc1721[_0x2087('0x30')];if(_0x47fe54[_0x2087('0x32')][_0x2087('0x43')]){_0x41e870[_0x2087('0x44')]=[{'all':!![]}];}_0x41e870=_[_0x2087('0x3e')]({},_0x41e870,_0x47fe54['options']);return db[_0x2087('0x42')][_0x2087('0x49')](_0x41e870)['then'](handleEntityNotFound(_0x4bd0c4,null))[_0x2087('0x26')](respondWithResult(_0x4bd0c4,null))[_0x2087('0x47')](handleError(_0x4bd0c4,null));};exports[_0x2087('0x4a')]=function(_0x521edc,_0x5d1e30){return db['VoiceRecording'][_0x2087('0x4a')](_0x521edc[_0x2087('0x4b')],{})[_0x2087('0x26')](respondWithResult(_0x5d1e30,0xc9))[_0x2087('0x47')](handleError(_0x5d1e30,null));};exports[_0x2087('0x25')]=function(_0x43ba5d,_0x465337){if(_0x43ba5d[_0x2087('0x4b')]['id']){delete _0x43ba5d['body']['id'];}return db[_0x2087('0x42')]['find']({'where':{'id':_0x43ba5d[_0x2087('0x4c')]['id']}})[_0x2087('0x26')](handleEntityNotFound(_0x465337,null))[_0x2087('0x26')](saveUpdates(_0x43ba5d['body'],null))[_0x2087('0x26')](respondWithResult(_0x465337,null))['catch'](handleError(_0x465337,null));};exports[_0x2087('0x4d')]=function(_0x4cc9aa,_0x56acf1){return db['VoiceRecording'][_0x2087('0x4d')]()[_0x2087('0x26')](respondWithResult(_0x56acf1,null))['catch'](handleError(_0x56acf1,null));};exports[_0x2087('0x4e')]=function(_0x62e7d5,_0x1b9c5c,_0x54e18a){var _0x1d48e3=require(_0x2087('0x4f'));var _0x36cbae=![];var _0x1f1b6f={};if(_0x62e7d5[_0x2087('0x32')][_0x2087('0x3f')]&&_0x62e7d5[_0x2087('0x32')]['type']==='uniqueid'){_0x1f1b6f['uniqueid']=_0x62e7d5[_0x2087('0x4c')]['id'];}else{_0x1f1b6f['id']=_0x62e7d5[_0x2087('0x4c')]['id'];}return db[_0x2087('0x42')][_0x2087('0x49')]({'where':_0x1f1b6f,'attributes':['id','value'],'raw':!![]})[_0x2087('0x26')](handleEntityNotFound(_0x1b9c5c,null))[_0x2087('0x26')](function(_0x37d492){if(_0x37d492){var _0x1270fa=_0x37d492['value'];var _0x569e0c=util['format']('%s.cypher',_0x1270fa);if(fs[_0x2087('0x50')](_0x569e0c)){_0x36cbae=!![];return _0x1d48e3[_0x2087('0x51')](_0x569e0c,_0x1270fa,config['secrets'][_0x2087('0x52')])[_0x2087('0x26')](function(){return _0x37d492;});}return _0x37d492;}})['then'](function(_0x4488cb){if(_0x4488cb){var _0x22ae3d=_0x4488cb[_0x2087('0x53')];if(!fs[_0x2087('0x50')](_0x22ae3d)){throw new db['Sequelize'][(_0x2087('0x54'))](_0x2087('0x55'));}if(_0x4488cb[_0x2087('0x56')]){return _0x1b9c5c[_0x2087('0x4e')](_0x22ae3d,_0x4488cb[_0x2087('0x56')]+path['extname'](_0x22ae3d),function(){if(_0x36cbae){fs['unlink'](_0x22ae3d);}});}else{return _0x1b9c5c[_0x2087('0x4e')](_0x22ae3d,function(_0x8e0613){if(_0x36cbae){fs[_0x2087('0x57')](_0x22ae3d);}});}}})[_0x2087('0x47')](function(_0x51b9b9){if(_0x51b9b9['message']==='VoiceRecording\x20not\x20found'){_0x1b9c5c[_0x2087('0x1b')](0x194)[_0x2087('0x2b')](_0x2087('0x58'));}else{return handleError(_0x1b9c5c,null);}});};exports[_0x2087('0x59')]=function(_0x42de35,_0x285494,_0x24a558){var _0x17a7b3=require('../../components/encryptor');var _0x3b4ccd=![];var _0x30922d={'$and':[db[_0x2087('0x5a')][_0x2087('0x3d')](db['sequelize']['fn'](_0x2087('0x5b'),db[_0x2087('0x5a')][_0x2087('0x5c')]('uniqueid')),_0x42de35[_0x2087('0x32')][_0x2087('0x5d')])]};if(_0x42de35['query'][_0x2087('0x3f')]&&_0x42de35['query']['type']===_0x2087('0x5e')){_0x30922d['$and'][_0x2087('0x5f')]({'uniqueid':_0x42de35[_0x2087('0x4c')]['id']});}else{_0x30922d['$and'][_0x2087('0x5f')]({'id':_0x42de35['params']['id']});}return db[_0x2087('0x42')]['find']({'where':_0x30922d,'attributes':['id',_0x2087('0x53')],'raw':!![]})[_0x2087('0x26')](handleEntityNotFound(_0x285494,null))['then'](function(_0x479029){if(_0x479029){var _0xf330f0=util[_0x2087('0x60')]('%s.cypher',_0x479029[_0x2087('0x53')]);if(fs['existsSync'](_0xf330f0)){_0x3b4ccd=!![];return _0x17a7b3[_0x2087('0x51')](_0xf330f0,_0x479029['value'],config[_0x2087('0x61')][_0x2087('0x52')])[_0x2087('0x26')](function(){return _0x479029;});}return _0x479029;}})[_0x2087('0x26')](function(_0x5dc0f0){if(_0x5dc0f0){if(!fs['existsSync'](_0x5dc0f0[_0x2087('0x53')])){throw new db['Sequelize'][(_0x2087('0x54'))](_0x2087('0x55'));}if(_0x5dc0f0['filename']){return _0x285494[_0x2087('0x4e')](_0x5dc0f0[_0x2087('0x53')],_0x5dc0f0['filename']+path[_0x2087('0x62')](_0x5dc0f0[_0x2087('0x53')]),function(){if(_0x3b4ccd){fs[_0x2087('0x57')](_0x5dc0f0['value']);}});}else{return _0x285494[_0x2087('0x4e')](_0x5dc0f0['value'],function(_0x433592){if(_0x3b4ccd){fs[_0x2087('0x57')](_0x5dc0f0[_0x2087('0x53')]);}});}}})[_0x2087('0x47')](handleError(_0x285494,null));};exports[_0x2087('0x27')]=function(_0x496a76,_0x5f41fb){return db[_0x2087('0x42')][_0x2087('0x49')]({'where':{'id':_0x496a76[_0x2087('0x4c')]['id']}})['then'](function(_0x2e1c1d){if(_[_0x2087('0x63')](_0x2e1c1d)){throw new ReferenceError(_0x2087('0x64'));}return _0x2e1c1d;})['then'](function(_0x2438d9){var _0x2785c6=_0x2438d9[_0x2087('0x53')];logger[_0x2087('0x65')](_0x2087('0x66'),_0x2785c6);if(!_[_0x2087('0x63')](_0x2438d9[_0x2087('0x53')])&&fs[_0x2087('0x50')](_0x2785c6)){logger[_0x2087('0x65')]('File:\x20\x22'+_0x2785c6+_0x2087('0x67'));fs[_0x2087('0x68')](_0x2785c6);}_0x2785c6=_0x2785c6+'.cypher';if(!_[_0x2087('0x63')](_0x2438d9[_0x2087('0x53')])&&fs[_0x2087('0x50')](_0x2785c6)){logger['info'](_0x2087('0x69')+_0x2785c6+'\x22\x20trovato\x20eseguo\x20la\x20cancellazione');fs[_0x2087('0x68')](_0x2785c6);}return _0x2438d9;})['then'](function(_0x406393){if(!_0x406393)throw new InternalError();return _0x406393['destroy']();})[_0x2087('0x26')](function(){_0x5f41fb[_0x2087('0x1b')](0xcc)[_0x2087('0x28')]();})[_0x2087('0x47')](handleError(_0x5f41fb,null));};function getBucketslist(_0x285e30,_0x404c99,_0xb85264){return new Promise(function(_0x20825c,_0x5e35a9){var _0x16eeac=new AWS['S3']({'accessKeyId':_0x404c99,'secretAccessKey':_0x285e30,'region':_0xb85264});_0x16eeac['listBuckets']({},function(_0x48488b,_0xb9f931){if(_0x48488b){return _0x5e35a9(_0x48488b);}else{return _0x20825c(_0xb9f931);}});});}function createBucket(_0xb0e97e,_0x1a2521,_0x7a198e,_0x57340a){return new Promise(function(_0x3845e3,_0x3a0dac){var _0x30f36d=new AWS['S3']({'accessKeyId':_0x1a2521,'secretAccessKey':_0xb0e97e,'region':_0x7a198e});_0x30f36d['createBucket']({'Bucket':_0x57340a},function(_0x250619,_0x11b481){if(_0x250619){return _0x3a0dac(_0x250619);}else{return _0x3845e3(_0x11b481);}});});}function uploadFile(_0x3cacbc,_0x44fb4c,_0x2d1e34,_0x5afee9,_0x380812,_0x2c5591){return new Promise(function(_0x4e7489,_0x267f5a){var _0x1e2e6e=new AWS['S3']({'accessKeyId':_0x44fb4c,'secretAccessKey':_0x3cacbc,'region':_0x2d1e34});_0x1e2e6e[_0x2087('0x6a')]({'Bucket':_0x5afee9,'Key':_0x380812,'Body':_0x2c5591},function(_0x489c1a,_0x577e3e){if(_0x489c1a){return _0x267f5a(_0x489c1a);}else{return _0x4e7489(_0x577e3e);}});});}function startTranscribe(_0x5aa510,_0x2f31d4,_0x1c7555,_0x381c27,_0x1055bf,_0x59a4e1){return new Promise(function(_0x5df9c,_0x5f5d38){var _0x56d9aa=new AWS['TranscribeService']({'accessKeyId':_0x2f31d4,'secretAccessKey':_0x5aa510,'region':_0x1c7555});_0x56d9aa['startTranscriptionJob']({'TranscriptionJobName':_0x381c27,'LanguageCode':_0x1055bf,'Media':{'MediaFileUri':_0x59a4e1}},function(_0x4686d4,_0x3fd52d){if(_0x4686d4){return _0x5f5d38(_0x4686d4);}else{return _0x5df9c(_0x3fd52d);}});});}function transcribe(_0x20210d,_0x34c324,_0x43bbdb,_0x23274a,_0x1ecce5,_0x128da5,_0x47fa84){return new Promise(function(_0x22af0a,_0x374601){var _0x3243d3={};logger['info'](util[_0x2087('0x60')](_0x2087('0x6b'),_0x20210d,_0x1ecce5));return uploadFile(_0x34c324,_0x43bbdb,_0x23274a,_0x1ecce5,path['basename'](_0x128da5),fs[_0x2087('0x6c')](_0x128da5))[_0x2087('0x26')](function(_0x480da4){logger[_0x2087('0x65')](util[_0x2087('0x60')](_0x2087('0x6d'),_0x20210d,_0x1ecce5,_0x480da4[_0x2087('0x6e')]));_0x3243d3[_0x2087('0x6f')]=_0x480da4[_0x2087('0x70')];_0x3243d3[_0x2087('0x71')]=_0x480da4[_0x2087('0x6e')];logger[_0x2087('0x65')](util['format'](_0x2087('0x72'),_0x20210d));return startTranscribe(_0x34c324,_0x43bbdb,_0x23274a,uuidv4(),_0x47fa84,_0x480da4[_0x2087('0x6e')]);})[_0x2087('0x26')](function(_0x51fb75){logger[_0x2087('0x65')](util['format'](_0x2087('0x73'),_0x20210d,_0x51fb75[_0x2087('0x74')][_0x2087('0x75')]));_0x3243d3[_0x2087('0x76')]=_0x51fb75[_0x2087('0x74')][_0x2087('0x75')];_0x3243d3[_0x2087('0x77')]=_0x51fb75[_0x2087('0x74')][_0x2087('0x78')];return _0x22af0a(_0x3243d3);})['catch'](function(_0x532b3e){return _0x374601(_0x532b3e);});});}exports[_0x2087('0x79')]=function(_0x274eab,_0x53d1e6,_0x9253af){var _0x45688e;var _0x248b92;var _0x28b184;var _0x6e8677=require('../../components/encryptor');return db['VoiceRecording'][_0x2087('0x7a')]({'where':{'id':_0x274eab[_0x2087('0x4c')]['id']}})['then'](function(_0x5bd64e){if(_0x5bd64e){var _0x415db4=util[_0x2087('0x60')](_0x2087('0x7b'),_0x5bd64e[_0x2087('0x53')]);if(fs[_0x2087('0x50')](_0x415db4)){cypher=!![];return _0x6e8677['decryptFile'](_0x415db4,_0x5bd64e['value'],config[_0x2087('0x61')][_0x2087('0x52')])['then'](function(){return _0x5bd64e;});}return _0x5bd64e;}})['then'](function(_0x31170d){if(!_0x31170d){throw new db[(_0x2087('0x7c'))][(_0x2087('0x54'))](_0x2087('0x7d'));}_0x248b92=_0x31170d;return db[_0x2087('0x7e')][_0x2087('0x7a')]({'where':{'id':0x1}});})[_0x2087('0x26')](handleEntityNotFound(_0x53d1e6,null))[_0x2087('0x26')](function(_0x5667f3){if(_0x5667f3){_0x45688e=_0x5667f3;if(!_0x45688e['transcribe']||!_0x45688e[_0x2087('0x7f')]||!_0x45688e['transcribeRegion']||!_0x45688e['language']||!_0x45688e[_0x2087('0x6f')]){throw new db[(_0x2087('0x7c'))][(_0x2087('0x54'))]('Transcribe\x20not\x20configured');}if(_0x274eab[_0x2087('0x4b')][_0x2087('0x80')]&&(!_0x45688e[_0x2087('0x81')]||!_0x45688e[_0x2087('0x82')]||!_0x45688e[_0x2087('0x83')]||!_0x45688e[_0x2087('0x84')]||!_0x45688e[_0x2087('0x6f')])){throw new db[(_0x2087('0x7c'))]['ValidationError'](_0x2087('0x85'));}return db[_0x2087('0x86')]['findOne']({'where':{'id':_0x45688e['transcribeAccountId']}});}})[_0x2087('0x26')](function(_0x5ae652){if(!_0x5ae652){throw new db[(_0x2087('0x7c'))][(_0x2087('0x54'))]('Cloud\x20Provider\x20not\x20available');}if(!_0x5ae652['data1']||!_0x5ae652['data2']){throw new db[(_0x2087('0x7c'))]['ValidationError'](_0x2087('0x87'));}_0x28b184=_0x5ae652;return getBucketslist(_0x28b184[_0x2087('0x88')],_0x28b184[_0x2087('0x89')],_0x45688e[_0x2087('0x8a')]);})[_0x2087('0x26')](function(_0x400c86){if(_0x400c86&&_0x400c86[_0x2087('0x8b')]){var _0x508b96=_[_0x2087('0x49')](_0x400c86[_0x2087('0x8b')],function(_0x353fac){return _0x353fac[_0x2087('0x8c')]===_0x45688e[_0x2087('0x6f')];});if(!_0x508b96){logger[_0x2087('0x65')](util[_0x2087('0x60')](_0x2087('0x8d'),_0x274eab['params']['id'],_0x45688e['bucket']));return createBucket(_0x28b184[_0x2087('0x88')],_0x28b184['data2'],_0x45688e[_0x2087('0x8a')],_0x45688e[_0x2087('0x6f')]);}logger[_0x2087('0x65')](util[_0x2087('0x60')]('[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20available',_0x274eab[_0x2087('0x4c')]['id'],_0x45688e['bucket']));return;}})[_0x2087('0x26')](function(_0x461be3){if(_0x248b92[_0x2087('0x77')]===_0x2087('0x8e')){return transcribe(_0x274eab[_0x2087('0x4c')]['id'],_0x28b184[_0x2087('0x88')],_0x28b184[_0x2087('0x89')],_0x45688e[_0x2087('0x8a')],_0x45688e[_0x2087('0x6f')],_0x248b92['value'],_0x45688e['language']);}else{logger[_0x2087('0x65')](util[_0x2087('0x60')](_0x2087('0x8f'),_0x274eab[_0x2087('0x4c')]['id']));return{'transcribeStatus':_0x2087('0x90')};}})[_0x2087('0x26')](function(_0x30d93b){if(_0x30d93b){_0x30d93b[_0x2087('0x91')]=_0x274eab[_0x2087('0x4b')][_0x2087('0x80')];return _0x248b92[_0x2087('0x92')](_0x30d93b);}})[_0x2087('0x26')](respondWithResult(_0x53d1e6,null))['catch'](handleError(_0x53d1e6,null));};function writeFile(_0x29d11b,_0x3c409a){return new Promise(function(_0x2d1f8f,_0xa445f2){fs[_0x2087('0x93')](_0x3c409a,_0x29d11b,function(_0x217b58,_0x3b6dfa){if(_0x217b58){return _0xa445f2(_0x217b58);}else{return _0x2d1f8f(_0x3b6dfa);}});});}exports[_0x2087('0x94')]=function(_0x22b9e2,_0x469278,_0xb28ea4){return db[_0x2087('0x42')][_0x2087('0x7a')]({'where':{'id':_0x22b9e2[_0x2087('0x4c')]['id']}})[_0x2087('0x26')](handleEntityNotFound(_0x469278))[_0x2087('0x26')](function(_0xfabef1){if(_0xfabef1&&_0xfabef1[_0x2087('0x95')]){var _0x8d44a5=_0xfabef1[_0x2087('0x95')];var _0x5f0464=config[_0x2087('0x96')]+_0x2087('0x97')+_0xfabef1['id']+_0x2087('0x98');if(fs[_0x2087('0x50')](_0x5f0464)){return _0x5f0464;}return writeFile(_0x8d44a5,_0x5f0464)[_0x2087('0x26')](function(){return _0x5f0464;});}else{throw new db[(_0x2087('0x7c'))][(_0x2087('0x54'))]('Transcript\x20not\x20available');}})[_0x2087('0x26')](function(_0x15b710){return _0x469278[_0x2087('0x4e')](_0x15b710);})['catch'](handleError(_0x469278));};