d0a2d1754a3f10078a4603b21f512cff19c480cd
[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 _0x96dc=['json','offset','limit','count','set','Content-Range','apply','reject','save','update','then','destroy','error','name','send','index','map','VoiceRecording','fieldName','type','key','model','differenceBy','format','query','keys','filters','attributes','intersection','fields','nolimit','order','sort','where','pick','merge','VIRTUAL','filter','options','includeAll','include','findAll','catch','params','rawAttributes','length','create','body','find','describe','download','uniqueid','value','%s.cypher','existsSync','decryptFile','secrets','Sequelize','ValidationError','VoiceRecording\x20not\x20found','filename','extname','unlink','message','downloads','../../components/encryptor','sequelize','MD5','push','recording','isNil','Entity\x20not\x20found','info','cancellazione\x20fisica\x20documento\x20%s','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','.cypher','listBuckets','createBucket','upload','startTranscriptionJob','basename','[RUNTRANSCRIPT][%d]\x20Voice\x20recording\x20uploaded\x20in\x20bucket\x20%s\x20(%s)','Location','bucket','Bucket','[RUNTRANSCRIPT][%d]\x20Transcription\x20job\x20%s\x20created','TranscriptionJob','TranscriptionJobName','transcribeName','TranscriptionJobStatus','runTranscribe','findOne','Setting','transcribe','transcribeAccountId','transcribeRegion','language','Transcribe\x20not\x20configured','runSentiment','sentiment','sentimentRegion','Sentiment\x20Analysis\x20not\x20configured','CloudProvider','Cloud\x20Provider\x20not\x20available','data2','Cloud\x20Provider\x20not\x20configured','data1','Buckets','Name','[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20not\x20available','[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20available','transcribeStatus','NEW','IN_PROGRESS','tempSentiment','updateAttributes','writeFile','downloadTranscribe','fileText','/server/files/transcribes/transcribe_','.txt','Transcript\x20not\x20available','zip-dir','fast-json-patch','moment','bluebird','mustache','path','sox','to-csv','ejs','crypto','querystring','papaparse','aws-sdk','uuid/v4','ioredis','../../config/license/hardware','../../config/logger','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end'];(function(_0x103133,_0x26be21){var _0x4672f7=function(_0x2d296a){while(--_0x2d296a){_0x103133['push'](_0x103133['shift']());}};_0x4672f7(++_0x26be21);}(_0x96dc,0x10f));var _0xc96d=function(_0x2d92e3,_0x46bd1a){_0x2d92e3=_0x2d92e3-0x0;var _0x263936=_0x96dc[_0x2d92e3];return _0x263936;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0xc96d('0x0'));var jsonpatch=require(_0xc96d('0x1'));var rp=require('request-promise');var moment=require(_0xc96d('0x2'));var BPromise=require(_0xc96d('0x3'));var Mustache=require(_0xc96d('0x4'));var util=require('util');var path=require(_0xc96d('0x5'));var sox=require(_0xc96d('0x6'));var csv=require(_0xc96d('0x7'));var ejs=require(_0xc96d('0x8'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require('squel');var crypto=require(_0xc96d('0x9'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0xc96d('0x7'));var querystring=require(_0xc96d('0xa'));var Papa=require(_0xc96d('0xb'));var AWS=require(_0xc96d('0xc'));var uuidv4=require(_0xc96d('0xd'));var Redis=require(_0xc96d('0xe'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xc96d('0xf'));var logger=require(_0xc96d('0x10'))('api');var utils=require('../../config/utils');var config=require(_0xc96d('0x11'));var licenseUtil=require(_0xc96d('0x12'));var db=require(_0xc96d('0x13'))['db'];function respondWithStatusCode(_0x3c25dd,_0x5ef678){_0x5ef678=_0x5ef678||0xcc;return function(_0x451bd3){if(_0x451bd3){return _0x3c25dd[_0xc96d('0x14')](_0x5ef678);}return _0x3c25dd[_0xc96d('0x15')](_0x5ef678)[_0xc96d('0x16')]();};}function respondWithResult(_0x3e0e18,_0x47e398){_0x47e398=_0x47e398||0xc8;return function(_0x285133){if(_0x285133){return _0x3e0e18[_0xc96d('0x15')](_0x47e398)[_0xc96d('0x17')](_0x285133);}};}function respondWithFilteredResult(_0x23175c,_0x2c2bdd){return function(_0x57e351){if(_0x57e351){var _0x113689=typeof _0x2c2bdd[_0xc96d('0x18')]==='undefined'&&typeof _0x2c2bdd[_0xc96d('0x19')]==='undefined';var _0x1052c2=_0x57e351[_0xc96d('0x1a')];var _0x49d9ea=_0x113689?0x0:_0x2c2bdd[_0xc96d('0x18')];var _0x160fe7=_0x113689?_0x57e351[_0xc96d('0x1a')]:_0x2c2bdd[_0xc96d('0x18')]+_0x2c2bdd[_0xc96d('0x19')];var _0x40f488;if(_0x160fe7>=_0x1052c2){_0x160fe7=_0x1052c2;_0x40f488=0xc8;}else{_0x40f488=0xce;}_0x23175c[_0xc96d('0x15')](_0x40f488);return _0x23175c[_0xc96d('0x1b')](_0xc96d('0x1c'),_0x49d9ea+'-'+_0x160fe7+'/'+_0x1052c2)[_0xc96d('0x17')](_0x57e351);}return null;};}function patchUpdates(_0x57f0f9){return function(_0x567642){try{jsonpatch[_0xc96d('0x1d')](_0x567642,_0x57f0f9,!![]);}catch(_0x2ed9ac){return BPromise[_0xc96d('0x1e')](_0x2ed9ac);}return _0x567642[_0xc96d('0x1f')]();};}function saveUpdates(_0x36571e,_0x5284c2){return function(_0x125f48){if(_0x125f48){return _0x125f48[_0xc96d('0x20')](_0x36571e)[_0xc96d('0x21')](function(_0x44ef0a){return _0x44ef0a;});}return null;};}function removeEntity(_0x3b72c1,_0x3b4c08){return function(_0x5e89a2){if(_0x5e89a2){return _0x5e89a2[_0xc96d('0x22')]()[_0xc96d('0x21')](function(){_0x3b72c1[_0xc96d('0x15')](0xcc)[_0xc96d('0x16')]();});}};}function handleEntityNotFound(_0x44b172,_0x167a57){return function(_0x12f687){if(!_0x12f687){_0x44b172[_0xc96d('0x14')](0x194);}return _0x12f687;};}function handleError(_0x3f2f19,_0x20c06b){_0x20c06b=_0x20c06b||0x1f4;return function(_0x4a9f84){logger[_0xc96d('0x23')](_0x4a9f84['stack']);if(_0x4a9f84[_0xc96d('0x24')]){delete _0x4a9f84['name'];}_0x3f2f19[_0xc96d('0x15')](_0x20c06b)[_0xc96d('0x25')](_0x4a9f84);};}exports[_0xc96d('0x26')]=function(_0x5d0bb3,_0x24b3dc){var _0x6b529={},_0x5ad705={},_0x41e649={'count':0x0,'rows':[]};var _0x172f60=_[_0xc96d('0x27')](db[_0xc96d('0x28')]['rawAttributes'],function(_0x16090d){return{'name':_0x16090d[_0xc96d('0x29')],'type':_0x16090d[_0xc96d('0x2a')][_0xc96d('0x2b')]};});_0x5ad705[_0xc96d('0x2c')]=_[_0xc96d('0x2d')](_[_0xc96d('0x27')](_0x172f60,_0xc96d('0x24')),[_0xc96d('0x2e')]);_0x5ad705[_0xc96d('0x2f')]=_[_0xc96d('0x30')](_0x5d0bb3['query']);_0x5ad705[_0xc96d('0x31')]=_['intersection'](_0x5ad705[_0xc96d('0x2c')],_0x5ad705[_0xc96d('0x2f')]);_0x6b529[_0xc96d('0x32')]=_[_0xc96d('0x33')](_0x5ad705[_0xc96d('0x2c')],qs[_0xc96d('0x34')](_0x5d0bb3[_0xc96d('0x2f')]['fields']));_0x6b529['attributes']=_0x6b529['attributes']['length']?_0x6b529['attributes']:_0x5ad705[_0xc96d('0x2c')];if(!_0x5d0bb3[_0xc96d('0x2f')]['hasOwnProperty'](_0xc96d('0x35'))){_0x6b529[_0xc96d('0x19')]=qs[_0xc96d('0x19')](_0x5d0bb3[_0xc96d('0x2f')][_0xc96d('0x19')]);_0x6b529[_0xc96d('0x18')]=qs[_0xc96d('0x18')](_0x5d0bb3[_0xc96d('0x2f')][_0xc96d('0x18')]);}_0x6b529[_0xc96d('0x36')]=qs['sort'](_0x5d0bb3[_0xc96d('0x2f')][_0xc96d('0x37')]);_0x6b529[_0xc96d('0x38')]=qs[_0xc96d('0x31')](_[_0xc96d('0x39')](_0x5d0bb3[_0xc96d('0x2f')],_0x5ad705['filters']),_0x172f60);if(_0x5d0bb3[_0xc96d('0x2f')]['filter']){_0x6b529[_0xc96d('0x38')]=_[_0xc96d('0x3a')](_0x6b529[_0xc96d('0x38')],{'$or':_['map'](_0x172f60,function(_0x212371){if(_0x212371[_0xc96d('0x2a')]!==_0xc96d('0x3b')){var _0x57d059={};_0x57d059[_0x212371[_0xc96d('0x24')]]={'$like':'%'+_0x5d0bb3['query'][_0xc96d('0x3c')]+'%'};return _0x57d059;}})});}_0x6b529=_[_0xc96d('0x3a')]({},_0x6b529,_0x5d0bb3[_0xc96d('0x3d')]);var _0x379ed4={'where':_0x6b529['where']};return db[_0xc96d('0x28')][_0xc96d('0x1a')](_0x379ed4)['then'](function(_0xc670c){_0x41e649[_0xc96d('0x1a')]=_0xc670c;if(_0x5d0bb3[_0xc96d('0x2f')][_0xc96d('0x3e')]){_0x6b529[_0xc96d('0x3f')]=[{'all':!![]}];}return db[_0xc96d('0x28')][_0xc96d('0x40')](_0x6b529);})['then'](function(_0x10869b){_0x41e649['rows']=_0x10869b;return _0x41e649;})[_0xc96d('0x21')](respondWithFilteredResult(_0x24b3dc,_0x6b529))[_0xc96d('0x41')](handleError(_0x24b3dc,null));};exports['show']=function(_0x51304a,_0x3f704f){var _0x24fdc9={'raw':![],'where':{'id':_0x51304a[_0xc96d('0x42')]['id']}},_0x49f8f1={};_0x49f8f1['model']=_[_0xc96d('0x30')](db[_0xc96d('0x28')][_0xc96d('0x43')]);_0x49f8f1[_0xc96d('0x2f')]=_[_0xc96d('0x30')](_0x51304a[_0xc96d('0x2f')]);_0x49f8f1[_0xc96d('0x31')]=_['intersection'](_0x49f8f1[_0xc96d('0x2c')],_0x49f8f1[_0xc96d('0x2f')]);_0x24fdc9['attributes']=_['intersection'](_0x49f8f1[_0xc96d('0x2c')],qs[_0xc96d('0x34')](_0x51304a[_0xc96d('0x2f')][_0xc96d('0x34')]));_0x24fdc9['attributes']=_0x24fdc9[_0xc96d('0x32')][_0xc96d('0x44')]?_0x24fdc9[_0xc96d('0x32')]:_0x49f8f1[_0xc96d('0x2c')];if(_0x51304a[_0xc96d('0x2f')]['includeAll']){_0x24fdc9[_0xc96d('0x3f')]=[{'all':!![]}];}_0x24fdc9=_['merge']({},_0x24fdc9,_0x51304a[_0xc96d('0x3d')]);return db['VoiceRecording']['find'](_0x24fdc9)[_0xc96d('0x21')](handleEntityNotFound(_0x3f704f,null))[_0xc96d('0x21')](respondWithResult(_0x3f704f,null))[_0xc96d('0x41')](handleError(_0x3f704f,null));};exports[_0xc96d('0x45')]=function(_0x3fb8b8,_0x2dea75){return db['VoiceRecording'][_0xc96d('0x45')](_0x3fb8b8['body'],{})[_0xc96d('0x21')](respondWithResult(_0x2dea75,0xc9))[_0xc96d('0x41')](handleError(_0x2dea75,null));};exports[_0xc96d('0x20')]=function(_0x426d4a,_0x1cd665){if(_0x426d4a[_0xc96d('0x46')]['id']){delete _0x426d4a[_0xc96d('0x46')]['id'];}return db[_0xc96d('0x28')][_0xc96d('0x47')]({'where':{'id':_0x426d4a['params']['id']}})['then'](handleEntityNotFound(_0x1cd665,null))[_0xc96d('0x21')](saveUpdates(_0x426d4a['body'],null))['then'](respondWithResult(_0x1cd665,null))[_0xc96d('0x41')](handleError(_0x1cd665,null));};exports[_0xc96d('0x48')]=function(_0x433427,_0x1ada26){return db[_0xc96d('0x28')][_0xc96d('0x48')]()[_0xc96d('0x21')](respondWithResult(_0x1ada26,null))[_0xc96d('0x41')](handleError(_0x1ada26,null));};exports[_0xc96d('0x49')]=function(_0x3cc7f6,_0x2cba3e,_0x2121c9){var _0x52658e=require('../../components/encryptor');var _0x2a95dd=![];var _0x3d5ac8={};if(_0x3cc7f6[_0xc96d('0x2f')][_0xc96d('0x2a')]&&_0x3cc7f6[_0xc96d('0x2f')]['type']==='uniqueid'){_0x3d5ac8[_0xc96d('0x4a')]=_0x3cc7f6[_0xc96d('0x42')]['id'];}else{_0x3d5ac8['id']=_0x3cc7f6['params']['id'];}return db[_0xc96d('0x28')][_0xc96d('0x47')]({'where':_0x3d5ac8,'attributes':['id','value'],'raw':!![]})[_0xc96d('0x21')](handleEntityNotFound(_0x2cba3e,null))['then'](function(_0x5ea7d7){if(_0x5ea7d7){var _0x8c56a0=_0x5ea7d7[_0xc96d('0x4b')];var _0x3184b5=util['format'](_0xc96d('0x4c'),_0x8c56a0);if(fs[_0xc96d('0x4d')](_0x3184b5)){_0x2a95dd=!![];return _0x52658e[_0xc96d('0x4e')](_0x3184b5,_0x8c56a0,config[_0xc96d('0x4f')]['recording'])[_0xc96d('0x21')](function(){return _0x5ea7d7;});}return _0x5ea7d7;}})[_0xc96d('0x21')](function(_0xf3645d){if(_0xf3645d){var _0x312ea8=_0xf3645d[_0xc96d('0x4b')];if(!fs[_0xc96d('0x4d')](_0x312ea8)){throw new db[(_0xc96d('0x50'))][(_0xc96d('0x51'))](_0xc96d('0x52'));}if(_0xf3645d[_0xc96d('0x53')]){return _0x2cba3e['download'](_0x312ea8,_0xf3645d[_0xc96d('0x53')]+path[_0xc96d('0x54')](_0x312ea8),function(){if(_0x2a95dd){fs[_0xc96d('0x55')](_0x312ea8);}});}else{return _0x2cba3e[_0xc96d('0x49')](_0x312ea8,function(_0x14d10b){if(_0x2a95dd){fs[_0xc96d('0x55')](_0x312ea8);}});}}})[_0xc96d('0x41')](function(_0x470391){if(_0x470391[_0xc96d('0x56')]==='VoiceRecording\x20not\x20found'){_0x2cba3e['status'](0x194)[_0xc96d('0x25')]('Not\x20found');}else{return handleError(_0x2cba3e,null);}});};exports[_0xc96d('0x57')]=function(_0x39c363,_0x53bd87,_0x209cca){var _0x54e415=require(_0xc96d('0x58'));var _0x106900=![];var _0x2b493e={'$and':[db['sequelize'][_0xc96d('0x38')](db[_0xc96d('0x59')]['fn'](_0xc96d('0x5a'),db['sequelize']['col'](_0xc96d('0x4a'))),_0x39c363['query']['token'])]};if(_0x39c363['query'][_0xc96d('0x2a')]&&_0x39c363[_0xc96d('0x2f')][_0xc96d('0x2a')]===_0xc96d('0x4a')){_0x2b493e['$and'][_0xc96d('0x5b')]({'uniqueid':_0x39c363[_0xc96d('0x42')]['id']});}else{_0x2b493e['$and'][_0xc96d('0x5b')]({'id':_0x39c363[_0xc96d('0x42')]['id']});}return db['VoiceRecording'][_0xc96d('0x47')]({'where':_0x2b493e,'attributes':['id',_0xc96d('0x4b')],'raw':!![]})[_0xc96d('0x21')](handleEntityNotFound(_0x53bd87,null))['then'](function(_0x4a23dc){if(_0x4a23dc){var _0x4dfad0=util[_0xc96d('0x2e')](_0xc96d('0x4c'),_0x4a23dc['value']);if(fs[_0xc96d('0x4d')](_0x4dfad0)){_0x106900=!![];return _0x54e415[_0xc96d('0x4e')](_0x4dfad0,_0x4a23dc['value'],config[_0xc96d('0x4f')][_0xc96d('0x5c')])[_0xc96d('0x21')](function(){return _0x4a23dc;});}return _0x4a23dc;}})['then'](function(_0x26878){if(_0x26878){if(!fs[_0xc96d('0x4d')](_0x26878[_0xc96d('0x4b')])){throw new db['Sequelize']['ValidationError']('VoiceRecording\x20not\x20found');}if(_0x26878[_0xc96d('0x53')]){return _0x53bd87[_0xc96d('0x49')](_0x26878['value'],_0x26878[_0xc96d('0x53')]+path[_0xc96d('0x54')](_0x26878[_0xc96d('0x4b')]),function(){if(_0x106900){fs[_0xc96d('0x55')](_0x26878[_0xc96d('0x4b')]);}});}else{return _0x53bd87[_0xc96d('0x49')](_0x26878[_0xc96d('0x4b')],function(_0x5cba90){if(_0x106900){fs[_0xc96d('0x55')](_0x26878[_0xc96d('0x4b')]);}});}}})[_0xc96d('0x41')](handleError(_0x53bd87,null));};exports[_0xc96d('0x22')]=function(_0x6457a6,_0x5222a7){return db['VoiceRecording']['find']({'where':{'id':_0x6457a6[_0xc96d('0x42')]['id']}})['then'](function(_0x1f922b){if(_[_0xc96d('0x5d')](_0x1f922b)){throw new ReferenceError(_0xc96d('0x5e'));}return _0x1f922b;})[_0xc96d('0x21')](function(_0x3dbe7a){var _0x18c074=_0x3dbe7a['value'];logger[_0xc96d('0x5f')](_0xc96d('0x60'),_0x18c074);if(!_[_0xc96d('0x5d')](_0x3dbe7a[_0xc96d('0x4b')])&&fs[_0xc96d('0x4d')](_0x18c074)){logger[_0xc96d('0x5f')](_0xc96d('0x61')+_0x18c074+_0xc96d('0x62'));fs[_0xc96d('0x63')](_0x18c074);}_0x18c074=_0x18c074+_0xc96d('0x64');if(!_[_0xc96d('0x5d')](_0x3dbe7a[_0xc96d('0x4b')])&&fs[_0xc96d('0x4d')](_0x18c074)){logger['info'](_0xc96d('0x61')+_0x18c074+_0xc96d('0x62'));fs[_0xc96d('0x63')](_0x18c074);}return _0x3dbe7a;})['then'](function(_0x3a8518){if(!_0x3a8518)throw new InternalError();return _0x3a8518['destroy']();})[_0xc96d('0x21')](function(){_0x5222a7[_0xc96d('0x15')](0xcc)[_0xc96d('0x16')]();})[_0xc96d('0x41')](handleError(_0x5222a7,null));};function getBucketslist(_0x31e208,_0x4993bf,_0x12faa7){return new Promise(function(_0x2eb564,_0x366712){var _0x32976a=new AWS['S3']({'accessKeyId':_0x4993bf,'secretAccessKey':_0x31e208,'region':_0x12faa7});_0x32976a[_0xc96d('0x65')]({},function(_0x5a0ee9,_0x5d42af){if(_0x5a0ee9){return _0x366712(_0x5a0ee9);}else{return _0x2eb564(_0x5d42af);}});});}function createBucket(_0x5c7b3a,_0x2508ef,_0x1d9493,_0xff50bd){return new Promise(function(_0x5ee15e,_0x5da784){var _0x1e360a=new AWS['S3']({'accessKeyId':_0x2508ef,'secretAccessKey':_0x5c7b3a,'region':_0x1d9493});_0x1e360a[_0xc96d('0x66')]({'Bucket':_0xff50bd},function(_0x2bde7d,_0x557bb3){if(_0x2bde7d){return _0x5da784(_0x2bde7d);}else{return _0x5ee15e(_0x557bb3);}});});}function uploadFile(_0x3e4eee,_0x471ab1,_0x4d95e8,_0x36b455,_0x363a7e,_0x3da3f0){return new Promise(function(_0x3c34ed,_0xac0220){var _0x2b8bb5=new AWS['S3']({'accessKeyId':_0x471ab1,'secretAccessKey':_0x3e4eee,'region':_0x4d95e8});_0x2b8bb5[_0xc96d('0x67')]({'Bucket':_0x36b455,'Key':_0x363a7e,'Body':_0x3da3f0},function(_0x33c052,_0x556d64){if(_0x33c052){return _0xac0220(_0x33c052);}else{return _0x3c34ed(_0x556d64);}});});}function startTranscribe(_0x51d901,_0x303273,_0x437046,_0x5ce4a9,_0x31dfab,_0x565b58){return new Promise(function(_0x32d317,_0x334df2){var _0x519266=new AWS['TranscribeService']({'accessKeyId':_0x303273,'secretAccessKey':_0x51d901,'region':_0x437046});_0x519266[_0xc96d('0x68')]({'TranscriptionJobName':_0x5ce4a9,'LanguageCode':_0x31dfab,'Media':{'MediaFileUri':_0x565b58}},function(_0x3c8764,_0x34d6be){if(_0x3c8764){return _0x334df2(_0x3c8764);}else{return _0x32d317(_0x34d6be);}});});}function transcribe(_0x544ece,_0x479c96,_0x28b831,_0x57e6b6,_0xe1a9d8,_0x1521bb,_0x508c9f){return new Promise(function(_0x4e5ca3,_0x42da40){var _0xb67374={};logger[_0xc96d('0x5f')](util[_0xc96d('0x2e')]('[RUNTRANSCRIPT][%d]\x20Starting\x20voice\x20recording\x20upload\x20in\x20bucket\x20%s',_0x544ece,_0xe1a9d8));return uploadFile(_0x479c96,_0x28b831,_0x57e6b6,_0xe1a9d8,path[_0xc96d('0x69')](_0x1521bb),fs['readFileSync'](_0x1521bb))[_0xc96d('0x21')](function(_0x98137b){logger['info'](util[_0xc96d('0x2e')](_0xc96d('0x6a'),_0x544ece,_0xe1a9d8,_0x98137b[_0xc96d('0x6b')]));_0xb67374[_0xc96d('0x6c')]=_0x98137b[_0xc96d('0x6d')];_0xb67374['location']=_0x98137b[_0xc96d('0x6b')];logger[_0xc96d('0x5f')](util[_0xc96d('0x2e')]('[RUNTRANSCRIPT][%d]\x20Sending\x20transcribe\x20request',_0x544ece));return startTranscribe(_0x479c96,_0x28b831,_0x57e6b6,uuidv4(),_0x508c9f,_0x98137b[_0xc96d('0x6b')]);})[_0xc96d('0x21')](function(_0x4ef4dd){logger['info'](util['format'](_0xc96d('0x6e'),_0x544ece,_0x4ef4dd[_0xc96d('0x6f')][_0xc96d('0x70')]));_0xb67374[_0xc96d('0x71')]=_0x4ef4dd[_0xc96d('0x6f')][_0xc96d('0x70')];_0xb67374['transcribeStatus']=_0x4ef4dd[_0xc96d('0x6f')][_0xc96d('0x72')];return _0x4e5ca3(_0xb67374);})[_0xc96d('0x41')](function(_0x56f9cc){return _0x42da40(_0x56f9cc);});});}exports[_0xc96d('0x73')]=function(_0x3cad0b,_0x11cbaf,_0x378b8c){var _0x5d2cac;var _0x1b434d;var _0x2027c6;var _0xad0c79=require(_0xc96d('0x58'));return db[_0xc96d('0x28')][_0xc96d('0x74')]({'where':{'id':_0x3cad0b['params']['id']}})['then'](function(_0x31ee8c){if(_0x31ee8c){var _0x199977=util['format'](_0xc96d('0x4c'),_0x31ee8c[_0xc96d('0x4b')]);if(fs[_0xc96d('0x4d')](_0x199977)){cypher=!![];return _0xad0c79[_0xc96d('0x4e')](_0x199977,_0x31ee8c[_0xc96d('0x4b')],config['secrets'][_0xc96d('0x5c')])['then'](function(){return _0x31ee8c;});}return _0x31ee8c;}})[_0xc96d('0x21')](function(_0x1c3a21){if(!_0x1c3a21){throw new db['Sequelize']['ValidationError']('Voice\x20Recording\x20not\x20found');}_0x1b434d=_0x1c3a21;return db[_0xc96d('0x75')]['findOne']({'where':{'id':0x1}});})['then'](handleEntityNotFound(_0x11cbaf,null))[_0xc96d('0x21')](function(_0x334a63){if(_0x334a63){_0x5d2cac=_0x334a63;if(!_0x5d2cac[_0xc96d('0x76')]||!_0x5d2cac[_0xc96d('0x77')]||!_0x5d2cac[_0xc96d('0x78')]||!_0x5d2cac[_0xc96d('0x79')]||!_0x5d2cac[_0xc96d('0x6c')]){throw new db[(_0xc96d('0x50'))][(_0xc96d('0x51'))](_0xc96d('0x7a'));}if(_0x3cad0b[_0xc96d('0x46')][_0xc96d('0x7b')]&&(!_0x5d2cac[_0xc96d('0x7c')]||!_0x5d2cac['sentimentAccountId']||!_0x5d2cac[_0xc96d('0x7d')]||!_0x5d2cac['language']||!_0x5d2cac['bucket'])){throw new db[(_0xc96d('0x50'))]['ValidationError'](_0xc96d('0x7e'));}return db[_0xc96d('0x7f')]['findOne']({'where':{'id':_0x5d2cac['transcribeAccountId']}});}})[_0xc96d('0x21')](function(_0x133d0e){if(!_0x133d0e){throw new db[(_0xc96d('0x50'))][(_0xc96d('0x51'))](_0xc96d('0x80'));}if(!_0x133d0e['data1']||!_0x133d0e[_0xc96d('0x81')]){throw new db[(_0xc96d('0x50'))][(_0xc96d('0x51'))](_0xc96d('0x82'));}_0x2027c6=_0x133d0e;return getBucketslist(_0x2027c6[_0xc96d('0x83')],_0x2027c6[_0xc96d('0x81')],_0x5d2cac['transcribeRegion']);})[_0xc96d('0x21')](function(_0x3ab857){if(_0x3ab857&&_0x3ab857['Buckets']){var _0x3f6155=_['find'](_0x3ab857[_0xc96d('0x84')],function(_0x18cfbf){return _0x18cfbf[_0xc96d('0x85')]===_0x5d2cac['bucket'];});if(!_0x3f6155){logger[_0xc96d('0x5f')](util['format'](_0xc96d('0x86'),_0x3cad0b['params']['id'],_0x5d2cac['bucket']));return createBucket(_0x2027c6['data1'],_0x2027c6[_0xc96d('0x81')],_0x5d2cac[_0xc96d('0x78')],_0x5d2cac['bucket']);}logger['info'](util['format'](_0xc96d('0x87'),_0x3cad0b[_0xc96d('0x42')]['id'],_0x5d2cac[_0xc96d('0x6c')]));return;}})[_0xc96d('0x21')](function(_0x5541f8){if(_0x1b434d[_0xc96d('0x88')]===_0xc96d('0x89')){return transcribe(_0x3cad0b[_0xc96d('0x42')]['id'],_0x2027c6[_0xc96d('0x83')],_0x2027c6[_0xc96d('0x81')],_0x5d2cac[_0xc96d('0x78')],_0x5d2cac[_0xc96d('0x6c')],_0x1b434d[_0xc96d('0x4b')],_0x5d2cac[_0xc96d('0x79')]);}else{logger['info'](util[_0xc96d('0x2e')]('[RUNTRANSCRIPT][%d]\x20Transcript\x20action\x20already\x20requested',_0x3cad0b['params']['id']));return{'transcribeStatus':_0xc96d('0x8a')};}})[_0xc96d('0x21')](function(_0x22d84e){if(_0x22d84e){_0x22d84e[_0xc96d('0x8b')]=_0x3cad0b['body'][_0xc96d('0x7b')];return _0x1b434d[_0xc96d('0x8c')](_0x22d84e);}})[_0xc96d('0x21')](respondWithResult(_0x11cbaf,null))[_0xc96d('0x41')](handleError(_0x11cbaf,null));};function writeFile(_0x337198,_0x424247){return new Promise(function(_0x445380,_0x4fd650){fs[_0xc96d('0x8d')](_0x424247,_0x337198,function(_0xe2e22d,_0x59ddab){if(_0xe2e22d){return _0x4fd650(_0xe2e22d);}else{return _0x445380(_0x59ddab);}});});}exports[_0xc96d('0x8e')]=function(_0x554456,_0x5e1ec5,_0x20992e){return db[_0xc96d('0x28')][_0xc96d('0x74')]({'where':{'id':_0x554456['params']['id']}})[_0xc96d('0x21')](handleEntityNotFound(_0x5e1ec5))[_0xc96d('0x21')](function(_0xea74f5){if(_0xea74f5&&_0xea74f5[_0xc96d('0x8f')]){var _0x2ce489=_0xea74f5[_0xc96d('0x8f')];var _0x312851=config['root']+_0xc96d('0x90')+_0xea74f5['id']+_0xc96d('0x91');if(fs[_0xc96d('0x4d')](_0x312851)){return _0x312851;}return writeFile(_0x2ce489,_0x312851)[_0xc96d('0x21')](function(){return _0x312851;});}else{throw new db[(_0xc96d('0x50'))][(_0xc96d('0x51'))](_0xc96d('0x92'));}})[_0xc96d('0x21')](function(_0x4dd23d){return _0x5e1ec5['download'](_0x4dd23d);})[_0xc96d('0x41')](handleError(_0x5e1ec5));};