Title: Create User
Description: Implementar a funcionalidade para adicionar um novo usuário à ComuniLibrary com autenticação JWT.
Endpoints: POST /users
Tasks:
Criar a rota para adicionar usuários.
Criar uma nova rota em routes/users.js que responda ao endpoint POST /users.
Implementar a lógica de validação dos dados do usuário.
Validar os campos necessários (e.g., username, password, email).
Retornar erros de validação adequados se os dados forem inválidos.
Salvar o novo usuário no banco de dados.
Crie um novo modelo de usuário (models/User.js).
Utilize o Mongoose para salvar o usuário no banco de dados MongoDB.
Implementar a autenticação JWT.
Adicionar a geração de token JWT no controlador de criação de usuário (controllers/userController.js).
Utilize a biblioteca jsonwebtoken para criar um token JWT com uma chave secreta.
Armazene a chave secreta no arquivo de configuração .env.
Proteger rotas com autenticação JWT.
Criar middleware de autenticação (middleware/auth.js) que verifica o token JWT em solicitações protegidas.
Adicionar middleware de autenticação às rotas que exigem autenticação.
Retornar uma resposta adequada (sucesso/falha).
Retornar uma resposta JSON com o token JWT em caso de sucesso na criação do usuário.
Retornar mensagens de erro apropriadas em caso de falha (e.g., usuário já existe, dados inválidos).
Acceptance Criteria:
A rota POST /users deve validar os dados de entrada e retornar erros de validação apropriados.
Um novo usuário deve ser salvo no banco de dados se os dados forem válidos.
Um token JWT deve ser gerado e retornado na resposta após a criação do usuário.
O middleware de autenticação JWT deve proteger as rotas que exigem autenticação.
A documentação da API deve ser atualizada para incluir o novo endpoint e a lógica de autenticação.
Title: Create User Description: Implementar a funcionalidade para adicionar um novo usuário à ComuniLibrary com autenticação JWT.
Endpoints: POST /users
Tasks:
Criar a rota para adicionar usuários.
Criar uma nova rota em routes/users.js que responda ao endpoint POST /users. Implementar a lógica de validação dos dados do usuário.
Validar os campos necessários (e.g., username, password, email). Retornar erros de validação adequados se os dados forem inválidos. Salvar o novo usuário no banco de dados.
Crie um novo modelo de usuário (models/User.js). Utilize o Mongoose para salvar o usuário no banco de dados MongoDB. Implementar a autenticação JWT.
Adicionar a geração de token JWT no controlador de criação de usuário (controllers/userController.js). Utilize a biblioteca jsonwebtoken para criar um token JWT com uma chave secreta. Armazene a chave secreta no arquivo de configuração .env. Proteger rotas com autenticação JWT.
Criar middleware de autenticação (middleware/auth.js) que verifica o token JWT em solicitações protegidas. Adicionar middleware de autenticação às rotas que exigem autenticação. Retornar uma resposta adequada (sucesso/falha).
Retornar uma resposta JSON com o token JWT em caso de sucesso na criação do usuário. Retornar mensagens de erro apropriadas em caso de falha (e.g., usuário já existe, dados inválidos). Acceptance Criteria:
A rota POST /users deve validar os dados de entrada e retornar erros de validação apropriados. Um novo usuário deve ser salvo no banco de dados se os dados forem válidos. Um token JWT deve ser gerado e retornado na resposta após a criação do usuário. O middleware de autenticação JWT deve proteger as rotas que exigem autenticação. A documentação da API deve ser atualizada para incluir o novo endpoint e a lógica de autenticação.