Emmanuel Frimpong Asante
update space
ebe0f8b
# Test your FastAPI endpoints
GET http://127.0.0.1:8000/
Accept: application/json
### Authentication Endpoints
# Register a new user
POST http://127.0.0.1:8000/auth/register
Content-Type: application/json
{
"username": "testuser",
"email": "testuser@example.com",
"password": "securepassword",
"role": "admin"
}
### Login Endpoint Test
POST http://127.0.0.1:8000/auth/login
Content-Type: application/json
{
"email": "testuser@example.com",
"password": "securepassword"
}
### Farm Management Endpoints
# Create a new group (requires admin role, assuming a token is provided)
POST http://127.0.0.1:8000/groups/
Authorization: Bearer {{ACCESS_TOKEN}}
Content-Type: application/json
{
"group_name": "Test Farm Group",
"farmers": [
"farmer_id_1",
"farmer_id_2"
],
"created_by": "admin_id"
}
### Get group by ID
GET http://127.0.0.1:8000/groups/{group_id}
Authorization: Bearer {{ACCESS_TOKEN}}
### Update a group
PUT http://127.0.0.1:8000/groups/{group_id}
Authorization: Bearer {{ACCESS_TOKEN}}
Content-Type: application/json
{
"group_name": "Updated Farm Group"
}
### Delete a group
DELETE http://127.0.0.1:8000/groups/{group_id}
Authorization: Bearer {{ACCESS_TOKEN}}
### Health Records Endpoints
# Log a health record
POST http://127.0.0.1:8000/health/
Authorization: Bearer {{ACCESS_TOKEN}}
Content-Type: application/json
{
"farm_id": "test_farm_id",
"disease_type": "Coccidiosis",
"treatment_given": "Anti-coccidial medication",
"logged_by": "admin_id"
}
### Get health records by farm ID
GET http://127.0.0.1:8000/health/test_farm_id
Authorization: Bearer {{ACCESS_TOKEN}}
### Task Management Endpoints
# Create a new task
POST http://127.0.0.1:8000/tasks/
Authorization: Bearer {{ACCESS_TOKEN}}
Content-Type: application/json
{
"task_description": "Feed the chickens",
"assigned_to": "farmer_id",
"status": "pending",
"due_date": "2024-12-31T23:59:59Z"
}
### Get task by ID
GET http://127.0.0.1:8000/tasks/{task_id}
Authorization: Bearer {{ACCESS_TOKEN}}
# Update a task
PUT http://127.0.0.1:8000/tasks/{task_id}
Authorization: Bearer {{ACCESS_TOKEN}}
Content-Type: application/json
{
"task_description": "Feed the chickens - updated",
"status": "in-progress"
}
### Delete a task
DELETE http://127.0.0.1:8000/tasks/{task_id}
Authorization: Bearer {{ACCESS_TOKEN}}
### Inventory Management Endpoints
# Add an inventory item
POST http://127.0.0.1:8000/inventory/
Authorization: Bearer {{ACCESS_TOKEN}}
Content-Type: application/json
{
"item_name": "Chicken Feed",
"quantity": 100,
"status": "in-stock",
"updated_by": "admin_id"
}
### Get inventory item by ID
GET http://127.0.0.1:8000/inventory/{item_id}
Authorization: Bearer {{ACCESS_TOKEN}}
# Update an inventory item
PUT http://127.0.0.1:8000/inventory/{item_id}
Authorization: Bearer {{ACCESS_TOKEN}}
Content-Type: application/json
{
"quantity": 150,
"status": "in-stock"
}
# Delete an inventory item
DELETE http://127.0.0.1:8000/inventory/{item_id}
Authorization: Bearer {{ACCESS_TOKEN}}
### Disease Detection Endpoint
# Predict disease from an uploaded image (replace image.png with actual test image path)
POST http://127.0.0.1:8000/disease_detection/predict_disease/
Authorization: Bearer {{ACCESS_TOKEN}}
Content-Type: multipart/form-data
--boundary
Content-Disposition: form-data; name="file"; filename="image.png"
Content-Type: image/png
< ./path/to/your/image.png
--boundary--