67 lines
1.5 KiB
YAML
67 lines
1.5 KiB
YAML
{
|
|
"task_id": "task_create_api_leaderboard",
|
|
"entity_id": "api_leaderboard",
|
|
"generated_at": "2025-12-18T01:57:52.723271",
|
|
"workflow_version": "v001",
|
|
"target": {
|
|
"type": "api",
|
|
"definition": {
|
|
"id": "api_leaderboard",
|
|
"path": "/api/leaderboard",
|
|
"method": "GET",
|
|
"description": "Get top users by points",
|
|
"file_path": "app/api/leaderboard/route.ts",
|
|
"status": "PENDING",
|
|
"auth_required": true,
|
|
"query_params": {
|
|
"limit": "integer (optional, default 100)"
|
|
},
|
|
"responses": [
|
|
{
|
|
"status": 200,
|
|
"description": "Success",
|
|
"schema": {
|
|
"leaderboard": [
|
|
{
|
|
"rank": "integer",
|
|
"user_id": "string",
|
|
"name": "string",
|
|
"total_points": "integer"
|
|
}
|
|
],
|
|
"current_user_rank": "integer"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"related": {
|
|
"models": [],
|
|
"apis": [],
|
|
"components": []
|
|
},
|
|
"dependencies": {
|
|
"entity_ids": [],
|
|
"definitions": []
|
|
},
|
|
"files": {
|
|
"to_create": [
|
|
"app/api/leaderboard/route.ts"
|
|
],
|
|
"reference": []
|
|
},
|
|
"acceptance": [
|
|
{
|
|
"criterion": "GET /api/leaderboard returns success response",
|
|
"verification": "curl -X GET /api/leaderboard"
|
|
},
|
|
{
|
|
"criterion": "Request validation implemented",
|
|
"verification": "Test with invalid data"
|
|
},
|
|
{
|
|
"criterion": "Error responses match contract",
|
|
"verification": "Test error scenarios"
|
|
}
|
|
]
|
|
} |