|
# 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-- |
|
|
|
|
|
|
|
|