Open gitrodrigues1 opened 8 months ago
Realizando a modelagem do domínio, chegou-se ao entendimento da necessidade de criação dos seguintes microserviços:
1.
POST /api/v1/auth/register
{
"username": "user1",
"password": "password",
"email": "u1@email.com"
}
POST /api/v1/auth/authenticate
{
"username": "user1",
"password": "password"
}
POST /api/v1/admin/moderator
- Criar moderador
header
- Bearer token
{
"name": "user1",
"role": "2",
"userId": "aa16ca9-a879-4de2-9ff4-18a171740fb"
}
PUT /api/v1/admin/moderator/{id}
- Atualizar moderador
header
- Bearer token
{
"name": "user1",
"role": "2",
"userId": "aa16ca9-a879-4de2-9ff4-18a171740fb"
}
GET /api/v1/admin/moderators
- Retornar todos os moderadores
header
- Bearer token
Body: N/A
DELETE /api/v1/admin/moderators/{id}
- Deletar moderador
header
- Bearer token
Body: N/A
POST /api/v1/produtos
- Cadastrar produto
Body:
{
"nome": "Nome do produto",
"descricao": "Descrição do produto",
"preco": 99.99,
"estoque": 100,
"categoria": "Categoria do produto"
}
PUT /api/v1/produtos/{id}
- Atualizar produto
Body:
{
"nome": "Novo nome do produto",
"descricao": "Nova descrição do produto",
"preco": 109.99,
"estoque": 120,
"categoria": "Nova categoria do produto"
}
GET /api/v1/produtos
- Retornar todos os produtos
Body: N/A
GET /api/v1/produtos/{id}
- Retornar produto por Id
Body: N/A
DELETE /api/v1/produtos/{id}
- Excluir produtos
Body: N/A
Considerações: A partir da técnica de Event Storming, criei um esboço do diagrama que considero estar próximo daquilo que poderemos implementar no sistema utilizando DDD. Importante lembrar que este foi apenas um entendimento meu do que poderia ser modelado o domínio e não reflete a consideração de todos. Portanto, sintam-se livres para opinar e debater sobre o tema e sugerir alterações.