CultivUA - API
1.0.1
Base URL
http://localhost:8000
API para gestão da aplicação web CultivUA. Desenvolvido por:
- Daniel Silva (https://github.com/sDanielSilva)
- Gabriel Cravo (https://github.com/gcravo)
- Lucas Duarte (https://www.lucasduarte.pt/)
- Miguel Pirré (https://github.com/MPirre)
This is version 1.0.1
of this API documentation. Last update on Jan 2, 2025.
GET
/blog-posts/categories
curl \
--request GET 'http://localhost:8000/blog-posts/categories'
GET
/blog-posts
curl \
--request GET 'http://localhost:8000/blog-posts'
POST
/blog-posts
curl \
--request POST 'http://localhost:8000/blog-posts'
GET
/blog-posts/{id}
curl \
--request GET 'http://localhost:8000/blog-posts/{id}'
PUT
/blog-posts/{id}
curl \
--request PUT 'http://localhost:8000/blog-posts/{id}'
DELETE
/blog-posts/{id}
curl \
--request DELETE 'http://localhost:8000/blog-posts/{id}'
GET
/blog-posts/{postId}/comments
curl \
--request GET 'http://localhost:8000/blog-posts/{postId}/comments'
Response examples (200)
[
{
"comment_id": 42,
"username": "string",
"profile_image": "string",
"comment_text": "string",
"commented_at": "2025-05-04T09:42:00Z",
"isVisible": true
}
]
POST
/blog-posts/add-comment
curl \
--request POST 'http://localhost:8000/blog-posts/add-comment' \
--header "Content-Type: application/json" \
--data '{"comment_text":"string","user_id":42,"post_id":42}'
Request examples
{
"comment_text": "string",
"user_id": 42,
"post_id": 42
}
Response examples (201)
{
"id": 42,
"comment_text": "string",
"created_at": "2025-05-04T09:42:00Z",
"user": {
"username": "string",
"profile_image": "string"
}
}
Atualizar visibilidade de um comentário
Atualiza a visibilidade de um comentário específico.
PUT
/blog-posts/comments/{commentId}
curl \
--request PUT 'http://localhost:8000/blog-posts/comments/{commentId}' \
--header "Content-Type: application/json" \
--data '{"isVisible":true}'
Request examples
{
"isVisible": true
}
Response examples (200)
{
"message": "Visibilidade do comentário atualizada"
}
DELETE
/blog-posts/comments/{commentId}/delete
curl \
--request DELETE 'http://localhost:8000/blog-posts/comments/{commentId}/delete'
Response examples (200)
{
"message": "Comentário excluído com sucesso"
}
Response examples (404)
{
"error": "Comentário não encontrado"
}
GET
/categories
curl \
--request GET 'http://localhost:8000/categories'
Response examples (200)
[
{
"id": 42,
"name": "string",
"mostrarLoja": true,
"mostrarBlog": true,
"number": 42
}
]
POST
/categories
curl \
--request POST 'http://localhost:8000/categories' \
--header "Content-Type: application/json" \
--data '{"name":"Vegetables"}'
Request examples
{
"name": "Vegetables"
}
Response examples (201)
{
"message": "string",
"category": {
"id": 42,
"name": "string"
}
}
Response examples (409)
{
"message": "string",
"category": {
"id": 42,
"name": "string"
}
}
GET
/categories/{id}
curl \
--request GET 'http://localhost:8000/categories/{id}'
Response examples (200)
{
"id": 42,
"name": "string",
"mostrarLoja": true,
"mostrarBlog": true
}
Response examples (404)
{
"error": "Categoria não encontrada"
}
PUT
/categories/{id}
curl \
--request PUT 'http://localhost:8000/categories/{id}' \
--header "Content-Type: application/json" \
--data '{"name":"string","mostrarLoja":true,"mostrarBlog":true}'
Request examples
{
"name": "string",
"mostrarLoja": true,
"mostrarBlog": true
}
Response examples (200)
{
"message": "Categoria atualizada com sucesso!"
}
DELETE
/categories/{id}
curl \
--request DELETE 'http://localhost:8000/categories/{id}'
Response examples (200)
{
"message": "Categoria deletada com sucesso!"
}
Response examples (404)
{
"message": "Categoria não encontrada!"
}
GET
/categories/dashboard/stats
curl \
--request GET 'http://localhost:8000/categories/dashboard/stats'
Response examples (200)
{
"totalUsers": 42,
"totalProductsSold": 42,
"totalSales": 42.0,
"totalActiveGardens": 42,
"totalProducts": 42,
"totalQuestionsAnswered": 42
}
GET
/categories/products/sold
curl \
--request GET 'http://localhost:8000/categories/products/sold'
Response examples (200)
[
{
"category": "string",
"total_sold": 42
}
]