Built motion from commit f7863d46.|2.5.41
[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 _0x198a=['data2','Cloud\x20Provider\x20not\x20configured','Buckets','NEW','[RUNTRANSCRIPT][%d]\x20Transcript\x20action\x20already\x20requested','tempSentiment','updateAttributes','writeFile','fileText','root','/server/files/transcribes/transcribe_','.txt','eml-format','rimraf','zip-dir','request-promise','mustache','util','path','sox','ejs','fs-extra','lodash','crypto','desk.js','to-csv','querystring','papaparse','uuid/v4','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','status','end','offset','undefined','limit','count','set','Content-Range','apply','reject','update','then','destroy','sendStatus','error','name','index','VoiceRecording','type','key','model','differenceBy','map','query','filters','intersection','fields','attributes','length','hasOwnProperty','sort','where','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','catch','show','rawAttributes','keys','find','create','body','params','describe','download','../../components/encryptor','uniqueid','value','%s.cypher','decryptFile','recording','existsSync','Sequelize','ValidationError','VoiceRecording\x20not\x20found','filename','unlink','message','send','sequelize','MD5','col','$and','push','format','secrets','Entity\x20not\x20found','cancellazione\x20fisica\x20documento\x20%s','File:\x20\x22','unlinkSync','.cypher','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','listBuckets','createBucket','TranscribeService','info','[RUNTRANSCRIPT][%d]\x20Starting\x20voice\x20recording\x20upload\x20in\x20bucket\x20%s','[RUNTRANSCRIPT][%d]\x20Voice\x20recording\x20uploaded\x20in\x20bucket\x20%s\x20(%s)','Location','bucket','location','[RUNTRANSCRIPT][%d]\x20Sending\x20transcribe\x20request','[RUNTRANSCRIPT][%d]\x20Transcription\x20job\x20%s\x20created','TranscriptionJob','TranscriptionJobName','transcribeName','transcribeStatus','TranscriptionJobStatus','Voice\x20Recording\x20not\x20found','Setting','findOne','transcribe','transcribeAccountId','transcribeRegion','sentiment','sentimentAccountId','sentimentRegion','language','Sentiment\x20Analysis\x20not\x20configured','CloudProvider','Cloud\x20Provider\x20not\x20available','data1'];(function(_0xb43d1b,_0x3935cf){var _0x4aafca=function(_0x3b26d2){while(--_0x3b26d2){_0xb43d1b['push'](_0xb43d1b['shift']());}};_0x4aafca(++_0x3935cf);}(_0x198a,0x1bf));var _0xa198=function(_0x26960e,_0x48107a){_0x26960e=_0x26960e-0x0;var _0x54db4c=_0x198a[_0x26960e];return _0x54db4c;};'use strict';var emlformat=require(_0xa198('0x0'));var rimraf=require(_0xa198('0x1'));var zipdir=require(_0xa198('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xa198('0x3'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0xa198('0x4'));var util=require(_0xa198('0x5'));var path=require(_0xa198('0x6'));var sox=require(_0xa198('0x7'));var csv=require('to-csv');var ejs=require(_0xa198('0x8'));var fs=require('fs');var fs_extra=require(_0xa198('0x9'));var _=require(_0xa198('0xa'));var squel=require('squel');var crypto=require(_0xa198('0xb'));var jsforce=require('jsforce');var deskjs=require(_0xa198('0xc'));var toCsv=require(_0xa198('0xd'));var querystring=require(_0xa198('0xe'));var Papa=require(_0xa198('0xf'));var AWS=require('aws-sdk');var uuidv4=require(_0xa198('0x10'));var Redis=require(_0xa198('0x11'));var authService=require(_0xa198('0x12'));var qs=require('../../components/parsers/qs');var as=require(_0xa198('0x13'));var hardwareService=require(_0xa198('0x14'));var logger=require(_0xa198('0x15'))(_0xa198('0x16'));var utils=require(_0xa198('0x17'));var config=require('../../config/environment');var licenseUtil=require(_0xa198('0x18'));var db=require(_0xa198('0x19'))['db'];function respondWithStatusCode(_0x144d29,_0x2aff1d){_0x2aff1d=_0x2aff1d||0xcc;return function(_0xb3eed8){if(_0xb3eed8){return _0x144d29['sendStatus'](_0x2aff1d);}return _0x144d29[_0xa198('0x1a')](_0x2aff1d)[_0xa198('0x1b')]();};}function respondWithResult(_0x46ee3b,_0x6c7b0d){_0x6c7b0d=_0x6c7b0d||0xc8;return function(_0x5a3edc){if(_0x5a3edc){return _0x46ee3b[_0xa198('0x1a')](_0x6c7b0d)['json'](_0x5a3edc);}};}function respondWithFilteredResult(_0x53b1f7,_0x4eb7e4){return function(_0x48b480){if(_0x48b480){var _0x412f49=typeof _0x4eb7e4[_0xa198('0x1c')]===_0xa198('0x1d')&&typeof _0x4eb7e4[_0xa198('0x1e')]==='undefined';var _0x7ba35f=_0x48b480[_0xa198('0x1f')];var _0xa34076=_0x412f49?0x0:_0x4eb7e4[_0xa198('0x1c')];var _0x3c32c0=_0x412f49?_0x48b480['count']:_0x4eb7e4['offset']+_0x4eb7e4[_0xa198('0x1e')];var _0x2410f4;if(_0x3c32c0>=_0x7ba35f){_0x3c32c0=_0x7ba35f;_0x2410f4=0xc8;}else{_0x2410f4=0xce;}_0x53b1f7[_0xa198('0x1a')](_0x2410f4);return _0x53b1f7[_0xa198('0x20')](_0xa198('0x21'),_0xa34076+'-'+_0x3c32c0+'/'+_0x7ba35f)['json'](_0x48b480);}return null;};}function patchUpdates(_0x12c95c){return function(_0xc7add){try{jsonpatch[_0xa198('0x22')](_0xc7add,_0x12c95c,!![]);}catch(_0x1f7854){return BPromise[_0xa198('0x23')](_0x1f7854);}return _0xc7add['save']();};}function saveUpdates(_0x50d3a1,_0x4a0161){return function(_0x410f3d){if(_0x410f3d){return _0x410f3d[_0xa198('0x24')](_0x50d3a1)[_0xa198('0x25')](function(_0x2db9df){return _0x2db9df;});}return null;};}function removeEntity(_0x3d0d46,_0x3a88de){return function(_0x330c0c){if(_0x330c0c){return _0x330c0c[_0xa198('0x26')]()[_0xa198('0x25')](function(){_0x3d0d46[_0xa198('0x1a')](0xcc)[_0xa198('0x1b')]();});}};}function handleEntityNotFound(_0x335b88,_0x1fc73c){return function(_0x53bdf2){if(!_0x53bdf2){_0x335b88[_0xa198('0x27')](0x194);}return _0x53bdf2;};}function handleError(_0x4daf73,_0x2aeeca){_0x2aeeca=_0x2aeeca||0x1f4;return function(_0x416096){logger[_0xa198('0x28')](_0x416096['stack']);if(_0x416096[_0xa198('0x29')]){delete _0x416096['name'];}_0x4daf73[_0xa198('0x1a')](_0x2aeeca)['send'](_0x416096);};}exports[_0xa198('0x2a')]=function(_0x1afd1a,_0x476eeb){var _0x24591f={},_0x4c0588={},_0x55a6b0={'count':0x0,'rows':[]};var _0x1a1c52=_['map'](db[_0xa198('0x2b')]['rawAttributes'],function(_0x2ae3ea){return{'name':_0x2ae3ea['fieldName'],'type':_0x2ae3ea[_0xa198('0x2c')][_0xa198('0x2d')]};});_0x4c0588[_0xa198('0x2e')]=_[_0xa198('0x2f')](_[_0xa198('0x30')](_0x1a1c52,_0xa198('0x29')),['format']);_0x4c0588[_0xa198('0x31')]=_['keys'](_0x1afd1a['query']);_0x4c0588[_0xa198('0x32')]=_[_0xa198('0x33')](_0x4c0588[_0xa198('0x2e')],_0x4c0588[_0xa198('0x31')]);_0x24591f['attributes']=_[_0xa198('0x33')](_0x4c0588[_0xa198('0x2e')],qs[_0xa198('0x34')](_0x1afd1a[_0xa198('0x31')]['fields']));_0x24591f[_0xa198('0x35')]=_0x24591f[_0xa198('0x35')][_0xa198('0x36')]?_0x24591f[_0xa198('0x35')]:_0x4c0588[_0xa198('0x2e')];if(!_0x1afd1a['query'][_0xa198('0x37')]('nolimit')){_0x24591f[_0xa198('0x1e')]=qs[_0xa198('0x1e')](_0x1afd1a[_0xa198('0x31')][_0xa198('0x1e')]);_0x24591f['offset']=qs[_0xa198('0x1c')](_0x1afd1a[_0xa198('0x31')][_0xa198('0x1c')]);}_0x24591f['order']=qs[_0xa198('0x38')](_0x1afd1a[_0xa198('0x31')][_0xa198('0x38')]);_0x24591f[_0xa198('0x39')]=qs['filters'](_['pick'](_0x1afd1a[_0xa198('0x31')],_0x4c0588['filters']),_0x1a1c52);if(_0x1afd1a['query'][_0xa198('0x3a')]){_0x24591f[_0xa198('0x39')]=_[_0xa198('0x3b')](_0x24591f[_0xa198('0x39')],{'$or':_['map'](_0x1a1c52,function(_0x21cab3){if(_0x21cab3[_0xa198('0x2c')]!==_0xa198('0x3c')){var _0x379d4d={};_0x379d4d[_0x21cab3[_0xa198('0x29')]]={'$like':'%'+_0x1afd1a[_0xa198('0x31')]['filter']+'%'};return _0x379d4d;}})});}_0x24591f=_[_0xa198('0x3b')]({},_0x24591f,_0x1afd1a[_0xa198('0x3d')]);var _0xef2788={'where':_0x24591f[_0xa198('0x39')]};return db[_0xa198('0x2b')][_0xa198('0x1f')](_0xef2788)[_0xa198('0x25')](function(_0x117027){_0x55a6b0[_0xa198('0x1f')]=_0x117027;if(_0x1afd1a[_0xa198('0x31')][_0xa198('0x3e')]){_0x24591f[_0xa198('0x3f')]=[{'all':!![]}];}return db[_0xa198('0x2b')][_0xa198('0x40')](_0x24591f);})[_0xa198('0x25')](function(_0x3c37ed){_0x55a6b0[_0xa198('0x41')]=_0x3c37ed;return _0x55a6b0;})[_0xa198('0x25')](respondWithFilteredResult(_0x476eeb,_0x24591f))[_0xa198('0x42')](handleError(_0x476eeb,null));};exports[_0xa198('0x43')]=function(_0x2611d2,_0x3eb0a5){var _0x4def89={'raw':![],'where':{'id':_0x2611d2['params']['id']}},_0x123b5e={};_0x123b5e[_0xa198('0x2e')]=_['keys'](db[_0xa198('0x2b')][_0xa198('0x44')]);_0x123b5e[_0xa198('0x31')]=_[_0xa198('0x45')](_0x2611d2['query']);_0x123b5e[_0xa198('0x32')]=_[_0xa198('0x33')](_0x123b5e[_0xa198('0x2e')],_0x123b5e[_0xa198('0x31')]);_0x4def89['attributes']=_[_0xa198('0x33')](_0x123b5e[_0xa198('0x2e')],qs[_0xa198('0x34')](_0x2611d2[_0xa198('0x31')][_0xa198('0x34')]));_0x4def89['attributes']=_0x4def89[_0xa198('0x35')][_0xa198('0x36')]?_0x4def89[_0xa198('0x35')]:_0x123b5e[_0xa198('0x2e')];if(_0x2611d2[_0xa198('0x31')][_0xa198('0x3e')]){_0x4def89[_0xa198('0x3f')]=[{'all':!![]}];}_0x4def89=_[_0xa198('0x3b')]({},_0x4def89,_0x2611d2[_0xa198('0x3d')]);return db['VoiceRecording'][_0xa198('0x46')](_0x4def89)[_0xa198('0x25')](handleEntityNotFound(_0x3eb0a5,null))[_0xa198('0x25')](respondWithResult(_0x3eb0a5,null))[_0xa198('0x42')](handleError(_0x3eb0a5,null));};exports[_0xa198('0x47')]=function(_0x2b9c42,_0x407e18){return db[_0xa198('0x2b')][_0xa198('0x47')](_0x2b9c42[_0xa198('0x48')],{})[_0xa198('0x25')](respondWithResult(_0x407e18,0xc9))['catch'](handleError(_0x407e18,null));};exports['update']=function(_0x13e717,_0x2bafd4){if(_0x13e717[_0xa198('0x48')]['id']){delete _0x13e717[_0xa198('0x48')]['id'];}return db[_0xa198('0x2b')]['find']({'where':{'id':_0x13e717[_0xa198('0x49')]['id']}})[_0xa198('0x25')](handleEntityNotFound(_0x2bafd4,null))['then'](saveUpdates(_0x13e717['body'],null))[_0xa198('0x25')](respondWithResult(_0x2bafd4,null))['catch'](handleError(_0x2bafd4,null));};exports[_0xa198('0x4a')]=function(_0x3264c7,_0x87abcb){return db[_0xa198('0x2b')]['describe']()['then'](respondWithResult(_0x87abcb,null))[_0xa198('0x42')](handleError(_0x87abcb,null));};exports[_0xa198('0x4b')]=function(_0xdfd1c2,_0x31f2f9,_0x17309){var _0x5a7d4e=require(_0xa198('0x4c'));var _0x4000c5=![];var _0x2815c1={};if(_0xdfd1c2[_0xa198('0x31')]['type']&&_0xdfd1c2[_0xa198('0x31')]['type']==='uniqueid'){_0x2815c1[_0xa198('0x4d')]=_0xdfd1c2[_0xa198('0x49')]['id'];}else{_0x2815c1['id']=_0xdfd1c2[_0xa198('0x49')]['id'];}return db[_0xa198('0x2b')][_0xa198('0x46')]({'where':_0x2815c1,'attributes':['id',_0xa198('0x4e')],'raw':!![]})[_0xa198('0x25')](handleEntityNotFound(_0x31f2f9,null))[_0xa198('0x25')](function(_0x3bc4a0){if(_0x3bc4a0){var _0xe0b904=_0x3bc4a0[_0xa198('0x4e')];var _0x411131=util['format'](_0xa198('0x4f'),_0xe0b904);if(fs['existsSync'](_0x411131)){_0x4000c5=!![];return _0x5a7d4e[_0xa198('0x50')](_0x411131,_0xe0b904,config['secrets'][_0xa198('0x51')])[_0xa198('0x25')](function(){return _0x3bc4a0;});}return _0x3bc4a0;}})[_0xa198('0x25')](function(_0xe374e7){if(_0xe374e7){var _0x593707=_0xe374e7['value'];if(!fs[_0xa198('0x52')](_0x593707)){throw new db[(_0xa198('0x53'))][(_0xa198('0x54'))](_0xa198('0x55'));}if(_0xe374e7[_0xa198('0x56')]){return _0x31f2f9[_0xa198('0x4b')](_0x593707,_0xe374e7[_0xa198('0x56')]+path['extname'](_0x593707),function(){if(_0x4000c5){fs[_0xa198('0x57')](_0x593707);}});}else{return _0x31f2f9[_0xa198('0x4b')](_0x593707,function(_0x30234c){if(_0x4000c5){fs[_0xa198('0x57')](_0x593707);}});}}})[_0xa198('0x42')](function(_0x5f2e88){if(_0x5f2e88[_0xa198('0x58')]===_0xa198('0x55')){_0x31f2f9[_0xa198('0x1a')](0x194)[_0xa198('0x59')]('Not\x20found');}else{return handleError(_0x31f2f9,null);}});};exports['downloads']=function(_0x18373e,_0x22b867,_0xb94972){var _0xcdfa9f=require(_0xa198('0x4c'));var _0x473764=![];var _0x382b00={'$and':[db[_0xa198('0x5a')][_0xa198('0x39')](db['sequelize']['fn'](_0xa198('0x5b'),db['sequelize'][_0xa198('0x5c')](_0xa198('0x4d'))),_0x18373e['query']['token'])]};if(_0x18373e[_0xa198('0x31')][_0xa198('0x2c')]&&_0x18373e[_0xa198('0x31')]['type']===_0xa198('0x4d')){_0x382b00[_0xa198('0x5d')][_0xa198('0x5e')]({'uniqueid':_0x18373e[_0xa198('0x49')]['id']});}else{_0x382b00['$and']['push']({'id':_0x18373e[_0xa198('0x49')]['id']});}return db[_0xa198('0x2b')][_0xa198('0x46')]({'where':_0x382b00,'attributes':['id',_0xa198('0x4e')],'raw':!![]})[_0xa198('0x25')](handleEntityNotFound(_0x22b867,null))[_0xa198('0x25')](function(_0xa04413){if(_0xa04413){var _0x5b6b41=util[_0xa198('0x5f')]('%s.cypher',_0xa04413['value']);if(fs[_0xa198('0x52')](_0x5b6b41)){_0x473764=!![];return _0xcdfa9f[_0xa198('0x50')](_0x5b6b41,_0xa04413[_0xa198('0x4e')],config[_0xa198('0x60')][_0xa198('0x51')])[_0xa198('0x25')](function(){return _0xa04413;});}return _0xa04413;}})['then'](function(_0x3df8ce){if(_0x3df8ce){if(!fs['existsSync'](_0x3df8ce[_0xa198('0x4e')])){throw new db[(_0xa198('0x53'))][(_0xa198('0x54'))](_0xa198('0x55'));}if(_0x3df8ce[_0xa198('0x56')]){return _0x22b867[_0xa198('0x4b')](_0x3df8ce['value'],_0x3df8ce[_0xa198('0x56')]+path['extname'](_0x3df8ce[_0xa198('0x4e')]),function(){if(_0x473764){fs['unlink'](_0x3df8ce['value']);}});}else{return _0x22b867[_0xa198('0x4b')](_0x3df8ce[_0xa198('0x4e')],function(_0x1f323e){if(_0x473764){fs['unlink'](_0x3df8ce[_0xa198('0x4e')]);}});}}})[_0xa198('0x42')](handleError(_0x22b867,null));};exports['destroy']=function(_0x18df30,_0x334726){return db[_0xa198('0x2b')][_0xa198('0x46')]({'where':{'id':_0x18df30['params']['id']}})['then'](function(_0x2f3986){if(_['isNil'](_0x2f3986)){throw new ReferenceError(_0xa198('0x61'));}return _0x2f3986;})[_0xa198('0x25')](function(_0x2a33c9){var _0x5673f2=_0x2a33c9[_0xa198('0x4e')];logger['info'](_0xa198('0x62'),_0x5673f2);if(!_['isNil'](_0x2a33c9[_0xa198('0x4e')])&&fs[_0xa198('0x52')](_0x5673f2)){logger['info'](_0xa198('0x63')+_0x5673f2+'\x22\x20trovato\x20eseguo\x20la\x20cancellazione');fs[_0xa198('0x64')](_0x5673f2);}_0x5673f2=_0x5673f2+_0xa198('0x65');if(!_['isNil'](_0x2a33c9[_0xa198('0x4e')])&&fs['existsSync'](_0x5673f2)){logger['info'](_0xa198('0x63')+_0x5673f2+_0xa198('0x66'));fs[_0xa198('0x64')](_0x5673f2);}return _0x2a33c9;})[_0xa198('0x25')](function(_0x5d51bf){if(!_0x5d51bf)throw new InternalError();return _0x5d51bf[_0xa198('0x26')]();})[_0xa198('0x25')](function(){_0x334726['status'](0xcc)[_0xa198('0x1b')]();})['catch'](handleError(_0x334726,null));};function getBucketslist(_0x5aee1a,_0x289957,_0x1a4e88){return new Promise(function(_0x266c34,_0x3f8091){var _0x5e5a71=new AWS['S3']({'accessKeyId':_0x289957,'secretAccessKey':_0x5aee1a,'region':_0x1a4e88});_0x5e5a71[_0xa198('0x67')]({},function(_0x4a02dd,_0x47d19a){if(_0x4a02dd){return _0x3f8091(_0x4a02dd);}else{return _0x266c34(_0x47d19a);}});});}function createBucket(_0x2349d6,_0x5a3054,_0x2555de,_0xe628fe){return new Promise(function(_0x4cc92d,_0xf382cb){var _0x2c04fa=new AWS['S3']({'accessKeyId':_0x5a3054,'secretAccessKey':_0x2349d6,'region':_0x2555de});_0x2c04fa[_0xa198('0x68')]({'Bucket':_0xe628fe},function(_0x45c29b,_0x39bf09){if(_0x45c29b){return _0xf382cb(_0x45c29b);}else{return _0x4cc92d(_0x39bf09);}});});}function uploadFile(_0x4e404c,_0x1dc37f,_0x46c2fc,_0x163f62,_0x45f7b0,_0xa2b2ec){return new Promise(function(_0x2596b4,_0x20c5c){var _0x136ab8=new AWS['S3']({'accessKeyId':_0x1dc37f,'secretAccessKey':_0x4e404c,'region':_0x46c2fc});_0x136ab8['upload']({'Bucket':_0x163f62,'Key':_0x45f7b0,'Body':_0xa2b2ec},function(_0x31c388,_0x49e043){if(_0x31c388){return _0x20c5c(_0x31c388);}else{return _0x2596b4(_0x49e043);}});});}function startTranscribe(_0x397137,_0x2326ea,_0x555431,_0x12e800,_0x401636,_0x8130bf){return new Promise(function(_0x27cbca,_0xcebe08){var _0x400b6c=new AWS[(_0xa198('0x69'))]({'accessKeyId':_0x2326ea,'secretAccessKey':_0x397137,'region':_0x555431});_0x400b6c['startTranscriptionJob']({'TranscriptionJobName':_0x12e800,'LanguageCode':_0x401636,'Media':{'MediaFileUri':_0x8130bf}},function(_0x1cdb82,_0xc85223){if(_0x1cdb82){return _0xcebe08(_0x1cdb82);}else{return _0x27cbca(_0xc85223);}});});}function transcribe(_0x1aa1bf,_0x4a95b7,_0x25060e,_0x1149bb,_0x37a496,_0x29f373,_0x5a88ca){return new Promise(function(_0x3212c4,_0x108e97){var _0x66258={};logger[_0xa198('0x6a')](util['format'](_0xa198('0x6b'),_0x1aa1bf,_0x37a496));return uploadFile(_0x4a95b7,_0x25060e,_0x1149bb,_0x37a496,path['basename'](_0x29f373),fs['readFileSync'](_0x29f373))[_0xa198('0x25')](function(_0x3f2dc3){logger[_0xa198('0x6a')](util['format'](_0xa198('0x6c'),_0x1aa1bf,_0x37a496,_0x3f2dc3[_0xa198('0x6d')]));_0x66258[_0xa198('0x6e')]=_0x3f2dc3['Bucket'];_0x66258[_0xa198('0x6f')]=_0x3f2dc3[_0xa198('0x6d')];logger[_0xa198('0x6a')](util[_0xa198('0x5f')](_0xa198('0x70'),_0x1aa1bf));return startTranscribe(_0x4a95b7,_0x25060e,_0x1149bb,uuidv4(),_0x5a88ca,_0x3f2dc3[_0xa198('0x6d')]);})[_0xa198('0x25')](function(_0x46a12d){logger[_0xa198('0x6a')](util[_0xa198('0x5f')](_0xa198('0x71'),_0x1aa1bf,_0x46a12d[_0xa198('0x72')][_0xa198('0x73')]));_0x66258[_0xa198('0x74')]=_0x46a12d[_0xa198('0x72')][_0xa198('0x73')];_0x66258[_0xa198('0x75')]=_0x46a12d[_0xa198('0x72')][_0xa198('0x76')];return _0x3212c4(_0x66258);})['catch'](function(_0x3d8b43){return _0x108e97(_0x3d8b43);});});}exports['runTranscribe']=function(_0x43ab0d,_0x2161b0,_0x4a16e1){var _0x5494a0;var _0x4dfc0c;var _0x3b02e3;var _0x7de511=require(_0xa198('0x4c'));return db[_0xa198('0x2b')]['findOne']({'where':{'id':_0x43ab0d[_0xa198('0x49')]['id']}})['then'](function(_0x1a7e1b){if(_0x1a7e1b){var _0x4b2efa=util[_0xa198('0x5f')]('%s.cypher',_0x1a7e1b[_0xa198('0x4e')]);if(fs[_0xa198('0x52')](_0x4b2efa)){cypher=!![];return _0x7de511['decryptFile'](_0x4b2efa,_0x1a7e1b[_0xa198('0x4e')],config['secrets']['recording'])[_0xa198('0x25')](function(){return _0x1a7e1b;});}return _0x1a7e1b;}})[_0xa198('0x25')](function(_0x3fde2d){if(!_0x3fde2d){throw new db[(_0xa198('0x53'))][(_0xa198('0x54'))](_0xa198('0x77'));}_0x4dfc0c=_0x3fde2d;return db[_0xa198('0x78')][_0xa198('0x79')]({'where':{'id':0x1}});})[_0xa198('0x25')](handleEntityNotFound(_0x2161b0,null))[_0xa198('0x25')](function(_0x52387e){if(_0x52387e){_0x5494a0=_0x52387e;if(!_0x5494a0[_0xa198('0x7a')]||!_0x5494a0[_0xa198('0x7b')]||!_0x5494a0[_0xa198('0x7c')]||!_0x5494a0['language']||!_0x5494a0[_0xa198('0x6e')]){throw new db[(_0xa198('0x53'))][(_0xa198('0x54'))]('Transcribe\x20not\x20configured');}if(_0x43ab0d[_0xa198('0x48')]['runSentiment']&&(!_0x5494a0[_0xa198('0x7d')]||!_0x5494a0[_0xa198('0x7e')]||!_0x5494a0[_0xa198('0x7f')]||!_0x5494a0[_0xa198('0x80')]||!_0x5494a0[_0xa198('0x6e')])){throw new db['Sequelize'][(_0xa198('0x54'))](_0xa198('0x81'));}return db[_0xa198('0x82')]['findOne']({'where':{'id':_0x5494a0[_0xa198('0x7b')]}});}})[_0xa198('0x25')](function(_0x574465){if(!_0x574465){throw new db['Sequelize'][(_0xa198('0x54'))](_0xa198('0x83'));}if(!_0x574465[_0xa198('0x84')]||!_0x574465[_0xa198('0x85')]){throw new db[(_0xa198('0x53'))][(_0xa198('0x54'))](_0xa198('0x86'));}_0x3b02e3=_0x574465;return getBucketslist(_0x3b02e3[_0xa198('0x84')],_0x3b02e3[_0xa198('0x85')],_0x5494a0['transcribeRegion']);})['then'](function(_0xa24aa0){if(_0xa24aa0&&_0xa24aa0[_0xa198('0x87')]){var _0x4b25b=_['find'](_0xa24aa0[_0xa198('0x87')],function(_0x1246dc){return _0x1246dc['Name']===_0x5494a0['bucket'];});if(!_0x4b25b){logger[_0xa198('0x6a')](util[_0xa198('0x5f')]('[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20not\x20available',_0x43ab0d[_0xa198('0x49')]['id'],_0x5494a0['bucket']));return createBucket(_0x3b02e3['data1'],_0x3b02e3[_0xa198('0x85')],_0x5494a0['transcribeRegion'],_0x5494a0['bucket']);}logger[_0xa198('0x6a')](util[_0xa198('0x5f')]('[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20available',_0x43ab0d['params']['id'],_0x5494a0[_0xa198('0x6e')]));return;}})[_0xa198('0x25')](function(_0x4b8fba){if(_0x4dfc0c[_0xa198('0x75')]===_0xa198('0x88')){return transcribe(_0x43ab0d['params']['id'],_0x3b02e3[_0xa198('0x84')],_0x3b02e3['data2'],_0x5494a0[_0xa198('0x7c')],_0x5494a0['bucket'],_0x4dfc0c[_0xa198('0x4e')],_0x5494a0[_0xa198('0x80')]);}else{logger[_0xa198('0x6a')](util[_0xa198('0x5f')](_0xa198('0x89'),_0x43ab0d[_0xa198('0x49')]['id']));return{'transcribeStatus':'IN_PROGRESS'};}})[_0xa198('0x25')](function(_0x9f64d9){if(_0x9f64d9){_0x9f64d9[_0xa198('0x8a')]=_0x43ab0d['body']['runSentiment'];return _0x4dfc0c[_0xa198('0x8b')](_0x9f64d9);}})['then'](respondWithResult(_0x2161b0,null))[_0xa198('0x42')](handleError(_0x2161b0,null));};function writeFile(_0x8fa523,_0x309419){return new Promise(function(_0x76af30,_0x2bc2d1){fs[_0xa198('0x8c')](_0x309419,_0x8fa523,function(_0x288a9c,_0x3c59ec){if(_0x288a9c){return _0x2bc2d1(_0x288a9c);}else{return _0x76af30(_0x3c59ec);}});});}exports['downloadTranscribe']=function(_0x331dc9,_0x52649d,_0x58dab6){return db['VoiceRecording'][_0xa198('0x79')]({'where':{'id':_0x331dc9[_0xa198('0x49')]['id']}})[_0xa198('0x25')](handleEntityNotFound(_0x52649d))[_0xa198('0x25')](function(_0x44d184){if(_0x44d184&&_0x44d184['fileText']){var _0x6a797=_0x44d184[_0xa198('0x8d')];var _0x4a076e=config[_0xa198('0x8e')]+_0xa198('0x8f')+_0x44d184['id']+_0xa198('0x90');if(fs['existsSync'](_0x4a076e)){return _0x4a076e;}return writeFile(_0x6a797,_0x4a076e)[_0xa198('0x25')](function(){return _0x4a076e;});}else{throw new db[(_0xa198('0x53'))][(_0xa198('0x54'))]('Transcript\x20not\x20available');}})[_0xa198('0x25')](function(_0x3a000c){return _0x52649d[_0xa198('0x4b')](_0x3a000c);})[_0xa198('0x42')](handleError(_0x52649d));};