-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathFileRequest.java
More file actions
66 lines (55 loc) · 2.36 KB
/
Copy pathFileRequest.java
File metadata and controls
66 lines (55 loc) · 2.36 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
package life.mosu.mosuserver.presentation.common;
import io.swagger.v3.oas.annotations.media.Schema;
import life.mosu.mosuserver.domain.application.entity.ExamTicketImageJpaEntity;
import life.mosu.mosuserver.domain.file.Visibility;
import life.mosu.mosuserver.domain.inquiry.entity.InquiryAttachmentJpaEntity;
import life.mosu.mosuserver.domain.inquiryAnswer.entity.InquiryAnswerAttachmentEntity;
import life.mosu.mosuserver.domain.notice.entity.NoticeAttachmentJpaEntity;
@Schema(description = "파일 요청 DTO (S3 파일 정보)")
public record FileRequest(
@Schema(description = "파일 이름", example = "example.jpg")
String fileName,
@Schema(description = "S3 키", example = "비공개 이미지를 처리하기 위한 키")
String s3Key
) {
public InquiryAttachmentJpaEntity toInquiryAttachmentEntity(Long inquiryId) {
return InquiryAttachmentJpaEntity.builder()
.fileName(fileName)
.s3Key(s3Key)
.visibility(Visibility.PUBLIC)
.inquiryId(inquiryId)
.build();
}
public NoticeAttachmentJpaEntity toNoticeAttachmentEntity(Long noticeId) {
return NoticeAttachmentJpaEntity.builder()
.fileName(fileName)
.s3Key(s3Key)
.visibility(Visibility.PUBLIC)
.noticeId(noticeId)
.build();
}
public ExamTicketImageJpaEntity toExamTicketImageEntity(Long applicationId) {
return ExamTicketImageJpaEntity.builder()
.fileName(fileName)
.s3Key(s3Key)
.visibility(Visibility.PRIVATE)
.applicationId(applicationId)
.build();
}
public InquiryAnswerAttachmentEntity toInquiryAnswerAttachmentEntity(Long inquiryAnswerId) {
return InquiryAnswerAttachmentEntity.builder()
.fileName(fileName)
.s3Key(s3Key)
.visibility(Visibility.PUBLIC)
.inquiryAnswerId(inquiryAnswerId)
.build();
}
// public EventAttachmentJpaEntity toEventAttachmentEntity(Long eventId) {
// return EventAttachmentJpaEntity.builder()
// .fileName(fileName)
// .s3Key(s3Key)
// .visibility(Visibility.PUBLIC)
// .eventId(eventId)
// .build();
// }
}