Skip to content

Commit 47c9bb9

Browse files
committed
CLAP-58 Feat: 작업 수정 기능
1 parent 6b7abd6 commit 47c9bb9

21 files changed

+232
-77
lines changed
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package clap.server.adapter.inbound.web.dto.task;
2+
3+
4+
public record AttachmentRequest(
5+
Long fileId,
6+
String fileUrl) {
7+
}

src/main/java/clap/server/adapter/inbound/web/dto/task/AttachmentResponse.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import java.time.LocalDateTime;
44

55
public record AttachmentResponse(
6+
Long fileId,
67
String fileName,
78
String fileSize,
89
String fileUrl,

src/main/java/clap/server/adapter/inbound/web/dto/task/CreateTaskResponse.java renamed to src/main/java/clap/server/adapter/inbound/web/dto/task/CreateAndUpdateTaskResponse.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33

44

5-
public record CreateTaskResponse(
5+
public record CreateAndUpdateTaskResponse(
66
Long taskId,
77
Long categoryId,
88
String title
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
package clap.server.adapter.inbound.web.dto.task;
2+
3+
import jakarta.validation.constraints.NotBlank;
4+
import jakarta.validation.constraints.NotNull;
5+
6+
import java.util.List;
7+
8+
public record UpdateTaskRequest(
9+
@NotNull
10+
Long taskId,
11+
@NotNull
12+
Long categoryId,
13+
@NotNull
14+
Long mainCategoryId,
15+
@NotBlank
16+
String title,
17+
String description,
18+
List<AttachmentRequest> attachmentRequests
19+
) {
20+
}

src/main/java/clap/server/adapter/inbound/web/task/CreateTaskController.java

Lines changed: 0 additions & 27 deletions
This file was deleted.

src/main/java/clap/server/adapter/inbound/web/task/FindTaskListController.java renamed to src/main/java/clap/server/adapter/inbound/web/task/FindTaskController.java

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,30 @@
11
package clap.server.adapter.inbound.web.task;
22

3+
import clap.server.adapter.inbound.web.dto.task.FindTaskDetailsResponse;
34
import clap.server.adapter.inbound.web.dto.task.FindTaskListRequest;
45
import clap.server.adapter.inbound.web.dto.task.FindTaskListResponse;
6+
import clap.server.application.port.inbound.task.FindTaskDetailsUsecase;
57
import clap.server.application.port.inbound.task.FindTaskListUsecase;
68
import clap.server.common.annotation.architecture.WebAdapter;
79
import lombok.RequiredArgsConstructor;
10+
811
import org.springframework.data.domain.Page;
912
import org.springframework.data.domain.PageRequest;
1013
import org.springframework.data.domain.Pageable;
1114
import org.springframework.http.ResponseEntity;
1215
import org.springframework.web.bind.annotation.*;
1316

17+
import java.util.List;
18+
1419
@WebAdapter
1520
@RestController
1621
@RequiredArgsConstructor
1722
@RequestMapping("/api/tasks")
18-
public class FindTaskListController {
23+
public class FindTaskController {
24+
private final FindTaskDetailsUsecase taskDetailsUsecase;
1925
private final FindTaskListUsecase taskListUsecase;
26+
private static final Long taskId = 3L;
2027
private static final Long memberId = 4L;
21-
22-
2328
@GetMapping("/requests")
2429
public ResponseEntity<Page<FindTaskListResponse>> getRequestedTaskList(
2530
@RequestParam(defaultValue = "0") int page,
@@ -28,4 +33,9 @@ public ResponseEntity<Page<FindTaskListResponse>> getRequestedTaskList(
2833
Pageable pageable = PageRequest.of(page, size);
2934
return ResponseEntity.ok(taskListUsecase.findRequestedTaskList(memberId, pageable, findTaskListRequest));
3035
}
31-
}
36+
37+
@GetMapping("/requests/details")
38+
public ResponseEntity<List<FindTaskDetailsResponse>> getRequestedTaskDetails(){
39+
return ResponseEntity.ok(taskDetailsUsecase.findRequestedTaskDetails(memberId, taskId));
40+
}
41+
}

src/main/java/clap/server/adapter/inbound/web/task/FindTaskDetailsController.java

Lines changed: 0 additions & 26 deletions
This file was deleted.
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
package clap.server.adapter.inbound.web.task;
2+
3+
import clap.server.adapter.inbound.web.dto.task.CreateTaskRequest;
4+
import clap.server.adapter.inbound.web.dto.task.CreateAndUpdateTaskResponse;
5+
import clap.server.adapter.inbound.web.dto.task.UpdateTaskRequest;
6+
import clap.server.application.port.inbound.task.CreateTaskUsecase;
7+
import clap.server.application.port.inbound.task.UpdateTaskUsecase;
8+
import clap.server.common.annotation.architecture.WebAdapter;
9+
import jakarta.validation.Valid;
10+
import lombok.RequiredArgsConstructor;
11+
import org.springframework.http.ResponseEntity;
12+
import org.springframework.web.bind.annotation.*;
13+
14+
15+
@WebAdapter
16+
@RestController
17+
@RequiredArgsConstructor
18+
@RequestMapping("/api/tasks")
19+
public class ManagementTaskController {
20+
21+
private final CreateTaskUsecase createTaskUsecase;
22+
private final UpdateTaskUsecase updateTaskUsecase;
23+
private static final Long memberId = 4L;
24+
25+
@PostMapping
26+
public ResponseEntity<CreateAndUpdateTaskResponse> createTask(
27+
@RequestBody @Valid CreateTaskRequest createTaskRequest){
28+
return ResponseEntity.ok(createTaskUsecase.createTask(memberId, createTaskRequest));
29+
}
30+
31+
@PatchMapping
32+
public ResponseEntity<CreateAndUpdateTaskResponse> updateTask(
33+
@RequestBody @Valid UpdateTaskRequest updateTaskRequest){
34+
return ResponseEntity.ok(updateTaskUsecase.updateTask(memberId, updateTaskRequest));
35+
}
36+
}

src/main/java/clap/server/adapter/outbound/persistense/AttachmentPersistenceAdapter.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,4 +44,9 @@ public List<Attachment> findAllByTaskId(final Long taskId) {
4444
.map(attachmentPersistenceMapper::toDomain)
4545
.collect(Collectors.toList());
4646
}
47+
48+
@Override
49+
public void deleteByIds(List<Long> attachmentIds) {
50+
attachmentRepository.deleteAllByAttachmentIdIn(attachmentIds);
51+
}
4752
}

src/main/java/clap/server/adapter/outbound/persistense/entity/task/AttachmentEntity.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,14 @@ public class AttachmentEntity extends BaseTimeEntity {
2424
@Column(nullable = false)
2525
private String fileUrl;
2626

27+
@Column(nullable = false)
28+
private String fileSize;
29+
2730
@ManyToOne(fetch = FetchType.LAZY)
2831
@JoinColumn(name = "task_id")
2932
private TaskEntity task;
3033

3134
@OneToOne(fetch = FetchType.LAZY)
3235
@JoinColumn(name = "comment_id")
3336
private CommentEntity comment;
34-
35-
@Column(nullable = false)
36-
private String fileSize;
3737
}

0 commit comments

Comments
 (0)