Built motion from commit ac06311e.|2.6.28
[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 _0x41d4=['bluebird','mustache','util','fs-extra','lodash','squel','jsforce','to-csv','querystring','papaparse','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','save','update','then','destroy','stack','name','index','map','VoiceRecording','rawAttributes','type','key','format','query','keys','filters','intersection','model','attributes','fields','nolimit','order','sort','where','filter','merge','VIRTUAL','options','includeAll','include','rows','catch','show','params','find','create','body','describe','download','uniqueid','value','%s.cypher','existsSync','decryptFile','secrets','recording','ValidationError','filename','unlink','VoiceRecording\x20not\x20found','send','../../components/encryptor','sequelize','MD5','col','token','$and','push','extname','isNil','Entity\x20not\x20found','info','cancellazione\x20fisica\x20documento\x20%s','File:\x20\x22','.cypher','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','listBuckets','upload','TranscribeService','startTranscriptionJob','readFileSync','[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','TranscriptionJobName','TranscriptionJob','TranscriptionJobStatus','Setting','findOne','transcribe','transcribeAccountId','transcribeRegion','language','runSentiment','sentiment','sentimentRegion','Sequelize','CloudProvider','Cloud\x20Provider\x20not\x20available','data1','Cloud\x20Provider\x20not\x20configured','data2','Buckets','Name','[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20not\x20available','[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20available','transcribeStatus','NEW','IN_PROGRESS','tempSentiment','updateAttributes','writeFile','downloadTranscribe','fileText','root','Transcript\x20not\x20available','eml-format','rimraf','fast-json-patch','request-promise'];(function(_0x1589dd,_0x2b9d22){var _0x1bddd1=function(_0x3687f8){while(--_0x3687f8){_0x1589dd['push'](_0x1589dd['shift']());}};_0x1bddd1(++_0x2b9d22);}(_0x41d4,0x1a6));var _0x441d=function(_0x53fda3,_0x5cc847){_0x53fda3=_0x53fda3-0x0;var _0x3c0742=_0x41d4[_0x53fda3];return _0x3c0742;};'use strict';var emlformat=require(_0x441d('0x0'));var rimraf=require(_0x441d('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x441d('0x2'));var rp=require(_0x441d('0x3'));var moment=require('moment');var BPromise=require(_0x441d('0x4'));var Mustache=require(_0x441d('0x5'));var util=require(_0x441d('0x6'));var path=require('path');var sox=require('sox');var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x441d('0x7'));var _=require(_0x441d('0x8'));var squel=require(_0x441d('0x9'));var crypto=require('crypto');var jsforce=require(_0x441d('0xa'));var deskjs=require('desk.js');var toCsv=require(_0x441d('0xb'));var querystring=require(_0x441d('0xc'));var Papa=require(_0x441d('0xd'));var AWS=require('aws-sdk');var uuidv4=require('uuid/v4');var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0x441d('0xe'));var as=require(_0x441d('0xf'));var hardwareService=require(_0x441d('0x10'));var logger=require(_0x441d('0x11'))('api');var utils=require('../../config/utils');var config=require(_0x441d('0x12'));var licenseUtil=require(_0x441d('0x13'));var db=require(_0x441d('0x14'))['db'];function respondWithStatusCode(_0x2cef7f,_0x1dcb3a){_0x1dcb3a=_0x1dcb3a||0xcc;return function(_0x5a9e2a){if(_0x5a9e2a){return _0x2cef7f[_0x441d('0x15')](_0x1dcb3a);}return _0x2cef7f[_0x441d('0x16')](_0x1dcb3a)[_0x441d('0x17')]();};}function respondWithResult(_0x1e853b,_0x557b76){_0x557b76=_0x557b76||0xc8;return function(_0x2be9c3){if(_0x2be9c3){return _0x1e853b[_0x441d('0x16')](_0x557b76)[_0x441d('0x18')](_0x2be9c3);}};}function respondWithFilteredResult(_0xc99ad5,_0x2d7711){return function(_0x1fcd96){if(_0x1fcd96){var _0x1a8a43=typeof _0x2d7711[_0x441d('0x19')]===_0x441d('0x1a')&&typeof _0x2d7711[_0x441d('0x1b')]===_0x441d('0x1a');var _0x1428f=_0x1fcd96[_0x441d('0x1c')];var _0x46bb38=_0x1a8a43?0x0:_0x2d7711[_0x441d('0x19')];var _0x2eea2c=_0x1a8a43?_0x1fcd96['count']:_0x2d7711[_0x441d('0x19')]+_0x2d7711['limit'];var _0x5852bf;if(_0x2eea2c>=_0x1428f){_0x2eea2c=_0x1428f;_0x5852bf=0xc8;}else{_0x5852bf=0xce;}_0xc99ad5[_0x441d('0x16')](_0x5852bf);return _0xc99ad5[_0x441d('0x1d')](_0x441d('0x1e'),_0x46bb38+'-'+_0x2eea2c+'/'+_0x1428f)[_0x441d('0x18')](_0x1fcd96);}return null;};}function patchUpdates(_0x2a2f49){return function(_0x1677f9){try{jsonpatch['apply'](_0x1677f9,_0x2a2f49,!![]);}catch(_0xaecfa2){return BPromise['reject'](_0xaecfa2);}return _0x1677f9[_0x441d('0x1f')]();};}function saveUpdates(_0x52cb58,_0x5c864d){return function(_0x24854a){if(_0x24854a){return _0x24854a[_0x441d('0x20')](_0x52cb58)[_0x441d('0x21')](function(_0x958e51){return _0x958e51;});}return null;};}function removeEntity(_0x422cf9,_0xd931e2){return function(_0x4203bc){if(_0x4203bc){return _0x4203bc[_0x441d('0x22')]()[_0x441d('0x21')](function(){_0x422cf9['status'](0xcc)[_0x441d('0x17')]();});}};}function handleEntityNotFound(_0x176737,_0x139b79){return function(_0x18bec3){if(!_0x18bec3){_0x176737[_0x441d('0x15')](0x194);}return _0x18bec3;};}function handleError(_0x2a3e2d,_0x43fde5){_0x43fde5=_0x43fde5||0x1f4;return function(_0xba060e){logger['error'](_0xba060e[_0x441d('0x23')]);if(_0xba060e[_0x441d('0x24')]){delete _0xba060e[_0x441d('0x24')];}_0x2a3e2d[_0x441d('0x16')](_0x43fde5)['send'](_0xba060e);};}exports[_0x441d('0x25')]=function(_0x2a86b2,_0x16dd7c){var _0x367d2f={},_0x54c805={},_0x418da8={'count':0x0,'rows':[]};var _0x23e041=_[_0x441d('0x26')](db[_0x441d('0x27')][_0x441d('0x28')],function(_0x304478){return{'name':_0x304478['fieldName'],'type':_0x304478[_0x441d('0x29')][_0x441d('0x2a')]};});_0x54c805['model']=_['differenceBy'](_[_0x441d('0x26')](_0x23e041,_0x441d('0x24')),[_0x441d('0x2b')]);_0x54c805[_0x441d('0x2c')]=_[_0x441d('0x2d')](_0x2a86b2[_0x441d('0x2c')]);_0x54c805[_0x441d('0x2e')]=_[_0x441d('0x2f')](_0x54c805[_0x441d('0x30')],_0x54c805[_0x441d('0x2c')]);_0x367d2f[_0x441d('0x31')]=_[_0x441d('0x2f')](_0x54c805['model'],qs[_0x441d('0x32')](_0x2a86b2[_0x441d('0x2c')][_0x441d('0x32')]));_0x367d2f[_0x441d('0x31')]=_0x367d2f[_0x441d('0x31')]['length']?_0x367d2f['attributes']:_0x54c805[_0x441d('0x30')];if(!_0x2a86b2['query']['hasOwnProperty'](_0x441d('0x33'))){_0x367d2f[_0x441d('0x1b')]=qs['limit'](_0x2a86b2[_0x441d('0x2c')][_0x441d('0x1b')]);_0x367d2f['offset']=qs[_0x441d('0x19')](_0x2a86b2[_0x441d('0x2c')][_0x441d('0x19')]);}_0x367d2f[_0x441d('0x34')]=qs[_0x441d('0x35')](_0x2a86b2['query']['sort']);_0x367d2f[_0x441d('0x36')]=qs[_0x441d('0x2e')](_['pick'](_0x2a86b2[_0x441d('0x2c')],_0x54c805['filters']),_0x23e041);if(_0x2a86b2['query'][_0x441d('0x37')]){_0x367d2f[_0x441d('0x36')]=_[_0x441d('0x38')](_0x367d2f[_0x441d('0x36')],{'$or':_[_0x441d('0x26')](_0x23e041,function(_0x23d30e){if(_0x23d30e[_0x441d('0x29')]!==_0x441d('0x39')){var _0x2c3c83={};_0x2c3c83[_0x23d30e[_0x441d('0x24')]]={'$like':'%'+_0x2a86b2[_0x441d('0x2c')]['filter']+'%'};return _0x2c3c83;}})});}_0x367d2f=_[_0x441d('0x38')]({},_0x367d2f,_0x2a86b2[_0x441d('0x3a')]);var _0x16128c={'where':_0x367d2f[_0x441d('0x36')]};return db[_0x441d('0x27')][_0x441d('0x1c')](_0x16128c)['then'](function(_0x1be9dd){_0x418da8[_0x441d('0x1c')]=_0x1be9dd;if(_0x2a86b2[_0x441d('0x2c')][_0x441d('0x3b')]){_0x367d2f[_0x441d('0x3c')]=[{'all':!![]}];}return db[_0x441d('0x27')]['findAll'](_0x367d2f);})['then'](function(_0x474f77){_0x418da8[_0x441d('0x3d')]=_0x474f77;return _0x418da8;})[_0x441d('0x21')](respondWithFilteredResult(_0x16dd7c,_0x367d2f))[_0x441d('0x3e')](handleError(_0x16dd7c,null));};exports[_0x441d('0x3f')]=function(_0x11e272,_0xa12c25){var _0x24f212={'raw':![],'where':{'id':_0x11e272[_0x441d('0x40')]['id']}},_0x321176={};_0x321176[_0x441d('0x30')]=_['keys'](db[_0x441d('0x27')]['rawAttributes']);_0x321176[_0x441d('0x2c')]=_[_0x441d('0x2d')](_0x11e272[_0x441d('0x2c')]);_0x321176[_0x441d('0x2e')]=_[_0x441d('0x2f')](_0x321176['model'],_0x321176[_0x441d('0x2c')]);_0x24f212[_0x441d('0x31')]=_['intersection'](_0x321176[_0x441d('0x30')],qs[_0x441d('0x32')](_0x11e272[_0x441d('0x2c')][_0x441d('0x32')]));_0x24f212[_0x441d('0x31')]=_0x24f212[_0x441d('0x31')]['length']?_0x24f212[_0x441d('0x31')]:_0x321176[_0x441d('0x30')];if(_0x11e272['query']['includeAll']){_0x24f212[_0x441d('0x3c')]=[{'all':!![]}];}_0x24f212=_[_0x441d('0x38')]({},_0x24f212,_0x11e272[_0x441d('0x3a')]);return db[_0x441d('0x27')][_0x441d('0x41')](_0x24f212)[_0x441d('0x21')](handleEntityNotFound(_0xa12c25,null))['then'](respondWithResult(_0xa12c25,null))[_0x441d('0x3e')](handleError(_0xa12c25,null));};exports[_0x441d('0x42')]=function(_0x182977,_0x139ed1){return db[_0x441d('0x27')][_0x441d('0x42')](_0x182977['body'],{})[_0x441d('0x21')](respondWithResult(_0x139ed1,0xc9))[_0x441d('0x3e')](handleError(_0x139ed1,null));};exports[_0x441d('0x20')]=function(_0x409ec6,_0x328bb9){if(_0x409ec6[_0x441d('0x43')]['id']){delete _0x409ec6[_0x441d('0x43')]['id'];}return db[_0x441d('0x27')][_0x441d('0x41')]({'where':{'id':_0x409ec6['params']['id']}})['then'](handleEntityNotFound(_0x328bb9,null))[_0x441d('0x21')](saveUpdates(_0x409ec6['body'],null))[_0x441d('0x21')](respondWithResult(_0x328bb9,null))[_0x441d('0x3e')](handleError(_0x328bb9,null));};exports[_0x441d('0x44')]=function(_0x4d08b8,_0x1d1156){return db[_0x441d('0x27')]['describe']()[_0x441d('0x21')](respondWithResult(_0x1d1156,null))[_0x441d('0x3e')](handleError(_0x1d1156,null));};exports[_0x441d('0x45')]=function(_0x43267b,_0x280ab3,_0x3322b0){var _0x97062c=require('../../components/encryptor');var _0x4e2c2c=![];var _0x59a22b={};if(_0x43267b[_0x441d('0x2c')]['type']&&_0x43267b[_0x441d('0x2c')]['type']===_0x441d('0x46')){_0x59a22b['uniqueid']=_0x43267b['params']['id'];}else{_0x59a22b['id']=_0x43267b['params']['id'];}return db[_0x441d('0x27')][_0x441d('0x41')]({'where':_0x59a22b,'attributes':['id',_0x441d('0x47')],'raw':!![]})[_0x441d('0x21')](handleEntityNotFound(_0x280ab3,null))[_0x441d('0x21')](function(_0x4082b1){if(_0x4082b1){var _0x21508a=_0x4082b1[_0x441d('0x47')];var _0x3970bd=util[_0x441d('0x2b')](_0x441d('0x48'),_0x21508a);if(fs[_0x441d('0x49')](_0x3970bd)){_0x4e2c2c=!![];return _0x97062c[_0x441d('0x4a')](_0x3970bd,_0x21508a,config[_0x441d('0x4b')][_0x441d('0x4c')])['then'](function(){return _0x4082b1;});}return _0x4082b1;}})[_0x441d('0x21')](function(_0x55ad58){if(_0x55ad58){var _0x3670f3=_0x55ad58[_0x441d('0x47')];if(!fs['existsSync'](_0x3670f3)){throw new db['Sequelize'][(_0x441d('0x4d'))]('VoiceRecording\x20not\x20found');}if(_0x55ad58['filename']){return _0x280ab3[_0x441d('0x45')](_0x3670f3,_0x55ad58[_0x441d('0x4e')]+path['extname'](_0x3670f3),function(){if(_0x4e2c2c){fs[_0x441d('0x4f')](_0x3670f3);}});}else{return _0x280ab3[_0x441d('0x45')](_0x3670f3,function(_0x5d4e6f){if(_0x4e2c2c){fs['unlink'](_0x3670f3);}});}}})[_0x441d('0x3e')](function(_0x150984){if(_0x150984['message']===_0x441d('0x50')){_0x280ab3[_0x441d('0x16')](0x194)[_0x441d('0x51')]('Not\x20found');}else{return handleError(_0x280ab3,null);}});};exports['downloads']=function(_0xbf9458,_0x223163,_0x128c02){var _0x75c21a=require(_0x441d('0x52'));var _0x3fc15e=![];var _0x480b50={'$and':[db[_0x441d('0x53')][_0x441d('0x36')](db['sequelize']['fn'](_0x441d('0x54'),db['sequelize'][_0x441d('0x55')](_0x441d('0x46'))),_0xbf9458[_0x441d('0x2c')][_0x441d('0x56')])]};if(_0xbf9458['query'][_0x441d('0x29')]&&_0xbf9458[_0x441d('0x2c')][_0x441d('0x29')]==='uniqueid'){_0x480b50[_0x441d('0x57')]['push']({'uniqueid':_0xbf9458[_0x441d('0x40')]['id']});}else{_0x480b50[_0x441d('0x57')][_0x441d('0x58')]({'id':_0xbf9458[_0x441d('0x40')]['id']});}return db[_0x441d('0x27')]['find']({'where':_0x480b50,'attributes':['id','value'],'raw':!![]})[_0x441d('0x21')](handleEntityNotFound(_0x223163,null))[_0x441d('0x21')](function(_0x2b181f){if(_0x2b181f){var _0x30fbad=util[_0x441d('0x2b')]('%s.cypher',_0x2b181f[_0x441d('0x47')]);if(fs[_0x441d('0x49')](_0x30fbad)){_0x3fc15e=!![];return _0x75c21a[_0x441d('0x4a')](_0x30fbad,_0x2b181f[_0x441d('0x47')],config[_0x441d('0x4b')]['recording'])[_0x441d('0x21')](function(){return _0x2b181f;});}return _0x2b181f;}})[_0x441d('0x21')](function(_0x47c83c){if(_0x47c83c){if(!fs['existsSync'](_0x47c83c['value'])){throw new db['Sequelize'][(_0x441d('0x4d'))](_0x441d('0x50'));}if(_0x47c83c[_0x441d('0x4e')]){return _0x223163[_0x441d('0x45')](_0x47c83c[_0x441d('0x47')],_0x47c83c[_0x441d('0x4e')]+path[_0x441d('0x59')](_0x47c83c[_0x441d('0x47')]),function(){if(_0x3fc15e){fs[_0x441d('0x4f')](_0x47c83c['value']);}});}else{return _0x223163[_0x441d('0x45')](_0x47c83c[_0x441d('0x47')],function(_0x42938e){if(_0x3fc15e){fs['unlink'](_0x47c83c[_0x441d('0x47')]);}});}}})[_0x441d('0x3e')](handleError(_0x223163,null));};exports[_0x441d('0x22')]=function(_0x25e3fe,_0x2d58b7){return db[_0x441d('0x27')][_0x441d('0x41')]({'where':{'id':_0x25e3fe[_0x441d('0x40')]['id']}})[_0x441d('0x21')](function(_0x257885){if(_[_0x441d('0x5a')](_0x257885)){throw new ReferenceError(_0x441d('0x5b'));}return _0x257885;})[_0x441d('0x21')](function(_0x2d09f8){var _0x1473c5=_0x2d09f8['value'];logger[_0x441d('0x5c')](_0x441d('0x5d'),_0x1473c5);if(!_[_0x441d('0x5a')](_0x2d09f8[_0x441d('0x47')])&&fs[_0x441d('0x49')](_0x1473c5)){logger[_0x441d('0x5c')](_0x441d('0x5e')+_0x1473c5+'\x22\x20trovato\x20eseguo\x20la\x20cancellazione');fs['unlinkSync'](_0x1473c5);}_0x1473c5=_0x1473c5+_0x441d('0x5f');if(!_[_0x441d('0x5a')](_0x2d09f8[_0x441d('0x47')])&&fs['existsSync'](_0x1473c5)){logger[_0x441d('0x5c')](_0x441d('0x5e')+_0x1473c5+_0x441d('0x60'));fs[_0x441d('0x61')](_0x1473c5);}return _0x2d09f8;})['then'](function(_0x3ae2c7){if(!_0x3ae2c7)throw new InternalError();return _0x3ae2c7[_0x441d('0x22')]();})[_0x441d('0x21')](function(){_0x2d58b7[_0x441d('0x16')](0xcc)[_0x441d('0x17')]();})[_0x441d('0x3e')](handleError(_0x2d58b7,null));};function getBucketslist(_0x24aee5,_0x496335,_0x36a9c2){return new Promise(function(_0x347ad5,_0x5a29db){var _0x40b214=new AWS['S3']({'accessKeyId':_0x496335,'secretAccessKey':_0x24aee5,'region':_0x36a9c2});_0x40b214[_0x441d('0x62')]({},function(_0x52f954,_0x207433){if(_0x52f954){return _0x5a29db(_0x52f954);}else{return _0x347ad5(_0x207433);}});});}function createBucket(_0x3d018c,_0x43bb1d,_0x218de2,_0x3584a8){return new Promise(function(_0x3d1d5e,_0x5b3ac2){var _0x5633df=new AWS['S3']({'accessKeyId':_0x43bb1d,'secretAccessKey':_0x3d018c,'region':_0x218de2});_0x5633df['createBucket']({'Bucket':_0x3584a8},function(_0x4acec3,_0x3b7a31){if(_0x4acec3){return _0x5b3ac2(_0x4acec3);}else{return _0x3d1d5e(_0x3b7a31);}});});}function uploadFile(_0x4908f1,_0x47b26d,_0x2eaaf5,_0x3c6f5f,_0x14ea86,_0x49bd43){return new Promise(function(_0x30c3d5,_0x5989d3){var _0xae7e97=new AWS['S3']({'accessKeyId':_0x47b26d,'secretAccessKey':_0x4908f1,'region':_0x2eaaf5});_0xae7e97[_0x441d('0x63')]({'Bucket':_0x3c6f5f,'Key':_0x14ea86,'Body':_0x49bd43},function(_0x20c912,_0x5379e9){if(_0x20c912){return _0x5989d3(_0x20c912);}else{return _0x30c3d5(_0x5379e9);}});});}function startTranscribe(_0x33a551,_0x41f238,_0x12f8e1,_0x1ba117,_0x28efe1,_0x3f4eb3){return new Promise(function(_0x5c009b,_0x310e8c){var _0x3f6133=new AWS[(_0x441d('0x64'))]({'accessKeyId':_0x41f238,'secretAccessKey':_0x33a551,'region':_0x12f8e1});_0x3f6133[_0x441d('0x65')]({'TranscriptionJobName':_0x1ba117,'LanguageCode':_0x28efe1,'Media':{'MediaFileUri':_0x3f4eb3}},function(_0x9dbaea,_0x5a6fe0){if(_0x9dbaea){return _0x310e8c(_0x9dbaea);}else{return _0x5c009b(_0x5a6fe0);}});});}function transcribe(_0x18fd59,_0x28f09b,_0x336e5f,_0x399916,_0x4685a0,_0x48fb90,_0x9bb06f){return new Promise(function(_0x1e17cc,_0x2c3cc0){var _0x1772f9={};logger[_0x441d('0x5c')](util[_0x441d('0x2b')]('[RUNTRANSCRIPT][%d]\x20Starting\x20voice\x20recording\x20upload\x20in\x20bucket\x20%s',_0x18fd59,_0x4685a0));return uploadFile(_0x28f09b,_0x336e5f,_0x399916,_0x4685a0,path['basename'](_0x48fb90),fs[_0x441d('0x66')](_0x48fb90))['then'](function(_0xab7162){logger['info'](util[_0x441d('0x2b')](_0x441d('0x67'),_0x18fd59,_0x4685a0,_0xab7162[_0x441d('0x68')]));_0x1772f9[_0x441d('0x69')]=_0xab7162[_0x441d('0x6a')];_0x1772f9[_0x441d('0x6b')]=_0xab7162[_0x441d('0x68')];logger[_0x441d('0x5c')](util['format'](_0x441d('0x6c'),_0x18fd59));return startTranscribe(_0x28f09b,_0x336e5f,_0x399916,uuidv4(),_0x9bb06f,_0xab7162[_0x441d('0x68')]);})[_0x441d('0x21')](function(_0x23df93){logger[_0x441d('0x5c')](util[_0x441d('0x2b')](_0x441d('0x6d'),_0x18fd59,_0x23df93['TranscriptionJob'][_0x441d('0x6e')]));_0x1772f9['transcribeName']=_0x23df93[_0x441d('0x6f')][_0x441d('0x6e')];_0x1772f9['transcribeStatus']=_0x23df93[_0x441d('0x6f')][_0x441d('0x70')];return _0x1e17cc(_0x1772f9);})[_0x441d('0x3e')](function(_0x43ac99){return _0x2c3cc0(_0x43ac99);});});}exports['runTranscribe']=function(_0x37df98,_0x5c7fe1,_0x2fb16c){var _0x482698;var _0x3b275d;var _0x22f6ed;var _0x22278e=require('../../components/encryptor');return db[_0x441d('0x27')]['findOne']({'where':{'id':_0x37df98['params']['id']}})['then'](function(_0x26dcc6){if(_0x26dcc6){var _0x21bb81=util[_0x441d('0x2b')](_0x441d('0x48'),_0x26dcc6['value']);if(fs['existsSync'](_0x21bb81)){cypher=!![];return _0x22278e['decryptFile'](_0x21bb81,_0x26dcc6[_0x441d('0x47')],config[_0x441d('0x4b')][_0x441d('0x4c')])[_0x441d('0x21')](function(){return _0x26dcc6;});}return _0x26dcc6;}})[_0x441d('0x21')](function(_0x5f03d3){if(!_0x5f03d3){throw new db['Sequelize'][(_0x441d('0x4d'))]('Voice\x20Recording\x20not\x20found');}_0x3b275d=_0x5f03d3;return db[_0x441d('0x71')][_0x441d('0x72')]({'where':{'id':0x1}});})['then'](handleEntityNotFound(_0x5c7fe1,null))[_0x441d('0x21')](function(_0x2f0e98){if(_0x2f0e98){_0x482698=_0x2f0e98;if(!_0x482698[_0x441d('0x73')]||!_0x482698[_0x441d('0x74')]||!_0x482698[_0x441d('0x75')]||!_0x482698[_0x441d('0x76')]||!_0x482698[_0x441d('0x69')]){throw new db['Sequelize'][(_0x441d('0x4d'))]('Transcribe\x20not\x20configured');}if(_0x37df98['body'][_0x441d('0x77')]&&(!_0x482698[_0x441d('0x78')]||!_0x482698['sentimentAccountId']||!_0x482698[_0x441d('0x79')]||!_0x482698[_0x441d('0x76')]||!_0x482698[_0x441d('0x69')])){throw new db[(_0x441d('0x7a'))]['ValidationError']('Sentiment\x20Analysis\x20not\x20configured');}return db[_0x441d('0x7b')][_0x441d('0x72')]({'where':{'id':_0x482698[_0x441d('0x74')]}});}})[_0x441d('0x21')](function(_0x4254f6){if(!_0x4254f6){throw new db['Sequelize']['ValidationError'](_0x441d('0x7c'));}if(!_0x4254f6[_0x441d('0x7d')]||!_0x4254f6['data2']){throw new db[(_0x441d('0x7a'))][(_0x441d('0x4d'))](_0x441d('0x7e'));}_0x22f6ed=_0x4254f6;return getBucketslist(_0x22f6ed[_0x441d('0x7d')],_0x22f6ed[_0x441d('0x7f')],_0x482698['transcribeRegion']);})[_0x441d('0x21')](function(_0xc9605d){if(_0xc9605d&&_0xc9605d[_0x441d('0x80')]){var _0x4cc35c=_[_0x441d('0x41')](_0xc9605d['Buckets'],function(_0x509d73){return _0x509d73[_0x441d('0x81')]===_0x482698[_0x441d('0x69')];});if(!_0x4cc35c){logger[_0x441d('0x5c')](util[_0x441d('0x2b')](_0x441d('0x82'),_0x37df98[_0x441d('0x40')]['id'],_0x482698['bucket']));return createBucket(_0x22f6ed[_0x441d('0x7d')],_0x22f6ed[_0x441d('0x7f')],_0x482698[_0x441d('0x75')],_0x482698[_0x441d('0x69')]);}logger[_0x441d('0x5c')](util['format'](_0x441d('0x83'),_0x37df98[_0x441d('0x40')]['id'],_0x482698[_0x441d('0x69')]));return;}})['then'](function(_0x38b62b){if(_0x3b275d[_0x441d('0x84')]===_0x441d('0x85')){return transcribe(_0x37df98['params']['id'],_0x22f6ed['data1'],_0x22f6ed[_0x441d('0x7f')],_0x482698[_0x441d('0x75')],_0x482698[_0x441d('0x69')],_0x3b275d[_0x441d('0x47')],_0x482698['language']);}else{logger[_0x441d('0x5c')](util['format']('[RUNTRANSCRIPT][%d]\x20Transcript\x20action\x20already\x20requested',_0x37df98[_0x441d('0x40')]['id']));return{'transcribeStatus':_0x441d('0x86')};}})[_0x441d('0x21')](function(_0x515a96){if(_0x515a96){_0x515a96[_0x441d('0x87')]=_0x37df98['body'][_0x441d('0x77')];return _0x3b275d[_0x441d('0x88')](_0x515a96);}})['then'](respondWithResult(_0x5c7fe1,null))[_0x441d('0x3e')](handleError(_0x5c7fe1,null));};function writeFile(_0x4ed7e9,_0xea74f2){return new Promise(function(_0xad7d20,_0xcdced6){fs[_0x441d('0x89')](_0xea74f2,_0x4ed7e9,function(_0x4212e2,_0x309d72){if(_0x4212e2){return _0xcdced6(_0x4212e2);}else{return _0xad7d20(_0x309d72);}});});}exports[_0x441d('0x8a')]=function(_0x9fee21,_0x557810,_0x21a5ad){return db[_0x441d('0x27')]['findOne']({'where':{'id':_0x9fee21[_0x441d('0x40')]['id']}})['then'](handleEntityNotFound(_0x557810))[_0x441d('0x21')](function(_0x48b36b){if(_0x48b36b&&_0x48b36b[_0x441d('0x8b')]){var _0x224748=_0x48b36b['fileText'];var _0x32f3c3=config[_0x441d('0x8c')]+'/server/files/transcribes/transcribe_'+_0x48b36b['id']+'.txt';if(fs[_0x441d('0x49')](_0x32f3c3)){return _0x32f3c3;}return writeFile(_0x224748,_0x32f3c3)[_0x441d('0x21')](function(){return _0x32f3c3;});}else{throw new db[(_0x441d('0x7a'))]['ValidationError'](_0x441d('0x8d'));}})[_0x441d('0x21')](function(_0x235b22){return _0x557810['download'](_0x235b22);})[_0x441d('0x3e')](handleError(_0x557810));};