diff --git a/backend/src/main/java/net/beetechgroup/beetask/interfaceadapters/controllers/task/CreateTaskResponse.java b/backend/src/main/java/net/beetechgroup/beetask/interfaceadapters/controllers/task/CreateTaskResponse.java index 3e651a3..e5eb8fb 100644 --- a/backend/src/main/java/net/beetechgroup/beetask/interfaceadapters/controllers/task/CreateTaskResponse.java +++ b/backend/src/main/java/net/beetechgroup/beetask/interfaceadapters/controllers/task/CreateTaskResponse.java @@ -10,9 +10,11 @@ public record CreateTaskResponse( String title, String description, TaskStatus status, - String projectName, + ProjectResponse project, LocalDateTime finishedAt, List history) { + + public record ProjectResponse(Long id, String name) {} } record TaskHistoryItemResponse( diff --git a/backend/src/main/java/net/beetechgroup/beetask/interfaceadapters/controllers/task/TaskControllerMapper.java b/backend/src/main/java/net/beetechgroup/beetask/interfaceadapters/controllers/task/TaskControllerMapper.java index 7376d5c..ad41b9f 100644 --- a/backend/src/main/java/net/beetechgroup/beetask/interfaceadapters/controllers/task/TaskControllerMapper.java +++ b/backend/src/main/java/net/beetechgroup/beetask/interfaceadapters/controllers/task/TaskControllerMapper.java @@ -26,7 +26,7 @@ public class TaskControllerMapper { output.title(), output.description(), output.status(), - output.projectName(), + Objects.nonNull(output.project()) ? new CreateTaskResponse.ProjectResponse(output.project().id(), output.project().name()) : null, output.finishedAt(), output.history().stream().map(taskHistoryItemOutput -> new TaskHistoryItemResponse(taskHistoryItemOutput.id(), taskHistoryItemOutput.startAt(), taskHistoryItemOutput.endAt())).toList() ); diff --git a/backend/src/main/java/net/beetechgroup/beetask/usecase/task/create/CreateTaskMapper.java b/backend/src/main/java/net/beetechgroup/beetask/usecase/task/create/CreateTaskMapper.java index d93d096..316d16d 100644 --- a/backend/src/main/java/net/beetechgroup/beetask/usecase/task/create/CreateTaskMapper.java +++ b/backend/src/main/java/net/beetechgroup/beetask/usecase/task/create/CreateTaskMapper.java @@ -11,7 +11,7 @@ public class CreateTaskMapper { task.getTitle(), task.getDescription(), task.getStatus(), - Objects.nonNull(task.getProject()) ? task.getProject().getName() : null, + Objects.nonNull(task.getProject()) ? new CreateTaskOutput.ProjectOutput(task.getProject().getId(), task.getProject().getName()) : null, task.getFinishedAt(), task.getHistory().stream().map(CreateTaskMapper::toTaskHistoryItemOutput).toList()); } diff --git a/backend/src/main/java/net/beetechgroup/beetask/usecase/task/create/CreateTaskOutput.java b/backend/src/main/java/net/beetechgroup/beetask/usecase/task/create/CreateTaskOutput.java index ba3292a..c87196f 100644 --- a/backend/src/main/java/net/beetechgroup/beetask/usecase/task/create/CreateTaskOutput.java +++ b/backend/src/main/java/net/beetechgroup/beetask/usecase/task/create/CreateTaskOutput.java @@ -9,8 +9,9 @@ public record CreateTaskOutput( String title, String description, TaskStatus status, - String projectName, + ProjectOutput project, LocalDateTime finishedAt, List history) { + public record ProjectOutput(Long id, String name) {} } \ No newline at end of file diff --git a/frontend/src/pages/CreateTaskPage.tsx b/frontend/src/pages/CreateTaskPage.tsx index 1be2057..6495ee5 100644 --- a/frontend/src/pages/CreateTaskPage.tsx +++ b/frontend/src/pages/CreateTaskPage.tsx @@ -55,7 +55,7 @@ export function CreateTaskPage() { title: data.title, description: data.description || "", status: data.status, - projectId: data.projectId?.toString() || "", + projectId: data.project?.id?.toString() || "", history: data.history || [], }); } catch (error) { @@ -156,7 +156,7 @@ export function CreateTaskPage() { {TASK_STATUS_LABELS[createdTask.status]} - {createdTask.project || "Geral"} + {createdTask.project?.name || "Geral"} diff --git a/frontend/src/pages/DashboardPage.tsx b/frontend/src/pages/DashboardPage.tsx index 5904952..349ea66 100644 --- a/frontend/src/pages/DashboardPage.tsx +++ b/frontend/src/pages/DashboardPage.tsx @@ -296,7 +296,7 @@ export const DashboardPage: React.FC = () => { {task.title}
- {task.projectName} + {task.project?.name}
@@ -360,7 +360,7 @@ export const DashboardPage: React.FC = () => { - {task.projectName} + {task.project?.name} diff --git a/frontend/src/pages/TaskBoardPage.tsx b/frontend/src/pages/TaskBoardPage.tsx index d39aa26..e837ad5 100644 --- a/frontend/src/pages/TaskBoardPage.tsx +++ b/frontend/src/pages/TaskBoardPage.tsx @@ -192,7 +192,7 @@ export function TaskBoardPage() {
- {task.projectName || 'Geral'} + {task.project?.name || 'Geral'}
#{task.id} diff --git a/frontend/src/pages/TaskListPage.tsx b/frontend/src/pages/TaskListPage.tsx index 5d444e7..b396e42 100644 --- a/frontend/src/pages/TaskListPage.tsx +++ b/frontend/src/pages/TaskListPage.tsx @@ -85,7 +85,7 @@ export function TaskListPage() { const matchesSearch = task.title.toLowerCase().includes(searchQuery.toLowerCase()) || task.description?.toLowerCase().includes(searchQuery.toLowerCase()) || - task.projectName?.toLowerCase().includes(searchQuery.toLowerCase()) + task.project?.name?.toLowerCase().includes(searchQuery.toLowerCase()) const matchesStatus = statusFilter === 'ALL' || task.status === statusFilter @@ -210,7 +210,7 @@ export function TaskListPage() {
- {task.projectName || 'Geral'} + {task.project?.name || 'Geral'}
diff --git a/frontend/src/types/task.ts b/frontend/src/types/task.ts index aa212b1..66082bf 100644 --- a/frontend/src/types/task.ts +++ b/frontend/src/types/task.ts @@ -27,13 +27,17 @@ export type TaskHistoryItem = { endAt: string | null } +export type TaskProject = { + id: number + name: string +} + export type TaskResponse = { id: number title: string description: string status: TaskStatus - projectName: string - projectId?: number + project: TaskProject | null finishedAt?: string history?: TaskHistoryItem[] }