Built motion from commit efa66e19.|2.6.22
[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 _0x27c6=['nolimit','where','filter','merge','VIRTUAL','options','then','includeAll','include','findAll','rows','catch','show','intersection','find','create','params','body','describe','download','../../components/encryptor','uniqueid','value','%s.cypher','existsSync','ValidationError','VoiceRecording\x20not\x20found','filename','extname','unlink','message','Not\x20found','downloads','sequelize','MD5','col','token','$and','push','decryptFile','secrets','recording','Sequelize','isNil','Entity\x20not\x20found','info','cancellazione\x20fisica\x20documento\x20%s','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','.cypher','File:\x20\x22','createBucket','upload','TranscribeService','startTranscriptionJob','[RUNTRANSCRIPT][%d]\x20Starting\x20voice\x20recording\x20upload\x20in\x20bucket\x20%s','readFileSync','[RUNTRANSCRIPT][%d]\x20Voice\x20recording\x20uploaded\x20in\x20bucket\x20%s\x20(%s)','Location','Bucket','location','[RUNTRANSCRIPT][%d]\x20Sending\x20transcribe\x20request','TranscriptionJobName','transcribeName','TranscriptionJob','transcribeStatus','runTranscribe','Voice\x20Recording\x20not\x20found','findOne','transcribeAccountId','transcribeRegion','Transcribe\x20not\x20configured','runSentiment','sentiment','sentimentAccountId','sentimentRegion','bucket','Sentiment\x20Analysis\x20not\x20configured','Cloud\x20Provider\x20not\x20available','data2','Cloud\x20Provider\x20not\x20configured','Buckets','[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20not\x20available','[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20available','NEW','data1','[RUNTRANSCRIPT][%d]\x20Transcript\x20action\x20already\x20requested','downloadTranscribe','fileText','root','.txt','Transcript\x20not\x20available','rimraf','zip-dir','request-promise','moment','bluebird','mustache','util','ejs','fs-extra','lodash','jsforce','desk.js','to-csv','querystring','papaparse','aws-sdk','uuid/v4','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','status','end','json','undefined','count','offset','limit','Content-Range','apply','reject','save','update','destroy','error','send','index','map','VoiceRecording','rawAttributes','fieldName','type','key','model','differenceBy','name','format','query','keys','filters','attributes','fields','length','hasOwnProperty'];(function(_0x2641f9,_0x26715f){var _0x585741=function(_0x2d1462){while(--_0x2d1462){_0x2641f9['push'](_0x2641f9['shift']());}};_0x585741(++_0x26715f);}(_0x27c6,0x188));var _0x627c=function(_0x1cfb67,_0x1be621){_0x1cfb67=_0x1cfb67-0x0;var _0x5b28b0=_0x27c6[_0x1cfb67];return _0x5b28b0;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x627c('0x0'));var zipdir=require(_0x627c('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x627c('0x2'));var moment=require(_0x627c('0x3'));var BPromise=require(_0x627c('0x4'));var Mustache=require(_0x627c('0x5'));var util=require(_0x627c('0x6'));var path=require('path');var sox=require('sox');var csv=require('to-csv');var ejs=require(_0x627c('0x7'));var fs=require('fs');var fs_extra=require(_0x627c('0x8'));var _=require(_0x627c('0x9'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x627c('0xa'));var deskjs=require(_0x627c('0xb'));var toCsv=require(_0x627c('0xc'));var querystring=require(_0x627c('0xd'));var Papa=require(_0x627c('0xe'));var AWS=require(_0x627c('0xf'));var uuidv4=require(_0x627c('0x10'));var Redis=require(_0x627c('0x11'));var authService=require('../../components/auth/service');var qs=require(_0x627c('0x12'));var as=require(_0x627c('0x13'));var hardwareService=require(_0x627c('0x14'));var logger=require(_0x627c('0x15'))(_0x627c('0x16'));var utils=require('../../config/utils');var config=require(_0x627c('0x17'));var licenseUtil=require(_0x627c('0x18'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x1deb36,_0x643f66){_0x643f66=_0x643f66||0xcc;return function(_0x4d5c2c){if(_0x4d5c2c){return _0x1deb36['sendStatus'](_0x643f66);}return _0x1deb36[_0x627c('0x19')](_0x643f66)[_0x627c('0x1a')]();};}function respondWithResult(_0x16b183,_0x5dbe2f){_0x5dbe2f=_0x5dbe2f||0xc8;return function(_0x42fc1e){if(_0x42fc1e){return _0x16b183['status'](_0x5dbe2f)[_0x627c('0x1b')](_0x42fc1e);}};}function respondWithFilteredResult(_0x249534,_0x21d293){return function(_0x154fc5){if(_0x154fc5){var _0x560189=typeof _0x21d293['offset']===_0x627c('0x1c')&&typeof _0x21d293['limit']===_0x627c('0x1c');var _0x3a76ec=_0x154fc5[_0x627c('0x1d')];var _0x3f7008=_0x560189?0x0:_0x21d293[_0x627c('0x1e')];var _0x390ca7=_0x560189?_0x154fc5['count']:_0x21d293[_0x627c('0x1e')]+_0x21d293[_0x627c('0x1f')];var _0x40e519;if(_0x390ca7>=_0x3a76ec){_0x390ca7=_0x3a76ec;_0x40e519=0xc8;}else{_0x40e519=0xce;}_0x249534[_0x627c('0x19')](_0x40e519);return _0x249534['set'](_0x627c('0x20'),_0x3f7008+'-'+_0x390ca7+'/'+_0x3a76ec)['json'](_0x154fc5);}return null;};}function patchUpdates(_0x83615f){return function(_0x42acda){try{jsonpatch[_0x627c('0x21')](_0x42acda,_0x83615f,!![]);}catch(_0x491e06){return BPromise[_0x627c('0x22')](_0x491e06);}return _0x42acda[_0x627c('0x23')]();};}function saveUpdates(_0x48679d,_0x15770c){return function(_0x463b56){if(_0x463b56){return _0x463b56[_0x627c('0x24')](_0x48679d)['then'](function(_0x43b0d0){return _0x43b0d0;});}return null;};}function removeEntity(_0x40b64f,_0x70e3b4){return function(_0x132ce4){if(_0x132ce4){return _0x132ce4[_0x627c('0x25')]()['then'](function(){_0x40b64f[_0x627c('0x19')](0xcc)[_0x627c('0x1a')]();});}};}function handleEntityNotFound(_0x348b8c,_0x2b5114){return function(_0x2f66bf){if(!_0x2f66bf){_0x348b8c['sendStatus'](0x194);}return _0x2f66bf;};}function handleError(_0x5dc2fc,_0x4b00b0){_0x4b00b0=_0x4b00b0||0x1f4;return function(_0xa1acd4){logger[_0x627c('0x26')](_0xa1acd4['stack']);if(_0xa1acd4['name']){delete _0xa1acd4['name'];}_0x5dc2fc[_0x627c('0x19')](_0x4b00b0)[_0x627c('0x27')](_0xa1acd4);};}exports[_0x627c('0x28')]=function(_0x538338,_0x597fa7){var _0xfa63f0={},_0x246328={},_0x5bea1f={'count':0x0,'rows':[]};var _0x2b9a76=_[_0x627c('0x29')](db[_0x627c('0x2a')][_0x627c('0x2b')],function(_0x4a2213){return{'name':_0x4a2213[_0x627c('0x2c')],'type':_0x4a2213[_0x627c('0x2d')][_0x627c('0x2e')]};});_0x246328[_0x627c('0x2f')]=_[_0x627c('0x30')](_['map'](_0x2b9a76,_0x627c('0x31')),[_0x627c('0x32')]);_0x246328[_0x627c('0x33')]=_[_0x627c('0x34')](_0x538338['query']);_0x246328[_0x627c('0x35')]=_['intersection'](_0x246328[_0x627c('0x2f')],_0x246328[_0x627c('0x33')]);_0xfa63f0[_0x627c('0x36')]=_['intersection'](_0x246328[_0x627c('0x2f')],qs[_0x627c('0x37')](_0x538338['query'][_0x627c('0x37')]));_0xfa63f0[_0x627c('0x36')]=_0xfa63f0[_0x627c('0x36')][_0x627c('0x38')]?_0xfa63f0[_0x627c('0x36')]:_0x246328['model'];if(!_0x538338['query'][_0x627c('0x39')](_0x627c('0x3a'))){_0xfa63f0[_0x627c('0x1f')]=qs['limit'](_0x538338[_0x627c('0x33')]['limit']);_0xfa63f0[_0x627c('0x1e')]=qs['offset'](_0x538338[_0x627c('0x33')][_0x627c('0x1e')]);}_0xfa63f0['order']=qs['sort'](_0x538338[_0x627c('0x33')]['sort']);_0xfa63f0[_0x627c('0x3b')]=qs['filters'](_['pick'](_0x538338[_0x627c('0x33')],_0x246328[_0x627c('0x35')]),_0x2b9a76);if(_0x538338[_0x627c('0x33')][_0x627c('0x3c')]){_0xfa63f0['where']=_[_0x627c('0x3d')](_0xfa63f0[_0x627c('0x3b')],{'$or':_[_0x627c('0x29')](_0x2b9a76,function(_0x309d2b){if(_0x309d2b['type']!==_0x627c('0x3e')){var _0x285ca0={};_0x285ca0[_0x309d2b['name']]={'$like':'%'+_0x538338[_0x627c('0x33')][_0x627c('0x3c')]+'%'};return _0x285ca0;}})});}_0xfa63f0=_[_0x627c('0x3d')]({},_0xfa63f0,_0x538338[_0x627c('0x3f')]);var _0x2de666={'where':_0xfa63f0['where']};return db[_0x627c('0x2a')][_0x627c('0x1d')](_0x2de666)[_0x627c('0x40')](function(_0x582554){_0x5bea1f[_0x627c('0x1d')]=_0x582554;if(_0x538338[_0x627c('0x33')][_0x627c('0x41')]){_0xfa63f0[_0x627c('0x42')]=[{'all':!![]}];}return db[_0x627c('0x2a')][_0x627c('0x43')](_0xfa63f0);})[_0x627c('0x40')](function(_0x3b48d9){_0x5bea1f[_0x627c('0x44')]=_0x3b48d9;return _0x5bea1f;})[_0x627c('0x40')](respondWithFilteredResult(_0x597fa7,_0xfa63f0))[_0x627c('0x45')](handleError(_0x597fa7,null));};exports[_0x627c('0x46')]=function(_0x545cfe,_0x4774d3){var _0x5aa622={'raw':![],'where':{'id':_0x545cfe['params']['id']}},_0x712214={};_0x712214['model']=_[_0x627c('0x34')](db['VoiceRecording'][_0x627c('0x2b')]);_0x712214[_0x627c('0x33')]=_['keys'](_0x545cfe[_0x627c('0x33')]);_0x712214[_0x627c('0x35')]=_[_0x627c('0x47')](_0x712214[_0x627c('0x2f')],_0x712214['query']);_0x5aa622[_0x627c('0x36')]=_[_0x627c('0x47')](_0x712214[_0x627c('0x2f')],qs[_0x627c('0x37')](_0x545cfe['query'][_0x627c('0x37')]));_0x5aa622[_0x627c('0x36')]=_0x5aa622[_0x627c('0x36')][_0x627c('0x38')]?_0x5aa622[_0x627c('0x36')]:_0x712214['model'];if(_0x545cfe[_0x627c('0x33')][_0x627c('0x41')]){_0x5aa622[_0x627c('0x42')]=[{'all':!![]}];}_0x5aa622=_['merge']({},_0x5aa622,_0x545cfe[_0x627c('0x3f')]);return db[_0x627c('0x2a')][_0x627c('0x48')](_0x5aa622)[_0x627c('0x40')](handleEntityNotFound(_0x4774d3,null))['then'](respondWithResult(_0x4774d3,null))[_0x627c('0x45')](handleError(_0x4774d3,null));};exports[_0x627c('0x49')]=function(_0x3cff16,_0x22ffa8){return db[_0x627c('0x2a')]['create'](_0x3cff16['body'],{})['then'](respondWithResult(_0x22ffa8,0xc9))[_0x627c('0x45')](handleError(_0x22ffa8,null));};exports[_0x627c('0x24')]=function(_0xf95411,_0xa41e5e){if(_0xf95411['body']['id']){delete _0xf95411['body']['id'];}return db[_0x627c('0x2a')]['find']({'where':{'id':_0xf95411[_0x627c('0x4a')]['id']}})[_0x627c('0x40')](handleEntityNotFound(_0xa41e5e,null))[_0x627c('0x40')](saveUpdates(_0xf95411[_0x627c('0x4b')],null))[_0x627c('0x40')](respondWithResult(_0xa41e5e,null))[_0x627c('0x45')](handleError(_0xa41e5e,null));};exports[_0x627c('0x4c')]=function(_0x5ae9f8,_0x458c6a){return db[_0x627c('0x2a')]['describe']()[_0x627c('0x40')](respondWithResult(_0x458c6a,null))[_0x627c('0x45')](handleError(_0x458c6a,null));};exports[_0x627c('0x4d')]=function(_0x545807,_0x6e6fe1,_0x146776){var _0x424dce=require(_0x627c('0x4e'));var _0xceef9d=![];var _0x4ab88b={};if(_0x545807['query'][_0x627c('0x2d')]&&_0x545807[_0x627c('0x33')]['type']===_0x627c('0x4f')){_0x4ab88b[_0x627c('0x4f')]=_0x545807['params']['id'];}else{_0x4ab88b['id']=_0x545807['params']['id'];}return db[_0x627c('0x2a')][_0x627c('0x48')]({'where':_0x4ab88b,'attributes':['id',_0x627c('0x50')],'raw':!![]})[_0x627c('0x40')](handleEntityNotFound(_0x6e6fe1,null))[_0x627c('0x40')](function(_0x20048c){if(_0x20048c){var _0x283112=_0x20048c[_0x627c('0x50')];var _0x2250b1=util['format'](_0x627c('0x51'),_0x283112);if(fs[_0x627c('0x52')](_0x2250b1)){_0xceef9d=!![];return _0x424dce['decryptFile'](_0x2250b1,_0x283112,config['secrets']['recording'])['then'](function(){return _0x20048c;});}return _0x20048c;}})[_0x627c('0x40')](function(_0x3137e7){if(_0x3137e7){var _0x337fa1=_0x3137e7[_0x627c('0x50')];if(!fs['existsSync'](_0x337fa1)){throw new db['Sequelize'][(_0x627c('0x53'))](_0x627c('0x54'));}if(_0x3137e7[_0x627c('0x55')]){return _0x6e6fe1[_0x627c('0x4d')](_0x337fa1,_0x3137e7[_0x627c('0x55')]+path[_0x627c('0x56')](_0x337fa1),function(){if(_0xceef9d){fs[_0x627c('0x57')](_0x337fa1);}});}else{return _0x6e6fe1['download'](_0x337fa1,function(_0x7224be){if(_0xceef9d){fs[_0x627c('0x57')](_0x337fa1);}});}}})[_0x627c('0x45')](function(_0x2a6a44){if(_0x2a6a44[_0x627c('0x58')]==='VoiceRecording\x20not\x20found'){_0x6e6fe1[_0x627c('0x19')](0x194)[_0x627c('0x27')](_0x627c('0x59'));}else{return handleError(_0x6e6fe1,null);}});};exports[_0x627c('0x5a')]=function(_0xf63461,_0x4e56fd,_0x26702b){var _0x5c40d8=require(_0x627c('0x4e'));var _0x5c4196=![];var _0x12b5ac={'$and':[db['sequelize'][_0x627c('0x3b')](db[_0x627c('0x5b')]['fn'](_0x627c('0x5c'),db['sequelize'][_0x627c('0x5d')](_0x627c('0x4f'))),_0xf63461[_0x627c('0x33')][_0x627c('0x5e')])]};if(_0xf63461[_0x627c('0x33')][_0x627c('0x2d')]&&_0xf63461[_0x627c('0x33')][_0x627c('0x2d')]===_0x627c('0x4f')){_0x12b5ac['$and']['push']({'uniqueid':_0xf63461[_0x627c('0x4a')]['id']});}else{_0x12b5ac[_0x627c('0x5f')][_0x627c('0x60')]({'id':_0xf63461['params']['id']});}return db[_0x627c('0x2a')][_0x627c('0x48')]({'where':_0x12b5ac,'attributes':['id',_0x627c('0x50')],'raw':!![]})[_0x627c('0x40')](handleEntityNotFound(_0x4e56fd,null))[_0x627c('0x40')](function(_0x559949){if(_0x559949){var _0x5b073c=util[_0x627c('0x32')](_0x627c('0x51'),_0x559949[_0x627c('0x50')]);if(fs[_0x627c('0x52')](_0x5b073c)){_0x5c4196=!![];return _0x5c40d8[_0x627c('0x61')](_0x5b073c,_0x559949[_0x627c('0x50')],config[_0x627c('0x62')][_0x627c('0x63')])[_0x627c('0x40')](function(){return _0x559949;});}return _0x559949;}})[_0x627c('0x40')](function(_0x363e9f){if(_0x363e9f){if(!fs[_0x627c('0x52')](_0x363e9f[_0x627c('0x50')])){throw new db[(_0x627c('0x64'))][(_0x627c('0x53'))](_0x627c('0x54'));}if(_0x363e9f['filename']){return _0x4e56fd[_0x627c('0x4d')](_0x363e9f['value'],_0x363e9f[_0x627c('0x55')]+path['extname'](_0x363e9f[_0x627c('0x50')]),function(){if(_0x5c4196){fs[_0x627c('0x57')](_0x363e9f[_0x627c('0x50')]);}});}else{return _0x4e56fd[_0x627c('0x4d')](_0x363e9f[_0x627c('0x50')],function(_0x1db8a9){if(_0x5c4196){fs['unlink'](_0x363e9f[_0x627c('0x50')]);}});}}})['catch'](handleError(_0x4e56fd,null));};exports[_0x627c('0x25')]=function(_0x18737c,_0x5d8222){return db[_0x627c('0x2a')][_0x627c('0x48')]({'where':{'id':_0x18737c[_0x627c('0x4a')]['id']}})['then'](function(_0x3d82e9){if(_[_0x627c('0x65')](_0x3d82e9)){throw new ReferenceError(_0x627c('0x66'));}return _0x3d82e9;})[_0x627c('0x40')](function(_0x578065){var _0x47cd2d=_0x578065[_0x627c('0x50')];logger[_0x627c('0x67')](_0x627c('0x68'),_0x47cd2d);if(!_['isNil'](_0x578065[_0x627c('0x50')])&&fs[_0x627c('0x52')](_0x47cd2d)){logger[_0x627c('0x67')]('File:\x20\x22'+_0x47cd2d+_0x627c('0x69'));fs[_0x627c('0x6a')](_0x47cd2d);}_0x47cd2d=_0x47cd2d+_0x627c('0x6b');if(!_[_0x627c('0x65')](_0x578065['value'])&&fs[_0x627c('0x52')](_0x47cd2d)){logger[_0x627c('0x67')](_0x627c('0x6c')+_0x47cd2d+_0x627c('0x69'));fs[_0x627c('0x6a')](_0x47cd2d);}return _0x578065;})[_0x627c('0x40')](function(_0x2cb30c){if(!_0x2cb30c)throw new InternalError();return _0x2cb30c[_0x627c('0x25')]();})[_0x627c('0x40')](function(){_0x5d8222[_0x627c('0x19')](0xcc)['end']();})[_0x627c('0x45')](handleError(_0x5d8222,null));};function getBucketslist(_0x4b5186,_0x4e8b2f,_0x4638e6){return new Promise(function(_0xbdb977,_0x5c805a){var _0xdf9a9f=new AWS['S3']({'accessKeyId':_0x4e8b2f,'secretAccessKey':_0x4b5186,'region':_0x4638e6});_0xdf9a9f['listBuckets']({},function(_0x122f16,_0x26f12f){if(_0x122f16){return _0x5c805a(_0x122f16);}else{return _0xbdb977(_0x26f12f);}});});}function createBucket(_0x4f7362,_0x1430bb,_0x575e7e,_0x53c25e){return new Promise(function(_0x22eac6,_0x388fc5){var _0x3d2c0b=new AWS['S3']({'accessKeyId':_0x1430bb,'secretAccessKey':_0x4f7362,'region':_0x575e7e});_0x3d2c0b[_0x627c('0x6d')]({'Bucket':_0x53c25e},function(_0xbc3ddb,_0x57d225){if(_0xbc3ddb){return _0x388fc5(_0xbc3ddb);}else{return _0x22eac6(_0x57d225);}});});}function uploadFile(_0x46a513,_0x176439,_0x50443c,_0x2f700b,_0x2a3830,_0x183745){return new Promise(function(_0x4ea61e,_0x89aad8){var _0x423e40=new AWS['S3']({'accessKeyId':_0x176439,'secretAccessKey':_0x46a513,'region':_0x50443c});_0x423e40[_0x627c('0x6e')]({'Bucket':_0x2f700b,'Key':_0x2a3830,'Body':_0x183745},function(_0x27b5b5,_0x90135){if(_0x27b5b5){return _0x89aad8(_0x27b5b5);}else{return _0x4ea61e(_0x90135);}});});}function startTranscribe(_0x2ed836,_0x4bc90d,_0x3f518a,_0x87bf0a,_0x1fb6af,_0x31f2f8){return new Promise(function(_0x378381,_0x31130d){var _0x38c43a=new AWS[(_0x627c('0x6f'))]({'accessKeyId':_0x4bc90d,'secretAccessKey':_0x2ed836,'region':_0x3f518a});_0x38c43a[_0x627c('0x70')]({'TranscriptionJobName':_0x87bf0a,'LanguageCode':_0x1fb6af,'Media':{'MediaFileUri':_0x31f2f8}},function(_0x41965b,_0x2817b8){if(_0x41965b){return _0x31130d(_0x41965b);}else{return _0x378381(_0x2817b8);}});});}function transcribe(_0x444c64,_0x1f7e6f,_0x149605,_0xc81a8e,_0x4de469,_0x472000,_0xb49e2d){return new Promise(function(_0x3cee26,_0x1c5e91){var _0x46d30d={};logger[_0x627c('0x67')](util[_0x627c('0x32')](_0x627c('0x71'),_0x444c64,_0x4de469));return uploadFile(_0x1f7e6f,_0x149605,_0xc81a8e,_0x4de469,path['basename'](_0x472000),fs[_0x627c('0x72')](_0x472000))['then'](function(_0x5ba242){logger[_0x627c('0x67')](util[_0x627c('0x32')](_0x627c('0x73'),_0x444c64,_0x4de469,_0x5ba242[_0x627c('0x74')]));_0x46d30d['bucket']=_0x5ba242[_0x627c('0x75')];_0x46d30d[_0x627c('0x76')]=_0x5ba242[_0x627c('0x74')];logger[_0x627c('0x67')](util[_0x627c('0x32')](_0x627c('0x77'),_0x444c64));return startTranscribe(_0x1f7e6f,_0x149605,_0xc81a8e,uuidv4(),_0xb49e2d,_0x5ba242[_0x627c('0x74')]);})['then'](function(_0x1dbfee){logger[_0x627c('0x67')](util[_0x627c('0x32')]('[RUNTRANSCRIPT][%d]\x20Transcription\x20job\x20%s\x20created',_0x444c64,_0x1dbfee['TranscriptionJob'][_0x627c('0x78')]));_0x46d30d[_0x627c('0x79')]=_0x1dbfee[_0x627c('0x7a')][_0x627c('0x78')];_0x46d30d[_0x627c('0x7b')]=_0x1dbfee[_0x627c('0x7a')]['TranscriptionJobStatus'];return _0x3cee26(_0x46d30d);})[_0x627c('0x45')](function(_0x4d93c7){return _0x1c5e91(_0x4d93c7);});});}exports[_0x627c('0x7c')]=function(_0x217977,_0x22e3d5,_0x175c7b){var _0x1deb54;var _0x372dbf;var _0x4a9924;var _0x169059=require(_0x627c('0x4e'));return db[_0x627c('0x2a')]['findOne']({'where':{'id':_0x217977[_0x627c('0x4a')]['id']}})['then'](function(_0x4a8f48){if(_0x4a8f48){var _0x3dfc6f=util['format'](_0x627c('0x51'),_0x4a8f48[_0x627c('0x50')]);if(fs[_0x627c('0x52')](_0x3dfc6f)){cypher=!![];return _0x169059[_0x627c('0x61')](_0x3dfc6f,_0x4a8f48[_0x627c('0x50')],config[_0x627c('0x62')]['recording'])['then'](function(){return _0x4a8f48;});}return _0x4a8f48;}})[_0x627c('0x40')](function(_0x29eaae){if(!_0x29eaae){throw new db['Sequelize'][(_0x627c('0x53'))](_0x627c('0x7d'));}_0x372dbf=_0x29eaae;return db['Setting'][_0x627c('0x7e')]({'where':{'id':0x1}});})[_0x627c('0x40')](handleEntityNotFound(_0x22e3d5,null))['then'](function(_0xb7866){if(_0xb7866){_0x1deb54=_0xb7866;if(!_0x1deb54['transcribe']||!_0x1deb54[_0x627c('0x7f')]||!_0x1deb54[_0x627c('0x80')]||!_0x1deb54['language']||!_0x1deb54['bucket']){throw new db[(_0x627c('0x64'))]['ValidationError'](_0x627c('0x81'));}if(_0x217977[_0x627c('0x4b')][_0x627c('0x82')]&&(!_0x1deb54[_0x627c('0x83')]||!_0x1deb54[_0x627c('0x84')]||!_0x1deb54[_0x627c('0x85')]||!_0x1deb54['language']||!_0x1deb54[_0x627c('0x86')])){throw new db[(_0x627c('0x64'))][(_0x627c('0x53'))](_0x627c('0x87'));}return db['CloudProvider'][_0x627c('0x7e')]({'where':{'id':_0x1deb54[_0x627c('0x7f')]}});}})[_0x627c('0x40')](function(_0x18dc63){if(!_0x18dc63){throw new db['Sequelize'][(_0x627c('0x53'))](_0x627c('0x88'));}if(!_0x18dc63['data1']||!_0x18dc63[_0x627c('0x89')]){throw new db[(_0x627c('0x64'))]['ValidationError'](_0x627c('0x8a'));}_0x4a9924=_0x18dc63;return getBucketslist(_0x4a9924['data1'],_0x4a9924[_0x627c('0x89')],_0x1deb54[_0x627c('0x80')]);})[_0x627c('0x40')](function(_0x4e2808){if(_0x4e2808&&_0x4e2808['Buckets']){var _0x24edab=_[_0x627c('0x48')](_0x4e2808[_0x627c('0x8b')],function(_0x2b157a){return _0x2b157a['Name']===_0x1deb54[_0x627c('0x86')];});if(!_0x24edab){logger[_0x627c('0x67')](util[_0x627c('0x32')](_0x627c('0x8c'),_0x217977[_0x627c('0x4a')]['id'],_0x1deb54[_0x627c('0x86')]));return createBucket(_0x4a9924['data1'],_0x4a9924[_0x627c('0x89')],_0x1deb54[_0x627c('0x80')],_0x1deb54[_0x627c('0x86')]);}logger['info'](util['format'](_0x627c('0x8d'),_0x217977['params']['id'],_0x1deb54['bucket']));return;}})['then'](function(_0x4b0023){if(_0x372dbf[_0x627c('0x7b')]===_0x627c('0x8e')){return transcribe(_0x217977['params']['id'],_0x4a9924[_0x627c('0x8f')],_0x4a9924['data2'],_0x1deb54[_0x627c('0x80')],_0x1deb54[_0x627c('0x86')],_0x372dbf[_0x627c('0x50')],_0x1deb54['language']);}else{logger['info'](util[_0x627c('0x32')](_0x627c('0x90'),_0x217977[_0x627c('0x4a')]['id']));return{'transcribeStatus':'IN_PROGRESS'};}})[_0x627c('0x40')](function(_0x34989a){if(_0x34989a){_0x34989a['tempSentiment']=_0x217977['body'][_0x627c('0x82')];return _0x372dbf['updateAttributes'](_0x34989a);}})[_0x627c('0x40')](respondWithResult(_0x22e3d5,null))['catch'](handleError(_0x22e3d5,null));};function writeFile(_0x124e8c,_0x259c24){return new Promise(function(_0x2b0206,_0x5761f0){fs['writeFile'](_0x259c24,_0x124e8c,function(_0x1fde5b,_0xd0a6d7){if(_0x1fde5b){return _0x5761f0(_0x1fde5b);}else{return _0x2b0206(_0xd0a6d7);}});});}exports[_0x627c('0x91')]=function(_0x33a9e0,_0x532689,_0x1eed44){return db[_0x627c('0x2a')]['findOne']({'where':{'id':_0x33a9e0[_0x627c('0x4a')]['id']}})[_0x627c('0x40')](handleEntityNotFound(_0x532689))[_0x627c('0x40')](function(_0x32aab9){if(_0x32aab9&&_0x32aab9[_0x627c('0x92')]){var _0x1ba28d=_0x32aab9['fileText'];var _0x448818=config[_0x627c('0x93')]+'/server/files/transcribes/transcribe_'+_0x32aab9['id']+_0x627c('0x94');if(fs[_0x627c('0x52')](_0x448818)){return _0x448818;}return writeFile(_0x1ba28d,_0x448818)[_0x627c('0x40')](function(){return _0x448818;});}else{throw new db[(_0x627c('0x64'))][(_0x627c('0x53'))](_0x627c('0x95'));}})[_0x627c('0x40')](function(_0xc5da90){return _0x532689[_0x627c('0x4d')](_0xc5da90);})[_0x627c('0x45')](handleError(_0x532689));};