Skip to content

Commit 5b9117d

Browse files
committed
feat: binary content api 구현
1 parent 58281e7 commit 5b9117d

File tree

2 files changed

+82
-1
lines changed

2 files changed

+82
-1
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
package com.sprint.mission.discodeit.controller.BinaryContent;
2+
3+
import com.sprint.mission.discodeit.entity.BinaryContent;
4+
import com.sprint.mission.discodeit.service.BinaryContentService;
5+
import java.util.List;
6+
import java.util.UUID;
7+
import org.springframework.http.ResponseEntity;
8+
import org.springframework.web.bind.annotation.PathVariable;
9+
import org.springframework.web.bind.annotation.RequestBody;
10+
import org.springframework.web.bind.annotation.RequestMapping;
11+
import org.springframework.web.bind.annotation.RequestMethod;
12+
import org.springframework.web.bind.annotation.RestController;
13+
14+
@RestController
15+
@RequestMapping("/api/binary-content")
16+
public class BinaryContentController {
17+
18+
private final BinaryContentService binaryContentService;
19+
20+
public BinaryContentController(BinaryContentService binaryContentService) {
21+
this.binaryContentService = binaryContentService;
22+
}
23+
24+
@RequestMapping(value = "/{id}", method = RequestMethod.GET)
25+
public ResponseEntity<BinaryContent> findById(@PathVariable UUID id) {
26+
return ResponseEntity.ok(binaryContentService.find(id));
27+
}
28+
29+
@RequestMapping(method = RequestMethod.POST)
30+
public ResponseEntity<List<BinaryContent>> findAll(
31+
@RequestBody List<UUID> uuids
32+
) {
33+
return ResponseEntity.ok(binaryContentService.findAllByIdIn(uuids));
34+
}
35+
}
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,55 @@
11
package com.sprint.mission.discodeit.controller.message;
22

3+
import com.sprint.mission.discodeit.dto.data.ChannelDto;
4+
import com.sprint.mission.discodeit.dto.request.ReadStatusCreateRequest;
5+
import com.sprint.mission.discodeit.dto.request.ReadStatusUpdateRequest;
6+
import com.sprint.mission.discodeit.entity.Message;
7+
import com.sprint.mission.discodeit.entity.ReadStatus;
8+
import com.sprint.mission.discodeit.service.ChannelService;
9+
import com.sprint.mission.discodeit.service.MessageService;
10+
import com.sprint.mission.discodeit.service.ReadStatusService;
11+
import java.net.URI;
12+
import java.util.List;
13+
import java.util.UUID;
14+
import org.springframework.http.ResponseEntity;
15+
import org.springframework.web.bind.annotation.PathVariable;
16+
import org.springframework.web.bind.annotation.RequestBody;
317
import org.springframework.web.bind.annotation.RequestMapping;
18+
import org.springframework.web.bind.annotation.RequestMethod;
419
import org.springframework.web.bind.annotation.RestController;
520

621
@RestController
7-
@RequestMapping("/api/")
22+
@RequestMapping("/api/read-status")
823
public class MessageReadStatusController {
24+
25+
private final ReadStatusService readStatusService;
26+
27+
public MessageReadStatusController(ReadStatusService readStatusService) {
28+
this.readStatusService = readStatusService;
29+
}
30+
31+
@RequestMapping(value = "/{id}", method = RequestMethod.GET)
32+
public ResponseEntity<List<ReadStatus>> findByUserId(
33+
@PathVariable(name = "id") UUID userId
34+
) {
35+
return ResponseEntity.ok(readStatusService.findAllByUserId(userId));
36+
}
37+
38+
@RequestMapping(method = RequestMethod.POST)
39+
public ResponseEntity<Void> createReadStatus(
40+
@RequestBody ReadStatusCreateRequest readStatusCreateRequest
41+
) {
42+
readStatusService.create(readStatusCreateRequest);
43+
return ResponseEntity.created(URI.create("/")).build();
44+
}
45+
46+
@RequestMapping(value = "/{id}", method = RequestMethod.PATCH)
47+
public ResponseEntity<Void> updateReadStatusByChannelId(
48+
@PathVariable(name = "id") UUID userId,
49+
@RequestBody ReadStatusUpdateRequest readStatusUpdateRequest
50+
) {
51+
List<ReadStatus> allByUserId = readStatusService.findAllByUserId(userId);
52+
allByUserId.stream().map(ReadStatus::getId).forEach(it -> readStatusService.update(it, readStatusUpdateRequest));
53+
return ResponseEntity.noContent().build();
54+
}
955
}

0 commit comments

Comments
 (0)