From 910a0192390e1e9e23201fdcfd629e97a0343d66 Mon Sep 17 00:00:00 2001 From: snowykte0426 Date: Fri, 6 Mar 2026 09:53:57 +0900 Subject: [PATCH 1/2] =?UTF-8?q?feat:=20SDK=EC=97=90=EC=84=9C=20=ED=95=99?= =?UTF-8?q?=EC=83=9D=EC=A0=95=EB=B3=B4=20=ED=95=84=ED=84=B0=20=EA=B4=80?= =?UTF-8?q?=EB=A0=A8=20=EA=B8=B0=EB=8A=A5=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sdk/openapi/client/StudentApi.java | 10 ++--- .../sdk/openapi/client/StudentApiImpl.java | 4 +- .../sdk/openapi/model/EnrollmentFilter.java | 45 +++++++++++++++++++ 3 files changed, 52 insertions(+), 7 deletions(-) create mode 100644 src/main/java/team/themoment/datagsm/sdk/openapi/model/EnrollmentFilter.java diff --git a/src/main/java/team/themoment/datagsm/sdk/openapi/client/StudentApi.java b/src/main/java/team/themoment/datagsm/sdk/openapi/client/StudentApi.java index 2fbf056..c038d8b 100644 --- a/src/main/java/team/themoment/datagsm/sdk/openapi/client/StudentApi.java +++ b/src/main/java/team/themoment/datagsm/sdk/openapi/client/StudentApi.java @@ -35,7 +35,7 @@ class StudentRequest { private Sex sex; private StudentRole role; private Integer dormitoryRoom; - private Boolean isGraduate; + private EnrollmentFilter enrollmentFilter; private Integer page; private Integer size; private StudentSortBy sortBy; @@ -92,8 +92,8 @@ public StudentRequest dormitoryRoom(Integer dormitoryRoom) { return this; } - public StudentRequest isGraduate(Boolean isGraduate) { - this.isGraduate = isGraduate; + public StudentRequest enrollmentFilter(EnrollmentFilter enrollmentFilter) { + this.enrollmentFilter = enrollmentFilter; return this; } @@ -153,8 +153,8 @@ public Integer getDormitoryRoom() { return dormitoryRoom; } - public Boolean getIsGraduated() { - return isGraduate; + public EnrollmentFilter getEnrollmentFilter() { + return enrollmentFilter; } public Integer getPage() { diff --git a/src/main/java/team/themoment/datagsm/sdk/openapi/client/StudentApiImpl.java b/src/main/java/team/themoment/datagsm/sdk/openapi/client/StudentApiImpl.java index 007bec6..ad7f5b6 100644 --- a/src/main/java/team/themoment/datagsm/sdk/openapi/client/StudentApiImpl.java +++ b/src/main/java/team/themoment/datagsm/sdk/openapi/client/StudentApiImpl.java @@ -73,8 +73,8 @@ private Map buildStudentQueryParams(StudentRequest request) { if (request.getDormitoryRoom() != null) { params.put("dormitoryRoom", request.getDormitoryRoom().toString()); } - if (request.getIsGraduated() != null) { - params.put("isGraduated", request.getIsGraduated().toString()); + if (request.getEnrollmentFilter() != null) { + request.getEnrollmentFilter().applyToParams(params); } if (request.getPage() != null) { params.put("page", request.getPage().toString()); diff --git a/src/main/java/team/themoment/datagsm/sdk/openapi/model/EnrollmentFilter.java b/src/main/java/team/themoment/datagsm/sdk/openapi/model/EnrollmentFilter.java new file mode 100644 index 0000000..9492123 --- /dev/null +++ b/src/main/java/team/themoment/datagsm/sdk/openapi/model/EnrollmentFilter.java @@ -0,0 +1,45 @@ +package team.themoment.datagsm.sdk.openapi.model; + +import java.util.Map; + +public abstract class EnrollmentFilter { + EnrollmentFilter() {} + + public static OnlyEnrolled onlyEnrolled() { return new OnlyEnrolled(); } + public static Detailed detailed() { return new Detailed(); } + + public abstract void applyToParams(Map params); + + public static final class OnlyEnrolled extends EnrollmentFilter { + private OnlyEnrolled() {} + + @Override + public void applyToParams(Map params) { + params.put("onlyEnrolled", "true"); + } + } + + public static final class Detailed extends EnrollmentFilter { + private Boolean includeGraduates = false; + private Boolean includeWithdrawn = false; + + private Detailed() {} + + public Detailed includeGraduates(boolean include) { + this.includeGraduates = include; + return this; + } + + public Detailed includeWithdrawn(boolean include) { + this.includeWithdrawn = include; + return this; + } + + @Override + public void applyToParams(Map params) { + params.put("onlyEnrolled", "false"); + if (includeGraduates != null) params.put("includeGraduates", includeGraduates.toString()); + if (includeWithdrawn != null) params.put("includeWithdrawn", includeWithdrawn.toString()); + } + } +} From f43633b120305a337523915e093e8fccab60281d Mon Sep 17 00:00:00 2001 From: snowykte0426 Date: Fri, 6 Mar 2026 09:54:02 +0900 Subject: [PATCH 2/2] =?UTF-8?q?update:=201.2.0=EC=9C=BC=EB=A1=9C=20?= =?UTF-8?q?=EB=B2=84=EC=A0=84=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index b4a6c14..19555b2 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -4,7 +4,7 @@ plugins { } group = "team.themoment.datagsm.sdk" -version = "1.1.1" +version = "1.2.0" java { toolchain {