80dc133cf70ae3e5701a549413829af4a45cc94a
[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 _0xa996=['includeAll','include','findAll','catch','show','params','rawAttributes','find','create','body','describe','download','../../components/encryptor','%s.cypher','existsSync','decryptFile','recording','value','ValidationError','filename','extname','unlink','message','VoiceRecording\x20not\x20found','Not\x20found','downloads','sequelize','col','uniqueid','token','$and','push','secrets','Sequelize','destroy','isNil','Entity\x20not\x20found','info','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','.cypher','createBucket','upload','TranscribeService','startTranscriptionJob','[RUNTRANSCRIPT][%d]\x20Starting\x20voice\x20recording\x20upload\x20in\x20bucket\x20%s','basename','readFileSync','[RUNTRANSCRIPT][%d]\x20Voice\x20recording\x20uploaded\x20in\x20bucket\x20%s\x20(%s)','Location','bucket','Bucket','location','TranscriptionJob','TranscriptionJobName','transcribeName','transcribeStatus','TranscriptionJobStatus','runTranscribe','findOne','Voice\x20Recording\x20not\x20found','transcribeAccountId','transcribeRegion','Transcribe\x20not\x20configured','runSentiment','sentiment','sentimentAccountId','sentimentRegion','Sentiment\x20Analysis\x20not\x20configured','CloudProvider','Cloud\x20Provider\x20not\x20available','data1','Cloud\x20Provider\x20not\x20configured','data2','Buckets','Name','[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20not\x20available','NEW','[RUNTRANSCRIPT][%d]\x20Transcript\x20action\x20already\x20requested','IN_PROGRESS','updateAttributes','writeFile','downloadTranscribe','fileText','root','/server/files/transcribes/transcribe_','.txt','Transcript\x20not\x20available','eml-format','zip-dir','request-promise','bluebird','util','path','sox','to-csv','ejs','fs-extra','lodash','crypto','jsforce','desk.js','querystring','aws-sdk','uuid/v4','ioredis','../../components/parsers/qs','../../config/license/hardware','../../config/utils','../../config/license/util','sendStatus','status','end','json','offset','undefined','limit','count','Content-Range','reject','save','update','then','stack','name','send','index','map','VoiceRecording','fieldName','type','key','model','differenceBy','format','keys','filters','intersection','query','fields','attributes','hasOwnProperty','nolimit','order','sort','where','VIRTUAL','filter','merge','options'];(function(_0x46cd89,_0x4a23e4){var _0xb080e8=function(_0x32fc3e){while(--_0x32fc3e){_0x46cd89['push'](_0x46cd89['shift']());}};_0xb080e8(++_0x4a23e4);}(_0xa996,0xf0));var _0x6a99=function(_0x5ba6cf,_0x376c8b){_0x5ba6cf=_0x5ba6cf-0x0;var _0x56f9b0=_0xa996[_0x5ba6cf];return _0x56f9b0;};'use strict';var emlformat=require(_0x6a99('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x6a99('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x6a99('0x2'));var moment=require('moment');var BPromise=require(_0x6a99('0x3'));var Mustache=require('mustache');var util=require(_0x6a99('0x4'));var path=require(_0x6a99('0x5'));var sox=require(_0x6a99('0x6'));var csv=require(_0x6a99('0x7'));var ejs=require(_0x6a99('0x8'));var fs=require('fs');var fs_extra=require(_0x6a99('0x9'));var _=require(_0x6a99('0xa'));var squel=require('squel');var crypto=require(_0x6a99('0xb'));var jsforce=require(_0x6a99('0xc'));var deskjs=require(_0x6a99('0xd'));var toCsv=require(_0x6a99('0x7'));var querystring=require(_0x6a99('0xe'));var Papa=require('papaparse');var AWS=require(_0x6a99('0xf'));var uuidv4=require(_0x6a99('0x10'));var Redis=require(_0x6a99('0x11'));var authService=require('../../components/auth/service');var qs=require(_0x6a99('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x6a99('0x13'));var logger=require('../../config/logger')('api');var utils=require(_0x6a99('0x14'));var config=require('../../config/environment');var licenseUtil=require(_0x6a99('0x15'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x2d423d,_0x48e705){_0x48e705=_0x48e705||0xcc;return function(_0x454169){if(_0x454169){return _0x2d423d[_0x6a99('0x16')](_0x48e705);}return _0x2d423d[_0x6a99('0x17')](_0x48e705)[_0x6a99('0x18')]();};}function respondWithResult(_0x58bf34,_0x17665f){_0x17665f=_0x17665f||0xc8;return function(_0x56ae7d){if(_0x56ae7d){return _0x58bf34['status'](_0x17665f)[_0x6a99('0x19')](_0x56ae7d);}};}function respondWithFilteredResult(_0x5eefe0,_0x4381a7){return function(_0x5ad000){if(_0x5ad000){var _0x48829f=typeof _0x4381a7[_0x6a99('0x1a')]===_0x6a99('0x1b')&&typeof _0x4381a7[_0x6a99('0x1c')]===_0x6a99('0x1b');var _0x17dc45=_0x5ad000['count'];var _0x198e1a=_0x48829f?0x0:_0x4381a7['offset'];var _0x4cf073=_0x48829f?_0x5ad000[_0x6a99('0x1d')]:_0x4381a7[_0x6a99('0x1a')]+_0x4381a7[_0x6a99('0x1c')];var _0x3c45fb;if(_0x4cf073>=_0x17dc45){_0x4cf073=_0x17dc45;_0x3c45fb=0xc8;}else{_0x3c45fb=0xce;}_0x5eefe0[_0x6a99('0x17')](_0x3c45fb);return _0x5eefe0['set'](_0x6a99('0x1e'),_0x198e1a+'-'+_0x4cf073+'/'+_0x17dc45)['json'](_0x5ad000);}return null;};}function patchUpdates(_0x2dda94){return function(_0x338d79){try{jsonpatch['apply'](_0x338d79,_0x2dda94,!![]);}catch(_0x1702c4){return BPromise[_0x6a99('0x1f')](_0x1702c4);}return _0x338d79[_0x6a99('0x20')]();};}function saveUpdates(_0x213950,_0x42afec){return function(_0x3856df){if(_0x3856df){return _0x3856df[_0x6a99('0x21')](_0x213950)[_0x6a99('0x22')](function(_0x39d66f){return _0x39d66f;});}return null;};}function removeEntity(_0x54f4d2,_0x2a1676){return function(_0x470bdf){if(_0x470bdf){return _0x470bdf['destroy']()['then'](function(){_0x54f4d2['status'](0xcc)[_0x6a99('0x18')]();});}};}function handleEntityNotFound(_0x44740d,_0x5db7c9){return function(_0x20c6b2){if(!_0x20c6b2){_0x44740d[_0x6a99('0x16')](0x194);}return _0x20c6b2;};}function handleError(_0x45d959,_0x2e8903){_0x2e8903=_0x2e8903||0x1f4;return function(_0x5b7311){logger['error'](_0x5b7311[_0x6a99('0x23')]);if(_0x5b7311[_0x6a99('0x24')]){delete _0x5b7311[_0x6a99('0x24')];}_0x45d959[_0x6a99('0x17')](_0x2e8903)[_0x6a99('0x25')](_0x5b7311);};}exports[_0x6a99('0x26')]=function(_0xc7713f,_0x5340f3){var _0x5c2be6={},_0x4f2ddc={},_0x39cd98={'count':0x0,'rows':[]};var _0x4414d4=_[_0x6a99('0x27')](db[_0x6a99('0x28')]['rawAttributes'],function(_0x49205a){return{'name':_0x49205a[_0x6a99('0x29')],'type':_0x49205a[_0x6a99('0x2a')][_0x6a99('0x2b')]};});_0x4f2ddc[_0x6a99('0x2c')]=_[_0x6a99('0x2d')](_[_0x6a99('0x27')](_0x4414d4,'name'),[_0x6a99('0x2e')]);_0x4f2ddc['query']=_[_0x6a99('0x2f')](_0xc7713f['query']);_0x4f2ddc[_0x6a99('0x30')]=_[_0x6a99('0x31')](_0x4f2ddc[_0x6a99('0x2c')],_0x4f2ddc[_0x6a99('0x32')]);_0x5c2be6['attributes']=_[_0x6a99('0x31')](_0x4f2ddc[_0x6a99('0x2c')],qs[_0x6a99('0x33')](_0xc7713f[_0x6a99('0x32')][_0x6a99('0x33')]));_0x5c2be6['attributes']=_0x5c2be6[_0x6a99('0x34')]['length']?_0x5c2be6[_0x6a99('0x34')]:_0x4f2ddc['model'];if(!_0xc7713f[_0x6a99('0x32')][_0x6a99('0x35')](_0x6a99('0x36'))){_0x5c2be6[_0x6a99('0x1c')]=qs[_0x6a99('0x1c')](_0xc7713f[_0x6a99('0x32')][_0x6a99('0x1c')]);_0x5c2be6[_0x6a99('0x1a')]=qs[_0x6a99('0x1a')](_0xc7713f[_0x6a99('0x32')]['offset']);}_0x5c2be6[_0x6a99('0x37')]=qs['sort'](_0xc7713f[_0x6a99('0x32')][_0x6a99('0x38')]);_0x5c2be6[_0x6a99('0x39')]=qs[_0x6a99('0x30')](_['pick'](_0xc7713f[_0x6a99('0x32')],_0x4f2ddc[_0x6a99('0x30')]),_0x4414d4);if(_0xc7713f['query']['filter']){_0x5c2be6[_0x6a99('0x39')]=_['merge'](_0x5c2be6[_0x6a99('0x39')],{'$or':_[_0x6a99('0x27')](_0x4414d4,function(_0x2ccceb){if(_0x2ccceb['type']!==_0x6a99('0x3a')){var _0x5eab70={};_0x5eab70[_0x2ccceb['name']]={'$like':'%'+_0xc7713f[_0x6a99('0x32')][_0x6a99('0x3b')]+'%'};return _0x5eab70;}})});}_0x5c2be6=_[_0x6a99('0x3c')]({},_0x5c2be6,_0xc7713f[_0x6a99('0x3d')]);var _0x18f35d={'where':_0x5c2be6[_0x6a99('0x39')]};return db[_0x6a99('0x28')][_0x6a99('0x1d')](_0x18f35d)[_0x6a99('0x22')](function(_0x554319){_0x39cd98[_0x6a99('0x1d')]=_0x554319;if(_0xc7713f[_0x6a99('0x32')][_0x6a99('0x3e')]){_0x5c2be6[_0x6a99('0x3f')]=[{'all':!![]}];}return db[_0x6a99('0x28')][_0x6a99('0x40')](_0x5c2be6);})[_0x6a99('0x22')](function(_0x592109){_0x39cd98['rows']=_0x592109;return _0x39cd98;})[_0x6a99('0x22')](respondWithFilteredResult(_0x5340f3,_0x5c2be6))[_0x6a99('0x41')](handleError(_0x5340f3,null));};exports[_0x6a99('0x42')]=function(_0x5a0ea9,_0xb7101d){var _0x2aee37={'raw':![],'where':{'id':_0x5a0ea9[_0x6a99('0x43')]['id']}},_0x5a4d8c={};_0x5a4d8c['model']=_['keys'](db['VoiceRecording'][_0x6a99('0x44')]);_0x5a4d8c[_0x6a99('0x32')]=_[_0x6a99('0x2f')](_0x5a0ea9['query']);_0x5a4d8c[_0x6a99('0x30')]=_['intersection'](_0x5a4d8c[_0x6a99('0x2c')],_0x5a4d8c['query']);_0x2aee37[_0x6a99('0x34')]=_[_0x6a99('0x31')](_0x5a4d8c[_0x6a99('0x2c')],qs[_0x6a99('0x33')](_0x5a0ea9[_0x6a99('0x32')][_0x6a99('0x33')]));_0x2aee37[_0x6a99('0x34')]=_0x2aee37[_0x6a99('0x34')]['length']?_0x2aee37[_0x6a99('0x34')]:_0x5a4d8c[_0x6a99('0x2c')];if(_0x5a0ea9[_0x6a99('0x32')][_0x6a99('0x3e')]){_0x2aee37[_0x6a99('0x3f')]=[{'all':!![]}];}_0x2aee37=_[_0x6a99('0x3c')]({},_0x2aee37,_0x5a0ea9['options']);return db[_0x6a99('0x28')][_0x6a99('0x45')](_0x2aee37)[_0x6a99('0x22')](handleEntityNotFound(_0xb7101d,null))[_0x6a99('0x22')](respondWithResult(_0xb7101d,null))[_0x6a99('0x41')](handleError(_0xb7101d,null));};exports[_0x6a99('0x46')]=function(_0x4a2822,_0x271d6e){return db[_0x6a99('0x28')]['create'](_0x4a2822['body'],{})['then'](respondWithResult(_0x271d6e,0xc9))[_0x6a99('0x41')](handleError(_0x271d6e,null));};exports[_0x6a99('0x21')]=function(_0x1be758,_0x27b1be){if(_0x1be758[_0x6a99('0x47')]['id']){delete _0x1be758[_0x6a99('0x47')]['id'];}return db['VoiceRecording'][_0x6a99('0x45')]({'where':{'id':_0x1be758[_0x6a99('0x43')]['id']}})[_0x6a99('0x22')](handleEntityNotFound(_0x27b1be,null))[_0x6a99('0x22')](saveUpdates(_0x1be758['body'],null))[_0x6a99('0x22')](respondWithResult(_0x27b1be,null))[_0x6a99('0x41')](handleError(_0x27b1be,null));};exports['describe']=function(_0xdbc66e,_0x3881a7){return db['VoiceRecording'][_0x6a99('0x48')]()[_0x6a99('0x22')](respondWithResult(_0x3881a7,null))[_0x6a99('0x41')](handleError(_0x3881a7,null));};exports[_0x6a99('0x49')]=function(_0x3fb261,_0x52310e,_0x1860fd){var _0x3cb70a=require(_0x6a99('0x4a'));var _0x5880f3=![];var _0x46af0a={};if(_0x3fb261[_0x6a99('0x32')]['type']&&_0x3fb261[_0x6a99('0x32')][_0x6a99('0x2a')]==='uniqueid'){_0x46af0a['uniqueid']=_0x3fb261[_0x6a99('0x43')]['id'];}else{_0x46af0a['id']=_0x3fb261['params']['id'];}return db[_0x6a99('0x28')][_0x6a99('0x45')]({'where':_0x46af0a,'attributes':['id','value'],'raw':!![]})[_0x6a99('0x22')](handleEntityNotFound(_0x52310e,null))['then'](function(_0x261da6){if(_0x261da6){var _0x548fdc=_0x261da6['value'];var _0x12c4a3=util[_0x6a99('0x2e')](_0x6a99('0x4b'),_0x548fdc);if(fs[_0x6a99('0x4c')](_0x12c4a3)){_0x5880f3=!![];return _0x3cb70a[_0x6a99('0x4d')](_0x12c4a3,_0x548fdc,config['secrets'][_0x6a99('0x4e')])[_0x6a99('0x22')](function(){return _0x261da6;});}return _0x261da6;}})['then'](function(_0xd7e0f5){if(_0xd7e0f5){var _0x4f4e26=_0xd7e0f5[_0x6a99('0x4f')];if(!fs[_0x6a99('0x4c')](_0x4f4e26)){throw new db['Sequelize'][(_0x6a99('0x50'))]('VoiceRecording\x20not\x20found');}if(_0xd7e0f5[_0x6a99('0x51')]){return _0x52310e[_0x6a99('0x49')](_0x4f4e26,_0xd7e0f5[_0x6a99('0x51')]+path[_0x6a99('0x52')](_0x4f4e26),function(){if(_0x5880f3){fs[_0x6a99('0x53')](_0x4f4e26);}});}else{return _0x52310e[_0x6a99('0x49')](_0x4f4e26,function(_0x49205d){if(_0x5880f3){fs['unlink'](_0x4f4e26);}});}}})['catch'](function(_0x2cca6a){if(_0x2cca6a[_0x6a99('0x54')]===_0x6a99('0x55')){_0x52310e[_0x6a99('0x17')](0x194)['send'](_0x6a99('0x56'));}else{return handleError(_0x52310e,null);}});};exports[_0x6a99('0x57')]=function(_0x4dca00,_0x19c453,_0x1e52d5){var _0x5b77d7=require(_0x6a99('0x4a'));var _0x312f37=![];var _0x188e90={'$and':[db[_0x6a99('0x58')][_0x6a99('0x39')](db[_0x6a99('0x58')]['fn']('MD5',db[_0x6a99('0x58')][_0x6a99('0x59')](_0x6a99('0x5a'))),_0x4dca00[_0x6a99('0x32')][_0x6a99('0x5b')])]};if(_0x4dca00[_0x6a99('0x32')][_0x6a99('0x2a')]&&_0x4dca00[_0x6a99('0x32')][_0x6a99('0x2a')]===_0x6a99('0x5a')){_0x188e90[_0x6a99('0x5c')]['push']({'uniqueid':_0x4dca00[_0x6a99('0x43')]['id']});}else{_0x188e90[_0x6a99('0x5c')][_0x6a99('0x5d')]({'id':_0x4dca00['params']['id']});}return db[_0x6a99('0x28')][_0x6a99('0x45')]({'where':_0x188e90,'attributes':['id','value'],'raw':!![]})[_0x6a99('0x22')](handleEntityNotFound(_0x19c453,null))[_0x6a99('0x22')](function(_0x4564ed){if(_0x4564ed){var _0x26378b=util['format'](_0x6a99('0x4b'),_0x4564ed[_0x6a99('0x4f')]);if(fs['existsSync'](_0x26378b)){_0x312f37=!![];return _0x5b77d7[_0x6a99('0x4d')](_0x26378b,_0x4564ed[_0x6a99('0x4f')],config[_0x6a99('0x5e')][_0x6a99('0x4e')])[_0x6a99('0x22')](function(){return _0x4564ed;});}return _0x4564ed;}})[_0x6a99('0x22')](function(_0x50c388){if(_0x50c388){if(!fs[_0x6a99('0x4c')](_0x50c388[_0x6a99('0x4f')])){throw new db[(_0x6a99('0x5f'))]['ValidationError'](_0x6a99('0x55'));}if(_0x50c388[_0x6a99('0x51')]){return _0x19c453[_0x6a99('0x49')](_0x50c388[_0x6a99('0x4f')],_0x50c388[_0x6a99('0x51')]+path[_0x6a99('0x52')](_0x50c388[_0x6a99('0x4f')]),function(){if(_0x312f37){fs['unlink'](_0x50c388[_0x6a99('0x4f')]);}});}else{return _0x19c453[_0x6a99('0x49')](_0x50c388[_0x6a99('0x4f')],function(_0x2151e4){if(_0x312f37){fs[_0x6a99('0x53')](_0x50c388[_0x6a99('0x4f')]);}});}}})[_0x6a99('0x41')](handleError(_0x19c453,null));};exports[_0x6a99('0x60')]=function(_0x840001,_0x51d134){return db[_0x6a99('0x28')][_0x6a99('0x45')]({'where':{'id':_0x840001[_0x6a99('0x43')]['id']}})[_0x6a99('0x22')](function(_0x4c5688){if(_[_0x6a99('0x61')](_0x4c5688)){throw new ReferenceError(_0x6a99('0x62'));}return _0x4c5688;})[_0x6a99('0x22')](function(_0x3afa53){var _0x5775d2=_0x3afa53[_0x6a99('0x4f')];logger[_0x6a99('0x63')]('cancellazione\x20fisica\x20documento\x20%s',_0x5775d2);if(!_[_0x6a99('0x61')](_0x3afa53[_0x6a99('0x4f')])&&fs[_0x6a99('0x4c')](_0x5775d2)){logger[_0x6a99('0x63')](_0x6a99('0x64')+_0x5775d2+_0x6a99('0x65'));fs[_0x6a99('0x66')](_0x5775d2);}_0x5775d2=_0x5775d2+_0x6a99('0x67');if(!_[_0x6a99('0x61')](_0x3afa53[_0x6a99('0x4f')])&&fs[_0x6a99('0x4c')](_0x5775d2)){logger[_0x6a99('0x63')](_0x6a99('0x64')+_0x5775d2+_0x6a99('0x65'));fs[_0x6a99('0x66')](_0x5775d2);}return _0x3afa53;})['then'](function(_0x1400e7){if(!_0x1400e7)throw new InternalError();return _0x1400e7[_0x6a99('0x60')]();})[_0x6a99('0x22')](function(){_0x51d134[_0x6a99('0x17')](0xcc)[_0x6a99('0x18')]();})[_0x6a99('0x41')](handleError(_0x51d134,null));};function getBucketslist(_0x4a7434,_0x8b3d4c,_0x345f29){return new Promise(function(_0x2d24ca,_0xd6205f){var _0x5187b7=new AWS['S3']({'accessKeyId':_0x8b3d4c,'secretAccessKey':_0x4a7434,'region':_0x345f29});_0x5187b7['listBuckets']({},function(_0x520d5c,_0x39423b){if(_0x520d5c){return _0xd6205f(_0x520d5c);}else{return _0x2d24ca(_0x39423b);}});});}function createBucket(_0x1eafb2,_0x19f2cc,_0xc06b9a,_0x1ba43c){return new Promise(function(_0x57e6b2,_0x3df69a){var _0x17745f=new AWS['S3']({'accessKeyId':_0x19f2cc,'secretAccessKey':_0x1eafb2,'region':_0xc06b9a});_0x17745f[_0x6a99('0x68')]({'Bucket':_0x1ba43c},function(_0x2436d1,_0x4b0b4f){if(_0x2436d1){return _0x3df69a(_0x2436d1);}else{return _0x57e6b2(_0x4b0b4f);}});});}function uploadFile(_0x1a89e6,_0x4df63a,_0x53bc63,_0x5f68a5,_0x54fc1d,_0x54ee49){return new Promise(function(_0x415372,_0x3d1cb4){var _0x5c9be1=new AWS['S3']({'accessKeyId':_0x4df63a,'secretAccessKey':_0x1a89e6,'region':_0x53bc63});_0x5c9be1[_0x6a99('0x69')]({'Bucket':_0x5f68a5,'Key':_0x54fc1d,'Body':_0x54ee49},function(_0x3d289a,_0x321bfd){if(_0x3d289a){return _0x3d1cb4(_0x3d289a);}else{return _0x415372(_0x321bfd);}});});}function startTranscribe(_0x432255,_0x5494df,_0x56ee82,_0x1774b5,_0x4317df,_0x57d06d){return new Promise(function(_0x4a0812,_0x4e4ce7){var _0x2ac2de=new AWS[(_0x6a99('0x6a'))]({'accessKeyId':_0x5494df,'secretAccessKey':_0x432255,'region':_0x56ee82});_0x2ac2de[_0x6a99('0x6b')]({'TranscriptionJobName':_0x1774b5,'LanguageCode':_0x4317df,'Media':{'MediaFileUri':_0x57d06d}},function(_0x49dc5c,_0x363abc){if(_0x49dc5c){return _0x4e4ce7(_0x49dc5c);}else{return _0x4a0812(_0x363abc);}});});}function transcribe(_0x7ca17e,_0x25f036,_0x4ca135,_0x26e2a0,_0xf13b9a,_0x12ccc2,_0x5242cd){return new Promise(function(_0x38ebd8,_0x230229){var _0x409385={};logger[_0x6a99('0x63')](util[_0x6a99('0x2e')](_0x6a99('0x6c'),_0x7ca17e,_0xf13b9a));return uploadFile(_0x25f036,_0x4ca135,_0x26e2a0,_0xf13b9a,path[_0x6a99('0x6d')](_0x12ccc2),fs[_0x6a99('0x6e')](_0x12ccc2))[_0x6a99('0x22')](function(_0x5d7289){logger[_0x6a99('0x63')](util['format'](_0x6a99('0x6f'),_0x7ca17e,_0xf13b9a,_0x5d7289[_0x6a99('0x70')]));_0x409385[_0x6a99('0x71')]=_0x5d7289[_0x6a99('0x72')];_0x409385[_0x6a99('0x73')]=_0x5d7289[_0x6a99('0x70')];logger['info'](util[_0x6a99('0x2e')]('[RUNTRANSCRIPT][%d]\x20Sending\x20transcribe\x20request',_0x7ca17e));return startTranscribe(_0x25f036,_0x4ca135,_0x26e2a0,uuidv4(),_0x5242cd,_0x5d7289['Location']);})[_0x6a99('0x22')](function(_0x92d2f0){logger['info'](util[_0x6a99('0x2e')]('[RUNTRANSCRIPT][%d]\x20Transcription\x20job\x20%s\x20created',_0x7ca17e,_0x92d2f0[_0x6a99('0x74')][_0x6a99('0x75')]));_0x409385[_0x6a99('0x76')]=_0x92d2f0[_0x6a99('0x74')][_0x6a99('0x75')];_0x409385[_0x6a99('0x77')]=_0x92d2f0[_0x6a99('0x74')][_0x6a99('0x78')];return _0x38ebd8(_0x409385);})[_0x6a99('0x41')](function(_0x4a0877){return _0x230229(_0x4a0877);});});}exports[_0x6a99('0x79')]=function(_0x139b3e,_0x4d2e3f,_0x598950){var _0x40861a;var _0x13b2f2;var _0x3e3965;var _0x37155b=require(_0x6a99('0x4a'));return db[_0x6a99('0x28')][_0x6a99('0x7a')]({'where':{'id':_0x139b3e['params']['id']}})['then'](function(_0x273352){if(_0x273352){var _0xf6bbdc=util['format'](_0x6a99('0x4b'),_0x273352[_0x6a99('0x4f')]);if(fs[_0x6a99('0x4c')](_0xf6bbdc)){cypher=!![];return _0x37155b[_0x6a99('0x4d')](_0xf6bbdc,_0x273352['value'],config[_0x6a99('0x5e')][_0x6a99('0x4e')])[_0x6a99('0x22')](function(){return _0x273352;});}return _0x273352;}})['then'](function(_0x42d04e){if(!_0x42d04e){throw new db[(_0x6a99('0x5f'))][(_0x6a99('0x50'))](_0x6a99('0x7b'));}_0x13b2f2=_0x42d04e;return db['Setting'][_0x6a99('0x7a')]({'where':{'id':0x1}});})[_0x6a99('0x22')](handleEntityNotFound(_0x4d2e3f,null))[_0x6a99('0x22')](function(_0x583590){if(_0x583590){_0x40861a=_0x583590;if(!_0x40861a['transcribe']||!_0x40861a[_0x6a99('0x7c')]||!_0x40861a[_0x6a99('0x7d')]||!_0x40861a['language']||!_0x40861a[_0x6a99('0x71')]){throw new db['Sequelize'][(_0x6a99('0x50'))](_0x6a99('0x7e'));}if(_0x139b3e[_0x6a99('0x47')][_0x6a99('0x7f')]&&(!_0x40861a[_0x6a99('0x80')]||!_0x40861a[_0x6a99('0x81')]||!_0x40861a[_0x6a99('0x82')]||!_0x40861a['language']||!_0x40861a[_0x6a99('0x71')])){throw new db[(_0x6a99('0x5f'))]['ValidationError'](_0x6a99('0x83'));}return db[_0x6a99('0x84')][_0x6a99('0x7a')]({'where':{'id':_0x40861a[_0x6a99('0x7c')]}});}})[_0x6a99('0x22')](function(_0x2a816b){if(!_0x2a816b){throw new db[(_0x6a99('0x5f'))][(_0x6a99('0x50'))](_0x6a99('0x85'));}if(!_0x2a816b[_0x6a99('0x86')]||!_0x2a816b['data2']){throw new db['Sequelize'][(_0x6a99('0x50'))](_0x6a99('0x87'));}_0x3e3965=_0x2a816b;return getBucketslist(_0x3e3965[_0x6a99('0x86')],_0x3e3965[_0x6a99('0x88')],_0x40861a[_0x6a99('0x7d')]);})[_0x6a99('0x22')](function(_0x2fde2b){if(_0x2fde2b&&_0x2fde2b[_0x6a99('0x89')]){var _0x1eae3c=_[_0x6a99('0x45')](_0x2fde2b[_0x6a99('0x89')],function(_0x1397d8){return _0x1397d8[_0x6a99('0x8a')]===_0x40861a[_0x6a99('0x71')];});if(!_0x1eae3c){logger[_0x6a99('0x63')](util[_0x6a99('0x2e')](_0x6a99('0x8b'),_0x139b3e[_0x6a99('0x43')]['id'],_0x40861a['bucket']));return createBucket(_0x3e3965[_0x6a99('0x86')],_0x3e3965[_0x6a99('0x88')],_0x40861a['transcribeRegion'],_0x40861a[_0x6a99('0x71')]);}logger[_0x6a99('0x63')](util[_0x6a99('0x2e')]('[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20available',_0x139b3e[_0x6a99('0x43')]['id'],_0x40861a[_0x6a99('0x71')]));return;}})[_0x6a99('0x22')](function(_0x54209a){if(_0x13b2f2['transcribeStatus']===_0x6a99('0x8c')){return transcribe(_0x139b3e[_0x6a99('0x43')]['id'],_0x3e3965[_0x6a99('0x86')],_0x3e3965['data2'],_0x40861a[_0x6a99('0x7d')],_0x40861a[_0x6a99('0x71')],_0x13b2f2[_0x6a99('0x4f')],_0x40861a['language']);}else{logger[_0x6a99('0x63')](util[_0x6a99('0x2e')](_0x6a99('0x8d'),_0x139b3e['params']['id']));return{'transcribeStatus':_0x6a99('0x8e')};}})[_0x6a99('0x22')](function(_0x4d0ffc){if(_0x4d0ffc){_0x4d0ffc['tempSentiment']=_0x139b3e['body'][_0x6a99('0x7f')];return _0x13b2f2[_0x6a99('0x8f')](_0x4d0ffc);}})['then'](respondWithResult(_0x4d2e3f,null))['catch'](handleError(_0x4d2e3f,null));};function writeFile(_0x40177d,_0x290782){return new Promise(function(_0xd201f,_0x25f4d4){fs[_0x6a99('0x90')](_0x290782,_0x40177d,function(_0x2af0c7,_0xe5c4f8){if(_0x2af0c7){return _0x25f4d4(_0x2af0c7);}else{return _0xd201f(_0xe5c4f8);}});});}exports[_0x6a99('0x91')]=function(_0x495642,_0x581493,_0x2f875d){return db['VoiceRecording']['findOne']({'where':{'id':_0x495642[_0x6a99('0x43')]['id']}})[_0x6a99('0x22')](handleEntityNotFound(_0x581493))['then'](function(_0x508e70){if(_0x508e70&&_0x508e70[_0x6a99('0x92')]){var _0x5acb56=_0x508e70[_0x6a99('0x92')];var _0x30455d=config[_0x6a99('0x93')]+_0x6a99('0x94')+_0x508e70['id']+_0x6a99('0x95');if(fs['existsSync'](_0x30455d)){return _0x30455d;}return writeFile(_0x5acb56,_0x30455d)[_0x6a99('0x22')](function(){return _0x30455d;});}else{throw new db[(_0x6a99('0x5f'))][(_0x6a99('0x50'))](_0x6a99('0x96'));}})['then'](function(_0x51cc3c){return _0x581493[_0x6a99('0x49')](_0x51cc3c);})[_0x6a99('0x41')](handleError(_0x581493));};