4a1fab0e7e84b234ec1f6d99b8651fd28b6e5b5d
[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 _0x61b3=['data2','Cloud\x20Provider\x20not\x20configured','Buckets','[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20not\x20available','[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20available','NEW','[RUNTRANSCRIPT][%d]\x20Transcript\x20action\x20already\x20requested','IN_PROGRESS','tempSentiment','updateAttributes','downloadTranscribe','fileText','root','Transcript\x20not\x20available','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','sox','to-csv','ejs','fs-extra','lodash','squel','jsforce','aws-sdk','uuid/v4','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','sendStatus','status','end','offset','undefined','limit','count','set','Content-Range','json','reject','save','update','then','destroy','name','send','index','VoiceRecording','rawAttributes','fieldName','type','key','differenceBy','map','format','query','keys','filters','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filter','merge','options','includeAll','include','findAll','catch','show','params','find','create','body','describe','download','../../components/encryptor','uniqueid','value','%s.cypher','decryptFile','secrets','recording','existsSync','Sequelize','ValidationError','filename','extname','unlink','message','VoiceRecording\x20not\x20found','Not\x20found','downloads','sequelize','MD5','col','token','$and','push','isNil','Entity\x20not\x20found','info','cancellazione\x20fisica\x20documento\x20%s','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','.cypher','File:\x20\x22','unlinkSync','[RUNTRANSCRIPT][%d]\x20Starting\x20voice\x20recording\x20upload\x20in\x20bucket\x20%s','basename','readFileSync','Location','bucket','Bucket','location','[RUNTRANSCRIPT][%d]\x20Sending\x20transcribe\x20request','TranscriptionJob','TranscriptionJobName','transcribeName','transcribeStatus','TranscriptionJobStatus','runTranscribe','findOne','Voice\x20Recording\x20not\x20found','Setting','transcribe','transcribeAccountId','transcribeRegion','language','Transcribe\x20not\x20configured','runSentiment','sentiment','sentimentAccountId','sentimentRegion','CloudProvider','Cloud\x20Provider\x20not\x20available'];(function(_0x37b1c4,_0x468433){var _0x1dd01d=function(_0x4ff18a){while(--_0x4ff18a){_0x37b1c4['push'](_0x37b1c4['shift']());}};_0x1dd01d(++_0x468433);}(_0x61b3,0xa2));var _0x361b=function(_0x3d7f02,_0x49c157){_0x3d7f02=_0x3d7f02-0x0;var _0x573f4d=_0x61b3[_0x3d7f02];return _0x573f4d;};'use strict';var emlformat=require(_0x361b('0x0'));var rimraf=require(_0x361b('0x1'));var zipdir=require(_0x361b('0x2'));var jsonpatch=require(_0x361b('0x3'));var rp=require(_0x361b('0x4'));var moment=require(_0x361b('0x5'));var BPromise=require('bluebird');var Mustache=require(_0x361b('0x6'));var util=require('util');var path=require('path');var sox=require(_0x361b('0x7'));var csv=require(_0x361b('0x8'));var ejs=require(_0x361b('0x9'));var fs=require('fs');var fs_extra=require(_0x361b('0xa'));var _=require(_0x361b('0xb'));var squel=require(_0x361b('0xc'));var crypto=require('crypto');var jsforce=require(_0x361b('0xd'));var deskjs=require('desk.js');var toCsv=require(_0x361b('0x8'));var querystring=require('querystring');var Papa=require('papaparse');var AWS=require(_0x361b('0xe'));var uuidv4=require(_0x361b('0xf'));var Redis=require(_0x361b('0x10'));var authService=require(_0x361b('0x11'));var qs=require('../../components/parsers/qs');var as=require(_0x361b('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x361b('0x13'))(_0x361b('0x14'));var utils=require(_0x361b('0x15'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x32e2fe,_0xa1dd0e){_0xa1dd0e=_0xa1dd0e||0xcc;return function(_0x52586d){if(_0x52586d){return _0x32e2fe[_0x361b('0x16')](_0xa1dd0e);}return _0x32e2fe[_0x361b('0x17')](_0xa1dd0e)[_0x361b('0x18')]();};}function respondWithResult(_0x4fb13e,_0x1be031){_0x1be031=_0x1be031||0xc8;return function(_0x300086){if(_0x300086){return _0x4fb13e['status'](_0x1be031)['json'](_0x300086);}};}function respondWithFilteredResult(_0x581294,_0x5af543){return function(_0x3279df){if(_0x3279df){var _0x46eac0=typeof _0x5af543[_0x361b('0x19')]===_0x361b('0x1a')&&typeof _0x5af543[_0x361b('0x1b')]===_0x361b('0x1a');var _0x18414e=_0x3279df[_0x361b('0x1c')];var _0x4139b5=_0x46eac0?0x0:_0x5af543['offset'];var _0x38dcc2=_0x46eac0?_0x3279df['count']:_0x5af543['offset']+_0x5af543[_0x361b('0x1b')];var _0x4d2600;if(_0x38dcc2>=_0x18414e){_0x38dcc2=_0x18414e;_0x4d2600=0xc8;}else{_0x4d2600=0xce;}_0x581294['status'](_0x4d2600);return _0x581294[_0x361b('0x1d')](_0x361b('0x1e'),_0x4139b5+'-'+_0x38dcc2+'/'+_0x18414e)[_0x361b('0x1f')](_0x3279df);}return null;};}function patchUpdates(_0x50bf44){return function(_0x5b062c){try{jsonpatch['apply'](_0x5b062c,_0x50bf44,!![]);}catch(_0x23e7ab){return BPromise[_0x361b('0x20')](_0x23e7ab);}return _0x5b062c[_0x361b('0x21')]();};}function saveUpdates(_0x33afe7,_0x12deb1){return function(_0x2a748c){if(_0x2a748c){return _0x2a748c[_0x361b('0x22')](_0x33afe7)[_0x361b('0x23')](function(_0x113ddd){return _0x113ddd;});}return null;};}function removeEntity(_0x43583e,_0x210752){return function(_0x3b7882){if(_0x3b7882){return _0x3b7882[_0x361b('0x24')]()[_0x361b('0x23')](function(){_0x43583e['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x51f9de,_0x13da97){return function(_0x5ed4bd){if(!_0x5ed4bd){_0x51f9de['sendStatus'](0x194);}return _0x5ed4bd;};}function handleError(_0x67a9f8,_0x5ead4c){_0x5ead4c=_0x5ead4c||0x1f4;return function(_0xfe1901){logger['error'](_0xfe1901['stack']);if(_0xfe1901[_0x361b('0x25')]){delete _0xfe1901['name'];}_0x67a9f8[_0x361b('0x17')](_0x5ead4c)[_0x361b('0x26')](_0xfe1901);};}exports[_0x361b('0x27')]=function(_0x5c9f11,_0x1e332f){var _0x3974ab={},_0x18cf48={},_0x3939c5={'count':0x0,'rows':[]};var _0x1cb3fb=_['map'](db[_0x361b('0x28')][_0x361b('0x29')],function(_0x32b4d4){return{'name':_0x32b4d4[_0x361b('0x2a')],'type':_0x32b4d4[_0x361b('0x2b')][_0x361b('0x2c')]};});_0x18cf48['model']=_[_0x361b('0x2d')](_[_0x361b('0x2e')](_0x1cb3fb,_0x361b('0x25')),[_0x361b('0x2f')]);_0x18cf48[_0x361b('0x30')]=_[_0x361b('0x31')](_0x5c9f11[_0x361b('0x30')]);_0x18cf48[_0x361b('0x32')]=_[_0x361b('0x33')](_0x18cf48[_0x361b('0x34')],_0x18cf48[_0x361b('0x30')]);_0x3974ab[_0x361b('0x35')]=_[_0x361b('0x33')](_0x18cf48[_0x361b('0x34')],qs[_0x361b('0x36')](_0x5c9f11[_0x361b('0x30')][_0x361b('0x36')]));_0x3974ab[_0x361b('0x35')]=_0x3974ab[_0x361b('0x35')][_0x361b('0x37')]?_0x3974ab[_0x361b('0x35')]:_0x18cf48[_0x361b('0x34')];if(!_0x5c9f11[_0x361b('0x30')][_0x361b('0x38')](_0x361b('0x39'))){_0x3974ab['limit']=qs[_0x361b('0x1b')](_0x5c9f11[_0x361b('0x30')][_0x361b('0x1b')]);_0x3974ab[_0x361b('0x19')]=qs[_0x361b('0x19')](_0x5c9f11[_0x361b('0x30')][_0x361b('0x19')]);}_0x3974ab[_0x361b('0x3a')]=qs['sort'](_0x5c9f11[_0x361b('0x30')][_0x361b('0x3b')]);_0x3974ab[_0x361b('0x3c')]=qs[_0x361b('0x32')](_['pick'](_0x5c9f11[_0x361b('0x30')],_0x18cf48[_0x361b('0x32')]),_0x1cb3fb);if(_0x5c9f11['query'][_0x361b('0x3d')]){_0x3974ab[_0x361b('0x3c')]=_[_0x361b('0x3e')](_0x3974ab[_0x361b('0x3c')],{'$or':_[_0x361b('0x2e')](_0x1cb3fb,function(_0x1ee38d){if(_0x1ee38d[_0x361b('0x2b')]!=='VIRTUAL'){var _0x347688={};_0x347688[_0x1ee38d['name']]={'$like':'%'+_0x5c9f11[_0x361b('0x30')]['filter']+'%'};return _0x347688;}})});}_0x3974ab=_[_0x361b('0x3e')]({},_0x3974ab,_0x5c9f11[_0x361b('0x3f')]);var _0xcf3acb={'where':_0x3974ab[_0x361b('0x3c')]};return db[_0x361b('0x28')]['count'](_0xcf3acb)['then'](function(_0x6dded5){_0x3939c5['count']=_0x6dded5;if(_0x5c9f11['query'][_0x361b('0x40')]){_0x3974ab[_0x361b('0x41')]=[{'all':!![]}];}return db['VoiceRecording'][_0x361b('0x42')](_0x3974ab);})[_0x361b('0x23')](function(_0x3ce9fd){_0x3939c5['rows']=_0x3ce9fd;return _0x3939c5;})[_0x361b('0x23')](respondWithFilteredResult(_0x1e332f,_0x3974ab))[_0x361b('0x43')](handleError(_0x1e332f,null));};exports[_0x361b('0x44')]=function(_0x458047,_0x544215){var _0x278100={'raw':![],'where':{'id':_0x458047[_0x361b('0x45')]['id']}},_0x1cee75={};_0x1cee75['model']=_[_0x361b('0x31')](db['VoiceRecording'][_0x361b('0x29')]);_0x1cee75[_0x361b('0x30')]=_['keys'](_0x458047[_0x361b('0x30')]);_0x1cee75[_0x361b('0x32')]=_['intersection'](_0x1cee75[_0x361b('0x34')],_0x1cee75[_0x361b('0x30')]);_0x278100[_0x361b('0x35')]=_[_0x361b('0x33')](_0x1cee75[_0x361b('0x34')],qs[_0x361b('0x36')](_0x458047[_0x361b('0x30')][_0x361b('0x36')]));_0x278100[_0x361b('0x35')]=_0x278100['attributes']['length']?_0x278100[_0x361b('0x35')]:_0x1cee75[_0x361b('0x34')];if(_0x458047[_0x361b('0x30')][_0x361b('0x40')]){_0x278100[_0x361b('0x41')]=[{'all':!![]}];}_0x278100=_[_0x361b('0x3e')]({},_0x278100,_0x458047[_0x361b('0x3f')]);return db[_0x361b('0x28')][_0x361b('0x46')](_0x278100)[_0x361b('0x23')](handleEntityNotFound(_0x544215,null))[_0x361b('0x23')](respondWithResult(_0x544215,null))[_0x361b('0x43')](handleError(_0x544215,null));};exports[_0x361b('0x47')]=function(_0x14fff3,_0xc597f1){return db['VoiceRecording'][_0x361b('0x47')](_0x14fff3['body'],{})[_0x361b('0x23')](respondWithResult(_0xc597f1,0xc9))['catch'](handleError(_0xc597f1,null));};exports[_0x361b('0x22')]=function(_0x4ac375,_0x11d968){if(_0x4ac375[_0x361b('0x48')]['id']){delete _0x4ac375[_0x361b('0x48')]['id'];}return db[_0x361b('0x28')][_0x361b('0x46')]({'where':{'id':_0x4ac375[_0x361b('0x45')]['id']}})[_0x361b('0x23')](handleEntityNotFound(_0x11d968,null))[_0x361b('0x23')](saveUpdates(_0x4ac375[_0x361b('0x48')],null))[_0x361b('0x23')](respondWithResult(_0x11d968,null))[_0x361b('0x43')](handleError(_0x11d968,null));};exports[_0x361b('0x49')]=function(_0x31237b,_0x453e12){return db[_0x361b('0x28')][_0x361b('0x49')]()[_0x361b('0x23')](respondWithResult(_0x453e12,null))[_0x361b('0x43')](handleError(_0x453e12,null));};exports[_0x361b('0x4a')]=function(_0x55d6b3,_0x40c503,_0x3c7238){var _0xa3795=require(_0x361b('0x4b'));var _0x20f102=![];var _0x17cfc2={};if(_0x55d6b3['query']['type']&&_0x55d6b3[_0x361b('0x30')][_0x361b('0x2b')]===_0x361b('0x4c')){_0x17cfc2['uniqueid']=_0x55d6b3[_0x361b('0x45')]['id'];}else{_0x17cfc2['id']=_0x55d6b3['params']['id'];}return db[_0x361b('0x28')][_0x361b('0x46')]({'where':_0x17cfc2,'attributes':['id',_0x361b('0x4d')],'raw':!![]})[_0x361b('0x23')](handleEntityNotFound(_0x40c503,null))[_0x361b('0x23')](function(_0xabb09f){if(_0xabb09f){var _0x318199=_0xabb09f[_0x361b('0x4d')];var _0x9b96d1=util[_0x361b('0x2f')](_0x361b('0x4e'),_0x318199);if(fs['existsSync'](_0x9b96d1)){_0x20f102=!![];return _0xa3795[_0x361b('0x4f')](_0x9b96d1,_0x318199,config[_0x361b('0x50')][_0x361b('0x51')])['then'](function(){return _0xabb09f;});}return _0xabb09f;}})[_0x361b('0x23')](function(_0x321d7a){if(_0x321d7a){var _0x16517c=_0x321d7a[_0x361b('0x4d')];if(!fs[_0x361b('0x52')](_0x16517c)){throw new db[(_0x361b('0x53'))][(_0x361b('0x54'))]('VoiceRecording\x20not\x20found');}if(_0x321d7a['filename']){return _0x40c503['download'](_0x16517c,_0x321d7a[_0x361b('0x55')]+path[_0x361b('0x56')](_0x16517c),function(){if(_0x20f102){fs[_0x361b('0x57')](_0x16517c);}});}else{return _0x40c503[_0x361b('0x4a')](_0x16517c,function(_0x7cf8f3){if(_0x20f102){fs[_0x361b('0x57')](_0x16517c);}});}}})[_0x361b('0x43')](function(_0x2cc839){if(_0x2cc839[_0x361b('0x58')]===_0x361b('0x59')){_0x40c503[_0x361b('0x17')](0x194)[_0x361b('0x26')](_0x361b('0x5a'));}else{return handleError(_0x40c503,null);}});};exports[_0x361b('0x5b')]=function(_0x2ff46c,_0x4c19ca,_0x314ddc){var _0x52fa27=require(_0x361b('0x4b'));var _0x37180d=![];var _0x28957b={'$and':[db[_0x361b('0x5c')][_0x361b('0x3c')](db[_0x361b('0x5c')]['fn'](_0x361b('0x5d'),db[_0x361b('0x5c')][_0x361b('0x5e')](_0x361b('0x4c'))),_0x2ff46c['query'][_0x361b('0x5f')])]};if(_0x2ff46c['query'][_0x361b('0x2b')]&&_0x2ff46c[_0x361b('0x30')][_0x361b('0x2b')]===_0x361b('0x4c')){_0x28957b[_0x361b('0x60')][_0x361b('0x61')]({'uniqueid':_0x2ff46c[_0x361b('0x45')]['id']});}else{_0x28957b[_0x361b('0x60')]['push']({'id':_0x2ff46c[_0x361b('0x45')]['id']});}return db[_0x361b('0x28')][_0x361b('0x46')]({'where':_0x28957b,'attributes':['id',_0x361b('0x4d')],'raw':!![]})[_0x361b('0x23')](handleEntityNotFound(_0x4c19ca,null))[_0x361b('0x23')](function(_0x55318e){if(_0x55318e){var _0x49b33c=util[_0x361b('0x2f')](_0x361b('0x4e'),_0x55318e['value']);if(fs[_0x361b('0x52')](_0x49b33c)){_0x37180d=!![];return _0x52fa27[_0x361b('0x4f')](_0x49b33c,_0x55318e['value'],config[_0x361b('0x50')][_0x361b('0x51')])[_0x361b('0x23')](function(){return _0x55318e;});}return _0x55318e;}})[_0x361b('0x23')](function(_0x5bdbc1){if(_0x5bdbc1){if(!fs[_0x361b('0x52')](_0x5bdbc1[_0x361b('0x4d')])){throw new db[(_0x361b('0x53'))]['ValidationError'](_0x361b('0x59'));}if(_0x5bdbc1[_0x361b('0x55')]){return _0x4c19ca[_0x361b('0x4a')](_0x5bdbc1[_0x361b('0x4d')],_0x5bdbc1['filename']+path[_0x361b('0x56')](_0x5bdbc1['value']),function(){if(_0x37180d){fs['unlink'](_0x5bdbc1[_0x361b('0x4d')]);}});}else{return _0x4c19ca[_0x361b('0x4a')](_0x5bdbc1[_0x361b('0x4d')],function(_0x436cd7){if(_0x37180d){fs[_0x361b('0x57')](_0x5bdbc1['value']);}});}}})[_0x361b('0x43')](handleError(_0x4c19ca,null));};exports[_0x361b('0x24')]=function(_0x1068c9,_0x1b65e2){return db[_0x361b('0x28')][_0x361b('0x46')]({'where':{'id':_0x1068c9[_0x361b('0x45')]['id']}})[_0x361b('0x23')](function(_0x4efd87){if(_[_0x361b('0x62')](_0x4efd87)){throw new ReferenceError(_0x361b('0x63'));}return _0x4efd87;})[_0x361b('0x23')](function(_0x5d809c){var _0x2e315a=_0x5d809c[_0x361b('0x4d')];logger[_0x361b('0x64')](_0x361b('0x65'),_0x2e315a);if(!_['isNil'](_0x5d809c['value'])&&fs[_0x361b('0x52')](_0x2e315a)){logger['info']('File:\x20\x22'+_0x2e315a+_0x361b('0x66'));fs['unlinkSync'](_0x2e315a);}_0x2e315a=_0x2e315a+_0x361b('0x67');if(!_['isNil'](_0x5d809c[_0x361b('0x4d')])&&fs['existsSync'](_0x2e315a)){logger['info'](_0x361b('0x68')+_0x2e315a+_0x361b('0x66'));fs[_0x361b('0x69')](_0x2e315a);}return _0x5d809c;})['then'](function(_0x345392){if(!_0x345392)throw new InternalError();return _0x345392['destroy']();})[_0x361b('0x23')](function(){_0x1b65e2[_0x361b('0x17')](0xcc)[_0x361b('0x18')]();})['catch'](handleError(_0x1b65e2,null));};function getBucketslist(_0x569799,_0x432b71,_0x56a474){return new Promise(function(_0x30c8c5,_0x673604){var _0x3b88dc=new AWS['S3']({'accessKeyId':_0x432b71,'secretAccessKey':_0x569799,'region':_0x56a474});_0x3b88dc['listBuckets']({},function(_0x2bc2b0,_0x3c953e){if(_0x2bc2b0){return _0x673604(_0x2bc2b0);}else{return _0x30c8c5(_0x3c953e);}});});}function createBucket(_0x1dabeb,_0x1a716c,_0x4fcd6b,_0x408013){return new Promise(function(_0x135acd,_0x7df21f){var _0x596d41=new AWS['S3']({'accessKeyId':_0x1a716c,'secretAccessKey':_0x1dabeb,'region':_0x4fcd6b});_0x596d41['createBucket']({'Bucket':_0x408013},function(_0x2c5bfe,_0x3996f1){if(_0x2c5bfe){return _0x7df21f(_0x2c5bfe);}else{return _0x135acd(_0x3996f1);}});});}function uploadFile(_0x1d3360,_0x2dfb69,_0x5658c7,_0x32fcb5,_0x450faa,_0xd1dcde){return new Promise(function(_0x529e47,_0x51902a){var _0x617966=new AWS['S3']({'accessKeyId':_0x2dfb69,'secretAccessKey':_0x1d3360,'region':_0x5658c7});_0x617966['upload']({'Bucket':_0x32fcb5,'Key':_0x450faa,'Body':_0xd1dcde},function(_0x5a3751,_0x4e2d1e){if(_0x5a3751){return _0x51902a(_0x5a3751);}else{return _0x529e47(_0x4e2d1e);}});});}function startTranscribe(_0x158ec1,_0x2bf387,_0x5b59df,_0x146d51,_0x1efa2c,_0xf2d53a){return new Promise(function(_0x1b5fae,_0x506d73){var _0x1ff5d1=new AWS['TranscribeService']({'accessKeyId':_0x2bf387,'secretAccessKey':_0x158ec1,'region':_0x5b59df});_0x1ff5d1['startTranscriptionJob']({'TranscriptionJobName':_0x146d51,'LanguageCode':_0x1efa2c,'Media':{'MediaFileUri':_0xf2d53a}},function(_0x251a29,_0x29a536){if(_0x251a29){return _0x506d73(_0x251a29);}else{return _0x1b5fae(_0x29a536);}});});}function transcribe(_0x29744f,_0x28893b,_0x28402e,_0x15af85,_0x448ab9,_0xda1777,_0x22badd){return new Promise(function(_0x25e6db,_0x75b67c){var _0x575813={};logger['info'](util['format'](_0x361b('0x6a'),_0x29744f,_0x448ab9));return uploadFile(_0x28893b,_0x28402e,_0x15af85,_0x448ab9,path[_0x361b('0x6b')](_0xda1777),fs[_0x361b('0x6c')](_0xda1777))[_0x361b('0x23')](function(_0x26295f){logger[_0x361b('0x64')](util[_0x361b('0x2f')]('[RUNTRANSCRIPT][%d]\x20Voice\x20recording\x20uploaded\x20in\x20bucket\x20%s\x20(%s)',_0x29744f,_0x448ab9,_0x26295f[_0x361b('0x6d')]));_0x575813[_0x361b('0x6e')]=_0x26295f[_0x361b('0x6f')];_0x575813[_0x361b('0x70')]=_0x26295f[_0x361b('0x6d')];logger['info'](util[_0x361b('0x2f')](_0x361b('0x71'),_0x29744f));return startTranscribe(_0x28893b,_0x28402e,_0x15af85,uuidv4(),_0x22badd,_0x26295f['Location']);})['then'](function(_0xbc642f){logger[_0x361b('0x64')](util[_0x361b('0x2f')]('[RUNTRANSCRIPT][%d]\x20Transcription\x20job\x20%s\x20created',_0x29744f,_0xbc642f[_0x361b('0x72')][_0x361b('0x73')]));_0x575813[_0x361b('0x74')]=_0xbc642f[_0x361b('0x72')]['TranscriptionJobName'];_0x575813[_0x361b('0x75')]=_0xbc642f[_0x361b('0x72')][_0x361b('0x76')];return _0x25e6db(_0x575813);})[_0x361b('0x43')](function(_0x260f15){return _0x75b67c(_0x260f15);});});}exports[_0x361b('0x77')]=function(_0x289db7,_0x302fbf,_0x113fbf){var _0x30c323;var _0x2ae47f;var _0xe3e1d5;var _0x20a550=require(_0x361b('0x4b'));return db['VoiceRecording'][_0x361b('0x78')]({'where':{'id':_0x289db7[_0x361b('0x45')]['id']}})[_0x361b('0x23')](function(_0x5cc10b){if(_0x5cc10b){var _0x58f965=util[_0x361b('0x2f')](_0x361b('0x4e'),_0x5cc10b[_0x361b('0x4d')]);if(fs[_0x361b('0x52')](_0x58f965)){cypher=!![];return _0x20a550['decryptFile'](_0x58f965,_0x5cc10b['value'],config[_0x361b('0x50')]['recording'])['then'](function(){return _0x5cc10b;});}return _0x5cc10b;}})[_0x361b('0x23')](function(_0x2457d2){if(!_0x2457d2){throw new db['Sequelize'][(_0x361b('0x54'))](_0x361b('0x79'));}_0x2ae47f=_0x2457d2;return db[_0x361b('0x7a')][_0x361b('0x78')]({'where':{'id':0x1}});})['then'](handleEntityNotFound(_0x302fbf,null))[_0x361b('0x23')](function(_0x23dad9){if(_0x23dad9){_0x30c323=_0x23dad9;if(!_0x30c323[_0x361b('0x7b')]||!_0x30c323[_0x361b('0x7c')]||!_0x30c323[_0x361b('0x7d')]||!_0x30c323[_0x361b('0x7e')]||!_0x30c323[_0x361b('0x6e')]){throw new db['Sequelize'][(_0x361b('0x54'))](_0x361b('0x7f'));}if(_0x289db7[_0x361b('0x48')][_0x361b('0x80')]&&(!_0x30c323[_0x361b('0x81')]||!_0x30c323[_0x361b('0x82')]||!_0x30c323[_0x361b('0x83')]||!_0x30c323[_0x361b('0x7e')]||!_0x30c323[_0x361b('0x6e')])){throw new db[(_0x361b('0x53'))][(_0x361b('0x54'))]('Sentiment\x20Analysis\x20not\x20configured');}return db[_0x361b('0x84')][_0x361b('0x78')]({'where':{'id':_0x30c323[_0x361b('0x7c')]}});}})['then'](function(_0x4c8dd7){if(!_0x4c8dd7){throw new db[(_0x361b('0x53'))]['ValidationError'](_0x361b('0x85'));}if(!_0x4c8dd7['data1']||!_0x4c8dd7[_0x361b('0x86')]){throw new db[(_0x361b('0x53'))]['ValidationError'](_0x361b('0x87'));}_0xe3e1d5=_0x4c8dd7;return getBucketslist(_0xe3e1d5['data1'],_0xe3e1d5[_0x361b('0x86')],_0x30c323['transcribeRegion']);})[_0x361b('0x23')](function(_0x15924e){if(_0x15924e&&_0x15924e[_0x361b('0x88')]){var _0x1efe8e=_[_0x361b('0x46')](_0x15924e[_0x361b('0x88')],function(_0x2b4bf6){return _0x2b4bf6['Name']===_0x30c323[_0x361b('0x6e')];});if(!_0x1efe8e){logger[_0x361b('0x64')](util[_0x361b('0x2f')](_0x361b('0x89'),_0x289db7['params']['id'],_0x30c323[_0x361b('0x6e')]));return createBucket(_0xe3e1d5['data1'],_0xe3e1d5[_0x361b('0x86')],_0x30c323['transcribeRegion'],_0x30c323[_0x361b('0x6e')]);}logger[_0x361b('0x64')](util[_0x361b('0x2f')](_0x361b('0x8a'),_0x289db7[_0x361b('0x45')]['id'],_0x30c323['bucket']));return;}})['then'](function(_0x31dd4a){if(_0x2ae47f[_0x361b('0x75')]===_0x361b('0x8b')){return transcribe(_0x289db7[_0x361b('0x45')]['id'],_0xe3e1d5['data1'],_0xe3e1d5[_0x361b('0x86')],_0x30c323[_0x361b('0x7d')],_0x30c323['bucket'],_0x2ae47f['value'],_0x30c323['language']);}else{logger[_0x361b('0x64')](util['format'](_0x361b('0x8c'),_0x289db7[_0x361b('0x45')]['id']));return{'transcribeStatus':_0x361b('0x8d')};}})[_0x361b('0x23')](function(_0x2dad38){if(_0x2dad38){_0x2dad38[_0x361b('0x8e')]=_0x289db7['body'][_0x361b('0x80')];return _0x2ae47f[_0x361b('0x8f')](_0x2dad38);}})[_0x361b('0x23')](respondWithResult(_0x302fbf,null))[_0x361b('0x43')](handleError(_0x302fbf,null));};function writeFile(_0x26acc1,_0x1cb430){return new Promise(function(_0x9a1f82,_0x36db97){fs['writeFile'](_0x1cb430,_0x26acc1,function(_0x509fbf,_0x2b3c8d){if(_0x509fbf){return _0x36db97(_0x509fbf);}else{return _0x9a1f82(_0x2b3c8d);}});});}exports[_0x361b('0x90')]=function(_0x32c89e,_0x572ea5,_0x1f8229){return db['VoiceRecording'][_0x361b('0x78')]({'where':{'id':_0x32c89e[_0x361b('0x45')]['id']}})['then'](handleEntityNotFound(_0x572ea5))[_0x361b('0x23')](function(_0x5671d7){if(_0x5671d7&&_0x5671d7['fileText']){var _0x89724=_0x5671d7[_0x361b('0x91')];var _0x225641=config[_0x361b('0x92')]+'/server/files/transcribes/transcribe_'+_0x5671d7['id']+'.txt';if(fs['existsSync'](_0x225641)){return _0x225641;}return writeFile(_0x89724,_0x225641)[_0x361b('0x23')](function(){return _0x225641;});}else{throw new db['Sequelize']['ValidationError'](_0x361b('0x93'));}})[_0x361b('0x23')](function(_0x23fbba){return _0x572ea5[_0x361b('0x4a')](_0x23fbba);})[_0x361b('0x43')](handleError(_0x572ea5));};