From c385932820ea07eae734a2788017a42340c83528 Mon Sep 17 00:00:00 2001 From: anys34 Date: Sun, 6 Oct 2024 20:26:58 +0900 Subject: [PATCH] =?UTF-8?q?feat(#183):=20problem=EC=97=90=20=EC=B6=9C?= =?UTF-8?q?=EC=B2=98=20=EC=86=8D=EC=84=B1=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 문제의 출처를 표시하기 위해서 problem entity에 출처 속성을 추가하였습니다. --- .../java/com/insert/ioj/domain/problem/domain/Problem.java | 5 ++++- .../problem/presentation/dto/req/SaveProblemRequest.java | 5 ++++- .../problem/presentation/dto/res/ListProblemResponse.java | 2 ++ .../domain/problem/presentation/dto/res/ProblemResponse.java | 2 ++ 4 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/insert/ioj/domain/problem/domain/Problem.java b/src/main/java/com/insert/ioj/domain/problem/domain/Problem.java index b43f62e..e95ff8b 100644 --- a/src/main/java/com/insert/ioj/domain/problem/domain/Problem.java +++ b/src/main/java/com/insert/ioj/domain/problem/domain/Problem.java @@ -19,6 +19,8 @@ public class Problem extends BaseTimeEntity { private String title; + private String source; + @Column(columnDefinition = "TEXT") private String content; @@ -34,9 +36,10 @@ public class Problem extends BaseTimeEntity { private int timeLimit; - public Problem(String title, String content, String inputContent, String outputContent, int level, int memoryLimit, int timeLimit) { + public Problem(String title, String content, String source, String inputContent, String outputContent, int level, int memoryLimit, int timeLimit) { this.title = title; this.content = content; + this.source = source; this.inputContent = inputContent; this.outputContent = outputContent; this.level = level; diff --git a/src/main/java/com/insert/ioj/domain/problem/presentation/dto/req/SaveProblemRequest.java b/src/main/java/com/insert/ioj/domain/problem/presentation/dto/req/SaveProblemRequest.java index b956b2f..b87021f 100644 --- a/src/main/java/com/insert/ioj/domain/problem/presentation/dto/req/SaveProblemRequest.java +++ b/src/main/java/com/insert/ioj/domain/problem/presentation/dto/req/SaveProblemRequest.java @@ -23,6 +23,9 @@ public class SaveProblemRequest { @NotNull(message = "content가 비어있습니다.") private String content; + @NotNull(message = "source가 비어있습니다.") + private String source; + @NotNull(message = "inputContent가 비어있습니다.") private String inputContent; @@ -47,7 +50,7 @@ public class SaveProblemRequest { public Problem toProblem() { return new Problem( - title, content, inputContent, outputContent, level, memoryLimit, timeLimit + title, content, source, inputContent, outputContent, level, memoryLimit, timeLimit ); } diff --git a/src/main/java/com/insert/ioj/domain/problem/presentation/dto/res/ListProblemResponse.java b/src/main/java/com/insert/ioj/domain/problem/presentation/dto/res/ListProblemResponse.java index 2b4fbba..d4235b1 100644 --- a/src/main/java/com/insert/ioj/domain/problem/presentation/dto/res/ListProblemResponse.java +++ b/src/main/java/com/insert/ioj/domain/problem/presentation/dto/res/ListProblemResponse.java @@ -10,10 +10,12 @@ public class ListProblemResponse { private Long id; private String title; private int level; + private String source; public ListProblemResponse(Problem problem) { this.id = problem.getId(); this.title = problem.getTitle(); this.level = problem.getLevel(); + this.source = problem.getSource(); } } diff --git a/src/main/java/com/insert/ioj/domain/problem/presentation/dto/res/ProblemResponse.java b/src/main/java/com/insert/ioj/domain/problem/presentation/dto/res/ProblemResponse.java index 6895083..e343623 100644 --- a/src/main/java/com/insert/ioj/domain/problem/presentation/dto/res/ProblemResponse.java +++ b/src/main/java/com/insert/ioj/domain/problem/presentation/dto/res/ProblemResponse.java @@ -11,6 +11,7 @@ public class ProblemResponse { private String title; private String content; + private String source; private String inputContent; private String outputContent; private int level; @@ -21,6 +22,7 @@ public class ProblemResponse { public ProblemResponse(Problem problem, List testcases) { this.title = problem.getTitle(); this.content = problem.getContent(); + this.source = problem.getSource(); this.inputContent = problem.getInputContent(); this.outputContent = problem.getOutputContent(); this.level = problem.getLevel();