Built motion from commit (unavailable).|2.5.2
[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 _0x7711=['cancellazione\x20fisica\x20documento\x20%s','isNil','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','destroy','upload','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','TranscriptionJobName','transcribeName','runTranscribe','findOne','Voice\x20Recording\x20not\x20found','Setting','transcribeAccountId','transcribeRegion','language','bucket','Sequelize','runSentiment','sentimentAccountId','Sentiment\x20Analysis\x20not\x20configured','CloudProvider','Cloud\x20Provider\x20not\x20available','data1','data2','Cloud\x20Provider\x20not\x20configured','Buckets','Name','[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20not\x20available','transcribeStatus','NEW','[RUNTRANSCRIPT][%d]\x20Transcript\x20action\x20already\x20requested','IN_PROGRESS','updateAttributes','writeFile','fileText','root','/server/files/transcribes/transcribe_','.txt','Transcript\x20not\x20available','html-pdf','eml-format','rimraf','request-promise','moment','mustache','path','sox','to-csv','lodash','crypto','jsforce','desk.js','querystring','papaparse','aws-sdk','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/environment','status','end','offset','limit','set','Content-Range','json','apply','reject','update','then','sendStatus','error','stack','name','send','index','map','VoiceRecording','rawAttributes','fieldName','type','model','format','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','count','includeAll','include','rows','show','params','keys','options','find','catch','create','body','describe','download','uniqueid','value','%s.cypher','decryptFile','secrets','recording','existsSync','ValidationError','filename','extname','unlink','message','VoiceRecording\x20not\x20found','Not\x20found','downloads','sequelize','MD5','col','token','$and','push','Entity\x20not\x20found','info'];(function(_0x253ff6,_0xdc6cea){var _0x573d9f=function(_0x2762dc){while(--_0x2762dc){_0x253ff6['push'](_0x253ff6['shift']());}};_0x573d9f(++_0xdc6cea);}(_0x7711,0x1ea));var _0x1771=function(_0x495dbb,_0x5e39d3){_0x495dbb=_0x495dbb-0x0;var _0x30efb1=_0x7711[_0x495dbb];return _0x30efb1;};'use strict';var pdf=require(_0x1771('0x0'));var emlformat=require(_0x1771('0x1'));var rimraf=require(_0x1771('0x2'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0x1771('0x3'));var moment=require(_0x1771('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x1771('0x5'));var util=require('util');var path=require(_0x1771('0x6'));var sox=require(_0x1771('0x7'));var csv=require(_0x1771('0x8'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x1771('0x9'));var squel=require('squel');var crypto=require(_0x1771('0xa'));var jsforce=require(_0x1771('0xb'));var deskjs=require(_0x1771('0xc'));var toCsv=require(_0x1771('0x8'));var querystring=require(_0x1771('0xd'));var Papa=require(_0x1771('0xe'));var AWS=require(_0x1771('0xf'));var uuidv4=require('uuid/v4');var Redis=require(_0x1771('0x10'));var authService=require(_0x1771('0x11'));var qs=require(_0x1771('0x12'));var as=require(_0x1771('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x1771('0x14'))(_0x1771('0x15'));var utils=require('../../config/utils');var config=require(_0x1771('0x16'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x3cb2d6,_0x405ba1){_0x405ba1=_0x405ba1||0xcc;return function(_0x375a33){if(_0x375a33){return _0x3cb2d6['sendStatus'](_0x405ba1);}return _0x3cb2d6[_0x1771('0x17')](_0x405ba1)[_0x1771('0x18')]();};}function respondWithResult(_0x34ef0d,_0x526af8){_0x526af8=_0x526af8||0xc8;return function(_0x51dfdf){if(_0x51dfdf){return _0x34ef0d[_0x1771('0x17')](_0x526af8)['json'](_0x51dfdf);}};}function respondWithFilteredResult(_0x48f535,_0x52172d){return function(_0xdd6bc){if(_0xdd6bc){var _0x3e811a=_0xdd6bc['count'],_0x5c24c3=_0x52172d[_0x1771('0x19')],_0x1fb734=_0x52172d[_0x1771('0x19')]+_0x52172d[_0x1771('0x1a')],_0x245aaf;if(_0x1fb734>=_0x3e811a){_0x1fb734=_0x3e811a;_0x245aaf=0xc8;}else{_0x245aaf=0xce;}_0x48f535[_0x1771('0x17')](_0x245aaf);return _0x48f535[_0x1771('0x1b')](_0x1771('0x1c'),_0x5c24c3+'-'+_0x1fb734+'/'+_0x3e811a)[_0x1771('0x1d')](_0xdd6bc);}return null;};}function patchUpdates(_0x227cda){return function(_0x5160a2){try{jsonpatch[_0x1771('0x1e')](_0x5160a2,_0x227cda,!![]);}catch(_0xade685){return BPromise[_0x1771('0x1f')](_0xade685);}return _0x5160a2['save']();};}function saveUpdates(_0x459107,_0x54ea3c){return function(_0x42cf6d){if(_0x42cf6d){return _0x42cf6d[_0x1771('0x20')](_0x459107)[_0x1771('0x21')](function(_0x1242f2){return _0x1242f2;});}return null;};}function removeEntity(_0x182433,_0x3cd8eb){return function(_0x3fd841){if(_0x3fd841){return _0x3fd841['destroy']()[_0x1771('0x21')](function(){_0x182433[_0x1771('0x17')](0xcc)['end']();});}};}function handleEntityNotFound(_0x246d0d,_0x18fdc5){return function(_0x32a4ae){if(!_0x32a4ae){_0x246d0d[_0x1771('0x22')](0x194);}return _0x32a4ae;};}function handleError(_0x2e2860,_0x5b6924){_0x5b6924=_0x5b6924||0x1f4;return function(_0xd1f7c9){logger[_0x1771('0x23')](_0xd1f7c9[_0x1771('0x24')]);if(_0xd1f7c9[_0x1771('0x25')]){delete _0xd1f7c9[_0x1771('0x25')];}_0x2e2860[_0x1771('0x17')](_0x5b6924)[_0x1771('0x26')](_0xd1f7c9);};}exports[_0x1771('0x27')]=function(_0x3d053f,_0x4be773){var _0x4ac874={},_0x21288a={},_0x2afe37={'count':0x0,'rows':[]};var _0x58774b=_[_0x1771('0x28')](db[_0x1771('0x29')][_0x1771('0x2a')],function(_0x73a9a5){return{'name':_0x73a9a5[_0x1771('0x2b')],'type':_0x73a9a5[_0x1771('0x2c')]['key']};});_0x21288a[_0x1771('0x2d')]=_['differenceBy'](_['map'](_0x58774b,'name'),[_0x1771('0x2e')]);_0x21288a[_0x1771('0x2f')]=_['keys'](_0x3d053f[_0x1771('0x2f')]);_0x21288a[_0x1771('0x30')]=_[_0x1771('0x31')](_0x21288a[_0x1771('0x2d')],_0x21288a['query']);_0x4ac874[_0x1771('0x32')]=_[_0x1771('0x31')](_0x21288a[_0x1771('0x2d')],qs[_0x1771('0x33')](_0x3d053f[_0x1771('0x2f')][_0x1771('0x33')]));_0x4ac874[_0x1771('0x32')]=_0x4ac874[_0x1771('0x32')][_0x1771('0x34')]?_0x4ac874[_0x1771('0x32')]:_0x21288a['model'];if(!_0x3d053f['query'][_0x1771('0x35')](_0x1771('0x36'))){_0x4ac874[_0x1771('0x1a')]=qs[_0x1771('0x1a')](_0x3d053f['query']['limit']);_0x4ac874[_0x1771('0x19')]=qs[_0x1771('0x19')](_0x3d053f['query'][_0x1771('0x19')]);}_0x4ac874[_0x1771('0x37')]=qs[_0x1771('0x38')](_0x3d053f['query'][_0x1771('0x38')]);_0x4ac874[_0x1771('0x39')]=qs[_0x1771('0x30')](_[_0x1771('0x3a')](_0x3d053f[_0x1771('0x2f')],_0x21288a[_0x1771('0x30')]),_0x58774b);if(_0x3d053f[_0x1771('0x2f')][_0x1771('0x3b')]){_0x4ac874['where']=_[_0x1771('0x3c')](_0x4ac874[_0x1771('0x39')],{'$or':_[_0x1771('0x28')](_0x58774b,function(_0x2cf8c1){if(_0x2cf8c1[_0x1771('0x2c')]!=='VIRTUAL'){var _0x1eefe6={};_0x1eefe6[_0x2cf8c1[_0x1771('0x25')]]={'$like':'%'+_0x3d053f[_0x1771('0x2f')]['filter']+'%'};return _0x1eefe6;}})});}_0x4ac874=_[_0x1771('0x3c')]({},_0x4ac874,_0x3d053f['options']);var _0x9d4004={'where':_0x4ac874[_0x1771('0x39')]};return db[_0x1771('0x29')][_0x1771('0x3d')](_0x9d4004)[_0x1771('0x21')](function(_0x5ef02f){_0x2afe37[_0x1771('0x3d')]=_0x5ef02f;if(_0x3d053f['query'][_0x1771('0x3e')]){_0x4ac874[_0x1771('0x3f')]=[{'all':!![]}];}return db[_0x1771('0x29')]['findAll'](_0x4ac874);})[_0x1771('0x21')](function(_0x4dce7b){_0x2afe37[_0x1771('0x40')]=_0x4dce7b;return _0x2afe37;})[_0x1771('0x21')](respondWithFilteredResult(_0x4be773,_0x4ac874))['catch'](handleError(_0x4be773,null));};exports[_0x1771('0x41')]=function(_0x4dc2e7,_0xf14a9){var _0x35cce1={'raw':![],'where':{'id':_0x4dc2e7[_0x1771('0x42')]['id']}},_0x547f1b={};_0x547f1b[_0x1771('0x2d')]=_[_0x1771('0x43')](db['VoiceRecording'][_0x1771('0x2a')]);_0x547f1b[_0x1771('0x2f')]=_[_0x1771('0x43')](_0x4dc2e7['query']);_0x547f1b[_0x1771('0x30')]=_[_0x1771('0x31')](_0x547f1b[_0x1771('0x2d')],_0x547f1b['query']);_0x35cce1[_0x1771('0x32')]=_[_0x1771('0x31')](_0x547f1b[_0x1771('0x2d')],qs['fields'](_0x4dc2e7[_0x1771('0x2f')][_0x1771('0x33')]));_0x35cce1[_0x1771('0x32')]=_0x35cce1[_0x1771('0x32')][_0x1771('0x34')]?_0x35cce1['attributes']:_0x547f1b[_0x1771('0x2d')];if(_0x4dc2e7[_0x1771('0x2f')][_0x1771('0x3e')]){_0x35cce1[_0x1771('0x3f')]=[{'all':!![]}];}_0x35cce1=_[_0x1771('0x3c')]({},_0x35cce1,_0x4dc2e7[_0x1771('0x44')]);return db['VoiceRecording'][_0x1771('0x45')](_0x35cce1)[_0x1771('0x21')](handleEntityNotFound(_0xf14a9,null))[_0x1771('0x21')](respondWithResult(_0xf14a9,null))[_0x1771('0x46')](handleError(_0xf14a9,null));};exports[_0x1771('0x47')]=function(_0x5deb52,_0x20fa8e){return db[_0x1771('0x29')][_0x1771('0x47')](_0x5deb52['body'],{})[_0x1771('0x21')](respondWithResult(_0x20fa8e,0xc9))[_0x1771('0x46')](handleError(_0x20fa8e,null));};exports[_0x1771('0x20')]=function(_0x46b227,_0x34676a){if(_0x46b227[_0x1771('0x48')]['id']){delete _0x46b227[_0x1771('0x48')]['id'];}return db[_0x1771('0x29')][_0x1771('0x45')]({'where':{'id':_0x46b227[_0x1771('0x42')]['id']}})[_0x1771('0x21')](handleEntityNotFound(_0x34676a,null))['then'](saveUpdates(_0x46b227[_0x1771('0x48')],null))[_0x1771('0x21')](respondWithResult(_0x34676a,null))['catch'](handleError(_0x34676a,null));};exports[_0x1771('0x49')]=function(_0x2ee4f4,_0x7c3796){return db[_0x1771('0x29')]['describe']()[_0x1771('0x21')](respondWithResult(_0x7c3796,null))['catch'](handleError(_0x7c3796,null));};exports[_0x1771('0x4a')]=function(_0xcbcb43,_0x15894a,_0x4aee7c){var _0x315eab=require('../../components/encryptor');var _0xa300f5=![];var _0x2a07e6={};if(_0xcbcb43[_0x1771('0x2f')][_0x1771('0x2c')]&&_0xcbcb43[_0x1771('0x2f')][_0x1771('0x2c')]===_0x1771('0x4b')){_0x2a07e6['uniqueid']=_0xcbcb43[_0x1771('0x42')]['id'];}else{_0x2a07e6['id']=_0xcbcb43['params']['id'];}return db[_0x1771('0x29')][_0x1771('0x45')]({'where':_0x2a07e6,'attributes':['id',_0x1771('0x4c')],'raw':!![]})[_0x1771('0x21')](handleEntityNotFound(_0x15894a,null))[_0x1771('0x21')](function(_0x8348fe){if(_0x8348fe){var _0x57a7d2=_0x8348fe[_0x1771('0x4c')];var _0x4da182=util[_0x1771('0x2e')](_0x1771('0x4d'),_0x57a7d2);if(fs['existsSync'](_0x4da182)){_0xa300f5=!![];return _0x315eab[_0x1771('0x4e')](_0x4da182,_0x57a7d2,config[_0x1771('0x4f')][_0x1771('0x50')])['then'](function(){return _0x8348fe;});}return _0x8348fe;}})[_0x1771('0x21')](function(_0x6f1de2){if(_0x6f1de2){var _0x51f2f0=_0x6f1de2[_0x1771('0x4c')];if(!fs[_0x1771('0x51')](_0x51f2f0)){throw new db['Sequelize'][(_0x1771('0x52'))]('VoiceRecording\x20not\x20found');}if(_0x6f1de2[_0x1771('0x53')]){return _0x15894a[_0x1771('0x4a')](_0x51f2f0,_0x6f1de2[_0x1771('0x53')]+path[_0x1771('0x54')](_0x51f2f0),function(){if(_0xa300f5){fs[_0x1771('0x55')](_0x51f2f0);}});}else{return _0x15894a[_0x1771('0x4a')](_0x51f2f0,function(_0x1120f0){if(_0xa300f5){fs[_0x1771('0x55')](_0x51f2f0);}});}}})['catch'](function(_0x5a7be0){if(_0x5a7be0[_0x1771('0x56')]===_0x1771('0x57')){_0x15894a['status'](0x194)[_0x1771('0x26')](_0x1771('0x58'));}else{return handleError(_0x15894a,null);}});};exports[_0x1771('0x59')]=function(_0x3c6276,_0x2e53ca,_0x540a24){var _0x16a23a=require('../../components/encryptor');var _0x3d68f6=![];var _0x3cb0a4={'$and':[db[_0x1771('0x5a')][_0x1771('0x39')](db[_0x1771('0x5a')]['fn'](_0x1771('0x5b'),db['sequelize'][_0x1771('0x5c')](_0x1771('0x4b'))),_0x3c6276['query'][_0x1771('0x5d')])]};if(_0x3c6276[_0x1771('0x2f')][_0x1771('0x2c')]&&_0x3c6276[_0x1771('0x2f')][_0x1771('0x2c')]===_0x1771('0x4b')){_0x3cb0a4[_0x1771('0x5e')][_0x1771('0x5f')]({'uniqueid':_0x3c6276[_0x1771('0x42')]['id']});}else{_0x3cb0a4[_0x1771('0x5e')]['push']({'id':_0x3c6276[_0x1771('0x42')]['id']});}return db[_0x1771('0x29')][_0x1771('0x45')]({'where':_0x3cb0a4,'attributes':['id',_0x1771('0x4c')],'raw':!![]})[_0x1771('0x21')](handleEntityNotFound(_0x2e53ca,null))['then'](function(_0x20d113){if(_0x20d113){var _0x22a146=util[_0x1771('0x2e')](_0x1771('0x4d'),_0x20d113['value']);if(fs['existsSync'](_0x22a146)){_0x3d68f6=!![];return _0x16a23a[_0x1771('0x4e')](_0x22a146,_0x20d113[_0x1771('0x4c')],config['secrets'][_0x1771('0x50')])[_0x1771('0x21')](function(){return _0x20d113;});}return _0x20d113;}})[_0x1771('0x21')](function(_0x2470c1){if(_0x2470c1){if(!fs[_0x1771('0x51')](_0x2470c1[_0x1771('0x4c')])){throw new db['Sequelize'][(_0x1771('0x52'))](_0x1771('0x57'));}if(_0x2470c1[_0x1771('0x53')]){return _0x2e53ca[_0x1771('0x4a')](_0x2470c1[_0x1771('0x4c')],_0x2470c1[_0x1771('0x53')]+path[_0x1771('0x54')](_0x2470c1[_0x1771('0x4c')]),function(){if(_0x3d68f6){fs[_0x1771('0x55')](_0x2470c1[_0x1771('0x4c')]);}});}else{return _0x2e53ca[_0x1771('0x4a')](_0x2470c1[_0x1771('0x4c')],function(_0x19a484){if(_0x3d68f6){fs[_0x1771('0x55')](_0x2470c1[_0x1771('0x4c')]);}});}}})[_0x1771('0x46')](handleError(_0x2e53ca,null));};exports['destroy']=function(_0xd80501,_0x424872){return db['VoiceRecording'][_0x1771('0x45')]({'where':{'id':_0xd80501['params']['id']}})[_0x1771('0x21')](function(_0x34818d){if(!_0x34818d)throw new ReferenceError(_0x1771('0x60'));return _0x34818d;})[_0x1771('0x21')](function(_0x49a752){var _0x56e21e=_0x49a752['value'];logger[_0x1771('0x61')](_0x1771('0x62'),_0x56e21e);if(!_[_0x1771('0x63')](_0x49a752['value'])&&fs[_0x1771('0x51')](_0x56e21e)){logger[_0x1771('0x61')](_0x1771('0x64')+_0x56e21e+_0x1771('0x65'));fs[_0x1771('0x66')](_0x56e21e);}_0x56e21e=_0x56e21e+'.cypher';if(!_[_0x1771('0x63')](_0x49a752['value'])&&fs['existsSync'](_0x56e21e)){logger[_0x1771('0x61')](_0x1771('0x64')+_0x56e21e+_0x1771('0x65'));fs['unlinkSync'](_0x56e21e);}return _0x49a752;})[_0x1771('0x21')](function(_0x4f26dd){if(!_0x4f26dd)throw new InternalError();return _0x4f26dd[_0x1771('0x67')]();})[_0x1771('0x21')](function(){_0x424872['status'](0xcc)[_0x1771('0x18')]();})['catch'](handleError(_0x424872,null));};function getBucketslist(_0x3c904b,_0x5ed4fe,_0x18fa8b){return new Promise(function(_0x477e15,_0x4c8d92){var _0x1b9323=new AWS['S3']({'accessKeyId':_0x5ed4fe,'secretAccessKey':_0x3c904b,'region':_0x18fa8b});_0x1b9323['listBuckets']({},function(_0x5ac667,_0xca80e7){if(_0x5ac667){return _0x4c8d92(_0x5ac667);}else{return _0x477e15(_0xca80e7);}});});}function createBucket(_0xa75e91,_0x2507ce,_0x14f56a,_0x43898c){return new Promise(function(_0x15beee,_0x563163){var _0x4953fa=new AWS['S3']({'accessKeyId':_0x2507ce,'secretAccessKey':_0xa75e91,'region':_0x14f56a});_0x4953fa['createBucket']({'Bucket':_0x43898c},function(_0x497a62,_0x545fc9){if(_0x497a62){return _0x563163(_0x497a62);}else{return _0x15beee(_0x545fc9);}});});}function uploadFile(_0x25c999,_0x592b06,_0x54f998,_0x17616e,_0x98879,_0x3020b5){return new Promise(function(_0x1bcfc1,_0xebed2){var _0x1b1558=new AWS['S3']({'accessKeyId':_0x592b06,'secretAccessKey':_0x25c999,'region':_0x54f998});_0x1b1558[_0x1771('0x68')]({'Bucket':_0x17616e,'Key':_0x98879,'Body':_0x3020b5},function(_0x562ac5,_0xa1867c){if(_0x562ac5){return _0xebed2(_0x562ac5);}else{return _0x1bcfc1(_0xa1867c);}});});}function startTranscribe(_0x4bd331,_0x1d05af,_0x127642,_0x2f98d5,_0x28fb2d,_0x5a82f6){return new Promise(function(_0xfac406,_0x212bd6){var _0xe553f9=new AWS['TranscribeService']({'accessKeyId':_0x1d05af,'secretAccessKey':_0x4bd331,'region':_0x127642});_0xe553f9[_0x1771('0x69')]({'TranscriptionJobName':_0x2f98d5,'LanguageCode':_0x28fb2d,'Media':{'MediaFileUri':_0x5a82f6}},function(_0x20d0ff,_0xc40e80){if(_0x20d0ff){return _0x212bd6(_0x20d0ff);}else{return _0xfac406(_0xc40e80);}});});}function transcribe(_0x13e6e9,_0x55a0e6,_0x3c4da5,_0x3b97bf,_0x286cf9,_0xfdb917,_0x291934){return new Promise(function(_0x1e2e78,_0x54c50c){var _0x3afe74={};logger[_0x1771('0x61')](util['format']('[RUNTRANSCRIPT][%d]\x20Starting\x20voice\x20recording\x20upload\x20in\x20bucket\x20%s',_0x13e6e9,_0x286cf9));return uploadFile(_0x55a0e6,_0x3c4da5,_0x3b97bf,_0x286cf9,path['basename'](_0xfdb917),fs[_0x1771('0x6a')](_0xfdb917))[_0x1771('0x21')](function(_0xeeb329){logger['info'](util['format'](_0x1771('0x6b'),_0x13e6e9,_0x286cf9,_0xeeb329[_0x1771('0x6c')]));_0x3afe74['bucket']=_0xeeb329[_0x1771('0x6d')];_0x3afe74[_0x1771('0x6e')]=_0xeeb329[_0x1771('0x6c')];logger[_0x1771('0x61')](util[_0x1771('0x2e')](_0x1771('0x6f'),_0x13e6e9));return startTranscribe(_0x55a0e6,_0x3c4da5,_0x3b97bf,uuidv4(),_0x291934,_0xeeb329[_0x1771('0x6c')]);})[_0x1771('0x21')](function(_0x2397e6){logger[_0x1771('0x61')](util[_0x1771('0x2e')](_0x1771('0x70'),_0x13e6e9,_0x2397e6[_0x1771('0x71')][_0x1771('0x72')]));_0x3afe74[_0x1771('0x73')]=_0x2397e6[_0x1771('0x71')][_0x1771('0x72')];_0x3afe74['transcribeStatus']=_0x2397e6[_0x1771('0x71')]['TranscriptionJobStatus'];return _0x1e2e78(_0x3afe74);})[_0x1771('0x46')](function(_0x3bb1f1){return _0x54c50c(_0x3bb1f1);});});}exports[_0x1771('0x74')]=function(_0x453dc5,_0x19d874,_0x3c76f2){var _0x420586;var _0x5eedec;var _0x53dd13;var _0xb2adc3=require('../../components/encryptor');return db['VoiceRecording'][_0x1771('0x75')]({'where':{'id':_0x453dc5[_0x1771('0x42')]['id']}})['then'](function(_0x38e86b){if(_0x38e86b){var _0x431875=util[_0x1771('0x2e')](_0x1771('0x4d'),_0x38e86b[_0x1771('0x4c')]);if(fs['existsSync'](_0x431875)){cypher=!![];return _0xb2adc3[_0x1771('0x4e')](_0x431875,_0x38e86b[_0x1771('0x4c')],config[_0x1771('0x4f')]['recording'])[_0x1771('0x21')](function(){return _0x38e86b;});}return _0x38e86b;}})['then'](function(_0x5030d0){if(!_0x5030d0){throw new db['Sequelize']['ValidationError'](_0x1771('0x76'));}_0x5eedec=_0x5030d0;return db[_0x1771('0x77')]['findOne']({'where':{'id':0x1}});})[_0x1771('0x21')](handleEntityNotFound(_0x19d874,null))[_0x1771('0x21')](function(_0x2bd2cb){if(_0x2bd2cb){_0x420586=_0x2bd2cb;if(!_0x420586['transcribe']||!_0x420586[_0x1771('0x78')]||!_0x420586[_0x1771('0x79')]||!_0x420586[_0x1771('0x7a')]||!_0x420586[_0x1771('0x7b')]){throw new db[(_0x1771('0x7c'))][(_0x1771('0x52'))]('Transcribe\x20not\x20configured');}if(_0x453dc5[_0x1771('0x48')][_0x1771('0x7d')]&&(!_0x420586['sentiment']||!_0x420586[_0x1771('0x7e')]||!_0x420586['sentimentRegion']||!_0x420586['language']||!_0x420586[_0x1771('0x7b')])){throw new db[(_0x1771('0x7c'))][(_0x1771('0x52'))](_0x1771('0x7f'));}return db[_0x1771('0x80')][_0x1771('0x75')]({'where':{'id':_0x420586[_0x1771('0x78')]}});}})[_0x1771('0x21')](function(_0x2bf0c4){if(!_0x2bf0c4){throw new db[(_0x1771('0x7c'))][(_0x1771('0x52'))](_0x1771('0x81'));}if(!_0x2bf0c4[_0x1771('0x82')]||!_0x2bf0c4[_0x1771('0x83')]){throw new db[(_0x1771('0x7c'))][(_0x1771('0x52'))](_0x1771('0x84'));}_0x53dd13=_0x2bf0c4;return getBucketslist(_0x53dd13[_0x1771('0x82')],_0x53dd13[_0x1771('0x83')],_0x420586[_0x1771('0x79')]);})[_0x1771('0x21')](function(_0x402221){if(_0x402221&&_0x402221['Buckets']){var _0xed68fc=_['find'](_0x402221[_0x1771('0x85')],function(_0x2d1be9){return _0x2d1be9[_0x1771('0x86')]===_0x420586[_0x1771('0x7b')];});if(!_0xed68fc){logger[_0x1771('0x61')](util[_0x1771('0x2e')](_0x1771('0x87'),_0x453dc5[_0x1771('0x42')]['id'],_0x420586[_0x1771('0x7b')]));return createBucket(_0x53dd13[_0x1771('0x82')],_0x53dd13['data2'],_0x420586['transcribeRegion'],_0x420586[_0x1771('0x7b')]);}logger['info'](util['format']('[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20available',_0x453dc5[_0x1771('0x42')]['id'],_0x420586['bucket']));return;}})['then'](function(_0x1c224a){if(_0x5eedec[_0x1771('0x88')]===_0x1771('0x89')){return transcribe(_0x453dc5['params']['id'],_0x53dd13['data1'],_0x53dd13[_0x1771('0x83')],_0x420586[_0x1771('0x79')],_0x420586[_0x1771('0x7b')],_0x5eedec[_0x1771('0x4c')],_0x420586[_0x1771('0x7a')]);}else{logger[_0x1771('0x61')](util[_0x1771('0x2e')](_0x1771('0x8a'),_0x453dc5['params']['id']));return{'transcribeStatus':_0x1771('0x8b')};}})['then'](function(_0x1cfc95){if(_0x1cfc95){_0x1cfc95['tempSentiment']=_0x453dc5['body']['runSentiment'];return _0x5eedec[_0x1771('0x8c')](_0x1cfc95);}})[_0x1771('0x21')](respondWithResult(_0x19d874,null))[_0x1771('0x46')](handleError(_0x19d874,null));};function writeFile(_0xd7623e,_0x2e0586){return new Promise(function(_0x31dfbe,_0x1e0f11){fs[_0x1771('0x8d')](_0x2e0586,_0xd7623e,function(_0x331de3,_0x3bae7){if(_0x331de3){return _0x1e0f11(_0x331de3);}else{return _0x31dfbe(_0x3bae7);}});});}exports['downloadTranscribe']=function(_0x578169,_0x3b1b73,_0x401b65){return db[_0x1771('0x29')]['findOne']({'where':{'id':_0x578169['params']['id']}})['then'](handleEntityNotFound(_0x3b1b73))[_0x1771('0x21')](function(_0x36067c){if(_0x36067c&&_0x36067c[_0x1771('0x8e')]){var _0x8661a0=_0x36067c['fileText'];var _0x295f78=config[_0x1771('0x8f')]+_0x1771('0x90')+_0x36067c['id']+_0x1771('0x91');if(fs[_0x1771('0x51')](_0x295f78)){return _0x295f78;}return writeFile(_0x8661a0,_0x295f78)[_0x1771('0x21')](function(){return _0x295f78;});}else{throw new db['Sequelize']['ValidationError'](_0x1771('0x92'));}})[_0x1771('0x21')](function(_0x4ecf79){return _0x3b1b73['download'](_0x4ecf79);})['catch'](handleError(_0x3b1b73));};