(int id)
| 106 | } |
| 107 | |
| 108 | [HttpDelete("{id}")] |
| 109 | public async Task<IActionResult> DeleteTask(int id) |
| 110 | { |
| 111 | try |
| 112 | { |
| 113 | // DeleteTaskAsync now returns the BoardId if successful |
| 114 | var boardId = await _taskService.DeleteTaskAsync(id, GetUserId()); |
| 115 | if (boardId == null) return NotFound(); |
| 116 | |
| 117 | await _hubContext.Clients.Group($"board_{boardId}") |
| 118 | .SendAsync("TaskDeleted", id); |
| 119 | |
| 120 | return NoContent(); |
| 121 | } |
| 122 | catch (UnauthorizedAccessException) { return Forbid(); } |
| 123 | } |
| 124 | |
| 125 | [HttpPost("{taskId}/subtasks")] |
| 126 | public async Task<IActionResult> CreateSubtask(int taskId, [FromBody] CreateSubtaskDto dto) |
nothing calls this directly
no test coverage detected