d44478763bcb467cc121060c1917b206bb70773c
[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 _0x8068=['[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20not\x20available','[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20available','NEW','[RUNTRANSCRIPT][%d]\x20Transcript\x20action\x20already\x20requested','IN_PROGRESS','tempSentiment','writeFile','downloadTranscribe','fileText','root','/server/files/transcribes/transcribe_','.txt','Transcript\x20not\x20available','eml-format','zip-dir','moment','bluebird','mustache','path','sox','to-csv','ejs','squel','crypto','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','json','count','offset','set','apply','reject','update','then','destroy','end','error','stack','name','send','index','map','VoiceRecording','rawAttributes','fieldName','type','key','model','differenceBy','format','keys','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','limit','order','sort','pick','where','merge','VIRTUAL','filter','options','includeAll','include','findAll','rows','show','params','find','catch','create','body','describe','download','uniqueid','value','%s.cypher','decryptFile','recording','existsSync','ValidationError','VoiceRecording\x20not\x20found','filename','unlink','message','Not\x20found','downloads','../../components/encryptor','sequelize','MD5','col','$and','secrets','Sequelize','extname','Entity\x20not\x20found','info','cancellazione\x20fisica\x20documento\x20%s','isNil','File:\x20\x22','unlinkSync','.cypher','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','listBuckets','upload','TranscribeService','startTranscriptionJob','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','TranscriptionJob','transcribeName','TranscriptionJobName','transcribeStatus','runTranscribe','findOne','Voice\x20Recording\x20not\x20found','Setting','transcribe','transcribeAccountId','transcribeRegion','Transcribe\x20not\x20configured','runSentiment','sentiment','sentimentAccountId','sentimentRegion','language','Sentiment\x20Analysis\x20not\x20configured','CloudProvider','Cloud\x20Provider\x20not\x20available','data2','Cloud\x20Provider\x20not\x20configured','data1','Buckets','Name'];(function(_0x1af482,_0x1af5b7){var _0x7e7580=function(_0x5ed4a7){while(--_0x5ed4a7){_0x1af482['push'](_0x1af482['shift']());}};_0x7e7580(++_0x1af5b7);}(_0x8068,0x1e1));var _0x8806=function(_0x583bf0,_0x4b59aa){_0x583bf0=_0x583bf0-0x0;var _0x210ec6=_0x8068[_0x583bf0];return _0x210ec6;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x8806('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x8806('0x1'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x8806('0x2'));var BPromise=require(_0x8806('0x3'));var Mustache=require(_0x8806('0x4'));var util=require('util');var path=require(_0x8806('0x5'));var sox=require(_0x8806('0x6'));var csv=require(_0x8806('0x7'));var ejs=require(_0x8806('0x8'));var fs=require('fs');var _=require('lodash');var squel=require(_0x8806('0x9'));var crypto=require(_0x8806('0xa'));var jsforce=require('jsforce');var deskjs=require(_0x8806('0xb'));var toCsv=require(_0x8806('0x7'));var querystring=require('querystring');var Papa=require(_0x8806('0xc'));var AWS=require('aws-sdk');var uuidv4=require('uuid/v4');var Redis=require(_0x8806('0xd'));var authService=require(_0x8806('0xe'));var qs=require(_0x8806('0xf'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x8806('0x10'));var logger=require(_0x8806('0x11'))(_0x8806('0x12'));var utils=require(_0x8806('0x13'));var config=require(_0x8806('0x14'));var db=require(_0x8806('0x15'))['db'];function respondWithStatusCode(_0x32ceb3,_0x3c5fc1){_0x3c5fc1=_0x3c5fc1||0xcc;return function(_0x2cd478){if(_0x2cd478){return _0x32ceb3[_0x8806('0x16')](_0x3c5fc1);}return _0x32ceb3[_0x8806('0x17')](_0x3c5fc1)['end']();};}function respondWithResult(_0x3a9ba5,_0x28a2d3){_0x28a2d3=_0x28a2d3||0xc8;return function(_0x3b3ea6){if(_0x3b3ea6){return _0x3a9ba5['status'](_0x28a2d3)[_0x8806('0x18')](_0x3b3ea6);}};}function respondWithFilteredResult(_0x555f4c,_0x2d6e6d){return function(_0x367cf4){if(_0x367cf4){var _0x2145b0=_0x367cf4[_0x8806('0x19')],_0x1a4570=_0x2d6e6d[_0x8806('0x1a')],_0x177442=_0x2d6e6d[_0x8806('0x1a')]+_0x2d6e6d['limit'],_0x10a500;if(_0x177442>=_0x2145b0){_0x177442=_0x2145b0;_0x10a500=0xc8;}else{_0x10a500=0xce;}_0x555f4c[_0x8806('0x17')](_0x10a500);return _0x555f4c[_0x8806('0x1b')]('Content-Range',_0x1a4570+'-'+_0x177442+'/'+_0x2145b0)[_0x8806('0x18')](_0x367cf4);}return null;};}function patchUpdates(_0x3063b2){return function(_0x555cf6){try{jsonpatch[_0x8806('0x1c')](_0x555cf6,_0x3063b2,!![]);}catch(_0x42e349){return BPromise[_0x8806('0x1d')](_0x42e349);}return _0x555cf6['save']();};}function saveUpdates(_0x1c9975,_0x4c0bef){return function(_0x401669){if(_0x401669){return _0x401669[_0x8806('0x1e')](_0x1c9975)[_0x8806('0x1f')](function(_0x32dcb2){return _0x32dcb2;});}return null;};}function removeEntity(_0x46a45c,_0x1c553b){return function(_0x254d9b){if(_0x254d9b){return _0x254d9b[_0x8806('0x20')]()[_0x8806('0x1f')](function(){_0x46a45c[_0x8806('0x17')](0xcc)[_0x8806('0x21')]();});}};}function handleEntityNotFound(_0x4af502,_0x4b5573){return function(_0xddfa14){if(!_0xddfa14){_0x4af502['sendStatus'](0x194);}return _0xddfa14;};}function handleError(_0x302a48,_0x1634f2){_0x1634f2=_0x1634f2||0x1f4;return function(_0xe7b451){logger[_0x8806('0x22')](_0xe7b451[_0x8806('0x23')]);if(_0xe7b451[_0x8806('0x24')]){delete _0xe7b451[_0x8806('0x24')];}_0x302a48[_0x8806('0x17')](_0x1634f2)[_0x8806('0x25')](_0xe7b451);};}exports[_0x8806('0x26')]=function(_0x52cc3e,_0x41061a){var _0x3bbf41={},_0x5065f5={},_0x31700d={'count':0x0,'rows':[]};var _0x364364=_[_0x8806('0x27')](db[_0x8806('0x28')][_0x8806('0x29')],function(_0x524cc2){return{'name':_0x524cc2[_0x8806('0x2a')],'type':_0x524cc2[_0x8806('0x2b')][_0x8806('0x2c')]};});_0x5065f5[_0x8806('0x2d')]=_[_0x8806('0x2e')](_[_0x8806('0x27')](_0x364364,_0x8806('0x24')),[_0x8806('0x2f')]);_0x5065f5['query']=_[_0x8806('0x30')](_0x52cc3e[_0x8806('0x31')]);_0x5065f5[_0x8806('0x32')]=_[_0x8806('0x33')](_0x5065f5[_0x8806('0x2d')],_0x5065f5[_0x8806('0x31')]);_0x3bbf41[_0x8806('0x34')]=_[_0x8806('0x33')](_0x5065f5[_0x8806('0x2d')],qs[_0x8806('0x35')](_0x52cc3e[_0x8806('0x31')][_0x8806('0x35')]));_0x3bbf41[_0x8806('0x34')]=_0x3bbf41[_0x8806('0x34')][_0x8806('0x36')]?_0x3bbf41[_0x8806('0x34')]:_0x5065f5[_0x8806('0x2d')];if(!_0x52cc3e[_0x8806('0x31')][_0x8806('0x37')](_0x8806('0x38'))){_0x3bbf41[_0x8806('0x39')]=qs['limit'](_0x52cc3e[_0x8806('0x31')][_0x8806('0x39')]);_0x3bbf41[_0x8806('0x1a')]=qs[_0x8806('0x1a')](_0x52cc3e[_0x8806('0x31')]['offset']);}_0x3bbf41[_0x8806('0x3a')]=qs[_0x8806('0x3b')](_0x52cc3e['query']['sort']);_0x3bbf41['where']=qs[_0x8806('0x32')](_[_0x8806('0x3c')](_0x52cc3e['query'],_0x5065f5[_0x8806('0x32')]),_0x364364);if(_0x52cc3e[_0x8806('0x31')]['filter']){_0x3bbf41[_0x8806('0x3d')]=_[_0x8806('0x3e')](_0x3bbf41[_0x8806('0x3d')],{'$or':_[_0x8806('0x27')](_0x364364,function(_0x513050){if(_0x513050[_0x8806('0x2b')]!==_0x8806('0x3f')){var _0x38eab7={};_0x38eab7[_0x513050[_0x8806('0x24')]]={'$like':'%'+_0x52cc3e[_0x8806('0x31')][_0x8806('0x40')]+'%'};return _0x38eab7;}})});}_0x3bbf41=_[_0x8806('0x3e')]({},_0x3bbf41,_0x52cc3e[_0x8806('0x41')]);var _0x31b35e={'where':_0x3bbf41[_0x8806('0x3d')]};return db[_0x8806('0x28')][_0x8806('0x19')](_0x31b35e)[_0x8806('0x1f')](function(_0x124186){_0x31700d['count']=_0x124186;if(_0x52cc3e['query'][_0x8806('0x42')]){_0x3bbf41[_0x8806('0x43')]=[{'all':!![]}];}return db[_0x8806('0x28')][_0x8806('0x44')](_0x3bbf41);})[_0x8806('0x1f')](function(_0x3c4348){_0x31700d[_0x8806('0x45')]=_0x3c4348;return _0x31700d;})['then'](respondWithFilteredResult(_0x41061a,_0x3bbf41))['catch'](handleError(_0x41061a,null));};exports[_0x8806('0x46')]=function(_0x3ed986,_0xfa1a34){var _0x26b752={'raw':![],'where':{'id':_0x3ed986[_0x8806('0x47')]['id']}},_0x246d0d={};_0x246d0d[_0x8806('0x2d')]=_[_0x8806('0x30')](db[_0x8806('0x28')]['rawAttributes']);_0x246d0d['query']=_[_0x8806('0x30')](_0x3ed986[_0x8806('0x31')]);_0x246d0d[_0x8806('0x32')]=_[_0x8806('0x33')](_0x246d0d[_0x8806('0x2d')],_0x246d0d[_0x8806('0x31')]);_0x26b752[_0x8806('0x34')]=_[_0x8806('0x33')](_0x246d0d[_0x8806('0x2d')],qs[_0x8806('0x35')](_0x3ed986['query'][_0x8806('0x35')]));_0x26b752[_0x8806('0x34')]=_0x26b752[_0x8806('0x34')]['length']?_0x26b752[_0x8806('0x34')]:_0x246d0d[_0x8806('0x2d')];if(_0x3ed986[_0x8806('0x31')]['includeAll']){_0x26b752[_0x8806('0x43')]=[{'all':!![]}];}_0x26b752=_[_0x8806('0x3e')]({},_0x26b752,_0x3ed986[_0x8806('0x41')]);return db[_0x8806('0x28')][_0x8806('0x48')](_0x26b752)[_0x8806('0x1f')](handleEntityNotFound(_0xfa1a34,null))['then'](respondWithResult(_0xfa1a34,null))[_0x8806('0x49')](handleError(_0xfa1a34,null));};exports[_0x8806('0x4a')]=function(_0xb6a8ee,_0xd571a0){return db['VoiceRecording'][_0x8806('0x4a')](_0xb6a8ee['body'],{})[_0x8806('0x1f')](respondWithResult(_0xd571a0,0xc9))[_0x8806('0x49')](handleError(_0xd571a0,null));};exports[_0x8806('0x1e')]=function(_0x39e787,_0x13d6de){if(_0x39e787['body']['id']){delete _0x39e787['body']['id'];}return db['VoiceRecording'][_0x8806('0x48')]({'where':{'id':_0x39e787[_0x8806('0x47')]['id']}})[_0x8806('0x1f')](handleEntityNotFound(_0x13d6de,null))['then'](saveUpdates(_0x39e787[_0x8806('0x4b')],null))[_0x8806('0x1f')](respondWithResult(_0x13d6de,null))[_0x8806('0x49')](handleError(_0x13d6de,null));};exports[_0x8806('0x4c')]=function(_0x484d66,_0x52a38d){return db[_0x8806('0x28')]['describe']()['then'](respondWithResult(_0x52a38d,null))[_0x8806('0x49')](handleError(_0x52a38d,null));};exports[_0x8806('0x4d')]=function(_0x3256c4,_0x543c84,_0x27ad3b){var _0x326229=require('../../components/encryptor');var _0x261995=![];var _0x47497e={};if(_0x3256c4[_0x8806('0x31')][_0x8806('0x2b')]&&_0x3256c4[_0x8806('0x31')][_0x8806('0x2b')]===_0x8806('0x4e')){_0x47497e[_0x8806('0x4e')]=_0x3256c4['params']['id'];}else{_0x47497e['id']=_0x3256c4['params']['id'];}return db[_0x8806('0x28')]['find']({'where':_0x47497e,'attributes':['id',_0x8806('0x4f')],'raw':!![]})['then'](handleEntityNotFound(_0x543c84,null))[_0x8806('0x1f')](function(_0x1efafe){if(_0x1efafe){var _0x37c652=_0x1efafe[_0x8806('0x4f')];var _0x54ea77=util[_0x8806('0x2f')](_0x8806('0x50'),_0x37c652);if(fs['existsSync'](_0x54ea77)){_0x261995=!![];return _0x326229[_0x8806('0x51')](_0x54ea77,_0x37c652,config['secrets'][_0x8806('0x52')])[_0x8806('0x1f')](function(){return _0x1efafe;});}return _0x1efafe;}})[_0x8806('0x1f')](function(_0x45fd91){if(_0x45fd91){var _0x13e927=_0x45fd91[_0x8806('0x4f')];if(!fs[_0x8806('0x53')](_0x13e927)){throw new db['Sequelize'][(_0x8806('0x54'))](_0x8806('0x55'));}if(_0x45fd91[_0x8806('0x56')]){return _0x543c84[_0x8806('0x4d')](_0x13e927,_0x45fd91[_0x8806('0x56')]+path['extname'](_0x13e927),function(){if(_0x261995){fs[_0x8806('0x57')](_0x13e927);}});}else{return _0x543c84['download'](_0x13e927,function(_0x209499){if(_0x261995){fs['unlink'](_0x13e927);}});}}})[_0x8806('0x49')](function(_0x42a866){if(_0x42a866[_0x8806('0x58')]==='VoiceRecording\x20not\x20found'){_0x543c84['status'](0x194)[_0x8806('0x25')](_0x8806('0x59'));}else{return handleError(_0x543c84,null);}});};exports[_0x8806('0x5a')]=function(_0x4160ac,_0x41e4bc,_0x381273){var _0x1259d2=require(_0x8806('0x5b'));var _0x34fccc=![];var _0x516d98={'$and':[db['sequelize'][_0x8806('0x3d')](db[_0x8806('0x5c')]['fn'](_0x8806('0x5d'),db[_0x8806('0x5c')][_0x8806('0x5e')](_0x8806('0x4e'))),_0x4160ac[_0x8806('0x31')]['token'])]};if(_0x4160ac[_0x8806('0x31')][_0x8806('0x2b')]&&_0x4160ac['query'][_0x8806('0x2b')]===_0x8806('0x4e')){_0x516d98[_0x8806('0x5f')]['push']({'uniqueid':_0x4160ac['params']['id']});}else{_0x516d98[_0x8806('0x5f')]['push']({'id':_0x4160ac['params']['id']});}return db[_0x8806('0x28')][_0x8806('0x48')]({'where':_0x516d98,'attributes':['id',_0x8806('0x4f')],'raw':!![]})[_0x8806('0x1f')](handleEntityNotFound(_0x41e4bc,null))[_0x8806('0x1f')](function(_0x3c4097){if(_0x3c4097){var _0x450b43=util['format']('%s.cypher',_0x3c4097[_0x8806('0x4f')]);if(fs[_0x8806('0x53')](_0x450b43)){_0x34fccc=!![];return _0x1259d2['decryptFile'](_0x450b43,_0x3c4097['value'],config[_0x8806('0x60')][_0x8806('0x52')])['then'](function(){return _0x3c4097;});}return _0x3c4097;}})[_0x8806('0x1f')](function(_0x3d5683){if(_0x3d5683){if(!fs[_0x8806('0x53')](_0x3d5683[_0x8806('0x4f')])){throw new db[(_0x8806('0x61'))][(_0x8806('0x54'))](_0x8806('0x55'));}if(_0x3d5683[_0x8806('0x56')]){return _0x41e4bc[_0x8806('0x4d')](_0x3d5683[_0x8806('0x4f')],_0x3d5683[_0x8806('0x56')]+path[_0x8806('0x62')](_0x3d5683[_0x8806('0x4f')]),function(){if(_0x34fccc){fs[_0x8806('0x57')](_0x3d5683[_0x8806('0x4f')]);}});}else{return _0x41e4bc[_0x8806('0x4d')](_0x3d5683['value'],function(_0x1104a1){if(_0x34fccc){fs[_0x8806('0x57')](_0x3d5683['value']);}});}}})[_0x8806('0x49')](handleError(_0x41e4bc,null));};exports['destroy']=function(_0x29c19e,_0x53a00f){return db[_0x8806('0x28')][_0x8806('0x48')]({'where':{'id':_0x29c19e[_0x8806('0x47')]['id']}})[_0x8806('0x1f')](function(_0x534033){if(!_0x534033)throw new ReferenceError(_0x8806('0x63'));return _0x534033;})['then'](function(_0xe217f6){var _0x105f11=_0xe217f6['value'];logger[_0x8806('0x64')](_0x8806('0x65'),_0x105f11);if(!_[_0x8806('0x66')](_0xe217f6[_0x8806('0x4f')])&&fs[_0x8806('0x53')](_0x105f11)){logger[_0x8806('0x64')](_0x8806('0x67')+_0x105f11+'\x22\x20trovato\x20eseguo\x20la\x20cancellazione');fs[_0x8806('0x68')](_0x105f11);}_0x105f11=_0x105f11+_0x8806('0x69');if(!_[_0x8806('0x66')](_0xe217f6['value'])&&fs[_0x8806('0x53')](_0x105f11)){logger[_0x8806('0x64')](_0x8806('0x67')+_0x105f11+_0x8806('0x6a'));fs[_0x8806('0x68')](_0x105f11);}return _0xe217f6;})['then'](function(_0x56f9fb){if(!_0x56f9fb)throw new InternalError();return _0x56f9fb[_0x8806('0x20')]();})[_0x8806('0x1f')](function(){_0x53a00f['status'](0xcc)[_0x8806('0x21')]();})[_0x8806('0x49')](handleError(_0x53a00f,null));};function getBucketslist(_0x3b5830,_0x5a9922,_0x37518c){return new Promise(function(_0x440b5b,_0x847237){var _0x486dac=new AWS['S3']({'accessKeyId':_0x5a9922,'secretAccessKey':_0x3b5830,'region':_0x37518c});_0x486dac[_0x8806('0x6b')]({},function(_0x36c4d8,_0x27b84b){if(_0x36c4d8){return _0x847237(_0x36c4d8);}else{return _0x440b5b(_0x27b84b);}});});}function createBucket(_0x526f97,_0x173097,_0x502b4f,_0x41f3e7){return new Promise(function(_0x556b3c,_0x24867c){var _0x47aefd=new AWS['S3']({'accessKeyId':_0x173097,'secretAccessKey':_0x526f97,'region':_0x502b4f});_0x47aefd['createBucket']({'Bucket':_0x41f3e7},function(_0x1ca430,_0x2bd189){if(_0x1ca430){return _0x24867c(_0x1ca430);}else{return _0x556b3c(_0x2bd189);}});});}function uploadFile(_0x51146b,_0x51559c,_0xdc8394,_0x45337b,_0xbcf42a,_0x2c2cc5){return new Promise(function(_0x891da6,_0x4e83be){var _0x1f791c=new AWS['S3']({'accessKeyId':_0x51559c,'secretAccessKey':_0x51146b,'region':_0xdc8394});_0x1f791c[_0x8806('0x6c')]({'Bucket':_0x45337b,'Key':_0xbcf42a,'Body':_0x2c2cc5},function(_0x4a0b22,_0x4a94ce){if(_0x4a0b22){return _0x4e83be(_0x4a0b22);}else{return _0x891da6(_0x4a94ce);}});});}function startTranscribe(_0x399f85,_0x5e25ff,_0x45e27e,_0x5edf41,_0xb2d382,_0x55fea8){return new Promise(function(_0x1edb0b,_0x371a1c){var _0xa66a9c=new AWS[(_0x8806('0x6d'))]({'accessKeyId':_0x5e25ff,'secretAccessKey':_0x399f85,'region':_0x45e27e});_0xa66a9c[_0x8806('0x6e')]({'TranscriptionJobName':_0x5edf41,'LanguageCode':_0xb2d382,'Media':{'MediaFileUri':_0x55fea8}},function(_0x146320,_0x4f03cb){if(_0x146320){return _0x371a1c(_0x146320);}else{return _0x1edb0b(_0x4f03cb);}});});}function transcribe(_0xe46e6a,_0x1f5155,_0x5f7288,_0x4a08cd,_0x14f4bd,_0x409564,_0x185456){return new Promise(function(_0x47b10c,_0xdc5bf5){var _0x3475ea={};logger['info'](util['format']('[RUNTRANSCRIPT][%d]\x20Starting\x20voice\x20recording\x20upload\x20in\x20bucket\x20%s',_0xe46e6a,_0x14f4bd));return uploadFile(_0x1f5155,_0x5f7288,_0x4a08cd,_0x14f4bd,path['basename'](_0x409564),fs[_0x8806('0x6f')](_0x409564))[_0x8806('0x1f')](function(_0xe78ef7){logger[_0x8806('0x64')](util['format'](_0x8806('0x70'),_0xe46e6a,_0x14f4bd,_0xe78ef7[_0x8806('0x71')]));_0x3475ea[_0x8806('0x72')]=_0xe78ef7['Bucket'];_0x3475ea[_0x8806('0x73')]=_0xe78ef7['Location'];logger[_0x8806('0x64')](util['format'](_0x8806('0x74'),_0xe46e6a));return startTranscribe(_0x1f5155,_0x5f7288,_0x4a08cd,uuidv4(),_0x185456,_0xe78ef7[_0x8806('0x71')]);})[_0x8806('0x1f')](function(_0xb069bd){logger[_0x8806('0x64')](util['format'](_0x8806('0x75'),_0xe46e6a,_0xb069bd[_0x8806('0x76')]['TranscriptionJobName']));_0x3475ea[_0x8806('0x77')]=_0xb069bd['TranscriptionJob'][_0x8806('0x78')];_0x3475ea[_0x8806('0x79')]=_0xb069bd[_0x8806('0x76')]['TranscriptionJobStatus'];return _0x47b10c(_0x3475ea);})[_0x8806('0x49')](function(_0x1b3acc){return _0xdc5bf5(_0x1b3acc);});});}exports[_0x8806('0x7a')]=function(_0x3dd709,_0x34ced4,_0x316c64){var _0xf58d8a;var _0x4611c4;var _0x394aaf;var _0x45a59e=require(_0x8806('0x5b'));return db[_0x8806('0x28')][_0x8806('0x7b')]({'where':{'id':_0x3dd709[_0x8806('0x47')]['id']}})['then'](function(_0x3a7259){if(_0x3a7259){var _0xb4b20e=util[_0x8806('0x2f')](_0x8806('0x50'),_0x3a7259[_0x8806('0x4f')]);if(fs[_0x8806('0x53')](_0xb4b20e)){cypher=!![];return _0x45a59e[_0x8806('0x51')](_0xb4b20e,_0x3a7259[_0x8806('0x4f')],config['secrets'][_0x8806('0x52')])[_0x8806('0x1f')](function(){return _0x3a7259;});}return _0x3a7259;}})[_0x8806('0x1f')](function(_0x592a49){if(!_0x592a49){throw new db[(_0x8806('0x61'))][(_0x8806('0x54'))](_0x8806('0x7c'));}_0x4611c4=_0x592a49;return db[_0x8806('0x7d')]['findOne']({'where':{'id':0x1}});})['then'](handleEntityNotFound(_0x34ced4,null))[_0x8806('0x1f')](function(_0x311baa){if(_0x311baa){_0xf58d8a=_0x311baa;if(!_0xf58d8a[_0x8806('0x7e')]||!_0xf58d8a[_0x8806('0x7f')]||!_0xf58d8a[_0x8806('0x80')]||!_0xf58d8a['language']||!_0xf58d8a[_0x8806('0x72')]){throw new db[(_0x8806('0x61'))][(_0x8806('0x54'))](_0x8806('0x81'));}if(_0x3dd709[_0x8806('0x4b')][_0x8806('0x82')]&&(!_0xf58d8a[_0x8806('0x83')]||!_0xf58d8a[_0x8806('0x84')]||!_0xf58d8a[_0x8806('0x85')]||!_0xf58d8a[_0x8806('0x86')]||!_0xf58d8a['bucket'])){throw new db[(_0x8806('0x61'))][(_0x8806('0x54'))](_0x8806('0x87'));}return db[_0x8806('0x88')][_0x8806('0x7b')]({'where':{'id':_0xf58d8a[_0x8806('0x7f')]}});}})[_0x8806('0x1f')](function(_0x46be43){if(!_0x46be43){throw new db[(_0x8806('0x61'))]['ValidationError'](_0x8806('0x89'));}if(!_0x46be43['data1']||!_0x46be43[_0x8806('0x8a')]){throw new db[(_0x8806('0x61'))][(_0x8806('0x54'))](_0x8806('0x8b'));}_0x394aaf=_0x46be43;return getBucketslist(_0x394aaf[_0x8806('0x8c')],_0x394aaf[_0x8806('0x8a')],_0xf58d8a[_0x8806('0x80')]);})[_0x8806('0x1f')](function(_0x3cbab0){if(_0x3cbab0&&_0x3cbab0[_0x8806('0x8d')]){var _0x30a51f=_[_0x8806('0x48')](_0x3cbab0[_0x8806('0x8d')],function(_0x119bfd){return _0x119bfd[_0x8806('0x8e')]===_0xf58d8a[_0x8806('0x72')];});if(!_0x30a51f){logger['info'](util[_0x8806('0x2f')](_0x8806('0x8f'),_0x3dd709[_0x8806('0x47')]['id'],_0xf58d8a[_0x8806('0x72')]));return createBucket(_0x394aaf[_0x8806('0x8c')],_0x394aaf[_0x8806('0x8a')],_0xf58d8a[_0x8806('0x80')],_0xf58d8a['bucket']);}logger[_0x8806('0x64')](util['format'](_0x8806('0x90'),_0x3dd709[_0x8806('0x47')]['id'],_0xf58d8a[_0x8806('0x72')]));return;}})[_0x8806('0x1f')](function(_0x138024){if(_0x4611c4[_0x8806('0x79')]===_0x8806('0x91')){return transcribe(_0x3dd709[_0x8806('0x47')]['id'],_0x394aaf['data1'],_0x394aaf[_0x8806('0x8a')],_0xf58d8a[_0x8806('0x80')],_0xf58d8a['bucket'],_0x4611c4[_0x8806('0x4f')],_0xf58d8a[_0x8806('0x86')]);}else{logger['info'](util[_0x8806('0x2f')](_0x8806('0x92'),_0x3dd709['params']['id']));return{'transcribeStatus':_0x8806('0x93')};}})[_0x8806('0x1f')](function(_0x1b5568){if(_0x1b5568){_0x1b5568[_0x8806('0x94')]=_0x3dd709['body'][_0x8806('0x82')];return _0x4611c4['updateAttributes'](_0x1b5568);}})[_0x8806('0x1f')](respondWithResult(_0x34ced4,null))[_0x8806('0x49')](handleError(_0x34ced4,null));};function writeFile(_0x548f27,_0xb85128){return new Promise(function(_0x12588e,_0x448afa){fs[_0x8806('0x95')](_0xb85128,_0x548f27,function(_0x3b8e90,_0x2a169b){if(_0x3b8e90){return _0x448afa(_0x3b8e90);}else{return _0x12588e(_0x2a169b);}});});}exports[_0x8806('0x96')]=function(_0x5823a7,_0x23977f,_0x2cbf41){return db[_0x8806('0x28')]['findOne']({'where':{'id':_0x5823a7[_0x8806('0x47')]['id']}})['then'](handleEntityNotFound(_0x23977f))[_0x8806('0x1f')](function(_0x9a0a6){if(_0x9a0a6&&_0x9a0a6['fileText']){var _0x172c9d=_0x9a0a6[_0x8806('0x97')];var _0x444a52=config[_0x8806('0x98')]+_0x8806('0x99')+_0x9a0a6['id']+_0x8806('0x9a');if(fs['existsSync'](_0x444a52)){return _0x444a52;}return writeFile(_0x172c9d,_0x444a52)['then'](function(){return _0x444a52;});}else{throw new db[(_0x8806('0x61'))][(_0x8806('0x54'))](_0x8806('0x9b'));}})[_0x8806('0x1f')](function(_0x4a8924){return _0x23977f['download'](_0x4a8924);})[_0x8806('0x49')](handleError(_0x23977f));};