6d0ee8f6d6d175594095b37edf4c71c372a964d4
[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 _0x6738=['transcribeStatus','TranscriptionJobStatus','runTranscribe','findOne','secrets','Voice\x20Recording\x20not\x20found','Setting','transcribeAccountId','transcribeRegion','language','Transcribe\x20not\x20configured','sentiment','sentimentAccountId','sentimentRegion','Sentiment\x20Analysis\x20not\x20configured','CloudProvider','Cloud\x20Provider\x20not\x20available','data2','Cloud\x20Provider\x20not\x20configured','Buckets','Name','data1','[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20available','NEW','[RUNTRANSCRIPT][%d]\x20Transcript\x20action\x20already\x20requested','IN_PROGRESS','writeFile','downloadTranscribe','fileText','root','/server/files/transcribes/transcribe_','Transcript\x20not\x20available','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','aws-sdk','uuid/v4','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','offset','limit','apply','reject','then','stack','name','index','VoiceRecording','rawAttributes','fieldName','type','key','model','differenceBy','format','query','filters','intersection','attributes','hasOwnProperty','nolimit','order','sort','pick','filter','where','merge','map','options','count','includeAll','findAll','rows','catch','show','params','keys','fields','length','include','find','create','update','body','describe','download','../../components/encryptor','uniqueid','value','%s.cypher','existsSync','decryptFile','recording','Sequelize','VoiceRecording\x20not\x20found','filename','extname','unlink','message','send','Not\x20found','sequelize','MD5','col','token','$and','push','ValidationError','destroy','Entity\x20not\x20found','cancellazione\x20fisica\x20documento\x20%s','isNil','info','File:\x20\x22','.cypher','unlinkSync','listBuckets','createBucket','upload','TranscribeService','[RUNTRANSCRIPT][%d]\x20Starting\x20voice\x20recording\x20upload\x20in\x20bucket\x20%s','basename','readFileSync','[RUNTRANSCRIPT][%d]\x20Voice\x20recording\x20uploaded\x20in\x20bucket\x20%s\x20(%s)','bucket','location','Location','[RUNTRANSCRIPT][%d]\x20Sending\x20transcribe\x20request','[RUNTRANSCRIPT][%d]\x20Transcription\x20job\x20%s\x20created','TranscriptionJobName','transcribeName','TranscriptionJob'];(function(_0x344c9a,_0x11e5e8){var _0x55ffbf=function(_0x6e3a5d){while(--_0x6e3a5d){_0x344c9a['push'](_0x344c9a['shift']());}};_0x55ffbf(++_0x11e5e8);}(_0x6738,0xbf));var _0x8673=function(_0x23b2fc,_0x5f2ee2){_0x23b2fc=_0x23b2fc-0x0;var _0x30e1d1=_0x6738[_0x23b2fc];return _0x30e1d1;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x8673('0x0'));var rimraf=require(_0x8673('0x1'));var zipdir=require(_0x8673('0x2'));var jsonpatch=require(_0x8673('0x3'));var rp=require(_0x8673('0x4'));var moment=require(_0x8673('0x5'));var BPromise=require(_0x8673('0x6'));var Mustache=require(_0x8673('0x7'));var util=require('util');var path=require(_0x8673('0x8'));var sox=require(_0x8673('0x9'));var csv=require(_0x8673('0xa'));var ejs=require(_0x8673('0xb'));var fs=require('fs');var _=require(_0x8673('0xc'));var squel=require(_0x8673('0xd'));var crypto=require(_0x8673('0xe'));var jsforce=require(_0x8673('0xf'));var deskjs=require(_0x8673('0x10'));var toCsv=require(_0x8673('0xa'));var querystring=require(_0x8673('0x11'));var Papa=require(_0x8673('0x12'));var AWS=require(_0x8673('0x13'));var uuidv4=require(_0x8673('0x14'));var Redis=require('ioredis');var authService=require(_0x8673('0x15'));var qs=require(_0x8673('0x16'));var as=require(_0x8673('0x17'));var hardwareService=require(_0x8673('0x18'));var logger=require(_0x8673('0x19'))(_0x8673('0x1a'));var utils=require(_0x8673('0x1b'));var config=require(_0x8673('0x1c'));var db=require(_0x8673('0x1d'))['db'];function respondWithStatusCode(_0x5d26ca,_0x265695){_0x265695=_0x265695||0xcc;return function(_0x1ab17a){if(_0x1ab17a){return _0x5d26ca[_0x8673('0x1e')](_0x265695);}return _0x5d26ca[_0x8673('0x1f')](_0x265695)[_0x8673('0x20')]();};}function respondWithResult(_0x5b562b,_0x3e174a){_0x3e174a=_0x3e174a||0xc8;return function(_0x1da3db){if(_0x1da3db){return _0x5b562b['status'](_0x3e174a)[_0x8673('0x21')](_0x1da3db);}};}function respondWithFilteredResult(_0x3f9b3c,_0x581da5){return function(_0x5b0ae6){if(_0x5b0ae6){var _0x38353a=_0x5b0ae6['count'],_0xc615c8=_0x581da5[_0x8673('0x22')],_0x16f2c0=_0x581da5[_0x8673('0x22')]+_0x581da5[_0x8673('0x23')],_0x55a242;if(_0x16f2c0>=_0x38353a){_0x16f2c0=_0x38353a;_0x55a242=0xc8;}else{_0x55a242=0xce;}_0x3f9b3c['status'](_0x55a242);return _0x3f9b3c['set']('Content-Range',_0xc615c8+'-'+_0x16f2c0+'/'+_0x38353a)[_0x8673('0x21')](_0x5b0ae6);}return null;};}function patchUpdates(_0x35145e){return function(_0x1e13cb){try{jsonpatch[_0x8673('0x24')](_0x1e13cb,_0x35145e,!![]);}catch(_0x5d11ff){return BPromise[_0x8673('0x25')](_0x5d11ff);}return _0x1e13cb['save']();};}function saveUpdates(_0x45d250,_0x17f38e){return function(_0x2ac179){if(_0x2ac179){return _0x2ac179['update'](_0x45d250)[_0x8673('0x26')](function(_0x3bb0f1){return _0x3bb0f1;});}return null;};}function removeEntity(_0xa250ca,_0x385cff){return function(_0x1b4df8){if(_0x1b4df8){return _0x1b4df8['destroy']()[_0x8673('0x26')](function(){_0xa250ca[_0x8673('0x1f')](0xcc)[_0x8673('0x20')]();});}};}function handleEntityNotFound(_0x39b5f3,_0x401862){return function(_0x2e1cea){if(!_0x2e1cea){_0x39b5f3[_0x8673('0x1e')](0x194);}return _0x2e1cea;};}function handleError(_0x3dd6f0,_0x23481e){_0x23481e=_0x23481e||0x1f4;return function(_0x3b705c){logger['error'](_0x3b705c[_0x8673('0x27')]);if(_0x3b705c[_0x8673('0x28')]){delete _0x3b705c[_0x8673('0x28')];}_0x3dd6f0[_0x8673('0x1f')](_0x23481e)['send'](_0x3b705c);};}exports[_0x8673('0x29')]=function(_0x48f6f7,_0x3cb2f8){var _0x16f683={},_0x148259={},_0x35d4ab={'count':0x0,'rows':[]};var _0x19bdb8=_['map'](db[_0x8673('0x2a')][_0x8673('0x2b')],function(_0x40d976){return{'name':_0x40d976[_0x8673('0x2c')],'type':_0x40d976[_0x8673('0x2d')][_0x8673('0x2e')]};});_0x148259[_0x8673('0x2f')]=_[_0x8673('0x30')](_['map'](_0x19bdb8,_0x8673('0x28')),[_0x8673('0x31')]);_0x148259[_0x8673('0x32')]=_['keys'](_0x48f6f7[_0x8673('0x32')]);_0x148259[_0x8673('0x33')]=_[_0x8673('0x34')](_0x148259['model'],_0x148259[_0x8673('0x32')]);_0x16f683[_0x8673('0x35')]=_['intersection'](_0x148259[_0x8673('0x2f')],qs['fields'](_0x48f6f7['query']['fields']));_0x16f683[_0x8673('0x35')]=_0x16f683[_0x8673('0x35')]['length']?_0x16f683[_0x8673('0x35')]:_0x148259[_0x8673('0x2f')];if(!_0x48f6f7[_0x8673('0x32')][_0x8673('0x36')](_0x8673('0x37'))){_0x16f683[_0x8673('0x23')]=qs[_0x8673('0x23')](_0x48f6f7['query']['limit']);_0x16f683[_0x8673('0x22')]=qs['offset'](_0x48f6f7['query']['offset']);}_0x16f683[_0x8673('0x38')]=qs[_0x8673('0x39')](_0x48f6f7[_0x8673('0x32')][_0x8673('0x39')]);_0x16f683['where']=qs[_0x8673('0x33')](_[_0x8673('0x3a')](_0x48f6f7['query'],_0x148259[_0x8673('0x33')]),_0x19bdb8);if(_0x48f6f7[_0x8673('0x32')][_0x8673('0x3b')]){_0x16f683[_0x8673('0x3c')]=_[_0x8673('0x3d')](_0x16f683[_0x8673('0x3c')],{'$or':_[_0x8673('0x3e')](_0x19bdb8,function(_0x2990cc){if(_0x2990cc[_0x8673('0x2d')]!=='VIRTUAL'){var _0x3ce096={};_0x3ce096[_0x2990cc['name']]={'$like':'%'+_0x48f6f7[_0x8673('0x32')][_0x8673('0x3b')]+'%'};return _0x3ce096;}})});}_0x16f683=_[_0x8673('0x3d')]({},_0x16f683,_0x48f6f7[_0x8673('0x3f')]);var _0x29892a={'where':_0x16f683[_0x8673('0x3c')]};return db[_0x8673('0x2a')][_0x8673('0x40')](_0x29892a)[_0x8673('0x26')](function(_0x571b11){_0x35d4ab['count']=_0x571b11;if(_0x48f6f7[_0x8673('0x32')][_0x8673('0x41')]){_0x16f683['include']=[{'all':!![]}];}return db['VoiceRecording'][_0x8673('0x42')](_0x16f683);})[_0x8673('0x26')](function(_0x3087f7){_0x35d4ab[_0x8673('0x43')]=_0x3087f7;return _0x35d4ab;})[_0x8673('0x26')](respondWithFilteredResult(_0x3cb2f8,_0x16f683))[_0x8673('0x44')](handleError(_0x3cb2f8,null));};exports[_0x8673('0x45')]=function(_0x26c8f9,_0x3a8a25){var _0x5d5422={'raw':![],'where':{'id':_0x26c8f9[_0x8673('0x46')]['id']}},_0x4a63b5={};_0x4a63b5[_0x8673('0x2f')]=_['keys'](db[_0x8673('0x2a')][_0x8673('0x2b')]);_0x4a63b5[_0x8673('0x32')]=_[_0x8673('0x47')](_0x26c8f9[_0x8673('0x32')]);_0x4a63b5[_0x8673('0x33')]=_[_0x8673('0x34')](_0x4a63b5[_0x8673('0x2f')],_0x4a63b5[_0x8673('0x32')]);_0x5d5422['attributes']=_[_0x8673('0x34')](_0x4a63b5['model'],qs[_0x8673('0x48')](_0x26c8f9[_0x8673('0x32')][_0x8673('0x48')]));_0x5d5422[_0x8673('0x35')]=_0x5d5422[_0x8673('0x35')][_0x8673('0x49')]?_0x5d5422['attributes']:_0x4a63b5[_0x8673('0x2f')];if(_0x26c8f9['query'][_0x8673('0x41')]){_0x5d5422[_0x8673('0x4a')]=[{'all':!![]}];}_0x5d5422=_['merge']({},_0x5d5422,_0x26c8f9['options']);return db['VoiceRecording'][_0x8673('0x4b')](_0x5d5422)[_0x8673('0x26')](handleEntityNotFound(_0x3a8a25,null))['then'](respondWithResult(_0x3a8a25,null))['catch'](handleError(_0x3a8a25,null));};exports['create']=function(_0x5d1444,_0x3b3877){return db[_0x8673('0x2a')][_0x8673('0x4c')](_0x5d1444['body'],{})[_0x8673('0x26')](respondWithResult(_0x3b3877,0xc9))[_0x8673('0x44')](handleError(_0x3b3877,null));};exports[_0x8673('0x4d')]=function(_0x43816c,_0x551316){if(_0x43816c[_0x8673('0x4e')]['id']){delete _0x43816c[_0x8673('0x4e')]['id'];}return db[_0x8673('0x2a')]['find']({'where':{'id':_0x43816c[_0x8673('0x46')]['id']}})[_0x8673('0x26')](handleEntityNotFound(_0x551316,null))[_0x8673('0x26')](saveUpdates(_0x43816c['body'],null))['then'](respondWithResult(_0x551316,null))[_0x8673('0x44')](handleError(_0x551316,null));};exports['describe']=function(_0x1a8096,_0x3b699d){return db[_0x8673('0x2a')][_0x8673('0x4f')]()['then'](respondWithResult(_0x3b699d,null))[_0x8673('0x44')](handleError(_0x3b699d,null));};exports[_0x8673('0x50')]=function(_0xe656d4,_0x54771a,_0x4b4339){var _0x177145=require(_0x8673('0x51'));var _0x18315f=![];var _0xda836d={};if(_0xe656d4[_0x8673('0x32')][_0x8673('0x2d')]&&_0xe656d4['query']['type']===_0x8673('0x52')){_0xda836d[_0x8673('0x52')]=_0xe656d4[_0x8673('0x46')]['id'];}else{_0xda836d['id']=_0xe656d4[_0x8673('0x46')]['id'];}return db[_0x8673('0x2a')][_0x8673('0x4b')]({'where':_0xda836d,'attributes':['id',_0x8673('0x53')],'raw':!![]})[_0x8673('0x26')](handleEntityNotFound(_0x54771a,null))[_0x8673('0x26')](function(_0xb97a3b){if(_0xb97a3b){var _0x60cbf5=_0xb97a3b[_0x8673('0x53')];var _0x520f5e=util[_0x8673('0x31')](_0x8673('0x54'),_0x60cbf5);if(fs[_0x8673('0x55')](_0x520f5e)){_0x18315f=!![];return _0x177145[_0x8673('0x56')](_0x520f5e,_0x60cbf5,config['secrets'][_0x8673('0x57')])[_0x8673('0x26')](function(){return _0xb97a3b;});}return _0xb97a3b;}})[_0x8673('0x26')](function(_0x1efca8){if(_0x1efca8){var _0x606449=_0x1efca8[_0x8673('0x53')];if(!fs[_0x8673('0x55')](_0x606449)){throw new db[(_0x8673('0x58'))]['ValidationError'](_0x8673('0x59'));}if(_0x1efca8[_0x8673('0x5a')]){return _0x54771a[_0x8673('0x50')](_0x606449,_0x1efca8[_0x8673('0x5a')]+path[_0x8673('0x5b')](_0x606449),function(){if(_0x18315f){fs['unlink'](_0x606449);}});}else{return _0x54771a['download'](_0x606449,function(_0x5a7d0d){if(_0x18315f){fs[_0x8673('0x5c')](_0x606449);}});}}})[_0x8673('0x44')](function(_0x486462){if(_0x486462[_0x8673('0x5d')]===_0x8673('0x59')){_0x54771a['status'](0x194)[_0x8673('0x5e')](_0x8673('0x5f'));}else{return handleError(_0x54771a,null);}});};exports['downloads']=function(_0x1816da,_0x9610b6,_0x34763f){var _0x3a92ad=require(_0x8673('0x51'));var _0x2abebf=![];var _0x2a8cff={'$and':[db[_0x8673('0x60')][_0x8673('0x3c')](db[_0x8673('0x60')]['fn'](_0x8673('0x61'),db[_0x8673('0x60')][_0x8673('0x62')](_0x8673('0x52'))),_0x1816da[_0x8673('0x32')][_0x8673('0x63')])]};if(_0x1816da[_0x8673('0x32')]['type']&&_0x1816da[_0x8673('0x32')][_0x8673('0x2d')]===_0x8673('0x52')){_0x2a8cff[_0x8673('0x64')][_0x8673('0x65')]({'uniqueid':_0x1816da[_0x8673('0x46')]['id']});}else{_0x2a8cff[_0x8673('0x64')][_0x8673('0x65')]({'id':_0x1816da[_0x8673('0x46')]['id']});}return db[_0x8673('0x2a')]['find']({'where':_0x2a8cff,'attributes':['id',_0x8673('0x53')],'raw':!![]})['then'](handleEntityNotFound(_0x9610b6,null))[_0x8673('0x26')](function(_0x1f4388){if(_0x1f4388){var _0x173f90=util[_0x8673('0x31')](_0x8673('0x54'),_0x1f4388['value']);if(fs[_0x8673('0x55')](_0x173f90)){_0x2abebf=!![];return _0x3a92ad[_0x8673('0x56')](_0x173f90,_0x1f4388[_0x8673('0x53')],config['secrets'][_0x8673('0x57')])[_0x8673('0x26')](function(){return _0x1f4388;});}return _0x1f4388;}})[_0x8673('0x26')](function(_0x5cf333){if(_0x5cf333){if(!fs[_0x8673('0x55')](_0x5cf333[_0x8673('0x53')])){throw new db[(_0x8673('0x58'))][(_0x8673('0x66'))](_0x8673('0x59'));}if(_0x5cf333['filename']){return _0x9610b6[_0x8673('0x50')](_0x5cf333['value'],_0x5cf333[_0x8673('0x5a')]+path['extname'](_0x5cf333[_0x8673('0x53')]),function(){if(_0x2abebf){fs['unlink'](_0x5cf333[_0x8673('0x53')]);}});}else{return _0x9610b6[_0x8673('0x50')](_0x5cf333['value'],function(_0x1ac7ce){if(_0x2abebf){fs[_0x8673('0x5c')](_0x5cf333[_0x8673('0x53')]);}});}}})[_0x8673('0x44')](handleError(_0x9610b6,null));};exports[_0x8673('0x67')]=function(_0x3691ed,_0x268cac){return db[_0x8673('0x2a')][_0x8673('0x4b')]({'where':{'id':_0x3691ed[_0x8673('0x46')]['id']}})[_0x8673('0x26')](function(_0x733d88){if(!_0x733d88)throw new ReferenceError(_0x8673('0x68'));return _0x733d88;})[_0x8673('0x26')](function(_0x258f81){var _0x551b48=_0x258f81[_0x8673('0x53')];logger['info'](_0x8673('0x69'),_0x551b48);if(!_[_0x8673('0x6a')](_0x258f81[_0x8673('0x53')])&&fs[_0x8673('0x55')](_0x551b48)){logger[_0x8673('0x6b')](_0x8673('0x6c')+_0x551b48+'\x22\x20trovato\x20eseguo\x20la\x20cancellazione');fs['unlinkSync'](_0x551b48);}_0x551b48=_0x551b48+_0x8673('0x6d');if(!_[_0x8673('0x6a')](_0x258f81[_0x8673('0x53')])&&fs['existsSync'](_0x551b48)){logger['info'](_0x8673('0x6c')+_0x551b48+'\x22\x20trovato\x20eseguo\x20la\x20cancellazione');fs[_0x8673('0x6e')](_0x551b48);}return _0x258f81;})['then'](function(_0x3ef115){if(!_0x3ef115)throw new InternalError();return _0x3ef115['destroy']();})[_0x8673('0x26')](function(){_0x268cac[_0x8673('0x1f')](0xcc)[_0x8673('0x20')]();})[_0x8673('0x44')](handleError(_0x268cac,null));};function getBucketslist(_0x3ce808,_0xd22f94,_0x49fb5b){return new Promise(function(_0x4fdfa7,_0x50783f){var _0x492ca9=new AWS['S3']({'accessKeyId':_0xd22f94,'secretAccessKey':_0x3ce808,'region':_0x49fb5b});_0x492ca9[_0x8673('0x6f')]({},function(_0x508d91,_0x9a7a9e){if(_0x508d91){return _0x50783f(_0x508d91);}else{return _0x4fdfa7(_0x9a7a9e);}});});}function createBucket(_0x524b64,_0x2def4c,_0x28dc3a,_0x167d8a){return new Promise(function(_0x40d55c,_0x463b2f){var _0x3d2007=new AWS['S3']({'accessKeyId':_0x2def4c,'secretAccessKey':_0x524b64,'region':_0x28dc3a});_0x3d2007[_0x8673('0x70')]({'Bucket':_0x167d8a},function(_0x58bbab,_0x4591db){if(_0x58bbab){return _0x463b2f(_0x58bbab);}else{return _0x40d55c(_0x4591db);}});});}function uploadFile(_0x771d32,_0x21f29a,_0x3c6911,_0x4a78fe,_0x4b0ecb,_0x49b890){return new Promise(function(_0x4c9688,_0x383872){var _0x4ff5bc=new AWS['S3']({'accessKeyId':_0x21f29a,'secretAccessKey':_0x771d32,'region':_0x3c6911});_0x4ff5bc[_0x8673('0x71')]({'Bucket':_0x4a78fe,'Key':_0x4b0ecb,'Body':_0x49b890},function(_0x3ee828,_0x4e704f){if(_0x3ee828){return _0x383872(_0x3ee828);}else{return _0x4c9688(_0x4e704f);}});});}function startTranscribe(_0xed03a7,_0x3fb32d,_0x3585ba,_0x50002b,_0x2a6325,_0x18f2b0){return new Promise(function(_0x333853,_0x1dd1e7){var _0x1bbdd6=new AWS[(_0x8673('0x72'))]({'accessKeyId':_0x3fb32d,'secretAccessKey':_0xed03a7,'region':_0x3585ba});_0x1bbdd6['startTranscriptionJob']({'TranscriptionJobName':_0x50002b,'LanguageCode':_0x2a6325,'Media':{'MediaFileUri':_0x18f2b0}},function(_0x2e5ded,_0x35b83a){if(_0x2e5ded){return _0x1dd1e7(_0x2e5ded);}else{return _0x333853(_0x35b83a);}});});}function transcribe(_0x5bdba7,_0x20fc6c,_0x18d922,_0x5ded21,_0x479aa4,_0x491bef,_0x123d72){return new Promise(function(_0x3b67b5,_0x4bf64e){var _0x273447={};logger[_0x8673('0x6b')](util['format'](_0x8673('0x73'),_0x5bdba7,_0x479aa4));return uploadFile(_0x20fc6c,_0x18d922,_0x5ded21,_0x479aa4,path[_0x8673('0x74')](_0x491bef),fs[_0x8673('0x75')](_0x491bef))['then'](function(_0x2181e4){logger['info'](util[_0x8673('0x31')](_0x8673('0x76'),_0x5bdba7,_0x479aa4,_0x2181e4['Location']));_0x273447[_0x8673('0x77')]=_0x2181e4['Bucket'];_0x273447[_0x8673('0x78')]=_0x2181e4[_0x8673('0x79')];logger[_0x8673('0x6b')](util[_0x8673('0x31')](_0x8673('0x7a'),_0x5bdba7));return startTranscribe(_0x20fc6c,_0x18d922,_0x5ded21,uuidv4(),_0x123d72,_0x2181e4[_0x8673('0x79')]);})[_0x8673('0x26')](function(_0x22fd66){logger[_0x8673('0x6b')](util[_0x8673('0x31')](_0x8673('0x7b'),_0x5bdba7,_0x22fd66['TranscriptionJob'][_0x8673('0x7c')]));_0x273447[_0x8673('0x7d')]=_0x22fd66[_0x8673('0x7e')][_0x8673('0x7c')];_0x273447[_0x8673('0x7f')]=_0x22fd66[_0x8673('0x7e')][_0x8673('0x80')];return _0x3b67b5(_0x273447);})[_0x8673('0x44')](function(_0x24bbb2){return _0x4bf64e(_0x24bbb2);});});}exports[_0x8673('0x81')]=function(_0x59b24c,_0x2ce04c,_0x79936c){var _0x357834;var _0x2d6ad3;var _0x17c6b8;var _0x5d7d47=require('../../components/encryptor');return db[_0x8673('0x2a')][_0x8673('0x82')]({'where':{'id':_0x59b24c[_0x8673('0x46')]['id']}})['then'](function(_0x35d3fa){if(_0x35d3fa){var _0x9be2a1=util[_0x8673('0x31')](_0x8673('0x54'),_0x35d3fa['value']);if(fs[_0x8673('0x55')](_0x9be2a1)){cypher=!![];return _0x5d7d47['decryptFile'](_0x9be2a1,_0x35d3fa[_0x8673('0x53')],config[_0x8673('0x83')][_0x8673('0x57')])[_0x8673('0x26')](function(){return _0x35d3fa;});}return _0x35d3fa;}})[_0x8673('0x26')](function(_0x3a591f){if(!_0x3a591f){throw new db['Sequelize']['ValidationError'](_0x8673('0x84'));}_0x2d6ad3=_0x3a591f;return db[_0x8673('0x85')][_0x8673('0x82')]({'where':{'id':0x1}});})['then'](handleEntityNotFound(_0x2ce04c,null))[_0x8673('0x26')](function(_0x2338f8){if(_0x2338f8){_0x357834=_0x2338f8;if(!_0x357834['transcribe']||!_0x357834[_0x8673('0x86')]||!_0x357834[_0x8673('0x87')]||!_0x357834[_0x8673('0x88')]||!_0x357834['bucket']){throw new db[(_0x8673('0x58'))][(_0x8673('0x66'))](_0x8673('0x89'));}if(_0x59b24c[_0x8673('0x4e')]['runSentiment']&&(!_0x357834[_0x8673('0x8a')]||!_0x357834[_0x8673('0x8b')]||!_0x357834[_0x8673('0x8c')]||!_0x357834[_0x8673('0x88')]||!_0x357834[_0x8673('0x77')])){throw new db[(_0x8673('0x58'))][(_0x8673('0x66'))](_0x8673('0x8d'));}return db[_0x8673('0x8e')][_0x8673('0x82')]({'where':{'id':_0x357834[_0x8673('0x86')]}});}})['then'](function(_0x4f02d7){if(!_0x4f02d7){throw new db[(_0x8673('0x58'))]['ValidationError'](_0x8673('0x8f'));}if(!_0x4f02d7['data1']||!_0x4f02d7[_0x8673('0x90')]){throw new db[(_0x8673('0x58'))]['ValidationError'](_0x8673('0x91'));}_0x17c6b8=_0x4f02d7;return getBucketslist(_0x17c6b8['data1'],_0x17c6b8['data2'],_0x357834[_0x8673('0x87')]);})[_0x8673('0x26')](function(_0x625ae6){if(_0x625ae6&&_0x625ae6[_0x8673('0x92')]){var _0x2c357c=_[_0x8673('0x4b')](_0x625ae6[_0x8673('0x92')],function(_0x39e7c7){return _0x39e7c7[_0x8673('0x93')]===_0x357834['bucket'];});if(!_0x2c357c){logger[_0x8673('0x6b')](util[_0x8673('0x31')]('[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20not\x20available',_0x59b24c['params']['id'],_0x357834[_0x8673('0x77')]));return createBucket(_0x17c6b8[_0x8673('0x94')],_0x17c6b8[_0x8673('0x90')],_0x357834[_0x8673('0x87')],_0x357834[_0x8673('0x77')]);}logger[_0x8673('0x6b')](util[_0x8673('0x31')](_0x8673('0x95'),_0x59b24c[_0x8673('0x46')]['id'],_0x357834[_0x8673('0x77')]));return;}})['then'](function(_0x18124c){if(_0x2d6ad3['transcribeStatus']===_0x8673('0x96')){return transcribe(_0x59b24c['params']['id'],_0x17c6b8[_0x8673('0x94')],_0x17c6b8[_0x8673('0x90')],_0x357834[_0x8673('0x87')],_0x357834[_0x8673('0x77')],_0x2d6ad3[_0x8673('0x53')],_0x357834[_0x8673('0x88')]);}else{logger[_0x8673('0x6b')](util['format'](_0x8673('0x97'),_0x59b24c[_0x8673('0x46')]['id']));return{'transcribeStatus':_0x8673('0x98')};}})[_0x8673('0x26')](function(_0x1a926d){if(_0x1a926d){_0x1a926d['tempSentiment']=_0x59b24c[_0x8673('0x4e')]['runSentiment'];return _0x2d6ad3['updateAttributes'](_0x1a926d);}})[_0x8673('0x26')](respondWithResult(_0x2ce04c,null))['catch'](handleError(_0x2ce04c,null));};function writeFile(_0x48520c,_0x48b7d7){return new Promise(function(_0x24ff5d,_0x35c922){fs[_0x8673('0x99')](_0x48b7d7,_0x48520c,function(_0x3057b0,_0x13f3f5){if(_0x3057b0){return _0x35c922(_0x3057b0);}else{return _0x24ff5d(_0x13f3f5);}});});}exports[_0x8673('0x9a')]=function(_0xd769fd,_0x33d72e,_0x1a2972){return db['VoiceRecording'][_0x8673('0x82')]({'where':{'id':_0xd769fd[_0x8673('0x46')]['id']}})[_0x8673('0x26')](handleEntityNotFound(_0x33d72e))[_0x8673('0x26')](function(_0x2fd9c4){if(_0x2fd9c4&&_0x2fd9c4[_0x8673('0x9b')]){var _0x2ba75f=_0x2fd9c4[_0x8673('0x9b')];var _0x5167d4=config[_0x8673('0x9c')]+_0x8673('0x9d')+_0x2fd9c4['id']+'.txt';if(fs['existsSync'](_0x5167d4)){return _0x5167d4;}return writeFile(_0x2ba75f,_0x5167d4)[_0x8673('0x26')](function(){return _0x5167d4;});}else{throw new db['Sequelize'][(_0x8673('0x66'))](_0x8673('0x9e'));}})['then'](function(_0xa5e3be){return _0x33d72e[_0x8673('0x50')](_0xa5e3be);})[_0x8673('0x44')](handleError(_0x33d72e));};