30d0bfac516091b23af328b8c3c8a425e64d4e6c
[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 _0xac47=['key','differenceBy','format','query','attributes','intersection','model','fields','order','sort','pick','filters','filter','where','merge','type','VIRTUAL','options','includeAll','VoiceRecording','findAll','rows','catch','show','params','keys','length','include','find','create','body','describe','../../components/encryptor','uniqueid','value','%s.cypher','existsSync','decryptFile','Sequelize','ValidationError','filename','extname','message','VoiceRecording\x20not\x20found','Not\x20found','downloads','sequelize','col','token','$and','push','secrets','recording','download','unlink','destroy','isNil','Entity\x20not\x20found','info','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','.cypher','listBuckets','createBucket','upload','TranscribeService','startTranscriptionJob','[RUNTRANSCRIPT][%d]\x20Starting\x20voice\x20recording\x20upload\x20in\x20bucket\x20%s','basename','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','TranscriptionJob','TranscriptionJobName','transcribeName','transcribeStatus','TranscriptionJobStatus','runTranscribe','findOne','Setting','transcribeAccountId','transcribeRegion','language','Transcribe\x20not\x20configured','runSentiment','sentiment','sentimentRegion','Cloud\x20Provider\x20not\x20available','data1','data2','Cloud\x20Provider\x20not\x20configured','Buckets','Name','[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20not\x20available','NEW','[RUNTRANSCRIPT][%d]\x20Transcript\x20action\x20already\x20requested','IN_PROGRESS','writeFile','downloadTranscribe','fileText','/server/files/transcribes/transcribe_','.txt','Transcript\x20not\x20available','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','path','to-csv','ejs','lodash','crypto','jsforce','desk.js','querystring','aws-sdk','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','offset','undefined','count','limit','set','json','apply','reject','save','then','stack','name','send','map','rawAttributes','fieldName'];(function(_0x270848,_0x3f785e){var _0x58bc7f=function(_0x59ccc1){while(--_0x59ccc1){_0x270848['push'](_0x270848['shift']());}};_0x58bc7f(++_0x3f785e);}(_0xac47,0x1a1));var _0x7ac4=function(_0x2d4eba,_0x348848){_0x2d4eba=_0x2d4eba-0x0;var _0x21141d=_0xac47[_0x2d4eba];return _0x21141d;};'use strict';var emlformat=require(_0x7ac4('0x0'));var rimraf=require(_0x7ac4('0x1'));var zipdir=require(_0x7ac4('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x7ac4('0x3'));var moment=require(_0x7ac4('0x4'));var BPromise=require(_0x7ac4('0x5'));var Mustache=require(_0x7ac4('0x6'));var util=require('util');var path=require(_0x7ac4('0x7'));var sox=require('sox');var csv=require(_0x7ac4('0x8'));var ejs=require(_0x7ac4('0x9'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x7ac4('0xa'));var squel=require('squel');var crypto=require(_0x7ac4('0xb'));var jsforce=require(_0x7ac4('0xc'));var deskjs=require(_0x7ac4('0xd'));var toCsv=require(_0x7ac4('0x8'));var querystring=require(_0x7ac4('0xe'));var Papa=require('papaparse');var AWS=require(_0x7ac4('0xf'));var uuidv4=require('uuid/v4');var Redis=require('ioredis');var authService=require(_0x7ac4('0x10'));var qs=require(_0x7ac4('0x11'));var as=require(_0x7ac4('0x12'));var hardwareService=require(_0x7ac4('0x13'));var logger=require(_0x7ac4('0x14'))(_0x7ac4('0x15'));var utils=require(_0x7ac4('0x16'));var config=require(_0x7ac4('0x17'));var licenseUtil=require(_0x7ac4('0x18'));var db=require(_0x7ac4('0x19'))['db'];function respondWithStatusCode(_0x4808e5,_0x3aedc){_0x3aedc=_0x3aedc||0xcc;return function(_0x28eb89){if(_0x28eb89){return _0x4808e5[_0x7ac4('0x1a')](_0x3aedc);}return _0x4808e5[_0x7ac4('0x1b')](_0x3aedc)[_0x7ac4('0x1c')]();};}function respondWithResult(_0x1148a7,_0xb65e0d){_0xb65e0d=_0xb65e0d||0xc8;return function(_0x4dba34){if(_0x4dba34){return _0x1148a7[_0x7ac4('0x1b')](_0xb65e0d)['json'](_0x4dba34);}};}function respondWithFilteredResult(_0x3211e5,_0x24cef6){return function(_0x1bd9f8){if(_0x1bd9f8){var _0x4b7fc5=typeof _0x24cef6[_0x7ac4('0x1d')]===_0x7ac4('0x1e')&&typeof _0x24cef6['limit']===_0x7ac4('0x1e');var _0x3d40ff=_0x1bd9f8[_0x7ac4('0x1f')];var _0x4742a2=_0x4b7fc5?0x0:_0x24cef6[_0x7ac4('0x1d')];var _0x164433=_0x4b7fc5?_0x1bd9f8[_0x7ac4('0x1f')]:_0x24cef6['offset']+_0x24cef6[_0x7ac4('0x20')];var _0x3eaacf;if(_0x164433>=_0x3d40ff){_0x164433=_0x3d40ff;_0x3eaacf=0xc8;}else{_0x3eaacf=0xce;}_0x3211e5[_0x7ac4('0x1b')](_0x3eaacf);return _0x3211e5[_0x7ac4('0x21')]('Content-Range',_0x4742a2+'-'+_0x164433+'/'+_0x3d40ff)[_0x7ac4('0x22')](_0x1bd9f8);}return null;};}function patchUpdates(_0x4d250f){return function(_0x43a51d){try{jsonpatch[_0x7ac4('0x23')](_0x43a51d,_0x4d250f,!![]);}catch(_0x5b43be){return BPromise[_0x7ac4('0x24')](_0x5b43be);}return _0x43a51d[_0x7ac4('0x25')]();};}function saveUpdates(_0x12e554,_0x2bb4db){return function(_0x526749){if(_0x526749){return _0x526749['update'](_0x12e554)[_0x7ac4('0x26')](function(_0x3082fd){return _0x3082fd;});}return null;};}function removeEntity(_0x1571cc,_0x50c72a){return function(_0x1071e2){if(_0x1071e2){return _0x1071e2['destroy']()[_0x7ac4('0x26')](function(){_0x1571cc['status'](0xcc)[_0x7ac4('0x1c')]();});}};}function handleEntityNotFound(_0x4ff11e,_0x772620){return function(_0x4f8109){if(!_0x4f8109){_0x4ff11e[_0x7ac4('0x1a')](0x194);}return _0x4f8109;};}function handleError(_0xaaf08,_0x55a0ff){_0x55a0ff=_0x55a0ff||0x1f4;return function(_0x57b3e8){logger['error'](_0x57b3e8[_0x7ac4('0x27')]);if(_0x57b3e8[_0x7ac4('0x28')]){delete _0x57b3e8[_0x7ac4('0x28')];}_0xaaf08[_0x7ac4('0x1b')](_0x55a0ff)[_0x7ac4('0x29')](_0x57b3e8);};}exports['index']=function(_0x491585,_0x43a27f){var _0x1dffb3={},_0x32b592={},_0x59f298={'count':0x0,'rows':[]};var _0x584177=_[_0x7ac4('0x2a')](db['VoiceRecording'][_0x7ac4('0x2b')],function(_0xe5b477){return{'name':_0xe5b477[_0x7ac4('0x2c')],'type':_0xe5b477['type'][_0x7ac4('0x2d')]};});_0x32b592['model']=_[_0x7ac4('0x2e')](_[_0x7ac4('0x2a')](_0x584177,_0x7ac4('0x28')),[_0x7ac4('0x2f')]);_0x32b592[_0x7ac4('0x30')]=_['keys'](_0x491585[_0x7ac4('0x30')]);_0x32b592['filters']=_['intersection'](_0x32b592['model'],_0x32b592[_0x7ac4('0x30')]);_0x1dffb3[_0x7ac4('0x31')]=_[_0x7ac4('0x32')](_0x32b592[_0x7ac4('0x33')],qs[_0x7ac4('0x34')](_0x491585[_0x7ac4('0x30')][_0x7ac4('0x34')]));_0x1dffb3[_0x7ac4('0x31')]=_0x1dffb3[_0x7ac4('0x31')]['length']?_0x1dffb3['attributes']:_0x32b592['model'];if(!_0x491585[_0x7ac4('0x30')]['hasOwnProperty']('nolimit')){_0x1dffb3[_0x7ac4('0x20')]=qs[_0x7ac4('0x20')](_0x491585[_0x7ac4('0x30')][_0x7ac4('0x20')]);_0x1dffb3['offset']=qs[_0x7ac4('0x1d')](_0x491585[_0x7ac4('0x30')][_0x7ac4('0x1d')]);}_0x1dffb3[_0x7ac4('0x35')]=qs[_0x7ac4('0x36')](_0x491585[_0x7ac4('0x30')][_0x7ac4('0x36')]);_0x1dffb3['where']=qs['filters'](_[_0x7ac4('0x37')](_0x491585['query'],_0x32b592[_0x7ac4('0x38')]),_0x584177);if(_0x491585['query'][_0x7ac4('0x39')]){_0x1dffb3[_0x7ac4('0x3a')]=_[_0x7ac4('0x3b')](_0x1dffb3[_0x7ac4('0x3a')],{'$or':_[_0x7ac4('0x2a')](_0x584177,function(_0x425d8a){if(_0x425d8a[_0x7ac4('0x3c')]!==_0x7ac4('0x3d')){var _0xf836a5={};_0xf836a5[_0x425d8a[_0x7ac4('0x28')]]={'$like':'%'+_0x491585[_0x7ac4('0x30')][_0x7ac4('0x39')]+'%'};return _0xf836a5;}})});}_0x1dffb3=_[_0x7ac4('0x3b')]({},_0x1dffb3,_0x491585[_0x7ac4('0x3e')]);var _0x50dd75={'where':_0x1dffb3[_0x7ac4('0x3a')]};return db['VoiceRecording'][_0x7ac4('0x1f')](_0x50dd75)[_0x7ac4('0x26')](function(_0x3e6f70){_0x59f298['count']=_0x3e6f70;if(_0x491585[_0x7ac4('0x30')][_0x7ac4('0x3f')]){_0x1dffb3['include']=[{'all':!![]}];}return db[_0x7ac4('0x40')][_0x7ac4('0x41')](_0x1dffb3);})[_0x7ac4('0x26')](function(_0x2cd8f2){_0x59f298[_0x7ac4('0x42')]=_0x2cd8f2;return _0x59f298;})[_0x7ac4('0x26')](respondWithFilteredResult(_0x43a27f,_0x1dffb3))[_0x7ac4('0x43')](handleError(_0x43a27f,null));};exports[_0x7ac4('0x44')]=function(_0x257a17,_0xfa9e8a){var _0x57dbb7={'raw':![],'where':{'id':_0x257a17[_0x7ac4('0x45')]['id']}},_0x3734b0={};_0x3734b0[_0x7ac4('0x33')]=_[_0x7ac4('0x46')](db[_0x7ac4('0x40')][_0x7ac4('0x2b')]);_0x3734b0[_0x7ac4('0x30')]=_['keys'](_0x257a17['query']);_0x3734b0[_0x7ac4('0x38')]=_['intersection'](_0x3734b0[_0x7ac4('0x33')],_0x3734b0[_0x7ac4('0x30')]);_0x57dbb7[_0x7ac4('0x31')]=_[_0x7ac4('0x32')](_0x3734b0[_0x7ac4('0x33')],qs['fields'](_0x257a17[_0x7ac4('0x30')][_0x7ac4('0x34')]));_0x57dbb7['attributes']=_0x57dbb7[_0x7ac4('0x31')][_0x7ac4('0x47')]?_0x57dbb7[_0x7ac4('0x31')]:_0x3734b0[_0x7ac4('0x33')];if(_0x257a17['query'][_0x7ac4('0x3f')]){_0x57dbb7[_0x7ac4('0x48')]=[{'all':!![]}];}_0x57dbb7=_['merge']({},_0x57dbb7,_0x257a17[_0x7ac4('0x3e')]);return db['VoiceRecording'][_0x7ac4('0x49')](_0x57dbb7)['then'](handleEntityNotFound(_0xfa9e8a,null))[_0x7ac4('0x26')](respondWithResult(_0xfa9e8a,null))[_0x7ac4('0x43')](handleError(_0xfa9e8a,null));};exports[_0x7ac4('0x4a')]=function(_0x12d171,_0x166bf8){return db['VoiceRecording'][_0x7ac4('0x4a')](_0x12d171['body'],{})['then'](respondWithResult(_0x166bf8,0xc9))['catch'](handleError(_0x166bf8,null));};exports['update']=function(_0x39e693,_0x35668c){if(_0x39e693[_0x7ac4('0x4b')]['id']){delete _0x39e693[_0x7ac4('0x4b')]['id'];}return db[_0x7ac4('0x40')][_0x7ac4('0x49')]({'where':{'id':_0x39e693[_0x7ac4('0x45')]['id']}})[_0x7ac4('0x26')](handleEntityNotFound(_0x35668c,null))[_0x7ac4('0x26')](saveUpdates(_0x39e693[_0x7ac4('0x4b')],null))['then'](respondWithResult(_0x35668c,null))[_0x7ac4('0x43')](handleError(_0x35668c,null));};exports['describe']=function(_0xf17260,_0x390714){return db[_0x7ac4('0x40')][_0x7ac4('0x4c')]()[_0x7ac4('0x26')](respondWithResult(_0x390714,null))['catch'](handleError(_0x390714,null));};exports['download']=function(_0xd9c3b8,_0x52872d,_0x5159d6){var _0x4d9e25=require(_0x7ac4('0x4d'));var _0x238771=![];var _0x16c112={};if(_0xd9c3b8[_0x7ac4('0x30')]['type']&&_0xd9c3b8['query'][_0x7ac4('0x3c')]===_0x7ac4('0x4e')){_0x16c112[_0x7ac4('0x4e')]=_0xd9c3b8[_0x7ac4('0x45')]['id'];}else{_0x16c112['id']=_0xd9c3b8[_0x7ac4('0x45')]['id'];}return db[_0x7ac4('0x40')]['find']({'where':_0x16c112,'attributes':['id',_0x7ac4('0x4f')],'raw':!![]})[_0x7ac4('0x26')](handleEntityNotFound(_0x52872d,null))[_0x7ac4('0x26')](function(_0x38408f){if(_0x38408f){var _0x44bf57=_0x38408f[_0x7ac4('0x4f')];var _0x487239=util['format'](_0x7ac4('0x50'),_0x44bf57);if(fs[_0x7ac4('0x51')](_0x487239)){_0x238771=!![];return _0x4d9e25[_0x7ac4('0x52')](_0x487239,_0x44bf57,config['secrets']['recording'])['then'](function(){return _0x38408f;});}return _0x38408f;}})['then'](function(_0x554e0c){if(_0x554e0c){var _0x21de69=_0x554e0c['value'];if(!fs[_0x7ac4('0x51')](_0x21de69)){throw new db[(_0x7ac4('0x53'))][(_0x7ac4('0x54'))]('VoiceRecording\x20not\x20found');}if(_0x554e0c[_0x7ac4('0x55')]){return _0x52872d['download'](_0x21de69,_0x554e0c[_0x7ac4('0x55')]+path[_0x7ac4('0x56')](_0x21de69),function(){if(_0x238771){fs['unlink'](_0x21de69);}});}else{return _0x52872d['download'](_0x21de69,function(_0x4e6bb9){if(_0x238771){fs['unlink'](_0x21de69);}});}}})[_0x7ac4('0x43')](function(_0x203f0c){if(_0x203f0c[_0x7ac4('0x57')]===_0x7ac4('0x58')){_0x52872d['status'](0x194)[_0x7ac4('0x29')](_0x7ac4('0x59'));}else{return handleError(_0x52872d,null);}});};exports[_0x7ac4('0x5a')]=function(_0x27b8e5,_0x219d74,_0x22dfe0){var _0x490ef1=require(_0x7ac4('0x4d'));var _0x2d4449=![];var _0x50dac3={'$and':[db['sequelize'][_0x7ac4('0x3a')](db['sequelize']['fn']('MD5',db[_0x7ac4('0x5b')][_0x7ac4('0x5c')](_0x7ac4('0x4e'))),_0x27b8e5[_0x7ac4('0x30')][_0x7ac4('0x5d')])]};if(_0x27b8e5['query']['type']&&_0x27b8e5['query']['type']===_0x7ac4('0x4e')){_0x50dac3[_0x7ac4('0x5e')][_0x7ac4('0x5f')]({'uniqueid':_0x27b8e5[_0x7ac4('0x45')]['id']});}else{_0x50dac3[_0x7ac4('0x5e')]['push']({'id':_0x27b8e5['params']['id']});}return db[_0x7ac4('0x40')][_0x7ac4('0x49')]({'where':_0x50dac3,'attributes':['id',_0x7ac4('0x4f')],'raw':!![]})[_0x7ac4('0x26')](handleEntityNotFound(_0x219d74,null))[_0x7ac4('0x26')](function(_0x4778b3){if(_0x4778b3){var _0x4e7883=util[_0x7ac4('0x2f')](_0x7ac4('0x50'),_0x4778b3[_0x7ac4('0x4f')]);if(fs[_0x7ac4('0x51')](_0x4e7883)){_0x2d4449=!![];return _0x490ef1['decryptFile'](_0x4e7883,_0x4778b3[_0x7ac4('0x4f')],config[_0x7ac4('0x60')][_0x7ac4('0x61')])[_0x7ac4('0x26')](function(){return _0x4778b3;});}return _0x4778b3;}})[_0x7ac4('0x26')](function(_0x1de32b){if(_0x1de32b){if(!fs[_0x7ac4('0x51')](_0x1de32b[_0x7ac4('0x4f')])){throw new db['Sequelize'][(_0x7ac4('0x54'))]('VoiceRecording\x20not\x20found');}if(_0x1de32b[_0x7ac4('0x55')]){return _0x219d74[_0x7ac4('0x62')](_0x1de32b[_0x7ac4('0x4f')],_0x1de32b[_0x7ac4('0x55')]+path[_0x7ac4('0x56')](_0x1de32b[_0x7ac4('0x4f')]),function(){if(_0x2d4449){fs[_0x7ac4('0x63')](_0x1de32b[_0x7ac4('0x4f')]);}});}else{return _0x219d74[_0x7ac4('0x62')](_0x1de32b[_0x7ac4('0x4f')],function(_0x2245e3){if(_0x2d4449){fs[_0x7ac4('0x63')](_0x1de32b[_0x7ac4('0x4f')]);}});}}})[_0x7ac4('0x43')](handleError(_0x219d74,null));};exports[_0x7ac4('0x64')]=function(_0x30053d,_0x546ce5){return db['VoiceRecording'][_0x7ac4('0x49')]({'where':{'id':_0x30053d[_0x7ac4('0x45')]['id']}})[_0x7ac4('0x26')](function(_0x2c15ce){if(_[_0x7ac4('0x65')](_0x2c15ce)){throw new ReferenceError(_0x7ac4('0x66'));}return _0x2c15ce;})[_0x7ac4('0x26')](function(_0x15e07e){var _0x2eff2d=_0x15e07e[_0x7ac4('0x4f')];logger[_0x7ac4('0x67')]('cancellazione\x20fisica\x20documento\x20%s',_0x2eff2d);if(!_[_0x7ac4('0x65')](_0x15e07e['value'])&&fs[_0x7ac4('0x51')](_0x2eff2d)){logger[_0x7ac4('0x67')](_0x7ac4('0x68')+_0x2eff2d+_0x7ac4('0x69'));fs[_0x7ac4('0x6a')](_0x2eff2d);}_0x2eff2d=_0x2eff2d+_0x7ac4('0x6b');if(!_['isNil'](_0x15e07e['value'])&&fs[_0x7ac4('0x51')](_0x2eff2d)){logger['info'](_0x7ac4('0x68')+_0x2eff2d+_0x7ac4('0x69'));fs[_0x7ac4('0x6a')](_0x2eff2d);}return _0x15e07e;})[_0x7ac4('0x26')](function(_0x568680){if(!_0x568680)throw new InternalError();return _0x568680[_0x7ac4('0x64')]();})['then'](function(){_0x546ce5[_0x7ac4('0x1b')](0xcc)[_0x7ac4('0x1c')]();})[_0x7ac4('0x43')](handleError(_0x546ce5,null));};function getBucketslist(_0x3b5c52,_0x20e7b5,_0x4f692e){return new Promise(function(_0x363735,_0x2f6247){var _0x44e1dd=new AWS['S3']({'accessKeyId':_0x20e7b5,'secretAccessKey':_0x3b5c52,'region':_0x4f692e});_0x44e1dd[_0x7ac4('0x6c')]({},function(_0xb38e67,_0x58a639){if(_0xb38e67){return _0x2f6247(_0xb38e67);}else{return _0x363735(_0x58a639);}});});}function createBucket(_0x2b586d,_0x557649,_0x4675e5,_0x55675f){return new Promise(function(_0x49c94e,_0x2d914d){var _0x1b410e=new AWS['S3']({'accessKeyId':_0x557649,'secretAccessKey':_0x2b586d,'region':_0x4675e5});_0x1b410e[_0x7ac4('0x6d')]({'Bucket':_0x55675f},function(_0xf83917,_0x2dcf77){if(_0xf83917){return _0x2d914d(_0xf83917);}else{return _0x49c94e(_0x2dcf77);}});});}function uploadFile(_0x4c26ba,_0x5bc6d1,_0x587022,_0x43f6a6,_0x1ab96f,_0x37895f){return new Promise(function(_0x1921a6,_0xd2ff55){var _0x1eb10c=new AWS['S3']({'accessKeyId':_0x5bc6d1,'secretAccessKey':_0x4c26ba,'region':_0x587022});_0x1eb10c[_0x7ac4('0x6e')]({'Bucket':_0x43f6a6,'Key':_0x1ab96f,'Body':_0x37895f},function(_0xac10a7,_0x37bb9b){if(_0xac10a7){return _0xd2ff55(_0xac10a7);}else{return _0x1921a6(_0x37bb9b);}});});}function startTranscribe(_0x2c478d,_0x1a13e8,_0x44cd97,_0x544a8a,_0x4fa0e8,_0x1c0789){return new Promise(function(_0x13bc35,_0xeb4fff){var _0xa2894a=new AWS[(_0x7ac4('0x6f'))]({'accessKeyId':_0x1a13e8,'secretAccessKey':_0x2c478d,'region':_0x44cd97});_0xa2894a[_0x7ac4('0x70')]({'TranscriptionJobName':_0x544a8a,'LanguageCode':_0x4fa0e8,'Media':{'MediaFileUri':_0x1c0789}},function(_0x5e350c,_0x2dde0a){if(_0x5e350c){return _0xeb4fff(_0x5e350c);}else{return _0x13bc35(_0x2dde0a);}});});}function transcribe(_0x5cfd59,_0x55d3e7,_0x43c3e3,_0x40c0c2,_0x4cbaf2,_0x82506a,_0x264d98){return new Promise(function(_0x2cd032,_0x5e105c){var _0x295399={};logger[_0x7ac4('0x67')](util[_0x7ac4('0x2f')](_0x7ac4('0x71'),_0x5cfd59,_0x4cbaf2));return uploadFile(_0x55d3e7,_0x43c3e3,_0x40c0c2,_0x4cbaf2,path[_0x7ac4('0x72')](_0x82506a),fs[_0x7ac4('0x73')](_0x82506a))[_0x7ac4('0x26')](function(_0xf36314){logger[_0x7ac4('0x67')](util[_0x7ac4('0x2f')](_0x7ac4('0x74'),_0x5cfd59,_0x4cbaf2,_0xf36314[_0x7ac4('0x75')]));_0x295399[_0x7ac4('0x76')]=_0xf36314[_0x7ac4('0x77')];_0x295399[_0x7ac4('0x78')]=_0xf36314[_0x7ac4('0x75')];logger[_0x7ac4('0x67')](util[_0x7ac4('0x2f')](_0x7ac4('0x79'),_0x5cfd59));return startTranscribe(_0x55d3e7,_0x43c3e3,_0x40c0c2,uuidv4(),_0x264d98,_0xf36314[_0x7ac4('0x75')]);})[_0x7ac4('0x26')](function(_0x423e9a){logger[_0x7ac4('0x67')](util[_0x7ac4('0x2f')](_0x7ac4('0x7a'),_0x5cfd59,_0x423e9a[_0x7ac4('0x7b')][_0x7ac4('0x7c')]));_0x295399[_0x7ac4('0x7d')]=_0x423e9a[_0x7ac4('0x7b')][_0x7ac4('0x7c')];_0x295399[_0x7ac4('0x7e')]=_0x423e9a['TranscriptionJob'][_0x7ac4('0x7f')];return _0x2cd032(_0x295399);})[_0x7ac4('0x43')](function(_0x4e69a2){return _0x5e105c(_0x4e69a2);});});}exports[_0x7ac4('0x80')]=function(_0x56fe0c,_0xa3f163,_0xd0e5ee){var _0x2fa664;var _0x1e36a0;var _0x188047;var _0x161954=require(_0x7ac4('0x4d'));return db[_0x7ac4('0x40')][_0x7ac4('0x81')]({'where':{'id':_0x56fe0c[_0x7ac4('0x45')]['id']}})['then'](function(_0x345742){if(_0x345742){var _0x192a5e=util['format'](_0x7ac4('0x50'),_0x345742[_0x7ac4('0x4f')]);if(fs['existsSync'](_0x192a5e)){cypher=!![];return _0x161954[_0x7ac4('0x52')](_0x192a5e,_0x345742[_0x7ac4('0x4f')],config[_0x7ac4('0x60')][_0x7ac4('0x61')])[_0x7ac4('0x26')](function(){return _0x345742;});}return _0x345742;}})[_0x7ac4('0x26')](function(_0x58323b){if(!_0x58323b){throw new db[(_0x7ac4('0x53'))][(_0x7ac4('0x54'))]('Voice\x20Recording\x20not\x20found');}_0x1e36a0=_0x58323b;return db[_0x7ac4('0x82')][_0x7ac4('0x81')]({'where':{'id':0x1}});})['then'](handleEntityNotFound(_0xa3f163,null))[_0x7ac4('0x26')](function(_0x189c96){if(_0x189c96){_0x2fa664=_0x189c96;if(!_0x2fa664['transcribe']||!_0x2fa664[_0x7ac4('0x83')]||!_0x2fa664[_0x7ac4('0x84')]||!_0x2fa664[_0x7ac4('0x85')]||!_0x2fa664[_0x7ac4('0x76')]){throw new db[(_0x7ac4('0x53'))][(_0x7ac4('0x54'))](_0x7ac4('0x86'));}if(_0x56fe0c['body'][_0x7ac4('0x87')]&&(!_0x2fa664[_0x7ac4('0x88')]||!_0x2fa664['sentimentAccountId']||!_0x2fa664[_0x7ac4('0x89')]||!_0x2fa664[_0x7ac4('0x85')]||!_0x2fa664[_0x7ac4('0x76')])){throw new db['Sequelize'][(_0x7ac4('0x54'))]('Sentiment\x20Analysis\x20not\x20configured');}return db['CloudProvider']['findOne']({'where':{'id':_0x2fa664[_0x7ac4('0x83')]}});}})[_0x7ac4('0x26')](function(_0x4b5e71){if(!_0x4b5e71){throw new db[(_0x7ac4('0x53'))][(_0x7ac4('0x54'))](_0x7ac4('0x8a'));}if(!_0x4b5e71[_0x7ac4('0x8b')]||!_0x4b5e71[_0x7ac4('0x8c')]){throw new db[(_0x7ac4('0x53'))][(_0x7ac4('0x54'))](_0x7ac4('0x8d'));}_0x188047=_0x4b5e71;return getBucketslist(_0x188047[_0x7ac4('0x8b')],_0x188047['data2'],_0x2fa664[_0x7ac4('0x84')]);})['then'](function(_0x4bbebe){if(_0x4bbebe&&_0x4bbebe[_0x7ac4('0x8e')]){var _0x12504a=_[_0x7ac4('0x49')](_0x4bbebe[_0x7ac4('0x8e')],function(_0xf6d4f7){return _0xf6d4f7[_0x7ac4('0x8f')]===_0x2fa664['bucket'];});if(!_0x12504a){logger[_0x7ac4('0x67')](util['format'](_0x7ac4('0x90'),_0x56fe0c[_0x7ac4('0x45')]['id'],_0x2fa664['bucket']));return createBucket(_0x188047['data1'],_0x188047[_0x7ac4('0x8c')],_0x2fa664[_0x7ac4('0x84')],_0x2fa664[_0x7ac4('0x76')]);}logger[_0x7ac4('0x67')](util['format']('[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20available',_0x56fe0c[_0x7ac4('0x45')]['id'],_0x2fa664[_0x7ac4('0x76')]));return;}})['then'](function(_0x1283fb){if(_0x1e36a0[_0x7ac4('0x7e')]===_0x7ac4('0x91')){return transcribe(_0x56fe0c[_0x7ac4('0x45')]['id'],_0x188047[_0x7ac4('0x8b')],_0x188047[_0x7ac4('0x8c')],_0x2fa664[_0x7ac4('0x84')],_0x2fa664[_0x7ac4('0x76')],_0x1e36a0['value'],_0x2fa664['language']);}else{logger[_0x7ac4('0x67')](util[_0x7ac4('0x2f')](_0x7ac4('0x92'),_0x56fe0c[_0x7ac4('0x45')]['id']));return{'transcribeStatus':_0x7ac4('0x93')};}})[_0x7ac4('0x26')](function(_0x21f55e){if(_0x21f55e){_0x21f55e['tempSentiment']=_0x56fe0c[_0x7ac4('0x4b')][_0x7ac4('0x87')];return _0x1e36a0['updateAttributes'](_0x21f55e);}})[_0x7ac4('0x26')](respondWithResult(_0xa3f163,null))[_0x7ac4('0x43')](handleError(_0xa3f163,null));};function writeFile(_0x589490,_0x1158d1){return new Promise(function(_0x9332e8,_0x4ea38e){fs[_0x7ac4('0x94')](_0x1158d1,_0x589490,function(_0x3c6372,_0xb32078){if(_0x3c6372){return _0x4ea38e(_0x3c6372);}else{return _0x9332e8(_0xb32078);}});});}exports[_0x7ac4('0x95')]=function(_0x433484,_0xdfb92a,_0x3716cf){return db['VoiceRecording'][_0x7ac4('0x81')]({'where':{'id':_0x433484[_0x7ac4('0x45')]['id']}})[_0x7ac4('0x26')](handleEntityNotFound(_0xdfb92a))[_0x7ac4('0x26')](function(_0x5a2887){if(_0x5a2887&&_0x5a2887[_0x7ac4('0x96')]){var _0x4396a1=_0x5a2887['fileText'];var _0x2d037c=config['root']+_0x7ac4('0x97')+_0x5a2887['id']+_0x7ac4('0x98');if(fs[_0x7ac4('0x51')](_0x2d037c)){return _0x2d037c;}return writeFile(_0x4396a1,_0x2d037c)[_0x7ac4('0x26')](function(){return _0x2d037c;});}else{throw new db[(_0x7ac4('0x53'))]['ValidationError'](_0x7ac4('0x99'));}})[_0x7ac4('0x26')](function(_0x7c937e){return _0xdfb92a[_0x7ac4('0x62')](_0x7c937e);})[_0x7ac4('0x43')](handleError(_0xdfb92a));};