Built motion from commit 9d0783e6.|2.6.13
[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 _0x23a6=['IN_PROGRESS','tempSentiment','updateAttributes','writeFile','fileText','/server/files/transcribes/transcribe_','.txt','eml-format','rimraf','request-promise','moment','sox','to-csv','fs-extra','crypto','jsforce','desk.js','querystring','aws-sdk','uuid/v4','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','sendStatus','status','end','json','undefined','limit','offset','set','Content-Range','reject','save','update','then','destroy','error','name','index','map','VoiceRecording','rawAttributes','key','differenceBy','format','query','keys','filters','model','attributes','intersection','fields','length','hasOwnProperty','order','sort','filter','where','merge','type','VIRTUAL','options','count','include','findAll','rows','catch','show','params','includeAll','find','create','body','describe','download','uniqueid','value','%s.cypher','existsSync','decryptFile','secrets','recording','Sequelize','filename','extname','unlink','VoiceRecording\x20not\x20found','send','Not\x20found','downloads','../../components/encryptor','sequelize','MD5','col','token','$and','ValidationError','info','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','.cypher','isNil','unlinkSync','listBuckets','createBucket','upload','TranscribeService','[RUNTRANSCRIPT][%d]\x20Starting\x20voice\x20recording\x20upload\x20in\x20bucket\x20%s','basename','readFileSync','Location','bucket','Bucket','location','[RUNTRANSCRIPT][%d]\x20Transcription\x20job\x20%s\x20created','TranscriptionJob','transcribeName','TranscriptionJobName','transcribeStatus','TranscriptionJobStatus','runTranscribe','findOne','Voice\x20Recording\x20not\x20found','Setting','transcribeRegion','language','Transcribe\x20not\x20configured','runSentiment','sentiment','Sentiment\x20Analysis\x20not\x20configured','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'];(function(_0x42312b,_0x47966e){var _0x2da5f1=function(_0x5e1349){while(--_0x5e1349){_0x42312b['push'](_0x42312b['shift']());}};_0x2da5f1(++_0x47966e);}(_0x23a6,0x12d));var _0x623a=function(_0x38dd99,_0x3f8708){_0x38dd99=_0x38dd99-0x0;var _0x8bb3c8=_0x23a6[_0x38dd99];return _0x8bb3c8;};'use strict';var emlformat=require(_0x623a('0x0'));var rimraf=require(_0x623a('0x1'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0x623a('0x2'));var moment=require(_0x623a('0x3'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require('util');var path=require('path');var sox=require(_0x623a('0x4'));var csv=require(_0x623a('0x5'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x623a('0x6'));var _=require('lodash');var squel=require('squel');var crypto=require(_0x623a('0x7'));var jsforce=require(_0x623a('0x8'));var deskjs=require(_0x623a('0x9'));var toCsv=require(_0x623a('0x5'));var querystring=require(_0x623a('0xa'));var Papa=require('papaparse');var AWS=require(_0x623a('0xb'));var uuidv4=require(_0x623a('0xc'));var Redis=require(_0x623a('0xd'));var authService=require(_0x623a('0xe'));var qs=require(_0x623a('0xf'));var as=require(_0x623a('0x10'));var hardwareService=require(_0x623a('0x11'));var logger=require(_0x623a('0x12'))('api');var utils=require(_0x623a('0x13'));var config=require(_0x623a('0x14'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x4fce49,_0x614274){_0x614274=_0x614274||0xcc;return function(_0x4ffe08){if(_0x4ffe08){return _0x4fce49[_0x623a('0x15')](_0x614274);}return _0x4fce49[_0x623a('0x16')](_0x614274)[_0x623a('0x17')]();};}function respondWithResult(_0x5c886c,_0x416872){_0x416872=_0x416872||0xc8;return function(_0x53b88d){if(_0x53b88d){return _0x5c886c[_0x623a('0x16')](_0x416872)[_0x623a('0x18')](_0x53b88d);}};}function respondWithFilteredResult(_0x3e0f74,_0x3a396f){return function(_0x3cf540){if(_0x3cf540){var _0x4a6212=typeof _0x3a396f['offset']===_0x623a('0x19')&&typeof _0x3a396f[_0x623a('0x1a')]===_0x623a('0x19');var _0x41ee07=_0x3cf540['count'];var _0x365576=_0x4a6212?0x0:_0x3a396f['offset'];var _0x1be52b=_0x4a6212?_0x3cf540['count']:_0x3a396f[_0x623a('0x1b')]+_0x3a396f[_0x623a('0x1a')];var _0x38735b;if(_0x1be52b>=_0x41ee07){_0x1be52b=_0x41ee07;_0x38735b=0xc8;}else{_0x38735b=0xce;}_0x3e0f74['status'](_0x38735b);return _0x3e0f74[_0x623a('0x1c')](_0x623a('0x1d'),_0x365576+'-'+_0x1be52b+'/'+_0x41ee07)['json'](_0x3cf540);}return null;};}function patchUpdates(_0x8b7120){return function(_0x56f43e){try{jsonpatch['apply'](_0x56f43e,_0x8b7120,!![]);}catch(_0x1ca90c){return BPromise[_0x623a('0x1e')](_0x1ca90c);}return _0x56f43e[_0x623a('0x1f')]();};}function saveUpdates(_0x43be90,_0x5885a0){return function(_0x158931){if(_0x158931){return _0x158931[_0x623a('0x20')](_0x43be90)[_0x623a('0x21')](function(_0x2dd061){return _0x2dd061;});}return null;};}function removeEntity(_0xf9072b,_0x1452e6){return function(_0x689421){if(_0x689421){return _0x689421[_0x623a('0x22')]()[_0x623a('0x21')](function(){_0xf9072b[_0x623a('0x16')](0xcc)[_0x623a('0x17')]();});}};}function handleEntityNotFound(_0xd94985,_0xf86d8b){return function(_0x3191ea){if(!_0x3191ea){_0xd94985[_0x623a('0x15')](0x194);}return _0x3191ea;};}function handleError(_0x3b9eba,_0xcd4a95){_0xcd4a95=_0xcd4a95||0x1f4;return function(_0x2cdf6e){logger[_0x623a('0x23')](_0x2cdf6e['stack']);if(_0x2cdf6e[_0x623a('0x24')]){delete _0x2cdf6e[_0x623a('0x24')];}_0x3b9eba[_0x623a('0x16')](_0xcd4a95)['send'](_0x2cdf6e);};}exports[_0x623a('0x25')]=function(_0x29e28a,_0x430255){var _0x200a05={},_0x1e0325={},_0x3cc1ca={'count':0x0,'rows':[]};var _0x183f03=_[_0x623a('0x26')](db[_0x623a('0x27')][_0x623a('0x28')],function(_0x13d166){return{'name':_0x13d166['fieldName'],'type':_0x13d166['type'][_0x623a('0x29')]};});_0x1e0325['model']=_[_0x623a('0x2a')](_[_0x623a('0x26')](_0x183f03,_0x623a('0x24')),[_0x623a('0x2b')]);_0x1e0325[_0x623a('0x2c')]=_[_0x623a('0x2d')](_0x29e28a['query']);_0x1e0325[_0x623a('0x2e')]=_['intersection'](_0x1e0325[_0x623a('0x2f')],_0x1e0325['query']);_0x200a05[_0x623a('0x30')]=_[_0x623a('0x31')](_0x1e0325[_0x623a('0x2f')],qs[_0x623a('0x32')](_0x29e28a[_0x623a('0x2c')][_0x623a('0x32')]));_0x200a05[_0x623a('0x30')]=_0x200a05['attributes'][_0x623a('0x33')]?_0x200a05['attributes']:_0x1e0325[_0x623a('0x2f')];if(!_0x29e28a[_0x623a('0x2c')][_0x623a('0x34')]('nolimit')){_0x200a05['limit']=qs['limit'](_0x29e28a[_0x623a('0x2c')][_0x623a('0x1a')]);_0x200a05['offset']=qs[_0x623a('0x1b')](_0x29e28a[_0x623a('0x2c')][_0x623a('0x1b')]);}_0x200a05[_0x623a('0x35')]=qs[_0x623a('0x36')](_0x29e28a[_0x623a('0x2c')][_0x623a('0x36')]);_0x200a05['where']=qs[_0x623a('0x2e')](_['pick'](_0x29e28a[_0x623a('0x2c')],_0x1e0325['filters']),_0x183f03);if(_0x29e28a[_0x623a('0x2c')][_0x623a('0x37')]){_0x200a05[_0x623a('0x38')]=_[_0x623a('0x39')](_0x200a05['where'],{'$or':_[_0x623a('0x26')](_0x183f03,function(_0x875f2d){if(_0x875f2d[_0x623a('0x3a')]!==_0x623a('0x3b')){var _0x13a0ee={};_0x13a0ee[_0x875f2d[_0x623a('0x24')]]={'$like':'%'+_0x29e28a[_0x623a('0x2c')]['filter']+'%'};return _0x13a0ee;}})});}_0x200a05=_['merge']({},_0x200a05,_0x29e28a[_0x623a('0x3c')]);var _0x2ef8c8={'where':_0x200a05[_0x623a('0x38')]};return db[_0x623a('0x27')][_0x623a('0x3d')](_0x2ef8c8)[_0x623a('0x21')](function(_0x1e892f){_0x3cc1ca['count']=_0x1e892f;if(_0x29e28a[_0x623a('0x2c')]['includeAll']){_0x200a05[_0x623a('0x3e')]=[{'all':!![]}];}return db[_0x623a('0x27')][_0x623a('0x3f')](_0x200a05);})['then'](function(_0x441c5d){_0x3cc1ca[_0x623a('0x40')]=_0x441c5d;return _0x3cc1ca;})[_0x623a('0x21')](respondWithFilteredResult(_0x430255,_0x200a05))[_0x623a('0x41')](handleError(_0x430255,null));};exports[_0x623a('0x42')]=function(_0x4b8c90,_0x3d5d08){var _0x4e9090={'raw':![],'where':{'id':_0x4b8c90[_0x623a('0x43')]['id']}},_0x20082b={};_0x20082b['model']=_[_0x623a('0x2d')](db[_0x623a('0x27')][_0x623a('0x28')]);_0x20082b[_0x623a('0x2c')]=_['keys'](_0x4b8c90[_0x623a('0x2c')]);_0x20082b['filters']=_['intersection'](_0x20082b[_0x623a('0x2f')],_0x20082b[_0x623a('0x2c')]);_0x4e9090[_0x623a('0x30')]=_['intersection'](_0x20082b[_0x623a('0x2f')],qs[_0x623a('0x32')](_0x4b8c90[_0x623a('0x2c')][_0x623a('0x32')]));_0x4e9090[_0x623a('0x30')]=_0x4e9090['attributes']['length']?_0x4e9090['attributes']:_0x20082b[_0x623a('0x2f')];if(_0x4b8c90[_0x623a('0x2c')][_0x623a('0x44')]){_0x4e9090[_0x623a('0x3e')]=[{'all':!![]}];}_0x4e9090=_['merge']({},_0x4e9090,_0x4b8c90[_0x623a('0x3c')]);return db[_0x623a('0x27')][_0x623a('0x45')](_0x4e9090)[_0x623a('0x21')](handleEntityNotFound(_0x3d5d08,null))[_0x623a('0x21')](respondWithResult(_0x3d5d08,null))['catch'](handleError(_0x3d5d08,null));};exports[_0x623a('0x46')]=function(_0x5d29d8,_0x547134){return db[_0x623a('0x27')][_0x623a('0x46')](_0x5d29d8[_0x623a('0x47')],{})[_0x623a('0x21')](respondWithResult(_0x547134,0xc9))[_0x623a('0x41')](handleError(_0x547134,null));};exports[_0x623a('0x20')]=function(_0x327e3f,_0x54c57e){if(_0x327e3f['body']['id']){delete _0x327e3f[_0x623a('0x47')]['id'];}return db[_0x623a('0x27')][_0x623a('0x45')]({'where':{'id':_0x327e3f['params']['id']}})[_0x623a('0x21')](handleEntityNotFound(_0x54c57e,null))[_0x623a('0x21')](saveUpdates(_0x327e3f[_0x623a('0x47')],null))[_0x623a('0x21')](respondWithResult(_0x54c57e,null))[_0x623a('0x41')](handleError(_0x54c57e,null));};exports['describe']=function(_0x5a328b,_0x51138e){return db[_0x623a('0x27')][_0x623a('0x48')]()['then'](respondWithResult(_0x51138e,null))[_0x623a('0x41')](handleError(_0x51138e,null));};exports[_0x623a('0x49')]=function(_0xc8d187,_0x116471,_0x5564d6){var _0x26043b=require('../../components/encryptor');var _0x48c89c=![];var _0x38e3bc={};if(_0xc8d187[_0x623a('0x2c')][_0x623a('0x3a')]&&_0xc8d187['query']['type']===_0x623a('0x4a')){_0x38e3bc[_0x623a('0x4a')]=_0xc8d187[_0x623a('0x43')]['id'];}else{_0x38e3bc['id']=_0xc8d187[_0x623a('0x43')]['id'];}return db[_0x623a('0x27')]['find']({'where':_0x38e3bc,'attributes':['id',_0x623a('0x4b')],'raw':!![]})[_0x623a('0x21')](handleEntityNotFound(_0x116471,null))[_0x623a('0x21')](function(_0x58bd74){if(_0x58bd74){var _0x50a214=_0x58bd74['value'];var _0x2f8ff4=util[_0x623a('0x2b')](_0x623a('0x4c'),_0x50a214);if(fs[_0x623a('0x4d')](_0x2f8ff4)){_0x48c89c=!![];return _0x26043b[_0x623a('0x4e')](_0x2f8ff4,_0x50a214,config[_0x623a('0x4f')][_0x623a('0x50')])[_0x623a('0x21')](function(){return _0x58bd74;});}return _0x58bd74;}})['then'](function(_0x2b4caf){if(_0x2b4caf){var _0x82acc9=_0x2b4caf[_0x623a('0x4b')];if(!fs[_0x623a('0x4d')](_0x82acc9)){throw new db[(_0x623a('0x51'))]['ValidationError']('VoiceRecording\x20not\x20found');}if(_0x2b4caf[_0x623a('0x52')]){return _0x116471[_0x623a('0x49')](_0x82acc9,_0x2b4caf[_0x623a('0x52')]+path[_0x623a('0x53')](_0x82acc9),function(){if(_0x48c89c){fs[_0x623a('0x54')](_0x82acc9);}});}else{return _0x116471['download'](_0x82acc9,function(_0x3a888f){if(_0x48c89c){fs['unlink'](_0x82acc9);}});}}})[_0x623a('0x41')](function(_0x164700){if(_0x164700['message']===_0x623a('0x55')){_0x116471[_0x623a('0x16')](0x194)[_0x623a('0x56')](_0x623a('0x57'));}else{return handleError(_0x116471,null);}});};exports[_0x623a('0x58')]=function(_0x36e3b0,_0x12f2c7,_0x718e9){var _0xd925bf=require(_0x623a('0x59'));var _0x428790=![];var _0x2b5e87={'$and':[db[_0x623a('0x5a')][_0x623a('0x38')](db[_0x623a('0x5a')]['fn'](_0x623a('0x5b'),db[_0x623a('0x5a')][_0x623a('0x5c')]('uniqueid')),_0x36e3b0[_0x623a('0x2c')][_0x623a('0x5d')])]};if(_0x36e3b0[_0x623a('0x2c')][_0x623a('0x3a')]&&_0x36e3b0[_0x623a('0x2c')][_0x623a('0x3a')]===_0x623a('0x4a')){_0x2b5e87['$and']['push']({'uniqueid':_0x36e3b0[_0x623a('0x43')]['id']});}else{_0x2b5e87[_0x623a('0x5e')]['push']({'id':_0x36e3b0['params']['id']});}return db[_0x623a('0x27')][_0x623a('0x45')]({'where':_0x2b5e87,'attributes':['id',_0x623a('0x4b')],'raw':!![]})[_0x623a('0x21')](handleEntityNotFound(_0x12f2c7,null))['then'](function(_0x320f06){if(_0x320f06){var _0xa98874=util[_0x623a('0x2b')](_0x623a('0x4c'),_0x320f06[_0x623a('0x4b')]);if(fs[_0x623a('0x4d')](_0xa98874)){_0x428790=!![];return _0xd925bf[_0x623a('0x4e')](_0xa98874,_0x320f06['value'],config['secrets'][_0x623a('0x50')])[_0x623a('0x21')](function(){return _0x320f06;});}return _0x320f06;}})['then'](function(_0x326dbf){if(_0x326dbf){if(!fs['existsSync'](_0x326dbf[_0x623a('0x4b')])){throw new db['Sequelize'][(_0x623a('0x5f'))](_0x623a('0x55'));}if(_0x326dbf[_0x623a('0x52')]){return _0x12f2c7[_0x623a('0x49')](_0x326dbf['value'],_0x326dbf[_0x623a('0x52')]+path[_0x623a('0x53')](_0x326dbf[_0x623a('0x4b')]),function(){if(_0x428790){fs[_0x623a('0x54')](_0x326dbf[_0x623a('0x4b')]);}});}else{return _0x12f2c7[_0x623a('0x49')](_0x326dbf[_0x623a('0x4b')],function(_0x2d5662){if(_0x428790){fs[_0x623a('0x54')](_0x326dbf[_0x623a('0x4b')]);}});}}})[_0x623a('0x41')](handleError(_0x12f2c7,null));};exports[_0x623a('0x22')]=function(_0x500606,_0x42a0cc){return db[_0x623a('0x27')][_0x623a('0x45')]({'where':{'id':_0x500606[_0x623a('0x43')]['id']}})[_0x623a('0x21')](function(_0x1bfcde){if(_['isNil'](_0x1bfcde)){throw new ReferenceError('Entity\x20not\x20found');}return _0x1bfcde;})[_0x623a('0x21')](function(_0xa78e57){var _0x4a9053=_0xa78e57['value'];logger[_0x623a('0x60')]('cancellazione\x20fisica\x20documento\x20%s',_0x4a9053);if(!_['isNil'](_0xa78e57[_0x623a('0x4b')])&&fs[_0x623a('0x4d')](_0x4a9053)){logger[_0x623a('0x60')](_0x623a('0x61')+_0x4a9053+_0x623a('0x62'));fs['unlinkSync'](_0x4a9053);}_0x4a9053=_0x4a9053+_0x623a('0x63');if(!_[_0x623a('0x64')](_0xa78e57[_0x623a('0x4b')])&&fs[_0x623a('0x4d')](_0x4a9053)){logger['info'](_0x623a('0x61')+_0x4a9053+'\x22\x20trovato\x20eseguo\x20la\x20cancellazione');fs[_0x623a('0x65')](_0x4a9053);}return _0xa78e57;})['then'](function(_0x192eeb){if(!_0x192eeb)throw new InternalError();return _0x192eeb[_0x623a('0x22')]();})[_0x623a('0x21')](function(){_0x42a0cc[_0x623a('0x16')](0xcc)['end']();})[_0x623a('0x41')](handleError(_0x42a0cc,null));};function getBucketslist(_0x3163fa,_0x2c629d,_0x335292){return new Promise(function(_0x3401d8,_0x6d1711){var _0x4d7738=new AWS['S3']({'accessKeyId':_0x2c629d,'secretAccessKey':_0x3163fa,'region':_0x335292});_0x4d7738[_0x623a('0x66')]({},function(_0x599734,_0x2fe222){if(_0x599734){return _0x6d1711(_0x599734);}else{return _0x3401d8(_0x2fe222);}});});}function createBucket(_0x1cabb3,_0x2d7872,_0x22e878,_0x4522dc){return new Promise(function(_0x378480,_0x300979){var _0x231021=new AWS['S3']({'accessKeyId':_0x2d7872,'secretAccessKey':_0x1cabb3,'region':_0x22e878});_0x231021[_0x623a('0x67')]({'Bucket':_0x4522dc},function(_0x18e4c0,_0x1ee539){if(_0x18e4c0){return _0x300979(_0x18e4c0);}else{return _0x378480(_0x1ee539);}});});}function uploadFile(_0x4e29a2,_0x296895,_0x1a4c8a,_0x56d394,_0x11e370,_0x31b07e){return new Promise(function(_0x202f4e,_0x5b5059){var _0xf3ccef=new AWS['S3']({'accessKeyId':_0x296895,'secretAccessKey':_0x4e29a2,'region':_0x1a4c8a});_0xf3ccef[_0x623a('0x68')]({'Bucket':_0x56d394,'Key':_0x11e370,'Body':_0x31b07e},function(_0x188bd1,_0x19ca6a){if(_0x188bd1){return _0x5b5059(_0x188bd1);}else{return _0x202f4e(_0x19ca6a);}});});}function startTranscribe(_0x359a08,_0x2aea45,_0x50970a,_0x54e304,_0x1c475f,_0x4c3775){return new Promise(function(_0x599974,_0x42f653){var _0x3d80ef=new AWS[(_0x623a('0x69'))]({'accessKeyId':_0x2aea45,'secretAccessKey':_0x359a08,'region':_0x50970a});_0x3d80ef['startTranscriptionJob']({'TranscriptionJobName':_0x54e304,'LanguageCode':_0x1c475f,'Media':{'MediaFileUri':_0x4c3775}},function(_0x2e6acc,_0xe361e8){if(_0x2e6acc){return _0x42f653(_0x2e6acc);}else{return _0x599974(_0xe361e8);}});});}function transcribe(_0x4b50c5,_0x19bd11,_0x2b5bba,_0x24b1ed,_0x4258f1,_0x331e61,_0x3228e5){return new Promise(function(_0xc9a3f4,_0x1d54da){var _0x466139={};logger[_0x623a('0x60')](util[_0x623a('0x2b')](_0x623a('0x6a'),_0x4b50c5,_0x4258f1));return uploadFile(_0x19bd11,_0x2b5bba,_0x24b1ed,_0x4258f1,path[_0x623a('0x6b')](_0x331e61),fs[_0x623a('0x6c')](_0x331e61))['then'](function(_0x1b5a41){logger[_0x623a('0x60')](util[_0x623a('0x2b')]('[RUNTRANSCRIPT][%d]\x20Voice\x20recording\x20uploaded\x20in\x20bucket\x20%s\x20(%s)',_0x4b50c5,_0x4258f1,_0x1b5a41[_0x623a('0x6d')]));_0x466139[_0x623a('0x6e')]=_0x1b5a41[_0x623a('0x6f')];_0x466139[_0x623a('0x70')]=_0x1b5a41[_0x623a('0x6d')];logger[_0x623a('0x60')](util['format']('[RUNTRANSCRIPT][%d]\x20Sending\x20transcribe\x20request',_0x4b50c5));return startTranscribe(_0x19bd11,_0x2b5bba,_0x24b1ed,uuidv4(),_0x3228e5,_0x1b5a41[_0x623a('0x6d')]);})['then'](function(_0x260091){logger[_0x623a('0x60')](util[_0x623a('0x2b')](_0x623a('0x71'),_0x4b50c5,_0x260091[_0x623a('0x72')]['TranscriptionJobName']));_0x466139[_0x623a('0x73')]=_0x260091[_0x623a('0x72')][_0x623a('0x74')];_0x466139[_0x623a('0x75')]=_0x260091[_0x623a('0x72')][_0x623a('0x76')];return _0xc9a3f4(_0x466139);})[_0x623a('0x41')](function(_0x207f21){return _0x1d54da(_0x207f21);});});}exports[_0x623a('0x77')]=function(_0xae34da,_0x1c3a1f,_0x5b3c9c){var _0x53dde5;var _0xf541e7;var _0x56737f;var _0x2acc44=require(_0x623a('0x59'));return db[_0x623a('0x27')][_0x623a('0x78')]({'where':{'id':_0xae34da[_0x623a('0x43')]['id']}})['then'](function(_0x51dd14){if(_0x51dd14){var _0x1697f3=util[_0x623a('0x2b')](_0x623a('0x4c'),_0x51dd14[_0x623a('0x4b')]);if(fs[_0x623a('0x4d')](_0x1697f3)){cypher=!![];return _0x2acc44[_0x623a('0x4e')](_0x1697f3,_0x51dd14[_0x623a('0x4b')],config[_0x623a('0x4f')][_0x623a('0x50')])[_0x623a('0x21')](function(){return _0x51dd14;});}return _0x51dd14;}})[_0x623a('0x21')](function(_0x10e90e){if(!_0x10e90e){throw new db[(_0x623a('0x51'))][(_0x623a('0x5f'))](_0x623a('0x79'));}_0xf541e7=_0x10e90e;return db[_0x623a('0x7a')][_0x623a('0x78')]({'where':{'id':0x1}});})[_0x623a('0x21')](handleEntityNotFound(_0x1c3a1f,null))[_0x623a('0x21')](function(_0x5b2093){if(_0x5b2093){_0x53dde5=_0x5b2093;if(!_0x53dde5['transcribe']||!_0x53dde5['transcribeAccountId']||!_0x53dde5[_0x623a('0x7b')]||!_0x53dde5[_0x623a('0x7c')]||!_0x53dde5['bucket']){throw new db[(_0x623a('0x51'))]['ValidationError'](_0x623a('0x7d'));}if(_0xae34da[_0x623a('0x47')][_0x623a('0x7e')]&&(!_0x53dde5[_0x623a('0x7f')]||!_0x53dde5['sentimentAccountId']||!_0x53dde5['sentimentRegion']||!_0x53dde5['language']||!_0x53dde5[_0x623a('0x6e')])){throw new db[(_0x623a('0x51'))]['ValidationError'](_0x623a('0x80'));}return db[_0x623a('0x81')][_0x623a('0x78')]({'where':{'id':_0x53dde5['transcribeAccountId']}});}})[_0x623a('0x21')](function(_0x57bc6e){if(!_0x57bc6e){throw new db['Sequelize'][(_0x623a('0x5f'))](_0x623a('0x82'));}if(!_0x57bc6e[_0x623a('0x83')]||!_0x57bc6e[_0x623a('0x84')]){throw new db[(_0x623a('0x51'))]['ValidationError'](_0x623a('0x85'));}_0x56737f=_0x57bc6e;return getBucketslist(_0x56737f[_0x623a('0x83')],_0x56737f[_0x623a('0x84')],_0x53dde5[_0x623a('0x7b')]);})[_0x623a('0x21')](function(_0x55abe4){if(_0x55abe4&&_0x55abe4[_0x623a('0x86')]){var _0x40a128=_[_0x623a('0x45')](_0x55abe4[_0x623a('0x86')],function(_0x3222a6){return _0x3222a6[_0x623a('0x87')]===_0x53dde5[_0x623a('0x6e')];});if(!_0x40a128){logger[_0x623a('0x60')](util[_0x623a('0x2b')](_0x623a('0x88'),_0xae34da[_0x623a('0x43')]['id'],_0x53dde5[_0x623a('0x6e')]));return createBucket(_0x56737f['data1'],_0x56737f[_0x623a('0x84')],_0x53dde5[_0x623a('0x7b')],_0x53dde5[_0x623a('0x6e')]);}logger[_0x623a('0x60')](util[_0x623a('0x2b')](_0x623a('0x89'),_0xae34da['params']['id'],_0x53dde5['bucket']));return;}})['then'](function(_0x263e56){if(_0xf541e7['transcribeStatus']===_0x623a('0x8a')){return transcribe(_0xae34da[_0x623a('0x43')]['id'],_0x56737f[_0x623a('0x83')],_0x56737f['data2'],_0x53dde5['transcribeRegion'],_0x53dde5[_0x623a('0x6e')],_0xf541e7[_0x623a('0x4b')],_0x53dde5[_0x623a('0x7c')]);}else{logger[_0x623a('0x60')](util['format'](_0x623a('0x8b'),_0xae34da[_0x623a('0x43')]['id']));return{'transcribeStatus':_0x623a('0x8c')};}})[_0x623a('0x21')](function(_0x137a9a){if(_0x137a9a){_0x137a9a[_0x623a('0x8d')]=_0xae34da[_0x623a('0x47')][_0x623a('0x7e')];return _0xf541e7[_0x623a('0x8e')](_0x137a9a);}})[_0x623a('0x21')](respondWithResult(_0x1c3a1f,null))[_0x623a('0x41')](handleError(_0x1c3a1f,null));};function writeFile(_0x2c0d2b,_0x5414f8){return new Promise(function(_0x376dae,_0x284d9c){fs[_0x623a('0x8f')](_0x5414f8,_0x2c0d2b,function(_0x10f7ca,_0x387340){if(_0x10f7ca){return _0x284d9c(_0x10f7ca);}else{return _0x376dae(_0x387340);}});});}exports['downloadTranscribe']=function(_0x2ba6d5,_0x31f75d,_0x596600){return db[_0x623a('0x27')][_0x623a('0x78')]({'where':{'id':_0x2ba6d5[_0x623a('0x43')]['id']}})[_0x623a('0x21')](handleEntityNotFound(_0x31f75d))['then'](function(_0x6dd5b5){if(_0x6dd5b5&&_0x6dd5b5['fileText']){var _0x159f73=_0x6dd5b5[_0x623a('0x90')];var _0xdcd8fa=config['root']+_0x623a('0x91')+_0x6dd5b5['id']+_0x623a('0x92');if(fs[_0x623a('0x4d')](_0xdcd8fa)){return _0xdcd8fa;}return writeFile(_0x159f73,_0xdcd8fa)[_0x623a('0x21')](function(){return _0xdcd8fa;});}else{throw new db[(_0x623a('0x51'))][(_0x623a('0x5f'))]('Transcript\x20not\x20available');}})[_0x623a('0x21')](function(_0x83cdcb){return _0x31f75d['download'](_0x83cdcb);})[_0x623a('0x41')](handleError(_0x31f75d));};