fcc9e1f85fea2e3ec8cdab7b8650c1e82ed59fe8
[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 _0x0d99=['include','findAll','rows','catch','show','params','includeAll','create','body','find','describe','download','uniqueid','value','%s.cypher','existsSync','decryptFile','recording','Sequelize','ValidationError','VoiceRecording\x20not\x20found','filename','extname','unlink','Not\x20found','sequelize','MD5','col','token','push','$and','secrets','info','File:\x20\x22','unlinkSync','.cypher','isNil','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','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)','bucket','Bucket','location','Location','[RUNTRANSCRIPT][%d]\x20Sending\x20transcribe\x20request','[RUNTRANSCRIPT][%d]\x20Transcription\x20job\x20%s\x20created','TranscriptionJob','TranscriptionJobName','transcribeStatus','runTranscribe','../../components/encryptor','findOne','Voice\x20Recording\x20not\x20found','transcribeAccountId','transcribeRegion','Transcribe\x20not\x20configured','runSentiment','sentimentAccountId','sentimentRegion','language','Sentiment\x20Analysis\x20not\x20configured','CloudProvider','Cloud\x20Provider\x20not\x20available','data1','data2','Cloud\x20Provider\x20not\x20configured','[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20not\x20available','NEW','[RUNTRANSCRIPT][%d]\x20Transcript\x20action\x20already\x20requested','IN_PROGRESS','tempSentiment','writeFile','downloadTranscribe','fileText','root','/server/files/transcribes/transcribe_','.txt','Transcript\x20not\x20available','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','util','path','sox','to-csv','ejs','squel','crypto','jsforce','aws-sdk','uuid/v4','ioredis','../../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','json','count','offset','limit','set','apply','reject','update','then','destroy','error','stack','name','send','index','map','rawAttributes','fieldName','key','differenceBy','format','query','keys','filters','intersection','model','attributes','fields','length','order','sort','where','filter','merge','type','VIRTUAL','options','VoiceRecording'];(function(_0x2d8fc2,_0x1c461d){var _0x3a9e53=function(_0x18941c){while(--_0x18941c){_0x2d8fc2['push'](_0x2d8fc2['shift']());}};_0x3a9e53(++_0x1c461d);}(_0x0d99,0xed));var _0x90d9=function(_0x3626a3,_0x556ba0){_0x3626a3=_0x3626a3-0x0;var _0x4669d6=_0x0d99[_0x3626a3];return _0x4669d6;};'use strict';var pdf=require(_0x90d9('0x0'));var emlformat=require(_0x90d9('0x1'));var rimraf=require(_0x90d9('0x2'));var zipdir=require(_0x90d9('0x3'));var jsonpatch=require(_0x90d9('0x4'));var rp=require(_0x90d9('0x5'));var moment=require('moment');var BPromise=require(_0x90d9('0x6'));var Mustache=require('mustache');var util=require(_0x90d9('0x7'));var path=require(_0x90d9('0x8'));var sox=require(_0x90d9('0x9'));var csv=require(_0x90d9('0xa'));var ejs=require(_0x90d9('0xb'));var fs=require('fs');var _=require('lodash');var squel=require(_0x90d9('0xc'));var crypto=require(_0x90d9('0xd'));var jsforce=require(_0x90d9('0xe'));var deskjs=require('desk.js');var toCsv=require(_0x90d9('0xa'));var querystring=require('querystring');var Papa=require('papaparse');var AWS=require(_0x90d9('0xf'));var uuidv4=require(_0x90d9('0x10'));var Redis=require(_0x90d9('0x11'));var authService=require(_0x90d9('0x12'));var qs=require(_0x90d9('0x13'));var as=require(_0x90d9('0x14'));var hardwareService=require(_0x90d9('0x15'));var logger=require(_0x90d9('0x16'))(_0x90d9('0x17'));var utils=require(_0x90d9('0x18'));var config=require(_0x90d9('0x19'));var licenseUtil=require(_0x90d9('0x1a'));var db=require(_0x90d9('0x1b'))['db'];function respondWithStatusCode(_0x50c89a,_0x4b3fb0){_0x4b3fb0=_0x4b3fb0||0xcc;return function(_0x3baea3){if(_0x3baea3){return _0x50c89a[_0x90d9('0x1c')](_0x4b3fb0);}return _0x50c89a[_0x90d9('0x1d')](_0x4b3fb0)[_0x90d9('0x1e')]();};}function respondWithResult(_0x3aa03b,_0x5ba2a1){_0x5ba2a1=_0x5ba2a1||0xc8;return function(_0xaa8dde){if(_0xaa8dde){return _0x3aa03b[_0x90d9('0x1d')](_0x5ba2a1)[_0x90d9('0x1f')](_0xaa8dde);}};}function respondWithFilteredResult(_0x589656,_0x1ded0c){return function(_0x403d77){if(_0x403d77){var _0x4f5804=_0x403d77[_0x90d9('0x20')],_0x16906f=_0x1ded0c[_0x90d9('0x21')],_0x19893a=_0x1ded0c[_0x90d9('0x21')]+_0x1ded0c[_0x90d9('0x22')],_0x33e7a5;if(_0x19893a>=_0x4f5804){_0x19893a=_0x4f5804;_0x33e7a5=0xc8;}else{_0x33e7a5=0xce;}_0x589656['status'](_0x33e7a5);return _0x589656[_0x90d9('0x23')]('Content-Range',_0x16906f+'-'+_0x19893a+'/'+_0x4f5804)['json'](_0x403d77);}return null;};}function patchUpdates(_0xdedd78){return function(_0x5e3046){try{jsonpatch[_0x90d9('0x24')](_0x5e3046,_0xdedd78,!![]);}catch(_0x529485){return BPromise[_0x90d9('0x25')](_0x529485);}return _0x5e3046['save']();};}function saveUpdates(_0x51d643,_0x50cc23){return function(_0x5a13d8){if(_0x5a13d8){return _0x5a13d8[_0x90d9('0x26')](_0x51d643)[_0x90d9('0x27')](function(_0x306489){return _0x306489;});}return null;};}function removeEntity(_0x5437a4,_0xa4ed72){return function(_0x5346eb){if(_0x5346eb){return _0x5346eb[_0x90d9('0x28')]()['then'](function(){_0x5437a4[_0x90d9('0x1d')](0xcc)[_0x90d9('0x1e')]();});}};}function handleEntityNotFound(_0x4e8e9d,_0x2d728b){return function(_0x201f0a){if(!_0x201f0a){_0x4e8e9d['sendStatus'](0x194);}return _0x201f0a;};}function handleError(_0x135fa0,_0x57af79){_0x57af79=_0x57af79||0x1f4;return function(_0x2b2fa6){logger[_0x90d9('0x29')](_0x2b2fa6[_0x90d9('0x2a')]);if(_0x2b2fa6[_0x90d9('0x2b')]){delete _0x2b2fa6[_0x90d9('0x2b')];}_0x135fa0[_0x90d9('0x1d')](_0x57af79)[_0x90d9('0x2c')](_0x2b2fa6);};}exports[_0x90d9('0x2d')]=function(_0xf1289e,_0x1af6f2){var _0x3504ba={},_0x6993d6={},_0x56cc56={'count':0x0,'rows':[]};var _0x24f4e7=_[_0x90d9('0x2e')](db['VoiceRecording'][_0x90d9('0x2f')],function(_0x55981c){return{'name':_0x55981c[_0x90d9('0x30')],'type':_0x55981c['type'][_0x90d9('0x31')]};});_0x6993d6['model']=_[_0x90d9('0x32')](_[_0x90d9('0x2e')](_0x24f4e7,'name'),[_0x90d9('0x33')]);_0x6993d6[_0x90d9('0x34')]=_[_0x90d9('0x35')](_0xf1289e[_0x90d9('0x34')]);_0x6993d6[_0x90d9('0x36')]=_[_0x90d9('0x37')](_0x6993d6[_0x90d9('0x38')],_0x6993d6['query']);_0x3504ba[_0x90d9('0x39')]=_[_0x90d9('0x37')](_0x6993d6[_0x90d9('0x38')],qs[_0x90d9('0x3a')](_0xf1289e[_0x90d9('0x34')]['fields']));_0x3504ba[_0x90d9('0x39')]=_0x3504ba[_0x90d9('0x39')][_0x90d9('0x3b')]?_0x3504ba[_0x90d9('0x39')]:_0x6993d6[_0x90d9('0x38')];if(!_0xf1289e['query']['hasOwnProperty']('nolimit')){_0x3504ba[_0x90d9('0x22')]=qs[_0x90d9('0x22')](_0xf1289e['query']['limit']);_0x3504ba['offset']=qs['offset'](_0xf1289e[_0x90d9('0x34')]['offset']);}_0x3504ba[_0x90d9('0x3c')]=qs['sort'](_0xf1289e[_0x90d9('0x34')][_0x90d9('0x3d')]);_0x3504ba[_0x90d9('0x3e')]=qs[_0x90d9('0x36')](_['pick'](_0xf1289e[_0x90d9('0x34')],_0x6993d6[_0x90d9('0x36')]),_0x24f4e7);if(_0xf1289e[_0x90d9('0x34')][_0x90d9('0x3f')]){_0x3504ba[_0x90d9('0x3e')]=_[_0x90d9('0x40')](_0x3504ba[_0x90d9('0x3e')],{'$or':_['map'](_0x24f4e7,function(_0x4f41d5){if(_0x4f41d5[_0x90d9('0x41')]!==_0x90d9('0x42')){var _0x4db56b={};_0x4db56b[_0x4f41d5[_0x90d9('0x2b')]]={'$like':'%'+_0xf1289e['query'][_0x90d9('0x3f')]+'%'};return _0x4db56b;}})});}_0x3504ba=_[_0x90d9('0x40')]({},_0x3504ba,_0xf1289e[_0x90d9('0x43')]);var _0x3ebc4f={'where':_0x3504ba[_0x90d9('0x3e')]};return db[_0x90d9('0x44')][_0x90d9('0x20')](_0x3ebc4f)[_0x90d9('0x27')](function(_0x47bff1){_0x56cc56[_0x90d9('0x20')]=_0x47bff1;if(_0xf1289e[_0x90d9('0x34')]['includeAll']){_0x3504ba[_0x90d9('0x45')]=[{'all':!![]}];}return db[_0x90d9('0x44')][_0x90d9('0x46')](_0x3504ba);})[_0x90d9('0x27')](function(_0x421783){_0x56cc56[_0x90d9('0x47')]=_0x421783;return _0x56cc56;})['then'](respondWithFilteredResult(_0x1af6f2,_0x3504ba))[_0x90d9('0x48')](handleError(_0x1af6f2,null));};exports[_0x90d9('0x49')]=function(_0x458330,_0x44a51b){var _0x559823={'raw':![],'where':{'id':_0x458330[_0x90d9('0x4a')]['id']}},_0x2f66de={};_0x2f66de['model']=_[_0x90d9('0x35')](db[_0x90d9('0x44')][_0x90d9('0x2f')]);_0x2f66de['query']=_['keys'](_0x458330[_0x90d9('0x34')]);_0x2f66de[_0x90d9('0x36')]=_[_0x90d9('0x37')](_0x2f66de[_0x90d9('0x38')],_0x2f66de[_0x90d9('0x34')]);_0x559823[_0x90d9('0x39')]=_[_0x90d9('0x37')](_0x2f66de[_0x90d9('0x38')],qs[_0x90d9('0x3a')](_0x458330[_0x90d9('0x34')][_0x90d9('0x3a')]));_0x559823[_0x90d9('0x39')]=_0x559823[_0x90d9('0x39')][_0x90d9('0x3b')]?_0x559823[_0x90d9('0x39')]:_0x2f66de[_0x90d9('0x38')];if(_0x458330[_0x90d9('0x34')][_0x90d9('0x4b')]){_0x559823[_0x90d9('0x45')]=[{'all':!![]}];}_0x559823=_[_0x90d9('0x40')]({},_0x559823,_0x458330[_0x90d9('0x43')]);return db[_0x90d9('0x44')]['find'](_0x559823)[_0x90d9('0x27')](handleEntityNotFound(_0x44a51b,null))[_0x90d9('0x27')](respondWithResult(_0x44a51b,null))[_0x90d9('0x48')](handleError(_0x44a51b,null));};exports['create']=function(_0x514e11,_0x334997){return db[_0x90d9('0x44')][_0x90d9('0x4c')](_0x514e11[_0x90d9('0x4d')],{})['then'](respondWithResult(_0x334997,0xc9))[_0x90d9('0x48')](handleError(_0x334997,null));};exports[_0x90d9('0x26')]=function(_0x234358,_0x20044f){if(_0x234358[_0x90d9('0x4d')]['id']){delete _0x234358[_0x90d9('0x4d')]['id'];}return db[_0x90d9('0x44')][_0x90d9('0x4e')]({'where':{'id':_0x234358[_0x90d9('0x4a')]['id']}})[_0x90d9('0x27')](handleEntityNotFound(_0x20044f,null))[_0x90d9('0x27')](saveUpdates(_0x234358[_0x90d9('0x4d')],null))[_0x90d9('0x27')](respondWithResult(_0x20044f,null))[_0x90d9('0x48')](handleError(_0x20044f,null));};exports[_0x90d9('0x4f')]=function(_0x518893,_0x150066){return db[_0x90d9('0x44')][_0x90d9('0x4f')]()['then'](respondWithResult(_0x150066,null))[_0x90d9('0x48')](handleError(_0x150066,null));};exports[_0x90d9('0x50')]=function(_0x4c5829,_0x1171e6,_0xf0ce9c){var _0x358ad5=require('../../components/encryptor');var _0x2602be=![];var _0x3c8d61={};if(_0x4c5829[_0x90d9('0x34')]['type']&&_0x4c5829['query'][_0x90d9('0x41')]===_0x90d9('0x51')){_0x3c8d61[_0x90d9('0x51')]=_0x4c5829['params']['id'];}else{_0x3c8d61['id']=_0x4c5829[_0x90d9('0x4a')]['id'];}return db[_0x90d9('0x44')]['find']({'where':_0x3c8d61,'attributes':['id','value'],'raw':!![]})[_0x90d9('0x27')](handleEntityNotFound(_0x1171e6,null))[_0x90d9('0x27')](function(_0x4eb83a){if(_0x4eb83a){var _0x1fea9d=_0x4eb83a[_0x90d9('0x52')];var _0x483f74=util[_0x90d9('0x33')](_0x90d9('0x53'),_0x1fea9d);if(fs[_0x90d9('0x54')](_0x483f74)){_0x2602be=!![];return _0x358ad5[_0x90d9('0x55')](_0x483f74,_0x1fea9d,config['secrets'][_0x90d9('0x56')])['then'](function(){return _0x4eb83a;});}return _0x4eb83a;}})[_0x90d9('0x27')](function(_0x3186ee){if(_0x3186ee){var _0x432bac=_0x3186ee[_0x90d9('0x52')];if(!fs[_0x90d9('0x54')](_0x432bac)){throw new db[(_0x90d9('0x57'))][(_0x90d9('0x58'))](_0x90d9('0x59'));}if(_0x3186ee[_0x90d9('0x5a')]){return _0x1171e6[_0x90d9('0x50')](_0x432bac,_0x3186ee[_0x90d9('0x5a')]+path[_0x90d9('0x5b')](_0x432bac),function(){if(_0x2602be){fs['unlink'](_0x432bac);}});}else{return _0x1171e6[_0x90d9('0x50')](_0x432bac,function(_0x23d0cf){if(_0x2602be){fs[_0x90d9('0x5c')](_0x432bac);}});}}})[_0x90d9('0x48')](function(_0x1ee0d4){if(_0x1ee0d4['message']===_0x90d9('0x59')){_0x1171e6[_0x90d9('0x1d')](0x194)['send'](_0x90d9('0x5d'));}else{return handleError(_0x1171e6,null);}});};exports['downloads']=function(_0x1fe15a,_0x2efb98,_0x1966a3){var _0x18035c=require('../../components/encryptor');var _0x499b14=![];var _0x7939d3={'$and':[db[_0x90d9('0x5e')][_0x90d9('0x3e')](db[_0x90d9('0x5e')]['fn'](_0x90d9('0x5f'),db['sequelize'][_0x90d9('0x60')]('uniqueid')),_0x1fe15a[_0x90d9('0x34')][_0x90d9('0x61')])]};if(_0x1fe15a[_0x90d9('0x34')][_0x90d9('0x41')]&&_0x1fe15a[_0x90d9('0x34')][_0x90d9('0x41')]===_0x90d9('0x51')){_0x7939d3['$and'][_0x90d9('0x62')]({'uniqueid':_0x1fe15a[_0x90d9('0x4a')]['id']});}else{_0x7939d3[_0x90d9('0x63')][_0x90d9('0x62')]({'id':_0x1fe15a[_0x90d9('0x4a')]['id']});}return db[_0x90d9('0x44')][_0x90d9('0x4e')]({'where':_0x7939d3,'attributes':['id',_0x90d9('0x52')],'raw':!![]})[_0x90d9('0x27')](handleEntityNotFound(_0x2efb98,null))['then'](function(_0xb363e5){if(_0xb363e5){var _0x47ccc3=util[_0x90d9('0x33')](_0x90d9('0x53'),_0xb363e5[_0x90d9('0x52')]);if(fs['existsSync'](_0x47ccc3)){_0x499b14=!![];return _0x18035c[_0x90d9('0x55')](_0x47ccc3,_0xb363e5[_0x90d9('0x52')],config[_0x90d9('0x64')][_0x90d9('0x56')])[_0x90d9('0x27')](function(){return _0xb363e5;});}return _0xb363e5;}})[_0x90d9('0x27')](function(_0x5e8865){if(_0x5e8865){if(!fs[_0x90d9('0x54')](_0x5e8865[_0x90d9('0x52')])){throw new db[(_0x90d9('0x57'))][(_0x90d9('0x58'))](_0x90d9('0x59'));}if(_0x5e8865[_0x90d9('0x5a')]){return _0x2efb98[_0x90d9('0x50')](_0x5e8865['value'],_0x5e8865[_0x90d9('0x5a')]+path[_0x90d9('0x5b')](_0x5e8865[_0x90d9('0x52')]),function(){if(_0x499b14){fs['unlink'](_0x5e8865['value']);}});}else{return _0x2efb98[_0x90d9('0x50')](_0x5e8865[_0x90d9('0x52')],function(_0x1aebe2){if(_0x499b14){fs[_0x90d9('0x5c')](_0x5e8865[_0x90d9('0x52')]);}});}}})[_0x90d9('0x48')](handleError(_0x2efb98,null));};exports[_0x90d9('0x28')]=function(_0x4c7251,_0xb4b6b8){return db[_0x90d9('0x44')][_0x90d9('0x4e')]({'where':{'id':_0x4c7251['params']['id']}})[_0x90d9('0x27')](function(_0x5c57db){if(!_0x5c57db)throw new ReferenceError('Entity\x20not\x20found');return _0x5c57db;})[_0x90d9('0x27')](function(_0x5341e3){var _0x392d2a=_0x5341e3[_0x90d9('0x52')];logger[_0x90d9('0x65')]('cancellazione\x20fisica\x20documento\x20%s',_0x392d2a);if(!_['isNil'](_0x5341e3[_0x90d9('0x52')])&&fs[_0x90d9('0x54')](_0x392d2a)){logger[_0x90d9('0x65')](_0x90d9('0x66')+_0x392d2a+'\x22\x20trovato\x20eseguo\x20la\x20cancellazione');fs[_0x90d9('0x67')](_0x392d2a);}_0x392d2a=_0x392d2a+_0x90d9('0x68');if(!_[_0x90d9('0x69')](_0x5341e3['value'])&&fs[_0x90d9('0x54')](_0x392d2a)){logger[_0x90d9('0x65')](_0x90d9('0x66')+_0x392d2a+_0x90d9('0x6a'));fs[_0x90d9('0x67')](_0x392d2a);}return _0x5341e3;})[_0x90d9('0x27')](function(_0x4112aa){if(!_0x4112aa)throw new InternalError();return _0x4112aa['destroy']();})[_0x90d9('0x27')](function(){_0xb4b6b8[_0x90d9('0x1d')](0xcc)[_0x90d9('0x1e')]();})['catch'](handleError(_0xb4b6b8,null));};function getBucketslist(_0x1dea38,_0x437e31,_0x444ca0){return new Promise(function(_0x3e5ee4,_0x51f172){var _0x58785a=new AWS['S3']({'accessKeyId':_0x437e31,'secretAccessKey':_0x1dea38,'region':_0x444ca0});_0x58785a['listBuckets']({},function(_0x5493c6,_0x40cb46){if(_0x5493c6){return _0x51f172(_0x5493c6);}else{return _0x3e5ee4(_0x40cb46);}});});}function createBucket(_0x108ee8,_0x4a4d1b,_0x82a79b,_0x337794){return new Promise(function(_0x43babe,_0x11500e){var _0x502e6e=new AWS['S3']({'accessKeyId':_0x4a4d1b,'secretAccessKey':_0x108ee8,'region':_0x82a79b});_0x502e6e[_0x90d9('0x6b')]({'Bucket':_0x337794},function(_0x2d2eaa,_0x49956c){if(_0x2d2eaa){return _0x11500e(_0x2d2eaa);}else{return _0x43babe(_0x49956c);}});});}function uploadFile(_0x5bed03,_0x3e29dd,_0x1c71c3,_0x47b77d,_0x1cd91b,_0x225d70){return new Promise(function(_0x1327e6,_0x2b8ec4){var _0x4c64a4=new AWS['S3']({'accessKeyId':_0x3e29dd,'secretAccessKey':_0x5bed03,'region':_0x1c71c3});_0x4c64a4[_0x90d9('0x6c')]({'Bucket':_0x47b77d,'Key':_0x1cd91b,'Body':_0x225d70},function(_0x46c513,_0x19b89b){if(_0x46c513){return _0x2b8ec4(_0x46c513);}else{return _0x1327e6(_0x19b89b);}});});}function startTranscribe(_0x50fb56,_0x7c681a,_0x512868,_0x47db44,_0x495d0d,_0x4f5908){return new Promise(function(_0x198d73,_0x239e69){var _0x3c6241=new AWS[(_0x90d9('0x6d'))]({'accessKeyId':_0x7c681a,'secretAccessKey':_0x50fb56,'region':_0x512868});_0x3c6241[_0x90d9('0x6e')]({'TranscriptionJobName':_0x47db44,'LanguageCode':_0x495d0d,'Media':{'MediaFileUri':_0x4f5908}},function(_0x4733d0,_0x100589){if(_0x4733d0){return _0x239e69(_0x4733d0);}else{return _0x198d73(_0x100589);}});});}function transcribe(_0x238484,_0x1617e8,_0x42ec9e,_0xb9701d,_0x17c9f3,_0x326e88,_0x3d018a){return new Promise(function(_0x16966b,_0xfec12c){var _0xb986ce={};logger['info'](util[_0x90d9('0x33')](_0x90d9('0x6f'),_0x238484,_0x17c9f3));return uploadFile(_0x1617e8,_0x42ec9e,_0xb9701d,_0x17c9f3,path[_0x90d9('0x70')](_0x326e88),fs[_0x90d9('0x71')](_0x326e88))[_0x90d9('0x27')](function(_0x59bf9e){logger[_0x90d9('0x65')](util['format'](_0x90d9('0x72'),_0x238484,_0x17c9f3,_0x59bf9e['Location']));_0xb986ce[_0x90d9('0x73')]=_0x59bf9e[_0x90d9('0x74')];_0xb986ce[_0x90d9('0x75')]=_0x59bf9e[_0x90d9('0x76')];logger[_0x90d9('0x65')](util[_0x90d9('0x33')](_0x90d9('0x77'),_0x238484));return startTranscribe(_0x1617e8,_0x42ec9e,_0xb9701d,uuidv4(),_0x3d018a,_0x59bf9e['Location']);})[_0x90d9('0x27')](function(_0x427f34){logger[_0x90d9('0x65')](util[_0x90d9('0x33')](_0x90d9('0x78'),_0x238484,_0x427f34[_0x90d9('0x79')]['TranscriptionJobName']));_0xb986ce['transcribeName']=_0x427f34[_0x90d9('0x79')][_0x90d9('0x7a')];_0xb986ce[_0x90d9('0x7b')]=_0x427f34[_0x90d9('0x79')]['TranscriptionJobStatus'];return _0x16966b(_0xb986ce);})['catch'](function(_0xdf38dd){return _0xfec12c(_0xdf38dd);});});}exports[_0x90d9('0x7c')]=function(_0x14f53a,_0x3008e6,_0x2c3655){var _0x44c317;var _0x34b7fe;var _0xe61d49;var _0x592122=require(_0x90d9('0x7d'));return db[_0x90d9('0x44')][_0x90d9('0x7e')]({'where':{'id':_0x14f53a[_0x90d9('0x4a')]['id']}})[_0x90d9('0x27')](function(_0x18a7c1){if(_0x18a7c1){var _0x417381=util[_0x90d9('0x33')](_0x90d9('0x53'),_0x18a7c1[_0x90d9('0x52')]);if(fs[_0x90d9('0x54')](_0x417381)){cypher=!![];return _0x592122[_0x90d9('0x55')](_0x417381,_0x18a7c1[_0x90d9('0x52')],config[_0x90d9('0x64')]['recording'])['then'](function(){return _0x18a7c1;});}return _0x18a7c1;}})[_0x90d9('0x27')](function(_0x321afe){if(!_0x321afe){throw new db[(_0x90d9('0x57'))][(_0x90d9('0x58'))](_0x90d9('0x7f'));}_0x34b7fe=_0x321afe;return db['Setting'][_0x90d9('0x7e')]({'where':{'id':0x1}});})[_0x90d9('0x27')](handleEntityNotFound(_0x3008e6,null))[_0x90d9('0x27')](function(_0x549267){if(_0x549267){_0x44c317=_0x549267;if(!_0x44c317['transcribe']||!_0x44c317[_0x90d9('0x80')]||!_0x44c317[_0x90d9('0x81')]||!_0x44c317['language']||!_0x44c317['bucket']){throw new db[(_0x90d9('0x57'))][(_0x90d9('0x58'))](_0x90d9('0x82'));}if(_0x14f53a['body'][_0x90d9('0x83')]&&(!_0x44c317['sentiment']||!_0x44c317[_0x90d9('0x84')]||!_0x44c317[_0x90d9('0x85')]||!_0x44c317[_0x90d9('0x86')]||!_0x44c317['bucket'])){throw new db[(_0x90d9('0x57'))][(_0x90d9('0x58'))](_0x90d9('0x87'));}return db[_0x90d9('0x88')][_0x90d9('0x7e')]({'where':{'id':_0x44c317[_0x90d9('0x80')]}});}})[_0x90d9('0x27')](function(_0x2ce3c0){if(!_0x2ce3c0){throw new db['Sequelize']['ValidationError'](_0x90d9('0x89'));}if(!_0x2ce3c0[_0x90d9('0x8a')]||!_0x2ce3c0[_0x90d9('0x8b')]){throw new db[(_0x90d9('0x57'))]['ValidationError'](_0x90d9('0x8c'));}_0xe61d49=_0x2ce3c0;return getBucketslist(_0xe61d49[_0x90d9('0x8a')],_0xe61d49[_0x90d9('0x8b')],_0x44c317[_0x90d9('0x81')]);})[_0x90d9('0x27')](function(_0xda59ab){if(_0xda59ab&&_0xda59ab['Buckets']){var _0x399fc1=_[_0x90d9('0x4e')](_0xda59ab['Buckets'],function(_0x261a35){return _0x261a35['Name']===_0x44c317[_0x90d9('0x73')];});if(!_0x399fc1){logger[_0x90d9('0x65')](util[_0x90d9('0x33')](_0x90d9('0x8d'),_0x14f53a[_0x90d9('0x4a')]['id'],_0x44c317['bucket']));return createBucket(_0xe61d49[_0x90d9('0x8a')],_0xe61d49[_0x90d9('0x8b')],_0x44c317[_0x90d9('0x81')],_0x44c317[_0x90d9('0x73')]);}logger[_0x90d9('0x65')](util[_0x90d9('0x33')]('[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20available',_0x14f53a[_0x90d9('0x4a')]['id'],_0x44c317['bucket']));return;}})['then'](function(_0x3ced50){if(_0x34b7fe[_0x90d9('0x7b')]===_0x90d9('0x8e')){return transcribe(_0x14f53a['params']['id'],_0xe61d49[_0x90d9('0x8a')],_0xe61d49[_0x90d9('0x8b')],_0x44c317['transcribeRegion'],_0x44c317[_0x90d9('0x73')],_0x34b7fe[_0x90d9('0x52')],_0x44c317[_0x90d9('0x86')]);}else{logger[_0x90d9('0x65')](util['format'](_0x90d9('0x8f'),_0x14f53a[_0x90d9('0x4a')]['id']));return{'transcribeStatus':_0x90d9('0x90')};}})['then'](function(_0x5ea138){if(_0x5ea138){_0x5ea138[_0x90d9('0x91')]=_0x14f53a[_0x90d9('0x4d')][_0x90d9('0x83')];return _0x34b7fe['updateAttributes'](_0x5ea138);}})[_0x90d9('0x27')](respondWithResult(_0x3008e6,null))['catch'](handleError(_0x3008e6,null));};function writeFile(_0x56f065,_0x2ffd67){return new Promise(function(_0xd64e7b,_0x161ee2){fs[_0x90d9('0x92')](_0x2ffd67,_0x56f065,function(_0x5904fe,_0x5e75bf){if(_0x5904fe){return _0x161ee2(_0x5904fe);}else{return _0xd64e7b(_0x5e75bf);}});});}exports[_0x90d9('0x93')]=function(_0x5b2e63,_0x9e68c8,_0x37d002){return db[_0x90d9('0x44')][_0x90d9('0x7e')]({'where':{'id':_0x5b2e63[_0x90d9('0x4a')]['id']}})[_0x90d9('0x27')](handleEntityNotFound(_0x9e68c8))[_0x90d9('0x27')](function(_0xd971ed){if(_0xd971ed&&_0xd971ed[_0x90d9('0x94')]){var _0x223e77=_0xd971ed[_0x90d9('0x94')];var _0x487c14=config[_0x90d9('0x95')]+_0x90d9('0x96')+_0xd971ed['id']+_0x90d9('0x97');if(fs['existsSync'](_0x487c14)){return _0x487c14;}return writeFile(_0x223e77,_0x487c14)[_0x90d9('0x27')](function(){return _0x487c14;});}else{throw new db[(_0x90d9('0x57'))][(_0x90d9('0x58'))](_0x90d9('0x98'));}})[_0x90d9('0x27')](function(_0x1e4cdf){return _0x9e68c8[_0x90d9('0x50')](_0x1e4cdf);})[_0x90d9('0x48')](handleError(_0x9e68c8));};