Built motion from commit 497d3d92.|2.5.43
[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 _0x516a=['[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','TranscriptionJobStatus','runTranscribe','findOne','Setting','transcribe','transcribeAccountId','transcribeRegion','language','Transcribe\x20not\x20configured','runSentiment','sentimentRegion','CloudProvider','Cloud\x20Provider\x20not\x20available','data1','data2','Cloud\x20Provider\x20not\x20configured','Buckets','Name','[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20not\x20available','[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20available','NEW','[RUNTRANSCRIPT][%d]\x20Transcript\x20action\x20already\x20requested','IN_PROGRESS','tempSentiment','updateAttributes','writeFile','downloadTranscribe','fileText','root','.txt','Transcript\x20not\x20available','eml-format','fast-json-patch','request-promise','moment','mustache','util','path','to-csv','ejs','squel','crypto','jsforce','desk.js','querystring','papaparse','uuid/v4','../../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','json','offset','limit','undefined','count','set','Content-Range','apply','reject','save','then','destroy','end','error','name','index','map','VoiceRecording','rawAttributes','fieldName','type','key','model','query','keys','attributes','intersection','fields','length','order','sort','where','filters','pick','filter','VIRTUAL','merge','options','findAll','rows','catch','show','params','create','body','update','find','describe','uniqueid','value','%s.cypher','existsSync','secrets','recording','Sequelize','VoiceRecording\x20not\x20found','filename','download','unlink','message','send','Not\x20found','downloads','../../components/encryptor','sequelize','MD5','token','push','format','decryptFile','ValidationError','isNil','Entity\x20not\x20found','cancellazione\x20fisica\x20documento\x20%s','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','readFileSync'];(function(_0x4ff008,_0x17ca98){var _0x329638=function(_0x1f43b9){while(--_0x1f43b9){_0x4ff008['push'](_0x4ff008['shift']());}};_0x329638(++_0x17ca98);}(_0x516a,0xc4));var _0xa516=function(_0x75f281,_0xa69968){_0x75f281=_0x75f281-0x0;var _0x117ed2=_0x516a[_0x75f281];return _0x117ed2;};'use strict';var emlformat=require(_0xa516('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0xa516('0x1'));var rp=require(_0xa516('0x2'));var moment=require(_0xa516('0x3'));var BPromise=require('bluebird');var Mustache=require(_0xa516('0x4'));var util=require(_0xa516('0x5'));var path=require(_0xa516('0x6'));var sox=require('sox');var csv=require(_0xa516('0x7'));var ejs=require(_0xa516('0x8'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0xa516('0x9'));var crypto=require(_0xa516('0xa'));var jsforce=require(_0xa516('0xb'));var deskjs=require(_0xa516('0xc'));var toCsv=require(_0xa516('0x7'));var querystring=require(_0xa516('0xd'));var Papa=require(_0xa516('0xe'));var AWS=require('aws-sdk');var uuidv4=require(_0xa516('0xf'));var Redis=require('ioredis');var authService=require(_0xa516('0x10'));var qs=require(_0xa516('0x11'));var as=require(_0xa516('0x12'));var hardwareService=require(_0xa516('0x13'));var logger=require(_0xa516('0x14'))(_0xa516('0x15'));var utils=require(_0xa516('0x16'));var config=require(_0xa516('0x17'));var licenseUtil=require(_0xa516('0x18'));var db=require(_0xa516('0x19'))['db'];function respondWithStatusCode(_0x3d4c4a,_0x4a039b){_0x4a039b=_0x4a039b||0xcc;return function(_0x296573){if(_0x296573){return _0x3d4c4a[_0xa516('0x1a')](_0x4a039b);}return _0x3d4c4a[_0xa516('0x1b')](_0x4a039b)['end']();};}function respondWithResult(_0x28dc01,_0x4f0ec5){_0x4f0ec5=_0x4f0ec5||0xc8;return function(_0x38369b){if(_0x38369b){return _0x28dc01[_0xa516('0x1b')](_0x4f0ec5)[_0xa516('0x1c')](_0x38369b);}};}function respondWithFilteredResult(_0x3ed864,_0x521d28){return function(_0x31dff5){if(_0x31dff5){var _0x8c0ab3=typeof _0x521d28[_0xa516('0x1d')]==='undefined'&&typeof _0x521d28[_0xa516('0x1e')]===_0xa516('0x1f');var _0x57b2a5=_0x31dff5[_0xa516('0x20')];var _0x4e294c=_0x8c0ab3?0x0:_0x521d28[_0xa516('0x1d')];var _0x13c39d=_0x8c0ab3?_0x31dff5[_0xa516('0x20')]:_0x521d28['offset']+_0x521d28['limit'];var _0x5ab782;if(_0x13c39d>=_0x57b2a5){_0x13c39d=_0x57b2a5;_0x5ab782=0xc8;}else{_0x5ab782=0xce;}_0x3ed864[_0xa516('0x1b')](_0x5ab782);return _0x3ed864[_0xa516('0x21')](_0xa516('0x22'),_0x4e294c+'-'+_0x13c39d+'/'+_0x57b2a5)[_0xa516('0x1c')](_0x31dff5);}return null;};}function patchUpdates(_0x4589f4){return function(_0x10e1c1){try{jsonpatch[_0xa516('0x23')](_0x10e1c1,_0x4589f4,!![]);}catch(_0x4502f4){return BPromise[_0xa516('0x24')](_0x4502f4);}return _0x10e1c1[_0xa516('0x25')]();};}function saveUpdates(_0x7b3b3f,_0x8c4791){return function(_0x1eb026){if(_0x1eb026){return _0x1eb026['update'](_0x7b3b3f)[_0xa516('0x26')](function(_0x5cef84){return _0x5cef84;});}return null;};}function removeEntity(_0x5764be,_0x3238b0){return function(_0x38bdce){if(_0x38bdce){return _0x38bdce[_0xa516('0x27')]()[_0xa516('0x26')](function(){_0x5764be['status'](0xcc)[_0xa516('0x28')]();});}};}function handleEntityNotFound(_0xfac2c,_0x5c1cba){return function(_0x1bd21d){if(!_0x1bd21d){_0xfac2c[_0xa516('0x1a')](0x194);}return _0x1bd21d;};}function handleError(_0x263a04,_0xc14480){_0xc14480=_0xc14480||0x1f4;return function(_0x41dd07){logger[_0xa516('0x29')](_0x41dd07['stack']);if(_0x41dd07[_0xa516('0x2a')]){delete _0x41dd07[_0xa516('0x2a')];}_0x263a04[_0xa516('0x1b')](_0xc14480)['send'](_0x41dd07);};}exports[_0xa516('0x2b')]=function(_0x2f5d69,_0x5c8259){var _0x27c24b={},_0xbc6fed={},_0x4bff07={'count':0x0,'rows':[]};var _0x41cf91=_[_0xa516('0x2c')](db[_0xa516('0x2d')][_0xa516('0x2e')],function(_0x5d4ce0){return{'name':_0x5d4ce0[_0xa516('0x2f')],'type':_0x5d4ce0[_0xa516('0x30')][_0xa516('0x31')]};});_0xbc6fed[_0xa516('0x32')]=_['differenceBy'](_[_0xa516('0x2c')](_0x41cf91,_0xa516('0x2a')),['format']);_0xbc6fed[_0xa516('0x33')]=_[_0xa516('0x34')](_0x2f5d69[_0xa516('0x33')]);_0xbc6fed['filters']=_['intersection'](_0xbc6fed[_0xa516('0x32')],_0xbc6fed[_0xa516('0x33')]);_0x27c24b[_0xa516('0x35')]=_[_0xa516('0x36')](_0xbc6fed[_0xa516('0x32')],qs['fields'](_0x2f5d69[_0xa516('0x33')][_0xa516('0x37')]));_0x27c24b['attributes']=_0x27c24b[_0xa516('0x35')][_0xa516('0x38')]?_0x27c24b[_0xa516('0x35')]:_0xbc6fed['model'];if(!_0x2f5d69['query']['hasOwnProperty']('nolimit')){_0x27c24b[_0xa516('0x1e')]=qs[_0xa516('0x1e')](_0x2f5d69[_0xa516('0x33')][_0xa516('0x1e')]);_0x27c24b[_0xa516('0x1d')]=qs[_0xa516('0x1d')](_0x2f5d69[_0xa516('0x33')]['offset']);}_0x27c24b[_0xa516('0x39')]=qs[_0xa516('0x3a')](_0x2f5d69[_0xa516('0x33')][_0xa516('0x3a')]);_0x27c24b[_0xa516('0x3b')]=qs[_0xa516('0x3c')](_[_0xa516('0x3d')](_0x2f5d69[_0xa516('0x33')],_0xbc6fed[_0xa516('0x3c')]),_0x41cf91);if(_0x2f5d69[_0xa516('0x33')][_0xa516('0x3e')]){_0x27c24b[_0xa516('0x3b')]=_['merge'](_0x27c24b['where'],{'$or':_[_0xa516('0x2c')](_0x41cf91,function(_0x55776d){if(_0x55776d[_0xa516('0x30')]!==_0xa516('0x3f')){var _0x1da91b={};_0x1da91b[_0x55776d['name']]={'$like':'%'+_0x2f5d69[_0xa516('0x33')][_0xa516('0x3e')]+'%'};return _0x1da91b;}})});}_0x27c24b=_[_0xa516('0x40')]({},_0x27c24b,_0x2f5d69[_0xa516('0x41')]);var _0x91edba={'where':_0x27c24b[_0xa516('0x3b')]};return db[_0xa516('0x2d')][_0xa516('0x20')](_0x91edba)['then'](function(_0x2a07d2){_0x4bff07[_0xa516('0x20')]=_0x2a07d2;if(_0x2f5d69['query']['includeAll']){_0x27c24b['include']=[{'all':!![]}];}return db['VoiceRecording'][_0xa516('0x42')](_0x27c24b);})[_0xa516('0x26')](function(_0x3abbfc){_0x4bff07[_0xa516('0x43')]=_0x3abbfc;return _0x4bff07;})['then'](respondWithFilteredResult(_0x5c8259,_0x27c24b))[_0xa516('0x44')](handleError(_0x5c8259,null));};exports[_0xa516('0x45')]=function(_0xac0323,_0xbfd421){var _0x472105={'raw':![],'where':{'id':_0xac0323[_0xa516('0x46')]['id']}},_0x3a25d3={};_0x3a25d3[_0xa516('0x32')]=_[_0xa516('0x34')](db[_0xa516('0x2d')]['rawAttributes']);_0x3a25d3['query']=_[_0xa516('0x34')](_0xac0323[_0xa516('0x33')]);_0x3a25d3[_0xa516('0x3c')]=_['intersection'](_0x3a25d3['model'],_0x3a25d3['query']);_0x472105[_0xa516('0x35')]=_[_0xa516('0x36')](_0x3a25d3[_0xa516('0x32')],qs[_0xa516('0x37')](_0xac0323[_0xa516('0x33')]['fields']));_0x472105[_0xa516('0x35')]=_0x472105[_0xa516('0x35')]['length']?_0x472105['attributes']:_0x3a25d3[_0xa516('0x32')];if(_0xac0323[_0xa516('0x33')]['includeAll']){_0x472105['include']=[{'all':!![]}];}_0x472105=_['merge']({},_0x472105,_0xac0323[_0xa516('0x41')]);return db[_0xa516('0x2d')]['find'](_0x472105)[_0xa516('0x26')](handleEntityNotFound(_0xbfd421,null))['then'](respondWithResult(_0xbfd421,null))['catch'](handleError(_0xbfd421,null));};exports[_0xa516('0x47')]=function(_0x40e6a1,_0x95ff8f){return db[_0xa516('0x2d')][_0xa516('0x47')](_0x40e6a1[_0xa516('0x48')],{})[_0xa516('0x26')](respondWithResult(_0x95ff8f,0xc9))['catch'](handleError(_0x95ff8f,null));};exports[_0xa516('0x49')]=function(_0xc6a3b9,_0x221e27){if(_0xc6a3b9[_0xa516('0x48')]['id']){delete _0xc6a3b9[_0xa516('0x48')]['id'];}return db[_0xa516('0x2d')][_0xa516('0x4a')]({'where':{'id':_0xc6a3b9[_0xa516('0x46')]['id']}})['then'](handleEntityNotFound(_0x221e27,null))[_0xa516('0x26')](saveUpdates(_0xc6a3b9[_0xa516('0x48')],null))[_0xa516('0x26')](respondWithResult(_0x221e27,null))[_0xa516('0x44')](handleError(_0x221e27,null));};exports[_0xa516('0x4b')]=function(_0x11a87d,_0x1443ed){return db['VoiceRecording'][_0xa516('0x4b')]()[_0xa516('0x26')](respondWithResult(_0x1443ed,null))[_0xa516('0x44')](handleError(_0x1443ed,null));};exports['download']=function(_0x5db4be,_0x394496,_0xf86a67){var _0x7d4c42=require('../../components/encryptor');var _0x20e8f4=![];var _0xa1fc90={};if(_0x5db4be[_0xa516('0x33')]['type']&&_0x5db4be[_0xa516('0x33')][_0xa516('0x30')]===_0xa516('0x4c')){_0xa1fc90['uniqueid']=_0x5db4be['params']['id'];}else{_0xa1fc90['id']=_0x5db4be[_0xa516('0x46')]['id'];}return db[_0xa516('0x2d')][_0xa516('0x4a')]({'where':_0xa1fc90,'attributes':['id','value'],'raw':!![]})['then'](handleEntityNotFound(_0x394496,null))[_0xa516('0x26')](function(_0x487821){if(_0x487821){var _0x55215b=_0x487821[_0xa516('0x4d')];var _0xcb4071=util['format'](_0xa516('0x4e'),_0x55215b);if(fs[_0xa516('0x4f')](_0xcb4071)){_0x20e8f4=!![];return _0x7d4c42['decryptFile'](_0xcb4071,_0x55215b,config[_0xa516('0x50')][_0xa516('0x51')])[_0xa516('0x26')](function(){return _0x487821;});}return _0x487821;}})[_0xa516('0x26')](function(_0x459be4){if(_0x459be4){var _0x37eb6d=_0x459be4['value'];if(!fs['existsSync'](_0x37eb6d)){throw new db[(_0xa516('0x52'))]['ValidationError'](_0xa516('0x53'));}if(_0x459be4[_0xa516('0x54')]){return _0x394496[_0xa516('0x55')](_0x37eb6d,_0x459be4['filename']+path['extname'](_0x37eb6d),function(){if(_0x20e8f4){fs['unlink'](_0x37eb6d);}});}else{return _0x394496[_0xa516('0x55')](_0x37eb6d,function(_0x2decc4){if(_0x20e8f4){fs[_0xa516('0x56')](_0x37eb6d);}});}}})['catch'](function(_0x351440){if(_0x351440[_0xa516('0x57')]==='VoiceRecording\x20not\x20found'){_0x394496[_0xa516('0x1b')](0x194)[_0xa516('0x58')](_0xa516('0x59'));}else{return handleError(_0x394496,null);}});};exports[_0xa516('0x5a')]=function(_0x4b6787,_0x506463,_0x412941){var _0x14c546=require(_0xa516('0x5b'));var _0x2d9322=![];var _0x53c217={'$and':[db[_0xa516('0x5c')]['where'](db['sequelize']['fn'](_0xa516('0x5d'),db[_0xa516('0x5c')]['col'](_0xa516('0x4c'))),_0x4b6787[_0xa516('0x33')][_0xa516('0x5e')])]};if(_0x4b6787[_0xa516('0x33')][_0xa516('0x30')]&&_0x4b6787[_0xa516('0x33')]['type']===_0xa516('0x4c')){_0x53c217['$and']['push']({'uniqueid':_0x4b6787[_0xa516('0x46')]['id']});}else{_0x53c217['$and'][_0xa516('0x5f')]({'id':_0x4b6787['params']['id']});}return db[_0xa516('0x2d')][_0xa516('0x4a')]({'where':_0x53c217,'attributes':['id',_0xa516('0x4d')],'raw':!![]})[_0xa516('0x26')](handleEntityNotFound(_0x506463,null))[_0xa516('0x26')](function(_0x40001e){if(_0x40001e){var _0x1f0fa1=util[_0xa516('0x60')](_0xa516('0x4e'),_0x40001e[_0xa516('0x4d')]);if(fs[_0xa516('0x4f')](_0x1f0fa1)){_0x2d9322=!![];return _0x14c546[_0xa516('0x61')](_0x1f0fa1,_0x40001e[_0xa516('0x4d')],config[_0xa516('0x50')][_0xa516('0x51')])['then'](function(){return _0x40001e;});}return _0x40001e;}})[_0xa516('0x26')](function(_0x17a649){if(_0x17a649){if(!fs[_0xa516('0x4f')](_0x17a649['value'])){throw new db[(_0xa516('0x52'))][(_0xa516('0x62'))]('VoiceRecording\x20not\x20found');}if(_0x17a649[_0xa516('0x54')]){return _0x506463[_0xa516('0x55')](_0x17a649[_0xa516('0x4d')],_0x17a649[_0xa516('0x54')]+path['extname'](_0x17a649['value']),function(){if(_0x2d9322){fs['unlink'](_0x17a649[_0xa516('0x4d')]);}});}else{return _0x506463['download'](_0x17a649['value'],function(_0x56637d){if(_0x2d9322){fs[_0xa516('0x56')](_0x17a649['value']);}});}}})[_0xa516('0x44')](handleError(_0x506463,null));};exports[_0xa516('0x27')]=function(_0x359811,_0x522d60){return db[_0xa516('0x2d')][_0xa516('0x4a')]({'where':{'id':_0x359811['params']['id']}})[_0xa516('0x26')](function(_0x453afc){if(_[_0xa516('0x63')](_0x453afc)){throw new ReferenceError(_0xa516('0x64'));}return _0x453afc;})['then'](function(_0xba5360){var _0x20ba3a=_0xba5360[_0xa516('0x4d')];logger['info'](_0xa516('0x65'),_0x20ba3a);if(!_[_0xa516('0x63')](_0xba5360[_0xa516('0x4d')])&&fs['existsSync'](_0x20ba3a)){logger[_0xa516('0x66')](_0xa516('0x67')+_0x20ba3a+_0xa516('0x68'));fs[_0xa516('0x69')](_0x20ba3a);}_0x20ba3a=_0x20ba3a+_0xa516('0x6a');if(!_[_0xa516('0x63')](_0xba5360[_0xa516('0x4d')])&&fs[_0xa516('0x4f')](_0x20ba3a)){logger[_0xa516('0x66')](_0xa516('0x67')+_0x20ba3a+_0xa516('0x68'));fs[_0xa516('0x69')](_0x20ba3a);}return _0xba5360;})['then'](function(_0x29188c){if(!_0x29188c)throw new InternalError();return _0x29188c[_0xa516('0x27')]();})[_0xa516('0x26')](function(){_0x522d60[_0xa516('0x1b')](0xcc)[_0xa516('0x28')]();})['catch'](handleError(_0x522d60,null));};function getBucketslist(_0x4b177e,_0x126777,_0xa06e0a){return new Promise(function(_0x3573f2,_0x408c60){var _0x2821cb=new AWS['S3']({'accessKeyId':_0x126777,'secretAccessKey':_0x4b177e,'region':_0xa06e0a});_0x2821cb[_0xa516('0x6b')]({},function(_0xae0591,_0x579e23){if(_0xae0591){return _0x408c60(_0xae0591);}else{return _0x3573f2(_0x579e23);}});});}function createBucket(_0x12fc23,_0x3b7ca0,_0x30d279,_0x14a662){return new Promise(function(_0x5aa6d7,_0xccb0ae){var _0x51f532=new AWS['S3']({'accessKeyId':_0x3b7ca0,'secretAccessKey':_0x12fc23,'region':_0x30d279});_0x51f532[_0xa516('0x6c')]({'Bucket':_0x14a662},function(_0x5c1731,_0xc2916f){if(_0x5c1731){return _0xccb0ae(_0x5c1731);}else{return _0x5aa6d7(_0xc2916f);}});});}function uploadFile(_0x3bd7c9,_0x5680cf,_0x5724b1,_0x3a4573,_0x1ca123,_0x2735fa){return new Promise(function(_0x43891f,_0x51ef40){var _0x393e6f=new AWS['S3']({'accessKeyId':_0x5680cf,'secretAccessKey':_0x3bd7c9,'region':_0x5724b1});_0x393e6f[_0xa516('0x6d')]({'Bucket':_0x3a4573,'Key':_0x1ca123,'Body':_0x2735fa},function(_0x27782e,_0x16c02b){if(_0x27782e){return _0x51ef40(_0x27782e);}else{return _0x43891f(_0x16c02b);}});});}function startTranscribe(_0xa5c2a2,_0x5bfbe0,_0x2104b6,_0x5e3c3f,_0x1b3d6f,_0x4d65b5){return new Promise(function(_0x47c073,_0x3b3983){var _0xe28a35=new AWS[(_0xa516('0x6e'))]({'accessKeyId':_0x5bfbe0,'secretAccessKey':_0xa5c2a2,'region':_0x2104b6});_0xe28a35[_0xa516('0x6f')]({'TranscriptionJobName':_0x5e3c3f,'LanguageCode':_0x1b3d6f,'Media':{'MediaFileUri':_0x4d65b5}},function(_0x19ccde,_0x4f1ec8){if(_0x19ccde){return _0x3b3983(_0x19ccde);}else{return _0x47c073(_0x4f1ec8);}});});}function transcribe(_0x1ac3b2,_0x6a2faa,_0x92575b,_0xdfcb7f,_0xba8299,_0x22a298,_0x1c8eaf){return new Promise(function(_0x467202,_0x2e3468){var _0x475379={};logger[_0xa516('0x66')](util[_0xa516('0x60')](_0xa516('0x70'),_0x1ac3b2,_0xba8299));return uploadFile(_0x6a2faa,_0x92575b,_0xdfcb7f,_0xba8299,path['basename'](_0x22a298),fs[_0xa516('0x71')](_0x22a298))[_0xa516('0x26')](function(_0x45eb1d){logger[_0xa516('0x66')](util['format'](_0xa516('0x72'),_0x1ac3b2,_0xba8299,_0x45eb1d[_0xa516('0x73')]));_0x475379[_0xa516('0x74')]=_0x45eb1d[_0xa516('0x75')];_0x475379[_0xa516('0x76')]=_0x45eb1d['Location'];logger[_0xa516('0x66')](util[_0xa516('0x60')](_0xa516('0x77'),_0x1ac3b2));return startTranscribe(_0x6a2faa,_0x92575b,_0xdfcb7f,uuidv4(),_0x1c8eaf,_0x45eb1d[_0xa516('0x73')]);})['then'](function(_0x4e17c8){logger[_0xa516('0x66')](util[_0xa516('0x60')](_0xa516('0x78'),_0x1ac3b2,_0x4e17c8[_0xa516('0x79')][_0xa516('0x7a')]));_0x475379[_0xa516('0x7b')]=_0x4e17c8[_0xa516('0x79')][_0xa516('0x7a')];_0x475379['transcribeStatus']=_0x4e17c8[_0xa516('0x79')][_0xa516('0x7c')];return _0x467202(_0x475379);})[_0xa516('0x44')](function(_0x4094d8){return _0x2e3468(_0x4094d8);});});}exports[_0xa516('0x7d')]=function(_0x67bd9a,_0x34add8,_0x51700a){var _0x301dcc;var _0x21e952;var _0xf23d3d;var _0x20b6c9=require(_0xa516('0x5b'));return db['VoiceRecording'][_0xa516('0x7e')]({'where':{'id':_0x67bd9a[_0xa516('0x46')]['id']}})[_0xa516('0x26')](function(_0x3ce074){if(_0x3ce074){var _0xf31b2f=util[_0xa516('0x60')](_0xa516('0x4e'),_0x3ce074[_0xa516('0x4d')]);if(fs[_0xa516('0x4f')](_0xf31b2f)){cypher=!![];return _0x20b6c9['decryptFile'](_0xf31b2f,_0x3ce074['value'],config[_0xa516('0x50')][_0xa516('0x51')])['then'](function(){return _0x3ce074;});}return _0x3ce074;}})[_0xa516('0x26')](function(_0x1b6537){if(!_0x1b6537){throw new db['Sequelize'][(_0xa516('0x62'))]('Voice\x20Recording\x20not\x20found');}_0x21e952=_0x1b6537;return db[_0xa516('0x7f')][_0xa516('0x7e')]({'where':{'id':0x1}});})['then'](handleEntityNotFound(_0x34add8,null))[_0xa516('0x26')](function(_0x110df5){if(_0x110df5){_0x301dcc=_0x110df5;if(!_0x301dcc[_0xa516('0x80')]||!_0x301dcc[_0xa516('0x81')]||!_0x301dcc[_0xa516('0x82')]||!_0x301dcc[_0xa516('0x83')]||!_0x301dcc['bucket']){throw new db[(_0xa516('0x52'))][(_0xa516('0x62'))](_0xa516('0x84'));}if(_0x67bd9a['body'][_0xa516('0x85')]&&(!_0x301dcc['sentiment']||!_0x301dcc['sentimentAccountId']||!_0x301dcc[_0xa516('0x86')]||!_0x301dcc[_0xa516('0x83')]||!_0x301dcc[_0xa516('0x74')])){throw new db[(_0xa516('0x52'))]['ValidationError']('Sentiment\x20Analysis\x20not\x20configured');}return db[_0xa516('0x87')][_0xa516('0x7e')]({'where':{'id':_0x301dcc[_0xa516('0x81')]}});}})[_0xa516('0x26')](function(_0x28981c){if(!_0x28981c){throw new db[(_0xa516('0x52'))]['ValidationError'](_0xa516('0x88'));}if(!_0x28981c[_0xa516('0x89')]||!_0x28981c[_0xa516('0x8a')]){throw new db[(_0xa516('0x52'))][(_0xa516('0x62'))](_0xa516('0x8b'));}_0xf23d3d=_0x28981c;return getBucketslist(_0xf23d3d['data1'],_0xf23d3d[_0xa516('0x8a')],_0x301dcc[_0xa516('0x82')]);})[_0xa516('0x26')](function(_0x5030a2){if(_0x5030a2&&_0x5030a2['Buckets']){var _0x56c57f=_['find'](_0x5030a2[_0xa516('0x8c')],function(_0xd8a84f){return _0xd8a84f[_0xa516('0x8d')]===_0x301dcc[_0xa516('0x74')];});if(!_0x56c57f){logger['info'](util[_0xa516('0x60')](_0xa516('0x8e'),_0x67bd9a[_0xa516('0x46')]['id'],_0x301dcc['bucket']));return createBucket(_0xf23d3d[_0xa516('0x89')],_0xf23d3d['data2'],_0x301dcc[_0xa516('0x82')],_0x301dcc[_0xa516('0x74')]);}logger['info'](util['format'](_0xa516('0x8f'),_0x67bd9a[_0xa516('0x46')]['id'],_0x301dcc[_0xa516('0x74')]));return;}})[_0xa516('0x26')](function(_0x451a82){if(_0x21e952['transcribeStatus']===_0xa516('0x90')){return transcribe(_0x67bd9a[_0xa516('0x46')]['id'],_0xf23d3d[_0xa516('0x89')],_0xf23d3d[_0xa516('0x8a')],_0x301dcc[_0xa516('0x82')],_0x301dcc[_0xa516('0x74')],_0x21e952[_0xa516('0x4d')],_0x301dcc[_0xa516('0x83')]);}else{logger[_0xa516('0x66')](util['format'](_0xa516('0x91'),_0x67bd9a[_0xa516('0x46')]['id']));return{'transcribeStatus':_0xa516('0x92')};}})[_0xa516('0x26')](function(_0x201998){if(_0x201998){_0x201998[_0xa516('0x93')]=_0x67bd9a[_0xa516('0x48')]['runSentiment'];return _0x21e952[_0xa516('0x94')](_0x201998);}})[_0xa516('0x26')](respondWithResult(_0x34add8,null))[_0xa516('0x44')](handleError(_0x34add8,null));};function writeFile(_0x1f3ffd,_0x19ef7a){return new Promise(function(_0x2d7a4c,_0x1671dc){fs[_0xa516('0x95')](_0x19ef7a,_0x1f3ffd,function(_0x427739,_0x58896c){if(_0x427739){return _0x1671dc(_0x427739);}else{return _0x2d7a4c(_0x58896c);}});});}exports[_0xa516('0x96')]=function(_0x4c4699,_0x222fc1,_0x58091c){return db['VoiceRecording'][_0xa516('0x7e')]({'where':{'id':_0x4c4699[_0xa516('0x46')]['id']}})['then'](handleEntityNotFound(_0x222fc1))[_0xa516('0x26')](function(_0x14fee9){if(_0x14fee9&&_0x14fee9[_0xa516('0x97')]){var _0x3a123c=_0x14fee9[_0xa516('0x97')];var _0x19ab2e=config[_0xa516('0x98')]+'/server/files/transcribes/transcribe_'+_0x14fee9['id']+_0xa516('0x99');if(fs[_0xa516('0x4f')](_0x19ab2e)){return _0x19ab2e;}return writeFile(_0x3a123c,_0x19ab2e)['then'](function(){return _0x19ab2e;});}else{throw new db[(_0xa516('0x52'))][(_0xa516('0x62'))](_0xa516('0x9a'));}})['then'](function(_0x2b6598){return _0x222fc1[_0xa516('0x55')](_0x2b6598);})[_0xa516('0x44')](handleError(_0x222fc1));};