78 lines
3.5 KiB
JavaScript
78 lines
3.5 KiB
JavaScript
const { carregarDados, salvarDados } = require('../utils/jsonUtils'); // Importa funções utilitárias para manipulação de dados JSON
|
|
|
|
// Controlador para adicionar um novo domínio
|
|
const adicionarDominio = (req, res) => {
|
|
const { domain, data } = req.body; // Obtém o domínio e os dados do corpo da requisição
|
|
const domainData = carregarDados(); // Carrega os dados atuais dos domínios a partir do arquivo JSON
|
|
|
|
// Verifica se o domínio já existe
|
|
if (domainData[domain]) {
|
|
return res.status(400).send('Domínio já existe'); // Retorna um erro 400 se o domínio já existir
|
|
}
|
|
|
|
// Adiciona o novo domínio
|
|
domainData[domain] = [data]; // Adiciona os dados do novo domínio ao objeto domainData
|
|
salvarDados(domainData); // Salva os dados atualizados no arquivo JSON
|
|
res.status(201).send('Domínio adicionado com sucesso'); // Responde com um status 201 de sucesso
|
|
};
|
|
|
|
// Controlador para editar um domínio existente
|
|
const editarDominio = (req, res) => {
|
|
const { domain, data } = req.body; // Obtém o domínio e os novos dados do corpo da requisição
|
|
const domainData = carregarDados(); // Carrega os dados atuais dos domínios a partir do arquivo JSON
|
|
|
|
// Verifica se o domínio existe
|
|
if (!domainData[domain]) {
|
|
return res.status(404).send('Domínio não encontrado'); // Retorna um erro 404 se o domínio não for encontrado
|
|
}
|
|
|
|
// Atualiza os dados do domínio
|
|
domainData[domain] = [data]; // Atualiza os dados do domínio no objeto domainData
|
|
salvarDados(domainData); // Salva os dados atualizados no arquivo JSON
|
|
res.status(200).send('Domínio atualizado com sucesso'); // Responde com um status 200 de sucesso
|
|
};
|
|
|
|
// Controlador para excluir um domínio existente
|
|
const excluirDominio = (req, res) => {
|
|
const { domain } = req.body; // Obtém o domínio a ser excluído do corpo da requisição
|
|
const domainData = carregarDados(); // Carrega os dados atuais dos domínios a partir do arquivo JSON
|
|
|
|
// Verifica se o domínio existe
|
|
if (!domainData[domain]) {
|
|
return res.status(404).send('Domínio não encontrado'); // Retorna um erro 404 se o domínio não for encontrado
|
|
}
|
|
|
|
// Remove o domínio
|
|
delete domainData[domain]; // Remove o domínio do objeto domainData
|
|
salvarDados(domainData); // Salva os dados atualizados no arquivo JSON
|
|
res.status(200).send('Domínio excluído com sucesso'); // Responde com um status 200 de sucesso
|
|
};
|
|
|
|
// Controlador para listar todos os domínios
|
|
const listarDominios = (req, res) => {
|
|
const domainData = carregarDados(); // Carrega os dados atuais dos domínios a partir do arquivo JSON
|
|
res.json(domainData); // Retorna os dados dos domínios em formato JSON
|
|
};
|
|
|
|
// Controlador para buscar dados de um domínio específico
|
|
const buscarDominio = (req, res) => {
|
|
const domainData = carregarDados(); // Carrega os dados atuais dos domínios a partir do arquivo JSON
|
|
const domain = req.params.domain; // Obtém o domínio dos parâmetros da URL
|
|
|
|
// Verifica se o domínio existe
|
|
if (domainData[domain]) {
|
|
res.json(domainData[domain][0]); // Retorna os dados do domínio específico em formato JSON
|
|
} else {
|
|
res.status(404).send('Domínio não encontrado'); // Retorna um erro 404 se o domínio não for encontrado
|
|
}
|
|
};
|
|
|
|
// Exporta os controladores para serem usados em outras partes da aplicação
|
|
module.exports = {
|
|
adicionarDominio,
|
|
editarDominio,
|
|
excluirDominio,
|
|
listarDominios,
|
|
buscarDominio
|
|
};
|