Include TotalSummary in CRUD responses to eliminate redundant API calls
Backend changes: - Add WithSummaryResponse wrappers for Task, TaskCompletion, and Residence CRUD - Update services to return summary with all mutations (create, update, delete) - Update handlers to pass through new response types - Add getSummaryForUser helper for fetching summary in CRUD operations - Wire ResidenceService into TaskService for summary access - Add summary field to JoinResidenceResponse This optimization eliminates the need for a separate getSummary() call after every task/residence mutation, reducing network calls from 2 to 1. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -371,3 +371,24 @@ func NewTaskCompletionWithTaskResponse(c *models.TaskCompletion, task *models.Ta
|
||||
func DetermineKanbanColumn(task *models.Task, daysThreshold int) string {
|
||||
return categorization.DetermineKanbanColumn(task, daysThreshold)
|
||||
}
|
||||
|
||||
// === Response Wrappers with Summary ===
|
||||
// These wrap CRUD responses with TotalSummary to eliminate extra API calls
|
||||
|
||||
// TaskWithSummaryResponse wraps TaskResponse with TotalSummary
|
||||
type TaskWithSummaryResponse struct {
|
||||
Data TaskResponse `json:"data"`
|
||||
Summary TotalSummary `json:"summary"`
|
||||
}
|
||||
|
||||
// TaskCompletionWithSummaryResponse wraps TaskCompletionResponse with TotalSummary
|
||||
type TaskCompletionWithSummaryResponse struct {
|
||||
Data TaskCompletionResponse `json:"data"`
|
||||
Summary TotalSummary `json:"summary"`
|
||||
}
|
||||
|
||||
// DeleteWithSummaryResponse for delete operations
|
||||
type DeleteWithSummaryResponse struct {
|
||||
Data string `json:"data"`
|
||||
Summary TotalSummary `json:"summary"`
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user