Built motion from commit (unavailable).|2.5.10
[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 _0x8520=['filename','extname','unlink','message','Not\x20found','sequelize','token','$and','push','cancellazione\x20fisica\x20documento\x20%s','isNil','info','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','.cypher','upload','startTranscriptionJob','[RUNTRANSCRIPT][%d]\x20Starting\x20voice\x20recording\x20upload\x20in\x20bucket\x20%s','readFileSync','[RUNTRANSCRIPT][%d]\x20Voice\x20recording\x20uploaded\x20in\x20bucket\x20%s\x20(%s)','bucket','Bucket','[RUNTRANSCRIPT][%d]\x20Sending\x20transcribe\x20request','Location','[RUNTRANSCRIPT][%d]\x20Transcription\x20job\x20%s\x20created','TranscriptionJob','TranscriptionJobName','transcribeStatus','TranscriptionJobStatus','findOne','Voice\x20Recording\x20not\x20found','Setting','transcribe','transcribeAccountId','transcribeRegion','language','runSentiment','sentiment','sentimentAccountId','Sequelize','CloudProvider','data1','Cloud\x20Provider\x20not\x20configured','Buckets','Name','[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20not\x20available','data2','NEW','[RUNTRANSCRIPT][%d]\x20Transcript\x20action\x20already\x20requested','IN_PROGRESS','tempSentiment','updateAttributes','writeFile','downloadTranscribe','fileText','root','/server/files/transcribes/transcribe_','Transcript\x20not\x20available','eml-format','rimraf','fast-json-patch','moment','bluebird','mustache','util','path','sox','to-csv','squel','crypto','desk.js','papaparse','aws-sdk','uuid/v4','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','count','limit','set','Content-Range','json','apply','save','update','then','destroy','sendStatus','error','stack','name','send','index','map','VoiceRecording','rawAttributes','fieldName','type','key','model','differenceBy','format','query','keys','intersection','attributes','hasOwnProperty','nolimit','offset','order','sort','where','pick','filter','merge','VIRTUAL','includeAll','include','findAll','catch','show','params','filters','fields','find','create','body','describe','download','../../components/encryptor','uniqueid','value','%s.cypher','existsSync','decryptFile','secrets','recording','ValidationError','VoiceRecording\x20not\x20found'];(function(_0x5e5f20,_0x550c6d){var _0x275111=function(_0x300ae6){while(--_0x300ae6){_0x5e5f20['push'](_0x5e5f20['shift']());}};_0x275111(++_0x550c6d);}(_0x8520,0xd0));var _0x0852=function(_0x540451,_0x5e6441){_0x540451=_0x540451-0x0;var _0x196465=_0x8520[_0x540451];return _0x196465;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x0852('0x0'));var rimraf=require(_0x0852('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x0852('0x2'));var rp=require('request-promise');var moment=require(_0x0852('0x3'));var BPromise=require(_0x0852('0x4'));var Mustache=require(_0x0852('0x5'));var util=require(_0x0852('0x6'));var path=require(_0x0852('0x7'));var sox=require(_0x0852('0x8'));var csv=require(_0x0852('0x9'));var ejs=require('ejs');var fs=require('fs');var _=require('lodash');var squel=require(_0x0852('0xa'));var crypto=require(_0x0852('0xb'));var jsforce=require('jsforce');var deskjs=require(_0x0852('0xc'));var toCsv=require(_0x0852('0x9'));var querystring=require('querystring');var Papa=require(_0x0852('0xd'));var AWS=require(_0x0852('0xe'));var uuidv4=require(_0x0852('0xf'));var Redis=require('ioredis');var authService=require(_0x0852('0x10'));var qs=require(_0x0852('0x11'));var as=require(_0x0852('0x12'));var hardwareService=require(_0x0852('0x13'));var logger=require(_0x0852('0x14'))(_0x0852('0x15'));var utils=require(_0x0852('0x16'));var config=require(_0x0852('0x17'));var licenseUtil=require(_0x0852('0x18'));var db=require(_0x0852('0x19'))['db'];function respondWithStatusCode(_0x230605,_0x174384){_0x174384=_0x174384||0xcc;return function(_0x3d9560){if(_0x3d9560){return _0x230605['sendStatus'](_0x174384);}return _0x230605[_0x0852('0x1a')](_0x174384)[_0x0852('0x1b')]();};}function respondWithResult(_0x1e444b,_0x4f6ae4){_0x4f6ae4=_0x4f6ae4||0xc8;return function(_0x2be0b4){if(_0x2be0b4){return _0x1e444b['status'](_0x4f6ae4)['json'](_0x2be0b4);}};}function respondWithFilteredResult(_0x3f7f50,_0x3c1145){return function(_0x1727d3){if(_0x1727d3){var _0x54a5b1=_0x1727d3[_0x0852('0x1c')],_0x4ab45a=_0x3c1145['offset'],_0x80b6d2=_0x3c1145['offset']+_0x3c1145[_0x0852('0x1d')],_0x56c1a8;if(_0x80b6d2>=_0x54a5b1){_0x80b6d2=_0x54a5b1;_0x56c1a8=0xc8;}else{_0x56c1a8=0xce;}_0x3f7f50[_0x0852('0x1a')](_0x56c1a8);return _0x3f7f50[_0x0852('0x1e')](_0x0852('0x1f'),_0x4ab45a+'-'+_0x80b6d2+'/'+_0x54a5b1)[_0x0852('0x20')](_0x1727d3);}return null;};}function patchUpdates(_0x21517c){return function(_0x5d962f){try{jsonpatch[_0x0852('0x21')](_0x5d962f,_0x21517c,!![]);}catch(_0x56dfcd){return BPromise['reject'](_0x56dfcd);}return _0x5d962f[_0x0852('0x22')]();};}function saveUpdates(_0x573dda,_0x39da5d){return function(_0x39b351){if(_0x39b351){return _0x39b351[_0x0852('0x23')](_0x573dda)[_0x0852('0x24')](function(_0x4fe795){return _0x4fe795;});}return null;};}function removeEntity(_0x385737,_0x4a1bb2){return function(_0x2ace82){if(_0x2ace82){return _0x2ace82[_0x0852('0x25')]()[_0x0852('0x24')](function(){_0x385737[_0x0852('0x1a')](0xcc)[_0x0852('0x1b')]();});}};}function handleEntityNotFound(_0x27681f,_0x6519bd){return function(_0x3f9196){if(!_0x3f9196){_0x27681f[_0x0852('0x26')](0x194);}return _0x3f9196;};}function handleError(_0x167ec8,_0x132790){_0x132790=_0x132790||0x1f4;return function(_0xa0ab12){logger[_0x0852('0x27')](_0xa0ab12[_0x0852('0x28')]);if(_0xa0ab12['name']){delete _0xa0ab12[_0x0852('0x29')];}_0x167ec8[_0x0852('0x1a')](_0x132790)[_0x0852('0x2a')](_0xa0ab12);};}exports[_0x0852('0x2b')]=function(_0x172223,_0x641b13){var _0x463586={},_0x54209a={},_0x54a025={'count':0x0,'rows':[]};var _0x1ce8fa=_[_0x0852('0x2c')](db[_0x0852('0x2d')][_0x0852('0x2e')],function(_0x49706b){return{'name':_0x49706b[_0x0852('0x2f')],'type':_0x49706b[_0x0852('0x30')][_0x0852('0x31')]};});_0x54209a[_0x0852('0x32')]=_[_0x0852('0x33')](_[_0x0852('0x2c')](_0x1ce8fa,_0x0852('0x29')),[_0x0852('0x34')]);_0x54209a[_0x0852('0x35')]=_[_0x0852('0x36')](_0x172223['query']);_0x54209a['filters']=_[_0x0852('0x37')](_0x54209a[_0x0852('0x32')],_0x54209a[_0x0852('0x35')]);_0x463586['attributes']=_['intersection'](_0x54209a[_0x0852('0x32')],qs['fields'](_0x172223['query']['fields']));_0x463586[_0x0852('0x38')]=_0x463586[_0x0852('0x38')]['length']?_0x463586['attributes']:_0x54209a[_0x0852('0x32')];if(!_0x172223[_0x0852('0x35')][_0x0852('0x39')](_0x0852('0x3a'))){_0x463586[_0x0852('0x1d')]=qs[_0x0852('0x1d')](_0x172223[_0x0852('0x35')]['limit']);_0x463586['offset']=qs[_0x0852('0x3b')](_0x172223[_0x0852('0x35')]['offset']);}_0x463586[_0x0852('0x3c')]=qs[_0x0852('0x3d')](_0x172223[_0x0852('0x35')][_0x0852('0x3d')]);_0x463586[_0x0852('0x3e')]=qs['filters'](_[_0x0852('0x3f')](_0x172223['query'],_0x54209a['filters']),_0x1ce8fa);if(_0x172223[_0x0852('0x35')][_0x0852('0x40')]){_0x463586[_0x0852('0x3e')]=_[_0x0852('0x41')](_0x463586[_0x0852('0x3e')],{'$or':_['map'](_0x1ce8fa,function(_0xc0020f){if(_0xc0020f['type']!==_0x0852('0x42')){var _0x17f592={};_0x17f592[_0xc0020f[_0x0852('0x29')]]={'$like':'%'+_0x172223[_0x0852('0x35')]['filter']+'%'};return _0x17f592;}})});}_0x463586=_[_0x0852('0x41')]({},_0x463586,_0x172223['options']);var _0x1b01b5={'where':_0x463586['where']};return db[_0x0852('0x2d')][_0x0852('0x1c')](_0x1b01b5)[_0x0852('0x24')](function(_0x1681ab){_0x54a025['count']=_0x1681ab;if(_0x172223['query'][_0x0852('0x43')]){_0x463586[_0x0852('0x44')]=[{'all':!![]}];}return db['VoiceRecording'][_0x0852('0x45')](_0x463586);})['then'](function(_0xd84cd7){_0x54a025['rows']=_0xd84cd7;return _0x54a025;})[_0x0852('0x24')](respondWithFilteredResult(_0x641b13,_0x463586))[_0x0852('0x46')](handleError(_0x641b13,null));};exports[_0x0852('0x47')]=function(_0x194c1a,_0x13c39d){var _0x8eeda5={'raw':![],'where':{'id':_0x194c1a[_0x0852('0x48')]['id']}},_0x1aa5e6={};_0x1aa5e6[_0x0852('0x32')]=_[_0x0852('0x36')](db[_0x0852('0x2d')][_0x0852('0x2e')]);_0x1aa5e6[_0x0852('0x35')]=_[_0x0852('0x36')](_0x194c1a[_0x0852('0x35')]);_0x1aa5e6[_0x0852('0x49')]=_['intersection'](_0x1aa5e6['model'],_0x1aa5e6[_0x0852('0x35')]);_0x8eeda5[_0x0852('0x38')]=_['intersection'](_0x1aa5e6[_0x0852('0x32')],qs[_0x0852('0x4a')](_0x194c1a['query'][_0x0852('0x4a')]));_0x8eeda5[_0x0852('0x38')]=_0x8eeda5[_0x0852('0x38')]['length']?_0x8eeda5[_0x0852('0x38')]:_0x1aa5e6[_0x0852('0x32')];if(_0x194c1a[_0x0852('0x35')][_0x0852('0x43')]){_0x8eeda5[_0x0852('0x44')]=[{'all':!![]}];}_0x8eeda5=_['merge']({},_0x8eeda5,_0x194c1a['options']);return db[_0x0852('0x2d')][_0x0852('0x4b')](_0x8eeda5)[_0x0852('0x24')](handleEntityNotFound(_0x13c39d,null))[_0x0852('0x24')](respondWithResult(_0x13c39d,null))[_0x0852('0x46')](handleError(_0x13c39d,null));};exports[_0x0852('0x4c')]=function(_0x4c553c,_0x2d13b3){return db[_0x0852('0x2d')]['create'](_0x4c553c['body'],{})[_0x0852('0x24')](respondWithResult(_0x2d13b3,0xc9))['catch'](handleError(_0x2d13b3,null));};exports['update']=function(_0x2adac5,_0x3fd958){if(_0x2adac5['body']['id']){delete _0x2adac5[_0x0852('0x4d')]['id'];}return db[_0x0852('0x2d')][_0x0852('0x4b')]({'where':{'id':_0x2adac5[_0x0852('0x48')]['id']}})[_0x0852('0x24')](handleEntityNotFound(_0x3fd958,null))[_0x0852('0x24')](saveUpdates(_0x2adac5[_0x0852('0x4d')],null))['then'](respondWithResult(_0x3fd958,null))[_0x0852('0x46')](handleError(_0x3fd958,null));};exports[_0x0852('0x4e')]=function(_0x3addb3,_0x159ad3){return db[_0x0852('0x2d')][_0x0852('0x4e')]()['then'](respondWithResult(_0x159ad3,null))[_0x0852('0x46')](handleError(_0x159ad3,null));};exports[_0x0852('0x4f')]=function(_0x5ba67d,_0x54b5e1,_0x3198d0){var _0x207c73=require(_0x0852('0x50'));var _0x5b115e=![];var _0x59b7da={};if(_0x5ba67d['query'][_0x0852('0x30')]&&_0x5ba67d[_0x0852('0x35')][_0x0852('0x30')]===_0x0852('0x51')){_0x59b7da['uniqueid']=_0x5ba67d[_0x0852('0x48')]['id'];}else{_0x59b7da['id']=_0x5ba67d[_0x0852('0x48')]['id'];}return db[_0x0852('0x2d')][_0x0852('0x4b')]({'where':_0x59b7da,'attributes':['id',_0x0852('0x52')],'raw':!![]})[_0x0852('0x24')](handleEntityNotFound(_0x54b5e1,null))[_0x0852('0x24')](function(_0xc78e65){if(_0xc78e65){var _0x1a5e79=_0xc78e65[_0x0852('0x52')];var _0x4bbbd7=util[_0x0852('0x34')](_0x0852('0x53'),_0x1a5e79);if(fs[_0x0852('0x54')](_0x4bbbd7)){_0x5b115e=!![];return _0x207c73[_0x0852('0x55')](_0x4bbbd7,_0x1a5e79,config[_0x0852('0x56')][_0x0852('0x57')])['then'](function(){return _0xc78e65;});}return _0xc78e65;}})['then'](function(_0x3b0d58){if(_0x3b0d58){var _0x1bdfcf=_0x3b0d58[_0x0852('0x52')];if(!fs[_0x0852('0x54')](_0x1bdfcf)){throw new db['Sequelize'][(_0x0852('0x58'))](_0x0852('0x59'));}if(_0x3b0d58[_0x0852('0x5a')]){return _0x54b5e1[_0x0852('0x4f')](_0x1bdfcf,_0x3b0d58['filename']+path[_0x0852('0x5b')](_0x1bdfcf),function(){if(_0x5b115e){fs['unlink'](_0x1bdfcf);}});}else{return _0x54b5e1[_0x0852('0x4f')](_0x1bdfcf,function(_0x55cc10){if(_0x5b115e){fs[_0x0852('0x5c')](_0x1bdfcf);}});}}})[_0x0852('0x46')](function(_0x4e86b1){if(_0x4e86b1[_0x0852('0x5d')]==='VoiceRecording\x20not\x20found'){_0x54b5e1['status'](0x194)[_0x0852('0x2a')](_0x0852('0x5e'));}else{return handleError(_0x54b5e1,null);}});};exports['downloads']=function(_0x985517,_0x2280ae,_0x6cc240){var _0x19ac83=require(_0x0852('0x50'));var _0x19d8f4=![];var _0x4365ce={'$and':[db[_0x0852('0x5f')]['where'](db[_0x0852('0x5f')]['fn']('MD5',db[_0x0852('0x5f')]['col'](_0x0852('0x51'))),_0x985517[_0x0852('0x35')][_0x0852('0x60')])]};if(_0x985517['query']['type']&&_0x985517[_0x0852('0x35')][_0x0852('0x30')]===_0x0852('0x51')){_0x4365ce[_0x0852('0x61')]['push']({'uniqueid':_0x985517[_0x0852('0x48')]['id']});}else{_0x4365ce[_0x0852('0x61')][_0x0852('0x62')]({'id':_0x985517[_0x0852('0x48')]['id']});}return db['VoiceRecording']['find']({'where':_0x4365ce,'attributes':['id',_0x0852('0x52')],'raw':!![]})['then'](handleEntityNotFound(_0x2280ae,null))[_0x0852('0x24')](function(_0x324d67){if(_0x324d67){var _0x58f544=util[_0x0852('0x34')](_0x0852('0x53'),_0x324d67[_0x0852('0x52')]);if(fs[_0x0852('0x54')](_0x58f544)){_0x19d8f4=!![];return _0x19ac83[_0x0852('0x55')](_0x58f544,_0x324d67[_0x0852('0x52')],config[_0x0852('0x56')]['recording'])['then'](function(){return _0x324d67;});}return _0x324d67;}})[_0x0852('0x24')](function(_0x17cd47){if(_0x17cd47){if(!fs[_0x0852('0x54')](_0x17cd47[_0x0852('0x52')])){throw new db['Sequelize'][(_0x0852('0x58'))](_0x0852('0x59'));}if(_0x17cd47[_0x0852('0x5a')]){return _0x2280ae[_0x0852('0x4f')](_0x17cd47[_0x0852('0x52')],_0x17cd47[_0x0852('0x5a')]+path['extname'](_0x17cd47[_0x0852('0x52')]),function(){if(_0x19d8f4){fs[_0x0852('0x5c')](_0x17cd47[_0x0852('0x52')]);}});}else{return _0x2280ae[_0x0852('0x4f')](_0x17cd47[_0x0852('0x52')],function(_0x4cdd3f){if(_0x19d8f4){fs[_0x0852('0x5c')](_0x17cd47[_0x0852('0x52')]);}});}}})[_0x0852('0x46')](handleError(_0x2280ae,null));};exports[_0x0852('0x25')]=function(_0x5b720d,_0x189ee4){return db[_0x0852('0x2d')][_0x0852('0x4b')]({'where':{'id':_0x5b720d[_0x0852('0x48')]['id']}})[_0x0852('0x24')](function(_0x2c744c){if(!_0x2c744c)throw new ReferenceError('Entity\x20not\x20found');return _0x2c744c;})['then'](function(_0x51b996){var _0x19b60a=_0x51b996[_0x0852('0x52')];logger['info'](_0x0852('0x63'),_0x19b60a);if(!_[_0x0852('0x64')](_0x51b996[_0x0852('0x52')])&&fs[_0x0852('0x54')](_0x19b60a)){logger[_0x0852('0x65')](_0x0852('0x66')+_0x19b60a+_0x0852('0x67'));fs[_0x0852('0x68')](_0x19b60a);}_0x19b60a=_0x19b60a+_0x0852('0x69');if(!_[_0x0852('0x64')](_0x51b996[_0x0852('0x52')])&&fs[_0x0852('0x54')](_0x19b60a)){logger[_0x0852('0x65')](_0x0852('0x66')+_0x19b60a+_0x0852('0x67'));fs[_0x0852('0x68')](_0x19b60a);}return _0x51b996;})[_0x0852('0x24')](function(_0x32dc21){if(!_0x32dc21)throw new InternalError();return _0x32dc21[_0x0852('0x25')]();})[_0x0852('0x24')](function(){_0x189ee4['status'](0xcc)['end']();})['catch'](handleError(_0x189ee4,null));};function getBucketslist(_0xc02a87,_0x36cdbd,_0x2a42a2){return new Promise(function(_0x1fd7bd,_0x31b8d9){var _0x25f902=new AWS['S3']({'accessKeyId':_0x36cdbd,'secretAccessKey':_0xc02a87,'region':_0x2a42a2});_0x25f902['listBuckets']({},function(_0x14034a,_0x4139c1){if(_0x14034a){return _0x31b8d9(_0x14034a);}else{return _0x1fd7bd(_0x4139c1);}});});}function createBucket(_0x1e94f2,_0x53922b,_0x170750,_0x627dd1){return new Promise(function(_0x52ab48,_0x260e85){var _0x13e069=new AWS['S3']({'accessKeyId':_0x53922b,'secretAccessKey':_0x1e94f2,'region':_0x170750});_0x13e069['createBucket']({'Bucket':_0x627dd1},function(_0xd265b9,_0x40fa3e){if(_0xd265b9){return _0x260e85(_0xd265b9);}else{return _0x52ab48(_0x40fa3e);}});});}function uploadFile(_0x3b99c0,_0x3a1d0c,_0x59ede7,_0x1b701b,_0x39b327,_0xefb447){return new Promise(function(_0x3c38df,_0x32a218){var _0x5d1afb=new AWS['S3']({'accessKeyId':_0x3a1d0c,'secretAccessKey':_0x3b99c0,'region':_0x59ede7});_0x5d1afb[_0x0852('0x6a')]({'Bucket':_0x1b701b,'Key':_0x39b327,'Body':_0xefb447},function(_0x29be00,_0x11df06){if(_0x29be00){return _0x32a218(_0x29be00);}else{return _0x3c38df(_0x11df06);}});});}function startTranscribe(_0x40bbfb,_0xb12240,_0x1b3cc8,_0x4fe312,_0x3fc8d9,_0x5e1119){return new Promise(function(_0xced38e,_0x111bfd){var _0x4e1269=new AWS['TranscribeService']({'accessKeyId':_0xb12240,'secretAccessKey':_0x40bbfb,'region':_0x1b3cc8});_0x4e1269[_0x0852('0x6b')]({'TranscriptionJobName':_0x4fe312,'LanguageCode':_0x3fc8d9,'Media':{'MediaFileUri':_0x5e1119}},function(_0x205e0b,_0x19be66){if(_0x205e0b){return _0x111bfd(_0x205e0b);}else{return _0xced38e(_0x19be66);}});});}function transcribe(_0x4a9a10,_0xc942d7,_0x45b9fb,_0x18fe58,_0x3b746c,_0x50004f,_0x2792a1){return new Promise(function(_0x424f59,_0x256fde){var _0x5cf1e4={};logger[_0x0852('0x65')](util['format'](_0x0852('0x6c'),_0x4a9a10,_0x3b746c));return uploadFile(_0xc942d7,_0x45b9fb,_0x18fe58,_0x3b746c,path['basename'](_0x50004f),fs[_0x0852('0x6d')](_0x50004f))['then'](function(_0x29b44b){logger[_0x0852('0x65')](util[_0x0852('0x34')](_0x0852('0x6e'),_0x4a9a10,_0x3b746c,_0x29b44b['Location']));_0x5cf1e4[_0x0852('0x6f')]=_0x29b44b[_0x0852('0x70')];_0x5cf1e4['location']=_0x29b44b['Location'];logger['info'](util['format'](_0x0852('0x71'),_0x4a9a10));return startTranscribe(_0xc942d7,_0x45b9fb,_0x18fe58,uuidv4(),_0x2792a1,_0x29b44b[_0x0852('0x72')]);})['then'](function(_0x2c6ff5){logger[_0x0852('0x65')](util[_0x0852('0x34')](_0x0852('0x73'),_0x4a9a10,_0x2c6ff5[_0x0852('0x74')][_0x0852('0x75')]));_0x5cf1e4['transcribeName']=_0x2c6ff5['TranscriptionJob'][_0x0852('0x75')];_0x5cf1e4[_0x0852('0x76')]=_0x2c6ff5['TranscriptionJob'][_0x0852('0x77')];return _0x424f59(_0x5cf1e4);})[_0x0852('0x46')](function(_0x2980db){return _0x256fde(_0x2980db);});});}exports['runTranscribe']=function(_0x15cc4b,_0x519fc1,_0x4da1c2){var _0x297913;var _0x182273;var _0x25ed8d;var _0x2bf90a=require(_0x0852('0x50'));return db[_0x0852('0x2d')][_0x0852('0x78')]({'where':{'id':_0x15cc4b[_0x0852('0x48')]['id']}})[_0x0852('0x24')](function(_0xc230ec){if(_0xc230ec){var _0x1ce28f=util[_0x0852('0x34')]('%s.cypher',_0xc230ec[_0x0852('0x52')]);if(fs[_0x0852('0x54')](_0x1ce28f)){cypher=!![];return _0x2bf90a[_0x0852('0x55')](_0x1ce28f,_0xc230ec[_0x0852('0x52')],config[_0x0852('0x56')][_0x0852('0x57')])[_0x0852('0x24')](function(){return _0xc230ec;});}return _0xc230ec;}})[_0x0852('0x24')](function(_0x3d28bd){if(!_0x3d28bd){throw new db['Sequelize'][(_0x0852('0x58'))](_0x0852('0x79'));}_0x182273=_0x3d28bd;return db[_0x0852('0x7a')][_0x0852('0x78')]({'where':{'id':0x1}});})[_0x0852('0x24')](handleEntityNotFound(_0x519fc1,null))[_0x0852('0x24')](function(_0x5d4df7){if(_0x5d4df7){_0x297913=_0x5d4df7;if(!_0x297913[_0x0852('0x7b')]||!_0x297913[_0x0852('0x7c')]||!_0x297913[_0x0852('0x7d')]||!_0x297913[_0x0852('0x7e')]||!_0x297913[_0x0852('0x6f')]){throw new db['Sequelize'][(_0x0852('0x58'))]('Transcribe\x20not\x20configured');}if(_0x15cc4b[_0x0852('0x4d')][_0x0852('0x7f')]&&(!_0x297913[_0x0852('0x80')]||!_0x297913[_0x0852('0x81')]||!_0x297913['sentimentRegion']||!_0x297913[_0x0852('0x7e')]||!_0x297913['bucket'])){throw new db[(_0x0852('0x82'))]['ValidationError']('Sentiment\x20Analysis\x20not\x20configured');}return db[_0x0852('0x83')][_0x0852('0x78')]({'where':{'id':_0x297913[_0x0852('0x7c')]}});}})['then'](function(_0xe3f158){if(!_0xe3f158){throw new db[(_0x0852('0x82'))][(_0x0852('0x58'))]('Cloud\x20Provider\x20not\x20available');}if(!_0xe3f158[_0x0852('0x84')]||!_0xe3f158['data2']){throw new db['Sequelize']['ValidationError'](_0x0852('0x85'));}_0x25ed8d=_0xe3f158;return getBucketslist(_0x25ed8d[_0x0852('0x84')],_0x25ed8d['data2'],_0x297913[_0x0852('0x7d')]);})[_0x0852('0x24')](function(_0x37ca11){if(_0x37ca11&&_0x37ca11[_0x0852('0x86')]){var _0x1817e9=_['find'](_0x37ca11[_0x0852('0x86')],function(_0x245cad){return _0x245cad[_0x0852('0x87')]===_0x297913['bucket'];});if(!_0x1817e9){logger['info'](util[_0x0852('0x34')](_0x0852('0x88'),_0x15cc4b[_0x0852('0x48')]['id'],_0x297913[_0x0852('0x6f')]));return createBucket(_0x25ed8d[_0x0852('0x84')],_0x25ed8d[_0x0852('0x89')],_0x297913[_0x0852('0x7d')],_0x297913[_0x0852('0x6f')]);}logger[_0x0852('0x65')](util[_0x0852('0x34')]('[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20available',_0x15cc4b[_0x0852('0x48')]['id'],_0x297913[_0x0852('0x6f')]));return;}})[_0x0852('0x24')](function(_0x1335f2){if(_0x182273[_0x0852('0x76')]===_0x0852('0x8a')){return transcribe(_0x15cc4b[_0x0852('0x48')]['id'],_0x25ed8d[_0x0852('0x84')],_0x25ed8d[_0x0852('0x89')],_0x297913[_0x0852('0x7d')],_0x297913['bucket'],_0x182273[_0x0852('0x52')],_0x297913[_0x0852('0x7e')]);}else{logger[_0x0852('0x65')](util[_0x0852('0x34')](_0x0852('0x8b'),_0x15cc4b[_0x0852('0x48')]['id']));return{'transcribeStatus':_0x0852('0x8c')};}})[_0x0852('0x24')](function(_0x59c372){if(_0x59c372){_0x59c372[_0x0852('0x8d')]=_0x15cc4b[_0x0852('0x4d')][_0x0852('0x7f')];return _0x182273[_0x0852('0x8e')](_0x59c372);}})[_0x0852('0x24')](respondWithResult(_0x519fc1,null))[_0x0852('0x46')](handleError(_0x519fc1,null));};function writeFile(_0x1c9999,_0x18a1f1){return new Promise(function(_0x46a126,_0x4753c6){fs[_0x0852('0x8f')](_0x18a1f1,_0x1c9999,function(_0x5ab4a2,_0x45ff0e){if(_0x5ab4a2){return _0x4753c6(_0x5ab4a2);}else{return _0x46a126(_0x45ff0e);}});});}exports[_0x0852('0x90')]=function(_0x5e47c4,_0x17057c,_0x20af37){return db[_0x0852('0x2d')][_0x0852('0x78')]({'where':{'id':_0x5e47c4[_0x0852('0x48')]['id']}})[_0x0852('0x24')](handleEntityNotFound(_0x17057c))[_0x0852('0x24')](function(_0x50f0c4){if(_0x50f0c4&&_0x50f0c4[_0x0852('0x91')]){var _0x2f078e=_0x50f0c4[_0x0852('0x91')];var _0xc53deb=config[_0x0852('0x92')]+_0x0852('0x93')+_0x50f0c4['id']+'.txt';if(fs[_0x0852('0x54')](_0xc53deb)){return _0xc53deb;}return writeFile(_0x2f078e,_0xc53deb)['then'](function(){return _0xc53deb;});}else{throw new db[(_0x0852('0x82'))][(_0x0852('0x58'))](_0x0852('0x94'));}})[_0x0852('0x24')](function(_0x2cee97){return _0x17057c['download'](_0x2cee97);})[_0x0852('0x46')](handleError(_0x17057c));};