testes/nodejs/controllers/dominioController.js

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
};