diff --git a/endpoints/legenda.js b/endpoints/legenda.js index 095d8a0..0d48898 100644 --- a/endpoints/legenda.js +++ b/endpoints/legenda.js @@ -2,9 +2,13 @@ var parameters = require('../helpers/parameters'); var properties = require('../helpers/properties'); var exec = require('child_process').exec, child; +var uuid = require('node-uuid'); var fs = require('fs'); function init(req, res) { + + var id = uuid.v4(); + /* Verifica se o paramêtro [transparencia] possue algum valor */ if (req.body.transparencia !== '') { res.send(500, parameters.errorMessage('O valor de algum parâmetro está vazio')); @@ -24,18 +28,18 @@ function init(req, res) { } /* Cria uma pasta cujo o nome é o ID */ - child = exec('mkdir ' + __dirname + '/uploads/' + properties.ID_FROM_BD); + child = exec('mkdir ' + __dirname + '/uploads/' + id); /* Listener que dispara quando a pasta é criada */ child.on('close', function(code, signal){ /* Move a legenda submetido para a pasta com o seu ID correspondente */ - fs.rename(req.files.legenda.path, __dirname + '/uploads/' + properties.ID_FROM_BD + '/' + req.files.legenda.name, function(error) { + fs.rename(req.files.legenda.path, __dirname + '/uploads/' + id + '/' + req.files.legenda.name, function(error) { if (error) { console.log(error); } }); /* Cria a linha de comando */ - var command_line = 'vlibras_user/vlibras-core/./vlibras ' + parameters.getServiceType(req.body.servico) + ' uploads/' + properties.ID_FROM_BD + '/' + - req.files.legenda.name + ' ' + parameters.getTransparency(req.body.transparencia) + ' ' + properties.ID_FROM_BD; + var command_line = 'vlibras_user/vlibras-core/./vlibras ' + parameters.getServiceType(req.body.servico) + ' uploads/' + id + '/' + + req.files.legenda.name + ' ' + parameters.getTransparency(req.body.transparencia) + ' ' + id; /* Executa a linha de comando */ child = exec(command_line, function(err, stdout, stderr) { @@ -45,8 +49,7 @@ function init(req, res) { /* Listener que dispara quando a requisição ao core finaliza */ child.on('close', function(code, signal){ - res.send(200, { 'response' : 'http://' + properties.SERVER_IP + ':' + properties.port + '/' + properties.ID_FROM_BD + '.flv' }); - properties.ID_FROM_BD++; + res.send(200, { 'response' : 'http://' + properties.SERVER_IP + ':' + properties.port + '/' + id + '.flv' }); }); /* Listener que dispara quando a requisição ao core da erro */ diff --git a/endpoints/texto.js b/endpoints/texto.js index 39d1768..a123468 100644 --- a/endpoints/texto.js +++ b/endpoints/texto.js @@ -2,9 +2,13 @@ var parameters = require('../helpers/parameters'); var properties = require('../helpers/properties'); var exec = require('child_process').exec, child; +var uuid = require('node-uuid'); var fs = require('fs'); function init(req, res) { + + var id = uuid.v4(); + /* Verifica se os paramêtros [transparencia, texto] possuem algum valor */ if ((req.body.transparencia !== '') && (req.body.texto !== '')) { res.send(500, parameters.errorMessage('O valor de algum parâmetro está vazio')); @@ -18,9 +22,9 @@ function init(req, res) { } /* Cria a linha de comando */ - var command_line = 'echo ' + req.body.texto + ' >> ' + __dirname + '/text_files/' + properties.ID_FROM_BD + ' && cd ../vlibras-core' + + var command_line = 'echo ' + req.body.texto + ' >> ' + __dirname + '/text_files/' + id + ' && cd ../vlibras-core' + ' && ./vlibras ' + parameters.getServiceType(req.body.servico) + ' ../vlibras-api/text_files/' + - properties.ID_FROM_BD + ' ' + parameters.getTransparency(req.body.transparencia) + ' ' + properties.ID_FROM_BD + ' WEB'; + id + ' ' + parameters.getTransparency(req.body.transparencia) + ' ' + id + ' WEB'; /* Executa a linha de comando */ child = exec(command_line, function(err, stdout, stderr) { @@ -29,8 +33,7 @@ function init(req, res) { /* Listener que dispara quando a requisição ao core finaliza */ child.on('close', function(code, signal){ - res.send(200, { 'response' : 'http://' + properties.SERVER_IP + ':' + properties.port + '/' + properties.ID_FROM_BD + '.webm' }); - properties.ID_FROM_BD++; + res.send(200, { 'response' : 'http://' + properties.SERVER_IP + ':' + properties.port + '/' + id + '.webm' }); }); /* Listener que dispara quando a requisição ao core da erro */ diff --git a/endpoints/video.js b/endpoints/video.js index d54b666..92c4b7c 100644 --- a/endpoints/video.js +++ b/endpoints/video.js @@ -3,12 +3,16 @@ var properties = require('../helpers/properties'); var exec = require('child_process').exec, child; var querystring = require('querystring'); +var uuid = require('node-uuid'); var mkdirp = require('mkdirp'); var http = require('http'); var url = require('url'); var fs = require('fs'); function init(req, res) { + + var id = uuid.v4(); + /* Verifica se os paramêtros [posicao, tamanho, transparencia] possuem algum valor */ if ((req.body.posicao === '') || (req.body.tamanho === '') || (req.body.transparencia === '')) { res.send(500, parameters.errorMessage('O valor de algum parâmetro está vazio')); @@ -28,19 +32,19 @@ function init(req, res) { } /* Cria uma pasta cujo o nome é o ID atual */ - mkdirp('/home/libras/vlibras-api/uploads/' + properties.ID_FROM_BD, function(error) { + mkdirp('/home/libras/vlibras-api/uploads/' + id, function(error) { - if (error) { console.log(error); res.send(500, parameters.errorMessage('Erro na criação da pasta com o ID: ' + properties.ID_FROM_BD)); return; } + if (error) { console.log(error); res.send(500, parameters.errorMessage('Erro na criação da pasta com o ID: ' + id)); return; } /* Move o vídeo submetido para a pasta com o seu ID correspondente */ - fs.rename(req.files.video.path, '/home/libras/vlibras-api/uploads/' + properties.ID_FROM_BD + '/' + req.files.video.name, function(error) { + fs.rename(req.files.video.path, '/home/libras/vlibras-api/uploads/' + id + '/' + req.files.video.name, function(error) { if (error) { console.log(error); res.send(500, parameters.errorMessage('Erro ao mover o vídeo submetido')); return; } }); /* Cria a linha de comando */ - var command_line = 'vlibras_user/vlibras-core/./vlibras ' + parameters.getServiceType(req.body.servico) + ' uploads/' + properties.ID_FROM_BD + '/' + + var command_line = 'vlibras_user/vlibras-core/./vlibras ' + parameters.getServiceType(req.body.servico) + ' uploads/' + id + '/' + req.files.video.name + ' 1 ' + parameters.getPosition(req.body.posicao) + ' ' + parameters.getSize(req.body.tamanho) + ' ' + - parameters.getTransparency(req.body.transparencia) + ' ' + properties.ID_FROM_BD; + parameters.getTransparency(req.body.transparencia) + ' ' + id; console.log(command_line); @@ -59,13 +63,11 @@ function init(req, res) { console.log('Erro código: ' + code); res.send(500, { 'error': 'Erro no Core', 'code': code }); return; } - res.send(200, { 'response' : 'http://' + properties.SERVER_IP + ':' + properties.port + '/' + properties.ID_FROM_BD + '.flv' }); - properties.ID_FROM_BD++; + res.send(200, { 'response' : 'http://' + properties.SERVER_IP + ':' + properties.port + '/' + id + '.flv' }); }); child.on('error', function(code, signal){ res.send(500, parameters.errorMessage('Erro na chamada ao core')); - properties.ID_FROM_BD++; }); } else { @@ -97,14 +99,12 @@ function init(req, res) { requesting.write(data); requesting.end(); - properties.ID_FROM_BD++; - return; } var path = url.parse(req.body.callback); - var data = querystring.stringify({ 'response' : 'http://' + properties.SERVER_IP + ':' + properties.port + '/' + properties.ID_FROM_BD + '.flv' }); + var data = querystring.stringify({ 'response' : 'http://' + properties.SERVER_IP + ':' + properties.port + '/' + id + '.flv' }); var options = { host: path.hostname, @@ -127,8 +127,6 @@ function init(req, res) { requesting.write(data); requesting.end(); - - properties.ID_FROM_BD++; }); /* Listener que dispara quando a requisição ao core da erro */ @@ -158,8 +156,6 @@ function init(req, res) { requesting.write(data); requesting.end(); - - properties.ID_FROM_BD++; }); res.send(200); diff --git a/helpers/properties.js b/helpers/properties.js index d1fda0c..54d37a4 100644 --- a/helpers/properties.js +++ b/helpers/properties.js @@ -1,10 +1,8 @@ var host = '0.0.0.0'; var port = 5000; -var ID_FROM_BD = 1; var SERVER_IP = '150.165.204.30'; var uploads_folder = '/home/libras/vlibras-api/uploads/'; module.exports.host = host; module.exports.port = port; -module.exports.ID_FROM_BD = ID_FROM_BD; module.exports.SERVER_IP = SERVER_IP; \ No newline at end of file -- libgit2 0.21.2