a82bc0320fdcb0c332a3a58a69f31dd669f55a81
[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 _0x48da=['NEW','[RUNTRANSCRIPT][%d]\x20Transcript\x20action\x20already\x20requested','IN_PROGRESS','tempSentiment','downloadTranscribe','fileText','root','/server/files/transcribes/transcribe_','.txt','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','util','path','ejs','fs-extra','jsforce','desk.js','to-csv','querystring','aws-sdk','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/license/util','sendStatus','status','end','json','offset','undefined','count','limit','set','Content-Range','apply','reject','save','update','then','destroy','stack','name','send','index','map','VoiceRecording','rawAttributes','fieldName','type','key','model','differenceBy','query','keys','filters','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','includeAll','include','rows','catch','show','params','options','find','create','body','describe','download','../../components/encryptor','uniqueid','value','format','%s.cypher','existsSync','decryptFile','recording','ValidationError','VoiceRecording\x20not\x20found','filename','extname','unlink','message','Not\x20found','downloads','sequelize','MD5','col','token','$and','push','secrets','Sequelize','isNil','info','cancellazione\x20fisica\x20documento\x20%s','File:\x20\x22','unlinkSync','listBuckets','upload','startTranscriptionJob','basename','[RUNTRANSCRIPT][%d]\x20Voice\x20recording\x20uploaded\x20in\x20bucket\x20%s\x20(%s)','Location','bucket','Bucket','location','[RUNTRANSCRIPT][%d]\x20Sending\x20transcribe\x20request','[RUNTRANSCRIPT][%d]\x20Transcription\x20job\x20%s\x20created','transcribeName','transcribeStatus','TranscriptionJobStatus','runTranscribe','findOne','Setting','transcribe','transcribeAccountId','transcribeRegion','Transcribe\x20not\x20configured','runSentiment','sentimentAccountId','sentimentRegion','language','Sentiment\x20Analysis\x20not\x20configured','CloudProvider','Cloud\x20Provider\x20not\x20available','Cloud\x20Provider\x20not\x20configured','data1','data2','Buckets','[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20available'];(function(_0x2d48dc,_0x5a092b){var _0xd146c2=function(_0x1e4596){while(--_0x1e4596){_0x2d48dc['push'](_0x2d48dc['shift']());}};_0xd146c2(++_0x5a092b);}(_0x48da,0x9d));var _0xa48d=function(_0x44a0be,_0x50c802){_0x44a0be=_0x44a0be-0x0;var _0x3b7a0d=_0x48da[_0x44a0be];return _0x3b7a0d;};'use strict';var emlformat=require(_0xa48d('0x0'));var rimraf=require(_0xa48d('0x1'));var zipdir=require(_0xa48d('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xa48d('0x3'));var moment=require(_0xa48d('0x4'));var BPromise=require(_0xa48d('0x5'));var Mustache=require(_0xa48d('0x6'));var util=require(_0xa48d('0x7'));var path=require(_0xa48d('0x8'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0xa48d('0x9'));var fs=require('fs');var fs_extra=require(_0xa48d('0xa'));var _=require('lodash');var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0xa48d('0xb'));var deskjs=require(_0xa48d('0xc'));var toCsv=require(_0xa48d('0xd'));var querystring=require(_0xa48d('0xe'));var Papa=require('papaparse');var AWS=require(_0xa48d('0xf'));var uuidv4=require('uuid/v4');var Redis=require('ioredis');var authService=require(_0xa48d('0x10'));var qs=require(_0xa48d('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xa48d('0x12'));var logger=require(_0xa48d('0x13'))(_0xa48d('0x14'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0xa48d('0x15'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x270a01,_0x9b1e72){_0x9b1e72=_0x9b1e72||0xcc;return function(_0x4be425){if(_0x4be425){return _0x270a01[_0xa48d('0x16')](_0x9b1e72);}return _0x270a01[_0xa48d('0x17')](_0x9b1e72)[_0xa48d('0x18')]();};}function respondWithResult(_0x775c3a,_0x3664e7){_0x3664e7=_0x3664e7||0xc8;return function(_0x4b7a21){if(_0x4b7a21){return _0x775c3a[_0xa48d('0x17')](_0x3664e7)[_0xa48d('0x19')](_0x4b7a21);}};}function respondWithFilteredResult(_0x1ae9f4,_0x478a0c){return function(_0x2b7410){if(_0x2b7410){var _0x2bd9e2=typeof _0x478a0c[_0xa48d('0x1a')]===_0xa48d('0x1b')&&typeof _0x478a0c['limit']===_0xa48d('0x1b');var _0x38d081=_0x2b7410[_0xa48d('0x1c')];var _0x3f40e8=_0x2bd9e2?0x0:_0x478a0c['offset'];var _0x15c36d=_0x2bd9e2?_0x2b7410[_0xa48d('0x1c')]:_0x478a0c[_0xa48d('0x1a')]+_0x478a0c[_0xa48d('0x1d')];var _0x35b081;if(_0x15c36d>=_0x38d081){_0x15c36d=_0x38d081;_0x35b081=0xc8;}else{_0x35b081=0xce;}_0x1ae9f4[_0xa48d('0x17')](_0x35b081);return _0x1ae9f4[_0xa48d('0x1e')](_0xa48d('0x1f'),_0x3f40e8+'-'+_0x15c36d+'/'+_0x38d081)['json'](_0x2b7410);}return null;};}function patchUpdates(_0xa865af){return function(_0x5a567a){try{jsonpatch[_0xa48d('0x20')](_0x5a567a,_0xa865af,!![]);}catch(_0x2ab09a){return BPromise[_0xa48d('0x21')](_0x2ab09a);}return _0x5a567a[_0xa48d('0x22')]();};}function saveUpdates(_0x2bbbea,_0x16010f){return function(_0xc760f0){if(_0xc760f0){return _0xc760f0[_0xa48d('0x23')](_0x2bbbea)[_0xa48d('0x24')](function(_0x20fb1f){return _0x20fb1f;});}return null;};}function removeEntity(_0x1093e5,_0x4fa4d4){return function(_0x489cda){if(_0x489cda){return _0x489cda[_0xa48d('0x25')]()[_0xa48d('0x24')](function(){_0x1093e5[_0xa48d('0x17')](0xcc)['end']();});}};}function handleEntityNotFound(_0x5ca808,_0x3d9b6e){return function(_0x4c5d09){if(!_0x4c5d09){_0x5ca808[_0xa48d('0x16')](0x194);}return _0x4c5d09;};}function handleError(_0x10982e,_0x26ad73){_0x26ad73=_0x26ad73||0x1f4;return function(_0x38ed44){logger['error'](_0x38ed44[_0xa48d('0x26')]);if(_0x38ed44['name']){delete _0x38ed44[_0xa48d('0x27')];}_0x10982e[_0xa48d('0x17')](_0x26ad73)[_0xa48d('0x28')](_0x38ed44);};}exports[_0xa48d('0x29')]=function(_0x2affb1,_0x20ebb2){var _0x2d71aa={},_0x25765b={},_0x46a8c1={'count':0x0,'rows':[]};var _0x557346=_[_0xa48d('0x2a')](db[_0xa48d('0x2b')][_0xa48d('0x2c')],function(_0x294527){return{'name':_0x294527[_0xa48d('0x2d')],'type':_0x294527[_0xa48d('0x2e')][_0xa48d('0x2f')]};});_0x25765b[_0xa48d('0x30')]=_[_0xa48d('0x31')](_['map'](_0x557346,_0xa48d('0x27')),['format']);_0x25765b[_0xa48d('0x32')]=_[_0xa48d('0x33')](_0x2affb1[_0xa48d('0x32')]);_0x25765b[_0xa48d('0x34')]=_['intersection'](_0x25765b[_0xa48d('0x30')],_0x25765b['query']);_0x2d71aa[_0xa48d('0x35')]=_[_0xa48d('0x36')](_0x25765b[_0xa48d('0x30')],qs[_0xa48d('0x37')](_0x2affb1[_0xa48d('0x32')][_0xa48d('0x37')]));_0x2d71aa[_0xa48d('0x35')]=_0x2d71aa[_0xa48d('0x35')][_0xa48d('0x38')]?_0x2d71aa[_0xa48d('0x35')]:_0x25765b[_0xa48d('0x30')];if(!_0x2affb1['query'][_0xa48d('0x39')](_0xa48d('0x3a'))){_0x2d71aa[_0xa48d('0x1d')]=qs['limit'](_0x2affb1[_0xa48d('0x32')][_0xa48d('0x1d')]);_0x2d71aa['offset']=qs['offset'](_0x2affb1[_0xa48d('0x32')][_0xa48d('0x1a')]);}_0x2d71aa[_0xa48d('0x3b')]=qs[_0xa48d('0x3c')](_0x2affb1['query'][_0xa48d('0x3c')]);_0x2d71aa[_0xa48d('0x3d')]=qs[_0xa48d('0x34')](_[_0xa48d('0x3e')](_0x2affb1['query'],_0x25765b[_0xa48d('0x34')]),_0x557346);if(_0x2affb1[_0xa48d('0x32')][_0xa48d('0x3f')]){_0x2d71aa[_0xa48d('0x3d')]=_[_0xa48d('0x40')](_0x2d71aa[_0xa48d('0x3d')],{'$or':_['map'](_0x557346,function(_0x15429c){if(_0x15429c[_0xa48d('0x2e')]!=='VIRTUAL'){var _0x3e6e2b={};_0x3e6e2b[_0x15429c[_0xa48d('0x27')]]={'$like':'%'+_0x2affb1[_0xa48d('0x32')]['filter']+'%'};return _0x3e6e2b;}})});}_0x2d71aa=_['merge']({},_0x2d71aa,_0x2affb1['options']);var _0x210924={'where':_0x2d71aa[_0xa48d('0x3d')]};return db[_0xa48d('0x2b')][_0xa48d('0x1c')](_0x210924)[_0xa48d('0x24')](function(_0x50b588){_0x46a8c1[_0xa48d('0x1c')]=_0x50b588;if(_0x2affb1[_0xa48d('0x32')][_0xa48d('0x41')]){_0x2d71aa[_0xa48d('0x42')]=[{'all':!![]}];}return db[_0xa48d('0x2b')]['findAll'](_0x2d71aa);})['then'](function(_0x37edcf){_0x46a8c1[_0xa48d('0x43')]=_0x37edcf;return _0x46a8c1;})[_0xa48d('0x24')](respondWithFilteredResult(_0x20ebb2,_0x2d71aa))[_0xa48d('0x44')](handleError(_0x20ebb2,null));};exports[_0xa48d('0x45')]=function(_0x566c5c,_0x2a3dc0){var _0x412771={'raw':![],'where':{'id':_0x566c5c[_0xa48d('0x46')]['id']}},_0x4f5973={};_0x4f5973[_0xa48d('0x30')]=_['keys'](db[_0xa48d('0x2b')]['rawAttributes']);_0x4f5973[_0xa48d('0x32')]=_[_0xa48d('0x33')](_0x566c5c[_0xa48d('0x32')]);_0x4f5973['filters']=_[_0xa48d('0x36')](_0x4f5973[_0xa48d('0x30')],_0x4f5973['query']);_0x412771[_0xa48d('0x35')]=_['intersection'](_0x4f5973[_0xa48d('0x30')],qs['fields'](_0x566c5c[_0xa48d('0x32')][_0xa48d('0x37')]));_0x412771[_0xa48d('0x35')]=_0x412771[_0xa48d('0x35')]['length']?_0x412771[_0xa48d('0x35')]:_0x4f5973[_0xa48d('0x30')];if(_0x566c5c[_0xa48d('0x32')][_0xa48d('0x41')]){_0x412771[_0xa48d('0x42')]=[{'all':!![]}];}_0x412771=_[_0xa48d('0x40')]({},_0x412771,_0x566c5c[_0xa48d('0x47')]);return db[_0xa48d('0x2b')][_0xa48d('0x48')](_0x412771)[_0xa48d('0x24')](handleEntityNotFound(_0x2a3dc0,null))['then'](respondWithResult(_0x2a3dc0,null))[_0xa48d('0x44')](handleError(_0x2a3dc0,null));};exports[_0xa48d('0x49')]=function(_0x179294,_0x2f7ed9){return db[_0xa48d('0x2b')]['create'](_0x179294[_0xa48d('0x4a')],{})[_0xa48d('0x24')](respondWithResult(_0x2f7ed9,0xc9))[_0xa48d('0x44')](handleError(_0x2f7ed9,null));};exports[_0xa48d('0x23')]=function(_0x8b146d,_0x56d857){if(_0x8b146d[_0xa48d('0x4a')]['id']){delete _0x8b146d[_0xa48d('0x4a')]['id'];}return db['VoiceRecording']['find']({'where':{'id':_0x8b146d[_0xa48d('0x46')]['id']}})['then'](handleEntityNotFound(_0x56d857,null))[_0xa48d('0x24')](saveUpdates(_0x8b146d['body'],null))[_0xa48d('0x24')](respondWithResult(_0x56d857,null))[_0xa48d('0x44')](handleError(_0x56d857,null));};exports[_0xa48d('0x4b')]=function(_0x4b2e23,_0x730401){return db[_0xa48d('0x2b')][_0xa48d('0x4b')]()[_0xa48d('0x24')](respondWithResult(_0x730401,null))['catch'](handleError(_0x730401,null));};exports[_0xa48d('0x4c')]=function(_0x21afff,_0x29a0ab,_0x961871){var _0x4d43c6=require(_0xa48d('0x4d'));var _0x42a0b4=![];var _0x21ec38={};if(_0x21afff[_0xa48d('0x32')]['type']&&_0x21afff[_0xa48d('0x32')][_0xa48d('0x2e')]===_0xa48d('0x4e')){_0x21ec38[_0xa48d('0x4e')]=_0x21afff[_0xa48d('0x46')]['id'];}else{_0x21ec38['id']=_0x21afff[_0xa48d('0x46')]['id'];}return db[_0xa48d('0x2b')][_0xa48d('0x48')]({'where':_0x21ec38,'attributes':['id',_0xa48d('0x4f')],'raw':!![]})[_0xa48d('0x24')](handleEntityNotFound(_0x29a0ab,null))[_0xa48d('0x24')](function(_0x3e2966){if(_0x3e2966){var _0x4d9806=_0x3e2966['value'];var _0x2bbdca=util[_0xa48d('0x50')](_0xa48d('0x51'),_0x4d9806);if(fs[_0xa48d('0x52')](_0x2bbdca)){_0x42a0b4=!![];return _0x4d43c6[_0xa48d('0x53')](_0x2bbdca,_0x4d9806,config['secrets'][_0xa48d('0x54')])[_0xa48d('0x24')](function(){return _0x3e2966;});}return _0x3e2966;}})[_0xa48d('0x24')](function(_0x19de36){if(_0x19de36){var _0x5ba6cc=_0x19de36['value'];if(!fs[_0xa48d('0x52')](_0x5ba6cc)){throw new db['Sequelize'][(_0xa48d('0x55'))](_0xa48d('0x56'));}if(_0x19de36[_0xa48d('0x57')]){return _0x29a0ab[_0xa48d('0x4c')](_0x5ba6cc,_0x19de36[_0xa48d('0x57')]+path[_0xa48d('0x58')](_0x5ba6cc),function(){if(_0x42a0b4){fs[_0xa48d('0x59')](_0x5ba6cc);}});}else{return _0x29a0ab['download'](_0x5ba6cc,function(_0x2165a5){if(_0x42a0b4){fs[_0xa48d('0x59')](_0x5ba6cc);}});}}})[_0xa48d('0x44')](function(_0x555a51){if(_0x555a51[_0xa48d('0x5a')]==='VoiceRecording\x20not\x20found'){_0x29a0ab[_0xa48d('0x17')](0x194)[_0xa48d('0x28')](_0xa48d('0x5b'));}else{return handleError(_0x29a0ab,null);}});};exports[_0xa48d('0x5c')]=function(_0x4676c8,_0x26f4ee,_0x18582d){var _0xae6fba=require(_0xa48d('0x4d'));var _0x45879e=![];var _0x24d614={'$and':[db[_0xa48d('0x5d')]['where'](db[_0xa48d('0x5d')]['fn'](_0xa48d('0x5e'),db[_0xa48d('0x5d')][_0xa48d('0x5f')](_0xa48d('0x4e'))),_0x4676c8[_0xa48d('0x32')][_0xa48d('0x60')])]};if(_0x4676c8['query'][_0xa48d('0x2e')]&&_0x4676c8[_0xa48d('0x32')][_0xa48d('0x2e')]===_0xa48d('0x4e')){_0x24d614[_0xa48d('0x61')]['push']({'uniqueid':_0x4676c8[_0xa48d('0x46')]['id']});}else{_0x24d614['$and'][_0xa48d('0x62')]({'id':_0x4676c8['params']['id']});}return db[_0xa48d('0x2b')][_0xa48d('0x48')]({'where':_0x24d614,'attributes':['id',_0xa48d('0x4f')],'raw':!![]})[_0xa48d('0x24')](handleEntityNotFound(_0x26f4ee,null))[_0xa48d('0x24')](function(_0x323665){if(_0x323665){var _0x1e9b24=util[_0xa48d('0x50')]('%s.cypher',_0x323665['value']);if(fs['existsSync'](_0x1e9b24)){_0x45879e=!![];return _0xae6fba[_0xa48d('0x53')](_0x1e9b24,_0x323665[_0xa48d('0x4f')],config[_0xa48d('0x63')][_0xa48d('0x54')])[_0xa48d('0x24')](function(){return _0x323665;});}return _0x323665;}})[_0xa48d('0x24')](function(_0x366c51){if(_0x366c51){if(!fs[_0xa48d('0x52')](_0x366c51[_0xa48d('0x4f')])){throw new db[(_0xa48d('0x64'))]['ValidationError'](_0xa48d('0x56'));}if(_0x366c51['filename']){return _0x26f4ee[_0xa48d('0x4c')](_0x366c51[_0xa48d('0x4f')],_0x366c51['filename']+path[_0xa48d('0x58')](_0x366c51[_0xa48d('0x4f')]),function(){if(_0x45879e){fs['unlink'](_0x366c51[_0xa48d('0x4f')]);}});}else{return _0x26f4ee[_0xa48d('0x4c')](_0x366c51['value'],function(_0x2d8111){if(_0x45879e){fs[_0xa48d('0x59')](_0x366c51['value']);}});}}})[_0xa48d('0x44')](handleError(_0x26f4ee,null));};exports['destroy']=function(_0x34569e,_0x86311f){return db[_0xa48d('0x2b')]['find']({'where':{'id':_0x34569e[_0xa48d('0x46')]['id']}})[_0xa48d('0x24')](function(_0x144f2c){if(_[_0xa48d('0x65')](_0x144f2c)){throw new ReferenceError('Entity\x20not\x20found');}return _0x144f2c;})[_0xa48d('0x24')](function(_0x4b6d5f){var _0x44fd05=_0x4b6d5f[_0xa48d('0x4f')];logger[_0xa48d('0x66')](_0xa48d('0x67'),_0x44fd05);if(!_[_0xa48d('0x65')](_0x4b6d5f[_0xa48d('0x4f')])&&fs[_0xa48d('0x52')](_0x44fd05)){logger[_0xa48d('0x66')](_0xa48d('0x68')+_0x44fd05+'\x22\x20trovato\x20eseguo\x20la\x20cancellazione');fs[_0xa48d('0x69')](_0x44fd05);}_0x44fd05=_0x44fd05+'.cypher';if(!_[_0xa48d('0x65')](_0x4b6d5f[_0xa48d('0x4f')])&&fs[_0xa48d('0x52')](_0x44fd05)){logger[_0xa48d('0x66')](_0xa48d('0x68')+_0x44fd05+'\x22\x20trovato\x20eseguo\x20la\x20cancellazione');fs['unlinkSync'](_0x44fd05);}return _0x4b6d5f;})[_0xa48d('0x24')](function(_0x3a68a4){if(!_0x3a68a4)throw new InternalError();return _0x3a68a4[_0xa48d('0x25')]();})[_0xa48d('0x24')](function(){_0x86311f[_0xa48d('0x17')](0xcc)[_0xa48d('0x18')]();})[_0xa48d('0x44')](handleError(_0x86311f,null));};function getBucketslist(_0x4624b7,_0x230290,_0x5ca945){return new Promise(function(_0x4d0e70,_0x40e81f){var _0x5e295f=new AWS['S3']({'accessKeyId':_0x230290,'secretAccessKey':_0x4624b7,'region':_0x5ca945});_0x5e295f[_0xa48d('0x6a')]({},function(_0xcccaba,_0xd17a78){if(_0xcccaba){return _0x40e81f(_0xcccaba);}else{return _0x4d0e70(_0xd17a78);}});});}function createBucket(_0x3ad5f0,_0x4c9e33,_0x470640,_0x5de432){return new Promise(function(_0x1b668e,_0x2651bb){var _0x36ec3b=new AWS['S3']({'accessKeyId':_0x4c9e33,'secretAccessKey':_0x3ad5f0,'region':_0x470640});_0x36ec3b['createBucket']({'Bucket':_0x5de432},function(_0x185a06,_0x88d45c){if(_0x185a06){return _0x2651bb(_0x185a06);}else{return _0x1b668e(_0x88d45c);}});});}function uploadFile(_0x5df292,_0x28c879,_0x21277e,_0x5a0f2d,_0x288e21,_0x4580ec){return new Promise(function(_0x5a7c66,_0x47d5f3){var _0x5a631a=new AWS['S3']({'accessKeyId':_0x28c879,'secretAccessKey':_0x5df292,'region':_0x21277e});_0x5a631a[_0xa48d('0x6b')]({'Bucket':_0x5a0f2d,'Key':_0x288e21,'Body':_0x4580ec},function(_0x18ff05,_0x2b6abe){if(_0x18ff05){return _0x47d5f3(_0x18ff05);}else{return _0x5a7c66(_0x2b6abe);}});});}function startTranscribe(_0x1988b6,_0x9ffc73,_0x419cd8,_0x4cfc93,_0x2b1a35,_0x28251a){return new Promise(function(_0x20ff6e,_0x26f19b){var _0x1ec720=new AWS['TranscribeService']({'accessKeyId':_0x9ffc73,'secretAccessKey':_0x1988b6,'region':_0x419cd8});_0x1ec720[_0xa48d('0x6c')]({'TranscriptionJobName':_0x4cfc93,'LanguageCode':_0x2b1a35,'Media':{'MediaFileUri':_0x28251a}},function(_0x2ad71d,_0x4c4630){if(_0x2ad71d){return _0x26f19b(_0x2ad71d);}else{return _0x20ff6e(_0x4c4630);}});});}function transcribe(_0x242cd2,_0x12424a,_0x37a205,_0x15d6eb,_0x4553b5,_0x5e02f8,_0x16aa24){return new Promise(function(_0x3553ba,_0x3fc09e){var _0x3710fd={};logger['info'](util[_0xa48d('0x50')]('[RUNTRANSCRIPT][%d]\x20Starting\x20voice\x20recording\x20upload\x20in\x20bucket\x20%s',_0x242cd2,_0x4553b5));return uploadFile(_0x12424a,_0x37a205,_0x15d6eb,_0x4553b5,path[_0xa48d('0x6d')](_0x5e02f8),fs['readFileSync'](_0x5e02f8))[_0xa48d('0x24')](function(_0x582417){logger[_0xa48d('0x66')](util[_0xa48d('0x50')](_0xa48d('0x6e'),_0x242cd2,_0x4553b5,_0x582417[_0xa48d('0x6f')]));_0x3710fd[_0xa48d('0x70')]=_0x582417[_0xa48d('0x71')];_0x3710fd[_0xa48d('0x72')]=_0x582417[_0xa48d('0x6f')];logger[_0xa48d('0x66')](util[_0xa48d('0x50')](_0xa48d('0x73'),_0x242cd2));return startTranscribe(_0x12424a,_0x37a205,_0x15d6eb,uuidv4(),_0x16aa24,_0x582417[_0xa48d('0x6f')]);})[_0xa48d('0x24')](function(_0x24ab37){logger[_0xa48d('0x66')](util[_0xa48d('0x50')](_0xa48d('0x74'),_0x242cd2,_0x24ab37['TranscriptionJob']['TranscriptionJobName']));_0x3710fd[_0xa48d('0x75')]=_0x24ab37['TranscriptionJob']['TranscriptionJobName'];_0x3710fd[_0xa48d('0x76')]=_0x24ab37['TranscriptionJob'][_0xa48d('0x77')];return _0x3553ba(_0x3710fd);})[_0xa48d('0x44')](function(_0xbcb261){return _0x3fc09e(_0xbcb261);});});}exports[_0xa48d('0x78')]=function(_0x357d00,_0x2fb71b,_0x248ff9){var _0x2256f4;var _0x516fc3;var _0xaa0175;var _0x3a1f50=require(_0xa48d('0x4d'));return db['VoiceRecording'][_0xa48d('0x79')]({'where':{'id':_0x357d00[_0xa48d('0x46')]['id']}})['then'](function(_0x5cc5a6){if(_0x5cc5a6){var _0x520639=util[_0xa48d('0x50')]('%s.cypher',_0x5cc5a6[_0xa48d('0x4f')]);if(fs[_0xa48d('0x52')](_0x520639)){cypher=!![];return _0x3a1f50['decryptFile'](_0x520639,_0x5cc5a6[_0xa48d('0x4f')],config[_0xa48d('0x63')][_0xa48d('0x54')])[_0xa48d('0x24')](function(){return _0x5cc5a6;});}return _0x5cc5a6;}})[_0xa48d('0x24')](function(_0x4af5ab){if(!_0x4af5ab){throw new db[(_0xa48d('0x64'))]['ValidationError']('Voice\x20Recording\x20not\x20found');}_0x516fc3=_0x4af5ab;return db[_0xa48d('0x7a')][_0xa48d('0x79')]({'where':{'id':0x1}});})[_0xa48d('0x24')](handleEntityNotFound(_0x2fb71b,null))['then'](function(_0x219a72){if(_0x219a72){_0x2256f4=_0x219a72;if(!_0x2256f4[_0xa48d('0x7b')]||!_0x2256f4[_0xa48d('0x7c')]||!_0x2256f4[_0xa48d('0x7d')]||!_0x2256f4['language']||!_0x2256f4[_0xa48d('0x70')]){throw new db[(_0xa48d('0x64'))][(_0xa48d('0x55'))](_0xa48d('0x7e'));}if(_0x357d00[_0xa48d('0x4a')][_0xa48d('0x7f')]&&(!_0x2256f4['sentiment']||!_0x2256f4[_0xa48d('0x80')]||!_0x2256f4[_0xa48d('0x81')]||!_0x2256f4[_0xa48d('0x82')]||!_0x2256f4[_0xa48d('0x70')])){throw new db[(_0xa48d('0x64'))][(_0xa48d('0x55'))](_0xa48d('0x83'));}return db[_0xa48d('0x84')][_0xa48d('0x79')]({'where':{'id':_0x2256f4[_0xa48d('0x7c')]}});}})['then'](function(_0xb2b694){if(!_0xb2b694){throw new db['Sequelize'][(_0xa48d('0x55'))](_0xa48d('0x85'));}if(!_0xb2b694['data1']||!_0xb2b694['data2']){throw new db[(_0xa48d('0x64'))][(_0xa48d('0x55'))](_0xa48d('0x86'));}_0xaa0175=_0xb2b694;return getBucketslist(_0xaa0175[_0xa48d('0x87')],_0xaa0175[_0xa48d('0x88')],_0x2256f4[_0xa48d('0x7d')]);})[_0xa48d('0x24')](function(_0x19da70){if(_0x19da70&&_0x19da70[_0xa48d('0x89')]){var _0x1ba2b4=_['find'](_0x19da70[_0xa48d('0x89')],function(_0xc369ed){return _0xc369ed['Name']===_0x2256f4[_0xa48d('0x70')];});if(!_0x1ba2b4){logger[_0xa48d('0x66')](util[_0xa48d('0x50')]('[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20not\x20available',_0x357d00[_0xa48d('0x46')]['id'],_0x2256f4['bucket']));return createBucket(_0xaa0175[_0xa48d('0x87')],_0xaa0175[_0xa48d('0x88')],_0x2256f4[_0xa48d('0x7d')],_0x2256f4[_0xa48d('0x70')]);}logger['info'](util[_0xa48d('0x50')](_0xa48d('0x8a'),_0x357d00[_0xa48d('0x46')]['id'],_0x2256f4['bucket']));return;}})[_0xa48d('0x24')](function(_0x356265){if(_0x516fc3[_0xa48d('0x76')]===_0xa48d('0x8b')){return transcribe(_0x357d00[_0xa48d('0x46')]['id'],_0xaa0175[_0xa48d('0x87')],_0xaa0175[_0xa48d('0x88')],_0x2256f4['transcribeRegion'],_0x2256f4['bucket'],_0x516fc3['value'],_0x2256f4[_0xa48d('0x82')]);}else{logger[_0xa48d('0x66')](util[_0xa48d('0x50')](_0xa48d('0x8c'),_0x357d00[_0xa48d('0x46')]['id']));return{'transcribeStatus':_0xa48d('0x8d')};}})['then'](function(_0x42b2ee){if(_0x42b2ee){_0x42b2ee[_0xa48d('0x8e')]=_0x357d00[_0xa48d('0x4a')][_0xa48d('0x7f')];return _0x516fc3['updateAttributes'](_0x42b2ee);}})[_0xa48d('0x24')](respondWithResult(_0x2fb71b,null))[_0xa48d('0x44')](handleError(_0x2fb71b,null));};function writeFile(_0x79ef7,_0x22d76b){return new Promise(function(_0x44bc75,_0x453b33){fs['writeFile'](_0x22d76b,_0x79ef7,function(_0x179e5d,_0x22b1d4){if(_0x179e5d){return _0x453b33(_0x179e5d);}else{return _0x44bc75(_0x22b1d4);}});});}exports[_0xa48d('0x8f')]=function(_0x11a703,_0x28a573,_0x4faaf9){return db[_0xa48d('0x2b')][_0xa48d('0x79')]({'where':{'id':_0x11a703['params']['id']}})[_0xa48d('0x24')](handleEntityNotFound(_0x28a573))['then'](function(_0x5b2e6e){if(_0x5b2e6e&&_0x5b2e6e[_0xa48d('0x90')]){var _0x36b6e0=_0x5b2e6e['fileText'];var _0x236ba6=config[_0xa48d('0x91')]+_0xa48d('0x92')+_0x5b2e6e['id']+_0xa48d('0x93');if(fs[_0xa48d('0x52')](_0x236ba6)){return _0x236ba6;}return writeFile(_0x36b6e0,_0x236ba6)[_0xa48d('0x24')](function(){return _0x236ba6;});}else{throw new db[(_0xa48d('0x64'))]['ValidationError']('Transcript\x20not\x20available');}})[_0xa48d('0x24')](function(_0x27f5f4){return _0x28a573['download'](_0x27f5f4);})[_0xa48d('0x44')](handleError(_0x28a573));};