Add project and task management with scheduling and notifications
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
Introduced `Project` and `Task` entities, along with supporting services, repositories, and APIs. Added features for project-based and household-level task management, including creation, listing, updates, and validation. Implemented scheduled notifications for tasks due tomorrow. Updated Flyway migrations, configuration files, and tests to support these functionalities.
This commit is contained in:
@ -28,7 +28,7 @@ Authorization: Bearer {{token}}
|
||||
"name": "Familjen Andersson"
|
||||
}
|
||||
|
||||
> {% client.global.set("householdId", JSON.parse(response.body).id); %}
|
||||
> {% client.global.set("householdId", response.body.id); %}
|
||||
|
||||
### 5. List my households
|
||||
GET http://localhost:8080/api/v1/households
|
||||
@ -53,3 +53,68 @@ Authorization: Bearer {{token}}
|
||||
### 8. List members again (should now include Ulf)
|
||||
GET http://localhost:8080/api/v1/households/{{householdId}}/members
|
||||
Authorization: Bearer {{token}}
|
||||
|
||||
### 9) Create project (OWNER only)
|
||||
POST http://localhost:8080/api/v1/projects
|
||||
Content-Type: application/json
|
||||
Authorization: Bearer {{token}}
|
||||
|
||||
{
|
||||
"householdId": "{{householdId}}",
|
||||
"name": "Sovrumsrenovering",
|
||||
"description": "Måla, golv, el"
|
||||
}
|
||||
|
||||
> {% client.global.set("projectId", response.body.id); %}
|
||||
|
||||
### 10) List projects in household
|
||||
GET http://localhost:8080/api/v1/households/{{householdId}}/projects
|
||||
Authorization: Bearer {{token}}
|
||||
|
||||
### 11) Create task
|
||||
POST http://localhost:8080/api/v1/tasks
|
||||
Content-Type: application/json
|
||||
Authorization: Bearer {{token}}
|
||||
|
||||
{
|
||||
"projectId": "{{projectId}}",
|
||||
"title": "Damsug soffan",
|
||||
"priority": "LOW"
|
||||
}
|
||||
|
||||
> {% client.global.set("taskId", response.body.id); %}
|
||||
|
||||
### 12) List tasks
|
||||
GET http://localhost:8080/api/v1/projects/{{projectId}}/tasks
|
||||
Authorization: Bearer {{token}}
|
||||
|
||||
### 13) Update task
|
||||
PATCH http://localhost:8080/api/v1/tasks/{{taskId}}
|
||||
Content-Type: application/json
|
||||
Authorization: Bearer {{token}}
|
||||
|
||||
{
|
||||
"status": "DONE"
|
||||
}
|
||||
|
||||
### 14) Create a household-level task (no project)
|
||||
POST http://localhost:8080/api/v1/households/{{householdId}}/tasks
|
||||
Content-Type: application/json
|
||||
Authorization: Bearer {{token}}
|
||||
|
||||
{
|
||||
"title": "Buy milk",
|
||||
"priority": "HIGH"
|
||||
}
|
||||
|
||||
> {% client.global.set("taskId", response.body.id); %}
|
||||
|
||||
### 15) List household-level tasks
|
||||
GET http://localhost:8080/api/v1/households/{{householdId}}/tasks
|
||||
Authorization: Bearer {{token}}
|
||||
|
||||
### 16) My tasks due tomorrow
|
||||
GET http://localhost:8080/api/v1/tasks/due/tomorrow
|
||||
Authorization: Bearer {{token}}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user