Built motion from commit 936e8062.|2.5.33
[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 _0x996c=['existsSync','decryptFile','secrets','recording','ValidationError','VoiceRecording\x20not\x20found','filename','extname','unlink','message','send','downloads','sequelize','MD5','col','token','$and','push','info','cancellazione\x20fisica\x20documento\x20%s','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','.cypher','isNil','listBuckets','createBucket','upload','TranscribeService','startTranscriptionJob','[RUNTRANSCRIPT][%d]\x20Starting\x20voice\x20recording\x20upload\x20in\x20bucket\x20%s','basename','readFileSync','Location','location','[RUNTRANSCRIPT][%d]\x20Transcription\x20job\x20%s\x20created','TranscriptionJob','TranscriptionJobName','transcribeName','transcribeStatus','TranscriptionJobStatus','runTranscribe','findOne','Sequelize','Voice\x20Recording\x20not\x20found','Setting','language','bucket','Transcribe\x20not\x20configured','runSentiment','sentiment','sentimentAccountId','sentimentRegion','Sentiment\x20Analysis\x20not\x20configured','CloudProvider','transcribeAccountId','Cloud\x20Provider\x20not\x20available','data1','Cloud\x20Provider\x20not\x20configured','data2','transcribeRegion','Buckets','Name','[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20not\x20available','NEW','[RUNTRANSCRIPT][%d]\x20Transcript\x20action\x20already\x20requested','IN_PROGRESS','tempSentiment','updateAttributes','downloadTranscribe','fileText','root','Transcript\x20not\x20available','eml-format','rimraf','fast-json-patch','request-promise','moment','mustache','util','path','ejs','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','aws-sdk','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','Content-Range','reject','save','update','then','destroy','name','index','VoiceRecording','rawAttributes','fieldName','key','model','format','query','intersection','attributes','fields','length','order','sort','filters','pick','filter','where','merge','type','VIRTUAL','options','includeAll','include','findAll','rows','catch','params','keys','find','create','body','describe','download','../../components/encryptor','uniqueid','value','%s.cypher'];(function(_0x5af97c,_0x24a49f){var _0x3472ae=function(_0x54cdc3){while(--_0x54cdc3){_0x5af97c['push'](_0x5af97c['shift']());}};_0x3472ae(++_0x24a49f);}(_0x996c,0x179));var _0xc996=function(_0x14a566,_0x6e171f){_0x14a566=_0x14a566-0x0;var _0xe9ff71=_0x996c[_0x14a566];return _0xe9ff71;};'use strict';var emlformat=require(_0xc996('0x0'));var rimraf=require(_0xc996('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xc996('0x2'));var rp=require(_0xc996('0x3'));var moment=require(_0xc996('0x4'));var BPromise=require('bluebird');var Mustache=require(_0xc996('0x5'));var util=require(_0xc996('0x6'));var path=require(_0xc996('0x7'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0xc996('0x8'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0xc996('0x9'));var crypto=require(_0xc996('0xa'));var jsforce=require(_0xc996('0xb'));var deskjs=require(_0xc996('0xc'));var toCsv=require(_0xc996('0xd'));var querystring=require(_0xc996('0xe'));var Papa=require(_0xc996('0xf'));var AWS=require(_0xc996('0x10'));var uuidv4=require('uuid/v4');var Redis=require(_0xc996('0x11'));var authService=require(_0xc996('0x12'));var qs=require(_0xc996('0x13'));var as=require(_0xc996('0x14'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xc996('0x15'))(_0xc996('0x16'));var utils=require('../../config/utils');var config=require(_0xc996('0x17'));var licenseUtil=require(_0xc996('0x18'));var db=require(_0xc996('0x19'))['db'];function respondWithStatusCode(_0x55df5d,_0x21723a){_0x21723a=_0x21723a||0xcc;return function(_0x353232){if(_0x353232){return _0x55df5d[_0xc996('0x1a')](_0x21723a);}return _0x55df5d[_0xc996('0x1b')](_0x21723a)[_0xc996('0x1c')]();};}function respondWithResult(_0x51abb9,_0x5c863f){_0x5c863f=_0x5c863f||0xc8;return function(_0xd94587){if(_0xd94587){return _0x51abb9['status'](_0x5c863f)[_0xc996('0x1d')](_0xd94587);}};}function respondWithFilteredResult(_0x2808b3,_0xc0adf){return function(_0x2561b5){if(_0x2561b5){var _0xabb592=typeof _0xc0adf[_0xc996('0x1e')]===_0xc996('0x1f')&&typeof _0xc0adf[_0xc996('0x20')]==='undefined';var _0x573f9f=_0x2561b5[_0xc996('0x21')];var _0xf1f62=_0xabb592?0x0:_0xc0adf['offset'];var _0x56d423=_0xabb592?_0x2561b5[_0xc996('0x21')]:_0xc0adf[_0xc996('0x1e')]+_0xc0adf['limit'];var _0x57a907;if(_0x56d423>=_0x573f9f){_0x56d423=_0x573f9f;_0x57a907=0xc8;}else{_0x57a907=0xce;}_0x2808b3[_0xc996('0x1b')](_0x57a907);return _0x2808b3['set'](_0xc996('0x22'),_0xf1f62+'-'+_0x56d423+'/'+_0x573f9f)[_0xc996('0x1d')](_0x2561b5);}return null;};}function patchUpdates(_0xb3082){return function(_0x3e1157){try{jsonpatch['apply'](_0x3e1157,_0xb3082,!![]);}catch(_0x3e3c01){return BPromise[_0xc996('0x23')](_0x3e3c01);}return _0x3e1157[_0xc996('0x24')]();};}function saveUpdates(_0x2c6f39,_0x17c0b9){return function(_0x101af0){if(_0x101af0){return _0x101af0[_0xc996('0x25')](_0x2c6f39)[_0xc996('0x26')](function(_0xd574a8){return _0xd574a8;});}return null;};}function removeEntity(_0x5dfe23,_0x1523d8){return function(_0x320d7d){if(_0x320d7d){return _0x320d7d[_0xc996('0x27')]()[_0xc996('0x26')](function(){_0x5dfe23[_0xc996('0x1b')](0xcc)[_0xc996('0x1c')]();});}};}function handleEntityNotFound(_0x48c5bd,_0x43aa29){return function(_0x2cdae0){if(!_0x2cdae0){_0x48c5bd[_0xc996('0x1a')](0x194);}return _0x2cdae0;};}function handleError(_0x3b6b4a,_0x121f83){_0x121f83=_0x121f83||0x1f4;return function(_0x3446bf){logger['error'](_0x3446bf['stack']);if(_0x3446bf['name']){delete _0x3446bf[_0xc996('0x28')];}_0x3b6b4a[_0xc996('0x1b')](_0x121f83)['send'](_0x3446bf);};}exports[_0xc996('0x29')]=function(_0x57c698,_0xbabe56){var _0x58b5c3={},_0x5bf896={},_0x5b1a0b={'count':0x0,'rows':[]};var _0x5018f8=_['map'](db[_0xc996('0x2a')][_0xc996('0x2b')],function(_0x62d625){return{'name':_0x62d625[_0xc996('0x2c')],'type':_0x62d625['type'][_0xc996('0x2d')]};});_0x5bf896[_0xc996('0x2e')]=_['differenceBy'](_['map'](_0x5018f8,_0xc996('0x28')),[_0xc996('0x2f')]);_0x5bf896[_0xc996('0x30')]=_['keys'](_0x57c698[_0xc996('0x30')]);_0x5bf896['filters']=_[_0xc996('0x31')](_0x5bf896[_0xc996('0x2e')],_0x5bf896['query']);_0x58b5c3[_0xc996('0x32')]=_[_0xc996('0x31')](_0x5bf896[_0xc996('0x2e')],qs[_0xc996('0x33')](_0x57c698[_0xc996('0x30')][_0xc996('0x33')]));_0x58b5c3[_0xc996('0x32')]=_0x58b5c3[_0xc996('0x32')][_0xc996('0x34')]?_0x58b5c3['attributes']:_0x5bf896[_0xc996('0x2e')];if(!_0x57c698[_0xc996('0x30')]['hasOwnProperty']('nolimit')){_0x58b5c3['limit']=qs['limit'](_0x57c698[_0xc996('0x30')][_0xc996('0x20')]);_0x58b5c3[_0xc996('0x1e')]=qs['offset'](_0x57c698['query'][_0xc996('0x1e')]);}_0x58b5c3[_0xc996('0x35')]=qs[_0xc996('0x36')](_0x57c698[_0xc996('0x30')][_0xc996('0x36')]);_0x58b5c3['where']=qs[_0xc996('0x37')](_[_0xc996('0x38')](_0x57c698[_0xc996('0x30')],_0x5bf896['filters']),_0x5018f8);if(_0x57c698[_0xc996('0x30')][_0xc996('0x39')]){_0x58b5c3[_0xc996('0x3a')]=_[_0xc996('0x3b')](_0x58b5c3['where'],{'$or':_['map'](_0x5018f8,function(_0x1fefbe){if(_0x1fefbe[_0xc996('0x3c')]!==_0xc996('0x3d')){var _0x2f79d9={};_0x2f79d9[_0x1fefbe[_0xc996('0x28')]]={'$like':'%'+_0x57c698[_0xc996('0x30')][_0xc996('0x39')]+'%'};return _0x2f79d9;}})});}_0x58b5c3=_['merge']({},_0x58b5c3,_0x57c698[_0xc996('0x3e')]);var _0x580571={'where':_0x58b5c3[_0xc996('0x3a')]};return db[_0xc996('0x2a')][_0xc996('0x21')](_0x580571)[_0xc996('0x26')](function(_0xa469bc){_0x5b1a0b[_0xc996('0x21')]=_0xa469bc;if(_0x57c698[_0xc996('0x30')][_0xc996('0x3f')]){_0x58b5c3[_0xc996('0x40')]=[{'all':!![]}];}return db[_0xc996('0x2a')][_0xc996('0x41')](_0x58b5c3);})[_0xc996('0x26')](function(_0x200521){_0x5b1a0b[_0xc996('0x42')]=_0x200521;return _0x5b1a0b;})[_0xc996('0x26')](respondWithFilteredResult(_0xbabe56,_0x58b5c3))[_0xc996('0x43')](handleError(_0xbabe56,null));};exports['show']=function(_0x369140,_0x43e3d5){var _0x3b2795={'raw':![],'where':{'id':_0x369140[_0xc996('0x44')]['id']}},_0x445975={};_0x445975['model']=_['keys'](db[_0xc996('0x2a')][_0xc996('0x2b')]);_0x445975[_0xc996('0x30')]=_[_0xc996('0x45')](_0x369140[_0xc996('0x30')]);_0x445975[_0xc996('0x37')]=_[_0xc996('0x31')](_0x445975[_0xc996('0x2e')],_0x445975[_0xc996('0x30')]);_0x3b2795[_0xc996('0x32')]=_[_0xc996('0x31')](_0x445975[_0xc996('0x2e')],qs[_0xc996('0x33')](_0x369140[_0xc996('0x30')][_0xc996('0x33')]));_0x3b2795['attributes']=_0x3b2795['attributes']['length']?_0x3b2795[_0xc996('0x32')]:_0x445975[_0xc996('0x2e')];if(_0x369140['query'][_0xc996('0x3f')]){_0x3b2795[_0xc996('0x40')]=[{'all':!![]}];}_0x3b2795=_[_0xc996('0x3b')]({},_0x3b2795,_0x369140[_0xc996('0x3e')]);return db[_0xc996('0x2a')][_0xc996('0x46')](_0x3b2795)[_0xc996('0x26')](handleEntityNotFound(_0x43e3d5,null))[_0xc996('0x26')](respondWithResult(_0x43e3d5,null))['catch'](handleError(_0x43e3d5,null));};exports[_0xc996('0x47')]=function(_0x42d06c,_0x37270d){return db[_0xc996('0x2a')][_0xc996('0x47')](_0x42d06c[_0xc996('0x48')],{})['then'](respondWithResult(_0x37270d,0xc9))[_0xc996('0x43')](handleError(_0x37270d,null));};exports['update']=function(_0xf98cfc,_0xbe0cd0){if(_0xf98cfc['body']['id']){delete _0xf98cfc[_0xc996('0x48')]['id'];}return db[_0xc996('0x2a')]['find']({'where':{'id':_0xf98cfc[_0xc996('0x44')]['id']}})[_0xc996('0x26')](handleEntityNotFound(_0xbe0cd0,null))[_0xc996('0x26')](saveUpdates(_0xf98cfc[_0xc996('0x48')],null))['then'](respondWithResult(_0xbe0cd0,null))[_0xc996('0x43')](handleError(_0xbe0cd0,null));};exports[_0xc996('0x49')]=function(_0xc20d85,_0x22cc40){return db[_0xc996('0x2a')]['describe']()['then'](respondWithResult(_0x22cc40,null))['catch'](handleError(_0x22cc40,null));};exports[_0xc996('0x4a')]=function(_0x265ec2,_0x4f398c,_0x3a839f){var _0x339b71=require(_0xc996('0x4b'));var _0x11c8ed=![];var _0xe88838={};if(_0x265ec2['query'][_0xc996('0x3c')]&&_0x265ec2[_0xc996('0x30')]['type']===_0xc996('0x4c')){_0xe88838[_0xc996('0x4c')]=_0x265ec2[_0xc996('0x44')]['id'];}else{_0xe88838['id']=_0x265ec2[_0xc996('0x44')]['id'];}return db['VoiceRecording'][_0xc996('0x46')]({'where':_0xe88838,'attributes':['id',_0xc996('0x4d')],'raw':!![]})[_0xc996('0x26')](handleEntityNotFound(_0x4f398c,null))[_0xc996('0x26')](function(_0x11d998){if(_0x11d998){var _0x3141ab=_0x11d998[_0xc996('0x4d')];var _0x5a293b=util[_0xc996('0x2f')](_0xc996('0x4e'),_0x3141ab);if(fs[_0xc996('0x4f')](_0x5a293b)){_0x11c8ed=!![];return _0x339b71[_0xc996('0x50')](_0x5a293b,_0x3141ab,config[_0xc996('0x51')][_0xc996('0x52')])[_0xc996('0x26')](function(){return _0x11d998;});}return _0x11d998;}})[_0xc996('0x26')](function(_0x2d69e4){if(_0x2d69e4){var _0x49cb13=_0x2d69e4['value'];if(!fs[_0xc996('0x4f')](_0x49cb13)){throw new db['Sequelize'][(_0xc996('0x53'))](_0xc996('0x54'));}if(_0x2d69e4[_0xc996('0x55')]){return _0x4f398c[_0xc996('0x4a')](_0x49cb13,_0x2d69e4[_0xc996('0x55')]+path[_0xc996('0x56')](_0x49cb13),function(){if(_0x11c8ed){fs[_0xc996('0x57')](_0x49cb13);}});}else{return _0x4f398c[_0xc996('0x4a')](_0x49cb13,function(_0xe7cc65){if(_0x11c8ed){fs['unlink'](_0x49cb13);}});}}})[_0xc996('0x43')](function(_0x51db1b){if(_0x51db1b[_0xc996('0x58')]===_0xc996('0x54')){_0x4f398c[_0xc996('0x1b')](0x194)[_0xc996('0x59')]('Not\x20found');}else{return handleError(_0x4f398c,null);}});};exports[_0xc996('0x5a')]=function(_0x1e8fdd,_0x2ecd8d,_0x4a70a1){var _0x163865=require(_0xc996('0x4b'));var _0x7c4f85=![];var _0x13e572={'$and':[db['sequelize'][_0xc996('0x3a')](db[_0xc996('0x5b')]['fn'](_0xc996('0x5c'),db['sequelize'][_0xc996('0x5d')](_0xc996('0x4c'))),_0x1e8fdd[_0xc996('0x30')][_0xc996('0x5e')])]};if(_0x1e8fdd['query'][_0xc996('0x3c')]&&_0x1e8fdd[_0xc996('0x30')]['type']==='uniqueid'){_0x13e572[_0xc996('0x5f')][_0xc996('0x60')]({'uniqueid':_0x1e8fdd[_0xc996('0x44')]['id']});}else{_0x13e572[_0xc996('0x5f')][_0xc996('0x60')]({'id':_0x1e8fdd[_0xc996('0x44')]['id']});}return db[_0xc996('0x2a')]['find']({'where':_0x13e572,'attributes':['id',_0xc996('0x4d')],'raw':!![]})[_0xc996('0x26')](handleEntityNotFound(_0x2ecd8d,null))[_0xc996('0x26')](function(_0x440c7a){if(_0x440c7a){var _0x28ff29=util['format']('%s.cypher',_0x440c7a[_0xc996('0x4d')]);if(fs[_0xc996('0x4f')](_0x28ff29)){_0x7c4f85=!![];return _0x163865['decryptFile'](_0x28ff29,_0x440c7a['value'],config[_0xc996('0x51')]['recording'])[_0xc996('0x26')](function(){return _0x440c7a;});}return _0x440c7a;}})[_0xc996('0x26')](function(_0x40197a){if(_0x40197a){if(!fs[_0xc996('0x4f')](_0x40197a[_0xc996('0x4d')])){throw new db['Sequelize'][(_0xc996('0x53'))](_0xc996('0x54'));}if(_0x40197a[_0xc996('0x55')]){return _0x2ecd8d[_0xc996('0x4a')](_0x40197a[_0xc996('0x4d')],_0x40197a['filename']+path[_0xc996('0x56')](_0x40197a[_0xc996('0x4d')]),function(){if(_0x7c4f85){fs[_0xc996('0x57')](_0x40197a[_0xc996('0x4d')]);}});}else{return _0x2ecd8d[_0xc996('0x4a')](_0x40197a[_0xc996('0x4d')],function(_0x4f5090){if(_0x7c4f85){fs[_0xc996('0x57')](_0x40197a[_0xc996('0x4d')]);}});}}})[_0xc996('0x43')](handleError(_0x2ecd8d,null));};exports['destroy']=function(_0x357bac,_0x2de9c0){return db[_0xc996('0x2a')]['find']({'where':{'id':_0x357bac[_0xc996('0x44')]['id']}})[_0xc996('0x26')](function(_0x458b40){if(_['isNil'](_0x458b40)){throw new ReferenceError('Entity\x20not\x20found');}return _0x458b40;})[_0xc996('0x26')](function(_0x3d60b5){var _0x200320=_0x3d60b5[_0xc996('0x4d')];logger[_0xc996('0x61')](_0xc996('0x62'),_0x200320);if(!_['isNil'](_0x3d60b5[_0xc996('0x4d')])&&fs[_0xc996('0x4f')](_0x200320)){logger['info'](_0xc996('0x63')+_0x200320+_0xc996('0x64'));fs[_0xc996('0x65')](_0x200320);}_0x200320=_0x200320+_0xc996('0x66');if(!_[_0xc996('0x67')](_0x3d60b5[_0xc996('0x4d')])&&fs[_0xc996('0x4f')](_0x200320)){logger[_0xc996('0x61')](_0xc996('0x63')+_0x200320+_0xc996('0x64'));fs['unlinkSync'](_0x200320);}return _0x3d60b5;})[_0xc996('0x26')](function(_0x2ecac5){if(!_0x2ecac5)throw new InternalError();return _0x2ecac5[_0xc996('0x27')]();})[_0xc996('0x26')](function(){_0x2de9c0[_0xc996('0x1b')](0xcc)[_0xc996('0x1c')]();})[_0xc996('0x43')](handleError(_0x2de9c0,null));};function getBucketslist(_0x1bdc2c,_0x13b7ab,_0x58f7f6){return new Promise(function(_0x3446ff,_0x437dd7){var _0x1346ed=new AWS['S3']({'accessKeyId':_0x13b7ab,'secretAccessKey':_0x1bdc2c,'region':_0x58f7f6});_0x1346ed[_0xc996('0x68')]({},function(_0xed824d,_0x59e033){if(_0xed824d){return _0x437dd7(_0xed824d);}else{return _0x3446ff(_0x59e033);}});});}function createBucket(_0x23f018,_0x50e7cb,_0x43894e,_0x1ca2f3){return new Promise(function(_0x2dbcdd,_0x5c39f1){var _0x156cc0=new AWS['S3']({'accessKeyId':_0x50e7cb,'secretAccessKey':_0x23f018,'region':_0x43894e});_0x156cc0[_0xc996('0x69')]({'Bucket':_0x1ca2f3},function(_0x4659f0,_0x200257){if(_0x4659f0){return _0x5c39f1(_0x4659f0);}else{return _0x2dbcdd(_0x200257);}});});}function uploadFile(_0x2b9375,_0x875ad0,_0x5214ce,_0x6eb688,_0x1368ec,_0x22de9b){return new Promise(function(_0x1a5eda,_0x137244){var _0x38f5fe=new AWS['S3']({'accessKeyId':_0x875ad0,'secretAccessKey':_0x2b9375,'region':_0x5214ce});_0x38f5fe[_0xc996('0x6a')]({'Bucket':_0x6eb688,'Key':_0x1368ec,'Body':_0x22de9b},function(_0x322ef0,_0x45d897){if(_0x322ef0){return _0x137244(_0x322ef0);}else{return _0x1a5eda(_0x45d897);}});});}function startTranscribe(_0x47454f,_0x471ae6,_0x792baa,_0x3488c3,_0x515f40,_0x987fcd){return new Promise(function(_0x468280,_0x4dd35f){var _0x4eb32a=new AWS[(_0xc996('0x6b'))]({'accessKeyId':_0x471ae6,'secretAccessKey':_0x47454f,'region':_0x792baa});_0x4eb32a[_0xc996('0x6c')]({'TranscriptionJobName':_0x3488c3,'LanguageCode':_0x515f40,'Media':{'MediaFileUri':_0x987fcd}},function(_0x9909aa,_0x44055b){if(_0x9909aa){return _0x4dd35f(_0x9909aa);}else{return _0x468280(_0x44055b);}});});}function transcribe(_0x365dbf,_0x42462a,_0x1bccbf,_0x1b0736,_0x32ccce,_0x3bce03,_0x59e4ef){return new Promise(function(_0x22e2d3,_0x208f3d){var _0x313401={};logger[_0xc996('0x61')](util[_0xc996('0x2f')](_0xc996('0x6d'),_0x365dbf,_0x32ccce));return uploadFile(_0x42462a,_0x1bccbf,_0x1b0736,_0x32ccce,path[_0xc996('0x6e')](_0x3bce03),fs[_0xc996('0x6f')](_0x3bce03))[_0xc996('0x26')](function(_0x18cda3){logger['info'](util[_0xc996('0x2f')]('[RUNTRANSCRIPT][%d]\x20Voice\x20recording\x20uploaded\x20in\x20bucket\x20%s\x20(%s)',_0x365dbf,_0x32ccce,_0x18cda3[_0xc996('0x70')]));_0x313401['bucket']=_0x18cda3['Bucket'];_0x313401[_0xc996('0x71')]=_0x18cda3['Location'];logger[_0xc996('0x61')](util[_0xc996('0x2f')]('[RUNTRANSCRIPT][%d]\x20Sending\x20transcribe\x20request',_0x365dbf));return startTranscribe(_0x42462a,_0x1bccbf,_0x1b0736,uuidv4(),_0x59e4ef,_0x18cda3['Location']);})[_0xc996('0x26')](function(_0x2f16d7){logger[_0xc996('0x61')](util[_0xc996('0x2f')](_0xc996('0x72'),_0x365dbf,_0x2f16d7[_0xc996('0x73')][_0xc996('0x74')]));_0x313401[_0xc996('0x75')]=_0x2f16d7['TranscriptionJob'][_0xc996('0x74')];_0x313401[_0xc996('0x76')]=_0x2f16d7['TranscriptionJob'][_0xc996('0x77')];return _0x22e2d3(_0x313401);})[_0xc996('0x43')](function(_0x398ea6){return _0x208f3d(_0x398ea6);});});}exports[_0xc996('0x78')]=function(_0x5ced0a,_0x1dc381,_0x108654){var _0x1f2aef;var _0x2d6331;var _0x51f8d8;var _0x289983=require(_0xc996('0x4b'));return db['VoiceRecording'][_0xc996('0x79')]({'where':{'id':_0x5ced0a[_0xc996('0x44')]['id']}})['then'](function(_0x4e72c9){if(_0x4e72c9){var _0x5bc5bd=util[_0xc996('0x2f')](_0xc996('0x4e'),_0x4e72c9[_0xc996('0x4d')]);if(fs[_0xc996('0x4f')](_0x5bc5bd)){cypher=!![];return _0x289983[_0xc996('0x50')](_0x5bc5bd,_0x4e72c9[_0xc996('0x4d')],config[_0xc996('0x51')][_0xc996('0x52')])[_0xc996('0x26')](function(){return _0x4e72c9;});}return _0x4e72c9;}})[_0xc996('0x26')](function(_0x1fdd1d){if(!_0x1fdd1d){throw new db[(_0xc996('0x7a'))][(_0xc996('0x53'))](_0xc996('0x7b'));}_0x2d6331=_0x1fdd1d;return db[_0xc996('0x7c')]['findOne']({'where':{'id':0x1}});})[_0xc996('0x26')](handleEntityNotFound(_0x1dc381,null))['then'](function(_0x5543f3){if(_0x5543f3){_0x1f2aef=_0x5543f3;if(!_0x1f2aef['transcribe']||!_0x1f2aef['transcribeAccountId']||!_0x1f2aef['transcribeRegion']||!_0x1f2aef[_0xc996('0x7d')]||!_0x1f2aef[_0xc996('0x7e')]){throw new db[(_0xc996('0x7a'))][(_0xc996('0x53'))](_0xc996('0x7f'));}if(_0x5ced0a[_0xc996('0x48')][_0xc996('0x80')]&&(!_0x1f2aef[_0xc996('0x81')]||!_0x1f2aef[_0xc996('0x82')]||!_0x1f2aef[_0xc996('0x83')]||!_0x1f2aef[_0xc996('0x7d')]||!_0x1f2aef[_0xc996('0x7e')])){throw new db[(_0xc996('0x7a'))]['ValidationError'](_0xc996('0x84'));}return db[_0xc996('0x85')][_0xc996('0x79')]({'where':{'id':_0x1f2aef[_0xc996('0x86')]}});}})[_0xc996('0x26')](function(_0x106770){if(!_0x106770){throw new db['Sequelize'][(_0xc996('0x53'))](_0xc996('0x87'));}if(!_0x106770[_0xc996('0x88')]||!_0x106770['data2']){throw new db['Sequelize'][(_0xc996('0x53'))](_0xc996('0x89'));}_0x51f8d8=_0x106770;return getBucketslist(_0x51f8d8[_0xc996('0x88')],_0x51f8d8[_0xc996('0x8a')],_0x1f2aef[_0xc996('0x8b')]);})[_0xc996('0x26')](function(_0x35eeae){if(_0x35eeae&&_0x35eeae[_0xc996('0x8c')]){var _0xa8331e=_[_0xc996('0x46')](_0x35eeae[_0xc996('0x8c')],function(_0x1e8cf4){return _0x1e8cf4[_0xc996('0x8d')]===_0x1f2aef[_0xc996('0x7e')];});if(!_0xa8331e){logger[_0xc996('0x61')](util[_0xc996('0x2f')](_0xc996('0x8e'),_0x5ced0a[_0xc996('0x44')]['id'],_0x1f2aef[_0xc996('0x7e')]));return createBucket(_0x51f8d8['data1'],_0x51f8d8[_0xc996('0x8a')],_0x1f2aef[_0xc996('0x8b')],_0x1f2aef[_0xc996('0x7e')]);}logger[_0xc996('0x61')](util['format']('[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20available',_0x5ced0a[_0xc996('0x44')]['id'],_0x1f2aef[_0xc996('0x7e')]));return;}})['then'](function(_0x1289c8){if(_0x2d6331[_0xc996('0x76')]===_0xc996('0x8f')){return transcribe(_0x5ced0a[_0xc996('0x44')]['id'],_0x51f8d8['data1'],_0x51f8d8[_0xc996('0x8a')],_0x1f2aef[_0xc996('0x8b')],_0x1f2aef['bucket'],_0x2d6331[_0xc996('0x4d')],_0x1f2aef[_0xc996('0x7d')]);}else{logger[_0xc996('0x61')](util[_0xc996('0x2f')](_0xc996('0x90'),_0x5ced0a[_0xc996('0x44')]['id']));return{'transcribeStatus':_0xc996('0x91')};}})[_0xc996('0x26')](function(_0x27069d){if(_0x27069d){_0x27069d[_0xc996('0x92')]=_0x5ced0a[_0xc996('0x48')][_0xc996('0x80')];return _0x2d6331[_0xc996('0x93')](_0x27069d);}})[_0xc996('0x26')](respondWithResult(_0x1dc381,null))['catch'](handleError(_0x1dc381,null));};function writeFile(_0x853570,_0x106b8f){return new Promise(function(_0x3b15f3,_0x3fe9f0){fs['writeFile'](_0x106b8f,_0x853570,function(_0x2383c7,_0x4d1231){if(_0x2383c7){return _0x3fe9f0(_0x2383c7);}else{return _0x3b15f3(_0x4d1231);}});});}exports[_0xc996('0x94')]=function(_0x27059d,_0x277acb,_0x58a802){return db['VoiceRecording'][_0xc996('0x79')]({'where':{'id':_0x27059d['params']['id']}})[_0xc996('0x26')](handleEntityNotFound(_0x277acb))[_0xc996('0x26')](function(_0x1611c3){if(_0x1611c3&&_0x1611c3[_0xc996('0x95')]){var _0x142499=_0x1611c3['fileText'];var _0x4676b5=config[_0xc996('0x96')]+'/server/files/transcribes/transcribe_'+_0x1611c3['id']+'.txt';if(fs[_0xc996('0x4f')](_0x4676b5)){return _0x4676b5;}return writeFile(_0x142499,_0x4676b5)[_0xc996('0x26')](function(){return _0x4676b5;});}else{throw new db[(_0xc996('0x7a'))][(_0xc996('0x53'))](_0xc996('0x97'));}})[_0xc996('0x26')](function(_0x4db7c1){return _0x277acb[_0xc996('0x4a')](_0x4db7c1);})[_0xc996('0x43')](handleError(_0x277acb));};