Built motion from commit 9d7072cc.|2.5.39
[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 _0x5553=['isNil','info','cancellazione\x20fisica\x20documento\x20%s','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','.cypher','listBuckets','createBucket','startTranscriptionJob','[RUNTRANSCRIPT][%d]\x20Starting\x20voice\x20recording\x20upload\x20in\x20bucket\x20%s','basename','readFileSync','[RUNTRANSCRIPT][%d]\x20Voice\x20recording\x20uploaded\x20in\x20bucket\x20%s\x20(%s)','Location','bucket','location','TranscriptionJob','TranscriptionJobName','transcribeName','runTranscribe','Setting','findOne','transcribeAccountId','runSentiment','sentiment','sentimentAccountId','language','Sentiment\x20Analysis\x20not\x20configured','CloudProvider','Cloud\x20Provider\x20not\x20available','data1','Cloud\x20Provider\x20not\x20configured','transcribeRegion','Buckets','Name','[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20available','transcribeStatus','NEW','data2','[RUNTRANSCRIPT][%d]\x20Transcript\x20action\x20already\x20requested','IN_PROGRESS','tempSentiment','updateAttributes','writeFile','downloadTranscribe','fileText','root','.txt','eml-format','rimraf','fast-json-patch','moment','mustache','path','sox','to-csv','ejs','fs-extra','squel','crypto','jsforce','desk.js','querystring','papaparse','aws-sdk','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','status','end','json','offset','undefined','count','limit','Content-Range','reject','save','update','destroy','sendStatus','error','stack','name','send','index','map','VoiceRecording','rawAttributes','fieldName','type','key','model','differenceBy','query','keys','intersection','attributes','fields','length','hasOwnProperty','nolimit','where','filters','pick','filter','merge','VIRTUAL','options','then','includeAll','rows','show','params','include','find','create','body','catch','describe','../../components/encryptor','uniqueid','value','%s.cypher','existsSync','decryptFile','secrets','filename','extname','unlink','download','Not\x20found','downloads','sequelize','col','token','$and','push','format','recording','Sequelize','ValidationError','VoiceRecording\x20not\x20found'];(function(_0x231fc2,_0x3a20f1){var _0x2694b3=function(_0x395826){while(--_0x395826){_0x231fc2['push'](_0x231fc2['shift']());}};_0x2694b3(++_0x3a20f1);}(_0x5553,0x15d));var _0x3555=function(_0x36a5f0,_0x3f0ecf){_0x36a5f0=_0x36a5f0-0x0;var _0xdf5cae=_0x5553[_0x36a5f0];return _0xdf5cae;};'use strict';var emlformat=require(_0x3555('0x0'));var rimraf=require(_0x3555('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x3555('0x2'));var rp=require('request-promise');var moment=require(_0x3555('0x3'));var BPromise=require('bluebird');var Mustache=require(_0x3555('0x4'));var util=require('util');var path=require(_0x3555('0x5'));var sox=require(_0x3555('0x6'));var csv=require(_0x3555('0x7'));var ejs=require(_0x3555('0x8'));var fs=require('fs');var fs_extra=require(_0x3555('0x9'));var _=require('lodash');var squel=require(_0x3555('0xa'));var crypto=require(_0x3555('0xb'));var jsforce=require(_0x3555('0xc'));var deskjs=require(_0x3555('0xd'));var toCsv=require(_0x3555('0x7'));var querystring=require(_0x3555('0xe'));var Papa=require(_0x3555('0xf'));var AWS=require(_0x3555('0x10'));var uuidv4=require('uuid/v4');var Redis=require(_0x3555('0x11'));var authService=require(_0x3555('0x12'));var qs=require(_0x3555('0x13'));var as=require(_0x3555('0x14'));var hardwareService=require(_0x3555('0x15'));var logger=require(_0x3555('0x16'))(_0x3555('0x17'));var utils=require(_0x3555('0x18'));var config=require('../../config/environment');var licenseUtil=require(_0x3555('0x19'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x49a0ff,_0x1a4ee0){_0x1a4ee0=_0x1a4ee0||0xcc;return function(_0x143efa){if(_0x143efa){return _0x49a0ff['sendStatus'](_0x1a4ee0);}return _0x49a0ff[_0x3555('0x1a')](_0x1a4ee0)[_0x3555('0x1b')]();};}function respondWithResult(_0x62fcbe,_0x28bce5){_0x28bce5=_0x28bce5||0xc8;return function(_0x3cee66){if(_0x3cee66){return _0x62fcbe[_0x3555('0x1a')](_0x28bce5)[_0x3555('0x1c')](_0x3cee66);}};}function respondWithFilteredResult(_0x28b337,_0xc5e8){return function(_0x5a4fdb){if(_0x5a4fdb){var _0x2bf38c=typeof _0xc5e8[_0x3555('0x1d')]==='undefined'&&typeof _0xc5e8['limit']===_0x3555('0x1e');var _0xb11d17=_0x5a4fdb['count'];var _0x1d921a=_0x2bf38c?0x0:_0xc5e8['offset'];var _0xc1b413=_0x2bf38c?_0x5a4fdb[_0x3555('0x1f')]:_0xc5e8[_0x3555('0x1d')]+_0xc5e8[_0x3555('0x20')];var _0x229c3c;if(_0xc1b413>=_0xb11d17){_0xc1b413=_0xb11d17;_0x229c3c=0xc8;}else{_0x229c3c=0xce;}_0x28b337[_0x3555('0x1a')](_0x229c3c);return _0x28b337['set'](_0x3555('0x21'),_0x1d921a+'-'+_0xc1b413+'/'+_0xb11d17)[_0x3555('0x1c')](_0x5a4fdb);}return null;};}function patchUpdates(_0x45476f){return function(_0x24072d){try{jsonpatch['apply'](_0x24072d,_0x45476f,!![]);}catch(_0x5eec07){return BPromise[_0x3555('0x22')](_0x5eec07);}return _0x24072d[_0x3555('0x23')]();};}function saveUpdates(_0x2100fd,_0x34e431){return function(_0x3979c1){if(_0x3979c1){return _0x3979c1[_0x3555('0x24')](_0x2100fd)['then'](function(_0x4b25f9){return _0x4b25f9;});}return null;};}function removeEntity(_0x6dfbdc,_0x5632c4){return function(_0x53d4a6){if(_0x53d4a6){return _0x53d4a6[_0x3555('0x25')]()['then'](function(){_0x6dfbdc[_0x3555('0x1a')](0xcc)[_0x3555('0x1b')]();});}};}function handleEntityNotFound(_0x1f3f95,_0x1949c){return function(_0x22f967){if(!_0x22f967){_0x1f3f95[_0x3555('0x26')](0x194);}return _0x22f967;};}function handleError(_0x4c576e,_0x5e16ca){_0x5e16ca=_0x5e16ca||0x1f4;return function(_0x2cb330){logger[_0x3555('0x27')](_0x2cb330[_0x3555('0x28')]);if(_0x2cb330['name']){delete _0x2cb330[_0x3555('0x29')];}_0x4c576e[_0x3555('0x1a')](_0x5e16ca)[_0x3555('0x2a')](_0x2cb330);};}exports[_0x3555('0x2b')]=function(_0x17c732,_0x5f1460){var _0x3b721a={},_0x197257={},_0x440393={'count':0x0,'rows':[]};var _0x1b1ff2=_[_0x3555('0x2c')](db[_0x3555('0x2d')][_0x3555('0x2e')],function(_0x52ff18){return{'name':_0x52ff18[_0x3555('0x2f')],'type':_0x52ff18[_0x3555('0x30')][_0x3555('0x31')]};});_0x197257[_0x3555('0x32')]=_[_0x3555('0x33')](_[_0x3555('0x2c')](_0x1b1ff2,'name'),['format']);_0x197257[_0x3555('0x34')]=_[_0x3555('0x35')](_0x17c732[_0x3555('0x34')]);_0x197257['filters']=_[_0x3555('0x36')](_0x197257[_0x3555('0x32')],_0x197257['query']);_0x3b721a[_0x3555('0x37')]=_[_0x3555('0x36')](_0x197257['model'],qs[_0x3555('0x38')](_0x17c732[_0x3555('0x34')]['fields']));_0x3b721a[_0x3555('0x37')]=_0x3b721a[_0x3555('0x37')][_0x3555('0x39')]?_0x3b721a[_0x3555('0x37')]:_0x197257[_0x3555('0x32')];if(!_0x17c732[_0x3555('0x34')][_0x3555('0x3a')](_0x3555('0x3b'))){_0x3b721a['limit']=qs[_0x3555('0x20')](_0x17c732['query'][_0x3555('0x20')]);_0x3b721a[_0x3555('0x1d')]=qs['offset'](_0x17c732['query'][_0x3555('0x1d')]);}_0x3b721a['order']=qs['sort'](_0x17c732[_0x3555('0x34')]['sort']);_0x3b721a[_0x3555('0x3c')]=qs[_0x3555('0x3d')](_[_0x3555('0x3e')](_0x17c732[_0x3555('0x34')],_0x197257[_0x3555('0x3d')]),_0x1b1ff2);if(_0x17c732['query'][_0x3555('0x3f')]){_0x3b721a[_0x3555('0x3c')]=_[_0x3555('0x40')](_0x3b721a[_0x3555('0x3c')],{'$or':_[_0x3555('0x2c')](_0x1b1ff2,function(_0x436ef5){if(_0x436ef5['type']!==_0x3555('0x41')){var _0x2ec597={};_0x2ec597[_0x436ef5[_0x3555('0x29')]]={'$like':'%'+_0x17c732[_0x3555('0x34')][_0x3555('0x3f')]+'%'};return _0x2ec597;}})});}_0x3b721a=_['merge']({},_0x3b721a,_0x17c732[_0x3555('0x42')]);var _0x1c5629={'where':_0x3b721a[_0x3555('0x3c')]};return db[_0x3555('0x2d')][_0x3555('0x1f')](_0x1c5629)[_0x3555('0x43')](function(_0x59d612){_0x440393[_0x3555('0x1f')]=_0x59d612;if(_0x17c732[_0x3555('0x34')][_0x3555('0x44')]){_0x3b721a['include']=[{'all':!![]}];}return db[_0x3555('0x2d')]['findAll'](_0x3b721a);})[_0x3555('0x43')](function(_0x385d65){_0x440393[_0x3555('0x45')]=_0x385d65;return _0x440393;})[_0x3555('0x43')](respondWithFilteredResult(_0x5f1460,_0x3b721a))['catch'](handleError(_0x5f1460,null));};exports[_0x3555('0x46')]=function(_0x4672b7,_0x117d81){var _0x13ae32={'raw':![],'where':{'id':_0x4672b7[_0x3555('0x47')]['id']}},_0xcc6ec7={};_0xcc6ec7[_0x3555('0x32')]=_[_0x3555('0x35')](db[_0x3555('0x2d')]['rawAttributes']);_0xcc6ec7[_0x3555('0x34')]=_[_0x3555('0x35')](_0x4672b7[_0x3555('0x34')]);_0xcc6ec7[_0x3555('0x3d')]=_[_0x3555('0x36')](_0xcc6ec7[_0x3555('0x32')],_0xcc6ec7[_0x3555('0x34')]);_0x13ae32['attributes']=_['intersection'](_0xcc6ec7[_0x3555('0x32')],qs['fields'](_0x4672b7[_0x3555('0x34')][_0x3555('0x38')]));_0x13ae32['attributes']=_0x13ae32[_0x3555('0x37')][_0x3555('0x39')]?_0x13ae32[_0x3555('0x37')]:_0xcc6ec7[_0x3555('0x32')];if(_0x4672b7['query']['includeAll']){_0x13ae32[_0x3555('0x48')]=[{'all':!![]}];}_0x13ae32=_['merge']({},_0x13ae32,_0x4672b7[_0x3555('0x42')]);return db[_0x3555('0x2d')][_0x3555('0x49')](_0x13ae32)[_0x3555('0x43')](handleEntityNotFound(_0x117d81,null))[_0x3555('0x43')](respondWithResult(_0x117d81,null))['catch'](handleError(_0x117d81,null));};exports[_0x3555('0x4a')]=function(_0x1e4feb,_0x2ca307){return db[_0x3555('0x2d')][_0x3555('0x4a')](_0x1e4feb[_0x3555('0x4b')],{})[_0x3555('0x43')](respondWithResult(_0x2ca307,0xc9))[_0x3555('0x4c')](handleError(_0x2ca307,null));};exports[_0x3555('0x24')]=function(_0x57ef73,_0x495b5e){if(_0x57ef73[_0x3555('0x4b')]['id']){delete _0x57ef73[_0x3555('0x4b')]['id'];}return db[_0x3555('0x2d')][_0x3555('0x49')]({'where':{'id':_0x57ef73[_0x3555('0x47')]['id']}})[_0x3555('0x43')](handleEntityNotFound(_0x495b5e,null))[_0x3555('0x43')](saveUpdates(_0x57ef73[_0x3555('0x4b')],null))[_0x3555('0x43')](respondWithResult(_0x495b5e,null))[_0x3555('0x4c')](handleError(_0x495b5e,null));};exports[_0x3555('0x4d')]=function(_0x4a6267,_0x34046a){return db['VoiceRecording'][_0x3555('0x4d')]()[_0x3555('0x43')](respondWithResult(_0x34046a,null))[_0x3555('0x4c')](handleError(_0x34046a,null));};exports['download']=function(_0x5ea520,_0x30c17a,_0x5c4514){var _0x550856=require(_0x3555('0x4e'));var _0x2021ea=![];var _0x491ba6={};if(_0x5ea520[_0x3555('0x34')][_0x3555('0x30')]&&_0x5ea520[_0x3555('0x34')]['type']===_0x3555('0x4f')){_0x491ba6[_0x3555('0x4f')]=_0x5ea520[_0x3555('0x47')]['id'];}else{_0x491ba6['id']=_0x5ea520[_0x3555('0x47')]['id'];}return db[_0x3555('0x2d')]['find']({'where':_0x491ba6,'attributes':['id',_0x3555('0x50')],'raw':!![]})[_0x3555('0x43')](handleEntityNotFound(_0x30c17a,null))['then'](function(_0x41a0a8){if(_0x41a0a8){var _0x144eb3=_0x41a0a8[_0x3555('0x50')];var _0x583f8f=util['format'](_0x3555('0x51'),_0x144eb3);if(fs[_0x3555('0x52')](_0x583f8f)){_0x2021ea=!![];return _0x550856[_0x3555('0x53')](_0x583f8f,_0x144eb3,config[_0x3555('0x54')]['recording'])[_0x3555('0x43')](function(){return _0x41a0a8;});}return _0x41a0a8;}})[_0x3555('0x43')](function(_0x3c5083){if(_0x3c5083){var _0x66ee1e=_0x3c5083[_0x3555('0x50')];if(!fs[_0x3555('0x52')](_0x66ee1e)){throw new db['Sequelize']['ValidationError']('VoiceRecording\x20not\x20found');}if(_0x3c5083[_0x3555('0x55')]){return _0x30c17a['download'](_0x66ee1e,_0x3c5083[_0x3555('0x55')]+path[_0x3555('0x56')](_0x66ee1e),function(){if(_0x2021ea){fs[_0x3555('0x57')](_0x66ee1e);}});}else{return _0x30c17a[_0x3555('0x58')](_0x66ee1e,function(_0x5bdfc8){if(_0x2021ea){fs[_0x3555('0x57')](_0x66ee1e);}});}}})[_0x3555('0x4c')](function(_0x7a3f63){if(_0x7a3f63['message']==='VoiceRecording\x20not\x20found'){_0x30c17a[_0x3555('0x1a')](0x194)[_0x3555('0x2a')](_0x3555('0x59'));}else{return handleError(_0x30c17a,null);}});};exports[_0x3555('0x5a')]=function(_0x3eeed2,_0x5b5e36,_0x4f2f84){var _0x3aa00e=require('../../components/encryptor');var _0x41acc0=![];var _0x1c7600={'$and':[db[_0x3555('0x5b')][_0x3555('0x3c')](db[_0x3555('0x5b')]['fn']('MD5',db[_0x3555('0x5b')][_0x3555('0x5c')](_0x3555('0x4f'))),_0x3eeed2[_0x3555('0x34')][_0x3555('0x5d')])]};if(_0x3eeed2[_0x3555('0x34')][_0x3555('0x30')]&&_0x3eeed2[_0x3555('0x34')]['type']===_0x3555('0x4f')){_0x1c7600[_0x3555('0x5e')][_0x3555('0x5f')]({'uniqueid':_0x3eeed2[_0x3555('0x47')]['id']});}else{_0x1c7600[_0x3555('0x5e')][_0x3555('0x5f')]({'id':_0x3eeed2[_0x3555('0x47')]['id']});}return db[_0x3555('0x2d')][_0x3555('0x49')]({'where':_0x1c7600,'attributes':['id',_0x3555('0x50')],'raw':!![]})['then'](handleEntityNotFound(_0x5b5e36,null))[_0x3555('0x43')](function(_0x49793a){if(_0x49793a){var _0xd5e086=util[_0x3555('0x60')](_0x3555('0x51'),_0x49793a[_0x3555('0x50')]);if(fs['existsSync'](_0xd5e086)){_0x41acc0=!![];return _0x3aa00e[_0x3555('0x53')](_0xd5e086,_0x49793a[_0x3555('0x50')],config[_0x3555('0x54')][_0x3555('0x61')])[_0x3555('0x43')](function(){return _0x49793a;});}return _0x49793a;}})['then'](function(_0x278598){if(_0x278598){if(!fs[_0x3555('0x52')](_0x278598['value'])){throw new db[(_0x3555('0x62'))][(_0x3555('0x63'))](_0x3555('0x64'));}if(_0x278598[_0x3555('0x55')]){return _0x5b5e36[_0x3555('0x58')](_0x278598[_0x3555('0x50')],_0x278598[_0x3555('0x55')]+path[_0x3555('0x56')](_0x278598['value']),function(){if(_0x41acc0){fs[_0x3555('0x57')](_0x278598[_0x3555('0x50')]);}});}else{return _0x5b5e36[_0x3555('0x58')](_0x278598['value'],function(_0x1962c0){if(_0x41acc0){fs[_0x3555('0x57')](_0x278598[_0x3555('0x50')]);}});}}})[_0x3555('0x4c')](handleError(_0x5b5e36,null));};exports['destroy']=function(_0x277cad,_0x2b82d2){return db[_0x3555('0x2d')][_0x3555('0x49')]({'where':{'id':_0x277cad[_0x3555('0x47')]['id']}})['then'](function(_0x3690f4){if(_[_0x3555('0x65')](_0x3690f4)){throw new ReferenceError('Entity\x20not\x20found');}return _0x3690f4;})[_0x3555('0x43')](function(_0x13e3b2){var _0x588db9=_0x13e3b2[_0x3555('0x50')];logger[_0x3555('0x66')](_0x3555('0x67'),_0x588db9);if(!_['isNil'](_0x13e3b2[_0x3555('0x50')])&&fs['existsSync'](_0x588db9)){logger['info'](_0x3555('0x68')+_0x588db9+_0x3555('0x69'));fs[_0x3555('0x6a')](_0x588db9);}_0x588db9=_0x588db9+_0x3555('0x6b');if(!_[_0x3555('0x65')](_0x13e3b2[_0x3555('0x50')])&&fs[_0x3555('0x52')](_0x588db9)){logger[_0x3555('0x66')]('File:\x20\x22'+_0x588db9+'\x22\x20trovato\x20eseguo\x20la\x20cancellazione');fs[_0x3555('0x6a')](_0x588db9);}return _0x13e3b2;})[_0x3555('0x43')](function(_0xf3f43){if(!_0xf3f43)throw new InternalError();return _0xf3f43['destroy']();})[_0x3555('0x43')](function(){_0x2b82d2[_0x3555('0x1a')](0xcc)['end']();})[_0x3555('0x4c')](handleError(_0x2b82d2,null));};function getBucketslist(_0x4da426,_0x13812a,_0x5f4d6f){return new Promise(function(_0x44bc78,_0x44ae6c){var _0x344ac9=new AWS['S3']({'accessKeyId':_0x13812a,'secretAccessKey':_0x4da426,'region':_0x5f4d6f});_0x344ac9[_0x3555('0x6c')]({},function(_0xf330bf,_0x243b2d){if(_0xf330bf){return _0x44ae6c(_0xf330bf);}else{return _0x44bc78(_0x243b2d);}});});}function createBucket(_0x4bdef1,_0x42f5f3,_0x13e274,_0xfe5569){return new Promise(function(_0x6d541a,_0x370878){var _0x358a05=new AWS['S3']({'accessKeyId':_0x42f5f3,'secretAccessKey':_0x4bdef1,'region':_0x13e274});_0x358a05[_0x3555('0x6d')]({'Bucket':_0xfe5569},function(_0x360218,_0x54ccb9){if(_0x360218){return _0x370878(_0x360218);}else{return _0x6d541a(_0x54ccb9);}});});}function uploadFile(_0x271ac6,_0x564bff,_0x43291e,_0x379dd0,_0x3a8fd7,_0x4a0340){return new Promise(function(_0x2c2749,_0x351bd6){var _0x4b32d6=new AWS['S3']({'accessKeyId':_0x564bff,'secretAccessKey':_0x271ac6,'region':_0x43291e});_0x4b32d6['upload']({'Bucket':_0x379dd0,'Key':_0x3a8fd7,'Body':_0x4a0340},function(_0x1834dc,_0x500e60){if(_0x1834dc){return _0x351bd6(_0x1834dc);}else{return _0x2c2749(_0x500e60);}});});}function startTranscribe(_0x556021,_0x4c70b1,_0x22d8d5,_0x333e92,_0x573204,_0x595feb){return new Promise(function(_0x19b71b,_0x118b63){var _0x17d66f=new AWS['TranscribeService']({'accessKeyId':_0x4c70b1,'secretAccessKey':_0x556021,'region':_0x22d8d5});_0x17d66f[_0x3555('0x6e')]({'TranscriptionJobName':_0x333e92,'LanguageCode':_0x573204,'Media':{'MediaFileUri':_0x595feb}},function(_0x5789fe,_0x1d9cda){if(_0x5789fe){return _0x118b63(_0x5789fe);}else{return _0x19b71b(_0x1d9cda);}});});}function transcribe(_0x129750,_0x4881d8,_0x120ad2,_0x59dc1d,_0xa047bc,_0x3822f2,_0x11029d){return new Promise(function(_0x53798d,_0x5e65e5){var _0x4d57e6={};logger['info'](util['format'](_0x3555('0x6f'),_0x129750,_0xa047bc));return uploadFile(_0x4881d8,_0x120ad2,_0x59dc1d,_0xa047bc,path[_0x3555('0x70')](_0x3822f2),fs[_0x3555('0x71')](_0x3822f2))[_0x3555('0x43')](function(_0x5c55ad){logger[_0x3555('0x66')](util[_0x3555('0x60')](_0x3555('0x72'),_0x129750,_0xa047bc,_0x5c55ad[_0x3555('0x73')]));_0x4d57e6[_0x3555('0x74')]=_0x5c55ad['Bucket'];_0x4d57e6[_0x3555('0x75')]=_0x5c55ad[_0x3555('0x73')];logger[_0x3555('0x66')](util[_0x3555('0x60')]('[RUNTRANSCRIPT][%d]\x20Sending\x20transcribe\x20request',_0x129750));return startTranscribe(_0x4881d8,_0x120ad2,_0x59dc1d,uuidv4(),_0x11029d,_0x5c55ad['Location']);})[_0x3555('0x43')](function(_0x3058ba){logger[_0x3555('0x66')](util[_0x3555('0x60')]('[RUNTRANSCRIPT][%d]\x20Transcription\x20job\x20%s\x20created',_0x129750,_0x3058ba[_0x3555('0x76')][_0x3555('0x77')]));_0x4d57e6[_0x3555('0x78')]=_0x3058ba['TranscriptionJob'][_0x3555('0x77')];_0x4d57e6['transcribeStatus']=_0x3058ba['TranscriptionJob']['TranscriptionJobStatus'];return _0x53798d(_0x4d57e6);})['catch'](function(_0x337f69){return _0x5e65e5(_0x337f69);});});}exports[_0x3555('0x79')]=function(_0x4ae989,_0x3e44ad,_0xa9406c){var _0x36b87a;var _0x26dd9a;var _0x5e5336;var _0xbad9a6=require('../../components/encryptor');return db[_0x3555('0x2d')]['findOne']({'where':{'id':_0x4ae989[_0x3555('0x47')]['id']}})[_0x3555('0x43')](function(_0x1db905){if(_0x1db905){var _0x15eec0=util[_0x3555('0x60')]('%s.cypher',_0x1db905[_0x3555('0x50')]);if(fs['existsSync'](_0x15eec0)){cypher=!![];return _0xbad9a6[_0x3555('0x53')](_0x15eec0,_0x1db905[_0x3555('0x50')],config[_0x3555('0x54')][_0x3555('0x61')])[_0x3555('0x43')](function(){return _0x1db905;});}return _0x1db905;}})[_0x3555('0x43')](function(_0x5b8760){if(!_0x5b8760){throw new db[(_0x3555('0x62'))][(_0x3555('0x63'))]('Voice\x20Recording\x20not\x20found');}_0x26dd9a=_0x5b8760;return db[_0x3555('0x7a')][_0x3555('0x7b')]({'where':{'id':0x1}});})['then'](handleEntityNotFound(_0x3e44ad,null))[_0x3555('0x43')](function(_0x5d6dbb){if(_0x5d6dbb){_0x36b87a=_0x5d6dbb;if(!_0x36b87a['transcribe']||!_0x36b87a[_0x3555('0x7c')]||!_0x36b87a['transcribeRegion']||!_0x36b87a['language']||!_0x36b87a[_0x3555('0x74')]){throw new db['Sequelize'][(_0x3555('0x63'))]('Transcribe\x20not\x20configured');}if(_0x4ae989[_0x3555('0x4b')][_0x3555('0x7d')]&&(!_0x36b87a[_0x3555('0x7e')]||!_0x36b87a[_0x3555('0x7f')]||!_0x36b87a['sentimentRegion']||!_0x36b87a[_0x3555('0x80')]||!_0x36b87a[_0x3555('0x74')])){throw new db[(_0x3555('0x62'))]['ValidationError'](_0x3555('0x81'));}return db[_0x3555('0x82')][_0x3555('0x7b')]({'where':{'id':_0x36b87a[_0x3555('0x7c')]}});}})['then'](function(_0x33ac62){if(!_0x33ac62){throw new db[(_0x3555('0x62'))][(_0x3555('0x63'))](_0x3555('0x83'));}if(!_0x33ac62[_0x3555('0x84')]||!_0x33ac62['data2']){throw new db['Sequelize']['ValidationError'](_0x3555('0x85'));}_0x5e5336=_0x33ac62;return getBucketslist(_0x5e5336['data1'],_0x5e5336['data2'],_0x36b87a[_0x3555('0x86')]);})[_0x3555('0x43')](function(_0x4f0fd5){if(_0x4f0fd5&&_0x4f0fd5[_0x3555('0x87')]){var _0xb88f53=_['find'](_0x4f0fd5['Buckets'],function(_0x230b86){return _0x230b86[_0x3555('0x88')]===_0x36b87a[_0x3555('0x74')];});if(!_0xb88f53){logger['info'](util[_0x3555('0x60')]('[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20not\x20available',_0x4ae989[_0x3555('0x47')]['id'],_0x36b87a[_0x3555('0x74')]));return createBucket(_0x5e5336[_0x3555('0x84')],_0x5e5336['data2'],_0x36b87a[_0x3555('0x86')],_0x36b87a[_0x3555('0x74')]);}logger[_0x3555('0x66')](util[_0x3555('0x60')](_0x3555('0x89'),_0x4ae989[_0x3555('0x47')]['id'],_0x36b87a[_0x3555('0x74')]));return;}})['then'](function(_0x48184c){if(_0x26dd9a[_0x3555('0x8a')]===_0x3555('0x8b')){return transcribe(_0x4ae989['params']['id'],_0x5e5336[_0x3555('0x84')],_0x5e5336[_0x3555('0x8c')],_0x36b87a['transcribeRegion'],_0x36b87a['bucket'],_0x26dd9a[_0x3555('0x50')],_0x36b87a[_0x3555('0x80')]);}else{logger[_0x3555('0x66')](util['format'](_0x3555('0x8d'),_0x4ae989[_0x3555('0x47')]['id']));return{'transcribeStatus':_0x3555('0x8e')};}})['then'](function(_0x2e0a80){if(_0x2e0a80){_0x2e0a80[_0x3555('0x8f')]=_0x4ae989[_0x3555('0x4b')]['runSentiment'];return _0x26dd9a[_0x3555('0x90')](_0x2e0a80);}})[_0x3555('0x43')](respondWithResult(_0x3e44ad,null))[_0x3555('0x4c')](handleError(_0x3e44ad,null));};function writeFile(_0x5a25ee,_0x4fcad6){return new Promise(function(_0x2dd528,_0x4ea9e0){fs[_0x3555('0x91')](_0x4fcad6,_0x5a25ee,function(_0x38d350,_0x448804){if(_0x38d350){return _0x4ea9e0(_0x38d350);}else{return _0x2dd528(_0x448804);}});});}exports[_0x3555('0x92')]=function(_0x5ad8d8,_0x37c2a7,_0x1a42f3){return db[_0x3555('0x2d')][_0x3555('0x7b')]({'where':{'id':_0x5ad8d8[_0x3555('0x47')]['id']}})['then'](handleEntityNotFound(_0x37c2a7))[_0x3555('0x43')](function(_0x3087b3){if(_0x3087b3&&_0x3087b3[_0x3555('0x93')]){var _0x497579=_0x3087b3[_0x3555('0x93')];var _0x4d8998=config[_0x3555('0x94')]+'/server/files/transcribes/transcribe_'+_0x3087b3['id']+_0x3555('0x95');if(fs['existsSync'](_0x4d8998)){return _0x4d8998;}return writeFile(_0x497579,_0x4d8998)[_0x3555('0x43')](function(){return _0x4d8998;});}else{throw new db[(_0x3555('0x62'))][(_0x3555('0x63'))]('Transcript\x20not\x20available');}})[_0x3555('0x43')](function(_0x283d0b){return _0x37c2a7['download'](_0x283d0b);})[_0x3555('0x4c')](handleError(_0x37c2a7));};