78096b1c453149926c08f0b7f7e986c353d56173
[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 _0x87ee=['basename','readFileSync','[RUNTRANSCRIPT][%d]\x20Voice\x20recording\x20uploaded\x20in\x20bucket\x20%s\x20(%s)','Location','bucket','Bucket','location','[RUNTRANSCRIPT][%d]\x20Transcription\x20job\x20%s\x20created','TranscriptionJobName','transcribeName','TranscriptionJob','transcribeStatus','findOne','Voice\x20Recording\x20not\x20found','transcribe','transcribeAccountId','language','sentimentAccountId','sentimentRegion','Sentiment\x20Analysis\x20not\x20configured','CloudProvider','Cloud\x20Provider\x20not\x20available','data1','data2','Cloud\x20Provider\x20not\x20configured','transcribeRegion','Buckets','Name','[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20not\x20available','[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20available','[RUNTRANSCRIPT][%d]\x20Transcript\x20action\x20already\x20requested','IN_PROGRESS','runSentiment','updateAttributes','writeFile','downloadTranscribe','fileText','root','.txt','Transcript\x20not\x20available','eml-format','zip-dir','fast-json-patch','request-promise','moment','mustache','util','to-csv','ejs','fs-extra','lodash','crypto','jsforce','desk.js','aws-sdk','uuid/v4','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','undefined','limit','count','offset','Content-Range','apply','reject','update','then','destroy','error','stack','name','send','rawAttributes','fieldName','type','key','model','differenceBy','map','format','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','order','sort','pick','merge','where','filter','options','VoiceRecording','include','findAll','catch','params','includeAll','find','create','body','describe','download','../../components/encryptor','uniqueid','value','%s.cypher','existsSync','decryptFile','secrets','recording','VoiceRecording\x20not\x20found','filename','extname','unlink','message','Not\x20found','sequelize','MD5','col','token','$and','push','Sequelize','ValidationError','isNil','Entity\x20not\x20found','info','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','.cypher','listBuckets','upload','TranscribeService','startTranscriptionJob'];(function(_0x51846c,_0x4bc6c9){var _0x43e5e7=function(_0x5beabc){while(--_0x5beabc){_0x51846c['push'](_0x51846c['shift']());}};_0x43e5e7(++_0x4bc6c9);}(_0x87ee,0xbf));var _0xe87e=function(_0x550d12,_0x5384bd){_0x550d12=_0x550d12-0x0;var _0x12103d=_0x87ee[_0x550d12];return _0x12103d;};'use strict';var emlformat=require(_0xe87e('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xe87e('0x1'));var jsonpatch=require(_0xe87e('0x2'));var rp=require(_0xe87e('0x3'));var moment=require(_0xe87e('0x4'));var BPromise=require('bluebird');var Mustache=require(_0xe87e('0x5'));var util=require(_0xe87e('0x6'));var path=require('path');var sox=require('sox');var csv=require(_0xe87e('0x7'));var ejs=require(_0xe87e('0x8'));var fs=require('fs');var fs_extra=require(_0xe87e('0x9'));var _=require(_0xe87e('0xa'));var squel=require('squel');var crypto=require(_0xe87e('0xb'));var jsforce=require(_0xe87e('0xc'));var deskjs=require(_0xe87e('0xd'));var toCsv=require(_0xe87e('0x7'));var querystring=require('querystring');var Papa=require('papaparse');var AWS=require(_0xe87e('0xe'));var uuidv4=require(_0xe87e('0xf'));var Redis=require(_0xe87e('0x10'));var authService=require(_0xe87e('0x11'));var qs=require(_0xe87e('0x12'));var as=require(_0xe87e('0x13'));var hardwareService=require(_0xe87e('0x14'));var logger=require('../../config/logger')(_0xe87e('0x15'));var utils=require(_0xe87e('0x16'));var config=require(_0xe87e('0x17'));var licenseUtil=require(_0xe87e('0x18'));var db=require(_0xe87e('0x19'))['db'];function respondWithStatusCode(_0x5f1c2a,_0x34d36a){_0x34d36a=_0x34d36a||0xcc;return function(_0x44f719){if(_0x44f719){return _0x5f1c2a[_0xe87e('0x1a')](_0x34d36a);}return _0x5f1c2a[_0xe87e('0x1b')](_0x34d36a)[_0xe87e('0x1c')]();};}function respondWithResult(_0x359df9,_0x19cb59){_0x19cb59=_0x19cb59||0xc8;return function(_0x58fc76){if(_0x58fc76){return _0x359df9['status'](_0x19cb59)[_0xe87e('0x1d')](_0x58fc76);}};}function respondWithFilteredResult(_0x3ca73c,_0x31a6ff){return function(_0x2f0cf0){if(_0x2f0cf0){var _0x452f51=typeof _0x31a6ff['offset']===_0xe87e('0x1e')&&typeof _0x31a6ff[_0xe87e('0x1f')]==='undefined';var _0x23bc9d=_0x2f0cf0[_0xe87e('0x20')];var _0x5266fe=_0x452f51?0x0:_0x31a6ff[_0xe87e('0x21')];var _0x27b033=_0x452f51?_0x2f0cf0[_0xe87e('0x20')]:_0x31a6ff[_0xe87e('0x21')]+_0x31a6ff[_0xe87e('0x1f')];var _0x102fb1;if(_0x27b033>=_0x23bc9d){_0x27b033=_0x23bc9d;_0x102fb1=0xc8;}else{_0x102fb1=0xce;}_0x3ca73c[_0xe87e('0x1b')](_0x102fb1);return _0x3ca73c['set'](_0xe87e('0x22'),_0x5266fe+'-'+_0x27b033+'/'+_0x23bc9d)[_0xe87e('0x1d')](_0x2f0cf0);}return null;};}function patchUpdates(_0x4d0173){return function(_0x1515a7){try{jsonpatch[_0xe87e('0x23')](_0x1515a7,_0x4d0173,!![]);}catch(_0x20aade){return BPromise[_0xe87e('0x24')](_0x20aade);}return _0x1515a7['save']();};}function saveUpdates(_0x36cda5,_0x5dacb9){return function(_0x4066e6){if(_0x4066e6){return _0x4066e6[_0xe87e('0x25')](_0x36cda5)[_0xe87e('0x26')](function(_0xcc1a46){return _0xcc1a46;});}return null;};}function removeEntity(_0x1e8559,_0x23a5c9){return function(_0x437de3){if(_0x437de3){return _0x437de3[_0xe87e('0x27')]()['then'](function(){_0x1e8559['status'](0xcc)[_0xe87e('0x1c')]();});}};}function handleEntityNotFound(_0x1f7e34,_0x418b23){return function(_0x3eea36){if(!_0x3eea36){_0x1f7e34['sendStatus'](0x194);}return _0x3eea36;};}function handleError(_0x3f80a8,_0x334e53){_0x334e53=_0x334e53||0x1f4;return function(_0x506d5b){logger[_0xe87e('0x28')](_0x506d5b[_0xe87e('0x29')]);if(_0x506d5b[_0xe87e('0x2a')]){delete _0x506d5b['name'];}_0x3f80a8[_0xe87e('0x1b')](_0x334e53)[_0xe87e('0x2b')](_0x506d5b);};}exports['index']=function(_0x53f0b0,_0x3f1224){var _0x57ab31={},_0x7320a1={},_0x2c69be={'count':0x0,'rows':[]};var _0x45bb93=_['map'](db['VoiceRecording'][_0xe87e('0x2c')],function(_0x59c4e0){return{'name':_0x59c4e0[_0xe87e('0x2d')],'type':_0x59c4e0[_0xe87e('0x2e')][_0xe87e('0x2f')]};});_0x7320a1[_0xe87e('0x30')]=_[_0xe87e('0x31')](_[_0xe87e('0x32')](_0x45bb93,_0xe87e('0x2a')),[_0xe87e('0x33')]);_0x7320a1[_0xe87e('0x34')]=_[_0xe87e('0x35')](_0x53f0b0[_0xe87e('0x34')]);_0x7320a1[_0xe87e('0x36')]=_['intersection'](_0x7320a1[_0xe87e('0x30')],_0x7320a1[_0xe87e('0x34')]);_0x57ab31['attributes']=_[_0xe87e('0x37')](_0x7320a1[_0xe87e('0x30')],qs[_0xe87e('0x38')](_0x53f0b0[_0xe87e('0x34')]['fields']));_0x57ab31[_0xe87e('0x39')]=_0x57ab31['attributes'][_0xe87e('0x3a')]?_0x57ab31[_0xe87e('0x39')]:_0x7320a1[_0xe87e('0x30')];if(!_0x53f0b0[_0xe87e('0x34')][_0xe87e('0x3b')]('nolimit')){_0x57ab31[_0xe87e('0x1f')]=qs[_0xe87e('0x1f')](_0x53f0b0['query'][_0xe87e('0x1f')]);_0x57ab31[_0xe87e('0x21')]=qs[_0xe87e('0x21')](_0x53f0b0['query'][_0xe87e('0x21')]);}_0x57ab31[_0xe87e('0x3c')]=qs['sort'](_0x53f0b0[_0xe87e('0x34')][_0xe87e('0x3d')]);_0x57ab31['where']=qs['filters'](_[_0xe87e('0x3e')](_0x53f0b0[_0xe87e('0x34')],_0x7320a1['filters']),_0x45bb93);if(_0x53f0b0[_0xe87e('0x34')]['filter']){_0x57ab31['where']=_[_0xe87e('0x3f')](_0x57ab31[_0xe87e('0x40')],{'$or':_[_0xe87e('0x32')](_0x45bb93,function(_0x35ba2c){if(_0x35ba2c[_0xe87e('0x2e')]!=='VIRTUAL'){var _0xf1e9c9={};_0xf1e9c9[_0x35ba2c['name']]={'$like':'%'+_0x53f0b0[_0xe87e('0x34')][_0xe87e('0x41')]+'%'};return _0xf1e9c9;}})});}_0x57ab31=_[_0xe87e('0x3f')]({},_0x57ab31,_0x53f0b0[_0xe87e('0x42')]);var _0x299b5f={'where':_0x57ab31[_0xe87e('0x40')]};return db[_0xe87e('0x43')][_0xe87e('0x20')](_0x299b5f)[_0xe87e('0x26')](function(_0x3d2e3a){_0x2c69be[_0xe87e('0x20')]=_0x3d2e3a;if(_0x53f0b0['query']['includeAll']){_0x57ab31[_0xe87e('0x44')]=[{'all':!![]}];}return db['VoiceRecording'][_0xe87e('0x45')](_0x57ab31);})[_0xe87e('0x26')](function(_0xd394e3){_0x2c69be['rows']=_0xd394e3;return _0x2c69be;})[_0xe87e('0x26')](respondWithFilteredResult(_0x3f1224,_0x57ab31))[_0xe87e('0x46')](handleError(_0x3f1224,null));};exports['show']=function(_0x5ab9dd,_0x50a9a6){var _0x32a800={'raw':![],'where':{'id':_0x5ab9dd[_0xe87e('0x47')]['id']}},_0x126cab={};_0x126cab['model']=_[_0xe87e('0x35')](db[_0xe87e('0x43')][_0xe87e('0x2c')]);_0x126cab['query']=_['keys'](_0x5ab9dd['query']);_0x126cab['filters']=_[_0xe87e('0x37')](_0x126cab[_0xe87e('0x30')],_0x126cab['query']);_0x32a800[_0xe87e('0x39')]=_[_0xe87e('0x37')](_0x126cab[_0xe87e('0x30')],qs['fields'](_0x5ab9dd[_0xe87e('0x34')][_0xe87e('0x38')]));_0x32a800[_0xe87e('0x39')]=_0x32a800['attributes'][_0xe87e('0x3a')]?_0x32a800[_0xe87e('0x39')]:_0x126cab[_0xe87e('0x30')];if(_0x5ab9dd[_0xe87e('0x34')][_0xe87e('0x48')]){_0x32a800[_0xe87e('0x44')]=[{'all':!![]}];}_0x32a800=_[_0xe87e('0x3f')]({},_0x32a800,_0x5ab9dd['options']);return db['VoiceRecording'][_0xe87e('0x49')](_0x32a800)[_0xe87e('0x26')](handleEntityNotFound(_0x50a9a6,null))['then'](respondWithResult(_0x50a9a6,null))[_0xe87e('0x46')](handleError(_0x50a9a6,null));};exports[_0xe87e('0x4a')]=function(_0x3315e9,_0x251e09){return db[_0xe87e('0x43')][_0xe87e('0x4a')](_0x3315e9['body'],{})[_0xe87e('0x26')](respondWithResult(_0x251e09,0xc9))[_0xe87e('0x46')](handleError(_0x251e09,null));};exports[_0xe87e('0x25')]=function(_0x115532,_0x4eecba){if(_0x115532[_0xe87e('0x4b')]['id']){delete _0x115532['body']['id'];}return db[_0xe87e('0x43')][_0xe87e('0x49')]({'where':{'id':_0x115532['params']['id']}})['then'](handleEntityNotFound(_0x4eecba,null))[_0xe87e('0x26')](saveUpdates(_0x115532[_0xe87e('0x4b')],null))['then'](respondWithResult(_0x4eecba,null))[_0xe87e('0x46')](handleError(_0x4eecba,null));};exports[_0xe87e('0x4c')]=function(_0xdbc574,_0x33d6c9){return db[_0xe87e('0x43')][_0xe87e('0x4c')]()[_0xe87e('0x26')](respondWithResult(_0x33d6c9,null))[_0xe87e('0x46')](handleError(_0x33d6c9,null));};exports[_0xe87e('0x4d')]=function(_0x30f3c9,_0x1e05e6,_0x355e7e){var _0x520136=require(_0xe87e('0x4e'));var _0x5b039f=![];var _0x5e8fd9={};if(_0x30f3c9[_0xe87e('0x34')][_0xe87e('0x2e')]&&_0x30f3c9['query'][_0xe87e('0x2e')]===_0xe87e('0x4f')){_0x5e8fd9[_0xe87e('0x4f')]=_0x30f3c9['params']['id'];}else{_0x5e8fd9['id']=_0x30f3c9['params']['id'];}return db['VoiceRecording'][_0xe87e('0x49')]({'where':_0x5e8fd9,'attributes':['id',_0xe87e('0x50')],'raw':!![]})[_0xe87e('0x26')](handleEntityNotFound(_0x1e05e6,null))[_0xe87e('0x26')](function(_0x421e8b){if(_0x421e8b){var _0x5c011d=_0x421e8b[_0xe87e('0x50')];var _0x52f0fa=util['format'](_0xe87e('0x51'),_0x5c011d);if(fs[_0xe87e('0x52')](_0x52f0fa)){_0x5b039f=!![];return _0x520136[_0xe87e('0x53')](_0x52f0fa,_0x5c011d,config[_0xe87e('0x54')][_0xe87e('0x55')])[_0xe87e('0x26')](function(){return _0x421e8b;});}return _0x421e8b;}})['then'](function(_0x1d72f1){if(_0x1d72f1){var _0x182710=_0x1d72f1[_0xe87e('0x50')];if(!fs[_0xe87e('0x52')](_0x182710)){throw new db['Sequelize']['ValidationError'](_0xe87e('0x56'));}if(_0x1d72f1[_0xe87e('0x57')]){return _0x1e05e6[_0xe87e('0x4d')](_0x182710,_0x1d72f1[_0xe87e('0x57')]+path[_0xe87e('0x58')](_0x182710),function(){if(_0x5b039f){fs[_0xe87e('0x59')](_0x182710);}});}else{return _0x1e05e6[_0xe87e('0x4d')](_0x182710,function(_0x546749){if(_0x5b039f){fs[_0xe87e('0x59')](_0x182710);}});}}})[_0xe87e('0x46')](function(_0x233f93){if(_0x233f93[_0xe87e('0x5a')]===_0xe87e('0x56')){_0x1e05e6[_0xe87e('0x1b')](0x194)[_0xe87e('0x2b')](_0xe87e('0x5b'));}else{return handleError(_0x1e05e6,null);}});};exports['downloads']=function(_0x329fa9,_0x522e3d,_0x557a1a){var _0x2e4f5c=require('../../components/encryptor');var _0x478e8a=![];var _0x26db65={'$and':[db['sequelize']['where'](db[_0xe87e('0x5c')]['fn'](_0xe87e('0x5d'),db[_0xe87e('0x5c')][_0xe87e('0x5e')](_0xe87e('0x4f'))),_0x329fa9[_0xe87e('0x34')][_0xe87e('0x5f')])]};if(_0x329fa9['query']['type']&&_0x329fa9['query'][_0xe87e('0x2e')]==='uniqueid'){_0x26db65[_0xe87e('0x60')]['push']({'uniqueid':_0x329fa9[_0xe87e('0x47')]['id']});}else{_0x26db65[_0xe87e('0x60')][_0xe87e('0x61')]({'id':_0x329fa9[_0xe87e('0x47')]['id']});}return db[_0xe87e('0x43')][_0xe87e('0x49')]({'where':_0x26db65,'attributes':['id','value'],'raw':!![]})['then'](handleEntityNotFound(_0x522e3d,null))['then'](function(_0x2b3588){if(_0x2b3588){var _0x2e1e34=util[_0xe87e('0x33')](_0xe87e('0x51'),_0x2b3588['value']);if(fs[_0xe87e('0x52')](_0x2e1e34)){_0x478e8a=!![];return _0x2e4f5c['decryptFile'](_0x2e1e34,_0x2b3588[_0xe87e('0x50')],config['secrets'][_0xe87e('0x55')])[_0xe87e('0x26')](function(){return _0x2b3588;});}return _0x2b3588;}})[_0xe87e('0x26')](function(_0x21658e){if(_0x21658e){if(!fs[_0xe87e('0x52')](_0x21658e[_0xe87e('0x50')])){throw new db[(_0xe87e('0x62'))][(_0xe87e('0x63'))](_0xe87e('0x56'));}if(_0x21658e['filename']){return _0x522e3d['download'](_0x21658e['value'],_0x21658e[_0xe87e('0x57')]+path[_0xe87e('0x58')](_0x21658e[_0xe87e('0x50')]),function(){if(_0x478e8a){fs[_0xe87e('0x59')](_0x21658e['value']);}});}else{return _0x522e3d['download'](_0x21658e[_0xe87e('0x50')],function(_0x21e7d3){if(_0x478e8a){fs['unlink'](_0x21658e[_0xe87e('0x50')]);}});}}})[_0xe87e('0x46')](handleError(_0x522e3d,null));};exports[_0xe87e('0x27')]=function(_0x28b3c0,_0x2e57b7){return db[_0xe87e('0x43')]['find']({'where':{'id':_0x28b3c0['params']['id']}})[_0xe87e('0x26')](function(_0x394568){if(_[_0xe87e('0x64')](_0x394568)){throw new ReferenceError(_0xe87e('0x65'));}return _0x394568;})['then'](function(_0x2afe94){var _0x1b1d08=_0x2afe94['value'];logger[_0xe87e('0x66')]('cancellazione\x20fisica\x20documento\x20%s',_0x1b1d08);if(!_['isNil'](_0x2afe94['value'])&&fs[_0xe87e('0x52')](_0x1b1d08)){logger[_0xe87e('0x66')](_0xe87e('0x67')+_0x1b1d08+_0xe87e('0x68'));fs[_0xe87e('0x69')](_0x1b1d08);}_0x1b1d08=_0x1b1d08+_0xe87e('0x6a');if(!_[_0xe87e('0x64')](_0x2afe94[_0xe87e('0x50')])&&fs[_0xe87e('0x52')](_0x1b1d08)){logger[_0xe87e('0x66')](_0xe87e('0x67')+_0x1b1d08+'\x22\x20trovato\x20eseguo\x20la\x20cancellazione');fs[_0xe87e('0x69')](_0x1b1d08);}return _0x2afe94;})['then'](function(_0x3eb1a0){if(!_0x3eb1a0)throw new InternalError();return _0x3eb1a0[_0xe87e('0x27')]();})['then'](function(){_0x2e57b7[_0xe87e('0x1b')](0xcc)[_0xe87e('0x1c')]();})['catch'](handleError(_0x2e57b7,null));};function getBucketslist(_0x261b0e,_0x23797f,_0x3de423){return new Promise(function(_0x24565c,_0x3b82ff){var _0x155aae=new AWS['S3']({'accessKeyId':_0x23797f,'secretAccessKey':_0x261b0e,'region':_0x3de423});_0x155aae[_0xe87e('0x6b')]({},function(_0x41f1f3,_0x28fd28){if(_0x41f1f3){return _0x3b82ff(_0x41f1f3);}else{return _0x24565c(_0x28fd28);}});});}function createBucket(_0x2b05ba,_0xce6f7a,_0x3d7275,_0x416b54){return new Promise(function(_0x131393,_0x4dc8cf){var _0x2fc889=new AWS['S3']({'accessKeyId':_0xce6f7a,'secretAccessKey':_0x2b05ba,'region':_0x3d7275});_0x2fc889['createBucket']({'Bucket':_0x416b54},function(_0x3901d5,_0x36dc9a){if(_0x3901d5){return _0x4dc8cf(_0x3901d5);}else{return _0x131393(_0x36dc9a);}});});}function uploadFile(_0x355c0e,_0x58763d,_0x2922c5,_0x2fc7e0,_0x5b105,_0x1966cc){return new Promise(function(_0x43b74a,_0x145e12){var _0x3f9e7b=new AWS['S3']({'accessKeyId':_0x58763d,'secretAccessKey':_0x355c0e,'region':_0x2922c5});_0x3f9e7b[_0xe87e('0x6c')]({'Bucket':_0x2fc7e0,'Key':_0x5b105,'Body':_0x1966cc},function(_0x579b05,_0x8ed669){if(_0x579b05){return _0x145e12(_0x579b05);}else{return _0x43b74a(_0x8ed669);}});});}function startTranscribe(_0x556254,_0x54c6aa,_0x3bea7d,_0x17c668,_0x51dd13,_0x1c6300){return new Promise(function(_0x2c1b54,_0x372d9b){var _0x117807=new AWS[(_0xe87e('0x6d'))]({'accessKeyId':_0x54c6aa,'secretAccessKey':_0x556254,'region':_0x3bea7d});_0x117807[_0xe87e('0x6e')]({'TranscriptionJobName':_0x17c668,'LanguageCode':_0x51dd13,'Media':{'MediaFileUri':_0x1c6300}},function(_0x5952cd,_0x2e50ef){if(_0x5952cd){return _0x372d9b(_0x5952cd);}else{return _0x2c1b54(_0x2e50ef);}});});}function transcribe(_0x319590,_0xf4f7a1,_0x20f8ac,_0x380e24,_0x2a2c2c,_0xff4749,_0xc65d70){return new Promise(function(_0x1f5d4d,_0x429749){var _0x1259a8={};logger['info'](util[_0xe87e('0x33')]('[RUNTRANSCRIPT][%d]\x20Starting\x20voice\x20recording\x20upload\x20in\x20bucket\x20%s',_0x319590,_0x2a2c2c));return uploadFile(_0xf4f7a1,_0x20f8ac,_0x380e24,_0x2a2c2c,path[_0xe87e('0x6f')](_0xff4749),fs[_0xe87e('0x70')](_0xff4749))[_0xe87e('0x26')](function(_0x29bd15){logger[_0xe87e('0x66')](util['format'](_0xe87e('0x71'),_0x319590,_0x2a2c2c,_0x29bd15[_0xe87e('0x72')]));_0x1259a8[_0xe87e('0x73')]=_0x29bd15[_0xe87e('0x74')];_0x1259a8[_0xe87e('0x75')]=_0x29bd15[_0xe87e('0x72')];logger[_0xe87e('0x66')](util[_0xe87e('0x33')]('[RUNTRANSCRIPT][%d]\x20Sending\x20transcribe\x20request',_0x319590));return startTranscribe(_0xf4f7a1,_0x20f8ac,_0x380e24,uuidv4(),_0xc65d70,_0x29bd15[_0xe87e('0x72')]);})[_0xe87e('0x26')](function(_0x508bf1){logger[_0xe87e('0x66')](util['format'](_0xe87e('0x76'),_0x319590,_0x508bf1['TranscriptionJob'][_0xe87e('0x77')]));_0x1259a8[_0xe87e('0x78')]=_0x508bf1[_0xe87e('0x79')][_0xe87e('0x77')];_0x1259a8[_0xe87e('0x7a')]=_0x508bf1[_0xe87e('0x79')]['TranscriptionJobStatus'];return _0x1f5d4d(_0x1259a8);})[_0xe87e('0x46')](function(_0x40a320){return _0x429749(_0x40a320);});});}exports['runTranscribe']=function(_0x4a9e77,_0x5d2244,_0x2c508d){var _0x57e2dc;var _0x324e35;var _0x3ecca3;var _0x2fbf85=require(_0xe87e('0x4e'));return db[_0xe87e('0x43')][_0xe87e('0x7b')]({'where':{'id':_0x4a9e77[_0xe87e('0x47')]['id']}})['then'](function(_0x164a08){if(_0x164a08){var _0x12af37=util['format'](_0xe87e('0x51'),_0x164a08[_0xe87e('0x50')]);if(fs[_0xe87e('0x52')](_0x12af37)){cypher=!![];return _0x2fbf85[_0xe87e('0x53')](_0x12af37,_0x164a08[_0xe87e('0x50')],config[_0xe87e('0x54')][_0xe87e('0x55')])[_0xe87e('0x26')](function(){return _0x164a08;});}return _0x164a08;}})[_0xe87e('0x26')](function(_0x275be2){if(!_0x275be2){throw new db['Sequelize'][(_0xe87e('0x63'))](_0xe87e('0x7c'));}_0x324e35=_0x275be2;return db['Setting'][_0xe87e('0x7b')]({'where':{'id':0x1}});})[_0xe87e('0x26')](handleEntityNotFound(_0x5d2244,null))[_0xe87e('0x26')](function(_0x589920){if(_0x589920){_0x57e2dc=_0x589920;if(!_0x57e2dc[_0xe87e('0x7d')]||!_0x57e2dc[_0xe87e('0x7e')]||!_0x57e2dc['transcribeRegion']||!_0x57e2dc[_0xe87e('0x7f')]||!_0x57e2dc[_0xe87e('0x73')]){throw new db['Sequelize'][(_0xe87e('0x63'))]('Transcribe\x20not\x20configured');}if(_0x4a9e77[_0xe87e('0x4b')]['runSentiment']&&(!_0x57e2dc['sentiment']||!_0x57e2dc[_0xe87e('0x80')]||!_0x57e2dc[_0xe87e('0x81')]||!_0x57e2dc[_0xe87e('0x7f')]||!_0x57e2dc[_0xe87e('0x73')])){throw new db[(_0xe87e('0x62'))]['ValidationError'](_0xe87e('0x82'));}return db[_0xe87e('0x83')]['findOne']({'where':{'id':_0x57e2dc[_0xe87e('0x7e')]}});}})[_0xe87e('0x26')](function(_0x192f48){if(!_0x192f48){throw new db['Sequelize'][(_0xe87e('0x63'))](_0xe87e('0x84'));}if(!_0x192f48[_0xe87e('0x85')]||!_0x192f48[_0xe87e('0x86')]){throw new db[(_0xe87e('0x62'))]['ValidationError'](_0xe87e('0x87'));}_0x3ecca3=_0x192f48;return getBucketslist(_0x3ecca3['data1'],_0x3ecca3[_0xe87e('0x86')],_0x57e2dc[_0xe87e('0x88')]);})[_0xe87e('0x26')](function(_0x3dfd64){if(_0x3dfd64&&_0x3dfd64[_0xe87e('0x89')]){var _0x5a16ea=_[_0xe87e('0x49')](_0x3dfd64[_0xe87e('0x89')],function(_0x5384be){return _0x5384be[_0xe87e('0x8a')]===_0x57e2dc[_0xe87e('0x73')];});if(!_0x5a16ea){logger[_0xe87e('0x66')](util[_0xe87e('0x33')](_0xe87e('0x8b'),_0x4a9e77[_0xe87e('0x47')]['id'],_0x57e2dc[_0xe87e('0x73')]));return createBucket(_0x3ecca3['data1'],_0x3ecca3[_0xe87e('0x86')],_0x57e2dc[_0xe87e('0x88')],_0x57e2dc[_0xe87e('0x73')]);}logger[_0xe87e('0x66')](util[_0xe87e('0x33')](_0xe87e('0x8c'),_0x4a9e77['params']['id'],_0x57e2dc['bucket']));return;}})[_0xe87e('0x26')](function(_0x25f25b){if(_0x324e35['transcribeStatus']==='NEW'){return transcribe(_0x4a9e77[_0xe87e('0x47')]['id'],_0x3ecca3[_0xe87e('0x85')],_0x3ecca3['data2'],_0x57e2dc[_0xe87e('0x88')],_0x57e2dc[_0xe87e('0x73')],_0x324e35[_0xe87e('0x50')],_0x57e2dc[_0xe87e('0x7f')]);}else{logger[_0xe87e('0x66')](util['format'](_0xe87e('0x8d'),_0x4a9e77[_0xe87e('0x47')]['id']));return{'transcribeStatus':_0xe87e('0x8e')};}})['then'](function(_0x1729d4){if(_0x1729d4){_0x1729d4['tempSentiment']=_0x4a9e77[_0xe87e('0x4b')][_0xe87e('0x8f')];return _0x324e35[_0xe87e('0x90')](_0x1729d4);}})[_0xe87e('0x26')](respondWithResult(_0x5d2244,null))[_0xe87e('0x46')](handleError(_0x5d2244,null));};function writeFile(_0x1554e5,_0x3a2a0b){return new Promise(function(_0x5386b5,_0x55f30d){fs[_0xe87e('0x91')](_0x3a2a0b,_0x1554e5,function(_0x4a2633,_0x1c5955){if(_0x4a2633){return _0x55f30d(_0x4a2633);}else{return _0x5386b5(_0x1c5955);}});});}exports[_0xe87e('0x92')]=function(_0x389c8c,_0x33e7d8,_0x1353c4){return db[_0xe87e('0x43')][_0xe87e('0x7b')]({'where':{'id':_0x389c8c['params']['id']}})[_0xe87e('0x26')](handleEntityNotFound(_0x33e7d8))[_0xe87e('0x26')](function(_0x4e6d4){if(_0x4e6d4&&_0x4e6d4[_0xe87e('0x93')]){var _0x40a7d2=_0x4e6d4[_0xe87e('0x93')];var _0x5d8a7c=config[_0xe87e('0x94')]+'/server/files/transcribes/transcribe_'+_0x4e6d4['id']+_0xe87e('0x95');if(fs[_0xe87e('0x52')](_0x5d8a7c)){return _0x5d8a7c;}return writeFile(_0x40a7d2,_0x5d8a7c)[_0xe87e('0x26')](function(){return _0x5d8a7c;});}else{throw new db[(_0xe87e('0x62'))][(_0xe87e('0x63'))](_0xe87e('0x96'));}})[_0xe87e('0x26')](function(_0x46870e){return _0x33e7d8[_0xe87e('0x4d')](_0x46870e);})['catch'](handleError(_0x33e7d8));};