From 8f178eb6f3cee1d0dab2e43b7ae16f10a96765ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Pokorn=C3=BD?= <xpokorn8@fi.muni.cz> Date: Sat, 29 Apr 2023 23:26:50 +0200 Subject: [PATCH] Adding DTO Schema examples --- .../model/dto/course/CourseCreateDto.java | 9 ++++++++ .../fuseri/model/dto/course/CourseDto.java | 11 ++++++++++ .../model/dto/lecture/LectureCreateDto.java | 10 +++++++++ .../fuseri/model/dto/lecture/LectureDto.java | 15 +++++++++++++ .../model/dto/user/UserAddLanguageDto.java | 7 +++++++ .../fuseri/model/dto/user/UserCreateDto.java | 21 +++++++++++++++++++ .../org/fuseri/model/dto/user/UserDto.java | 21 +++++++++++++++++++ .../fuseri/model/dto/user/UserLoginDto.java | 7 +++++++ 8 files changed, 101 insertions(+) diff --git a/application/model/src/main/java/org/fuseri/model/dto/course/CourseCreateDto.java b/application/model/src/main/java/org/fuseri/model/dto/course/CourseCreateDto.java index 2ba3673e..c7548adb 100644 --- a/application/model/src/main/java/org/fuseri/model/dto/course/CourseCreateDto.java +++ b/application/model/src/main/java/org/fuseri/model/dto/course/CourseCreateDto.java @@ -1,5 +1,6 @@ package org.fuseri.model.dto.course; +import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.Valid; import jakarta.validation.constraints.Min; import jakarta.validation.constraints.NotBlank; @@ -14,6 +15,14 @@ import lombok.Setter; * This class represents a Data Transfer Object (DTO) for Course entities. * It is used to create a new Course with the init data. */ +@Schema(example = """ + { + "name": "english a1", + "capacity": 10, + "language": "ENGLISH", + "proficiency": "A1" + } + """) @Getter @Setter @AllArgsConstructor diff --git a/application/model/src/main/java/org/fuseri/model/dto/course/CourseDto.java b/application/model/src/main/java/org/fuseri/model/dto/course/CourseDto.java index 2bb3eb99..15588e7e 100644 --- a/application/model/src/main/java/org/fuseri/model/dto/course/CourseDto.java +++ b/application/model/src/main/java/org/fuseri/model/dto/course/CourseDto.java @@ -1,5 +1,6 @@ package org.fuseri.model.dto.course; +import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.Valid; import jakarta.validation.constraints.Min; import jakarta.validation.constraints.NotBlank; @@ -19,6 +20,16 @@ import java.util.List; * It is used to transfer Course data between different layers of the application. * It extends the DomainObjectDto class and includes additional Course-specific fields. */ +@Schema(example = """ +{ + "id": 1, + "name": "english a1", + "capacity": 10, + "language": "ENGLISH", + "proficiency": "A1", + "students": [] +} + """) @Getter @Setter @EqualsAndHashCode(callSuper = false) diff --git a/application/model/src/main/java/org/fuseri/model/dto/lecture/LectureCreateDto.java b/application/model/src/main/java/org/fuseri/model/dto/lecture/LectureCreateDto.java index b7ec0926..b54ff018 100644 --- a/application/model/src/main/java/org/fuseri/model/dto/lecture/LectureCreateDto.java +++ b/application/model/src/main/java/org/fuseri/model/dto/lecture/LectureCreateDto.java @@ -1,11 +1,21 @@ package org.fuseri.model.dto.lecture; +import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.*; import lombok.Getter; import lombok.Setter; import java.time.LocalDateTime; +@Schema(example = """ + { + "lectureFrom": "2069-04-20T22:24:33.038Z", + "lectureTo": "2069-04-20T23:24:33.038Z", + "topic": "pronouns", + "capacity": 10, + "courseId": 1 + } + """) @Getter @Setter public class LectureCreateDto { diff --git a/application/model/src/main/java/org/fuseri/model/dto/lecture/LectureDto.java b/application/model/src/main/java/org/fuseri/model/dto/lecture/LectureDto.java index 73820adc..f60d220b 100644 --- a/application/model/src/main/java/org/fuseri/model/dto/lecture/LectureDto.java +++ b/application/model/src/main/java/org/fuseri/model/dto/lecture/LectureDto.java @@ -1,5 +1,6 @@ package org.fuseri.model.dto.lecture; +import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.*; import lombok.EqualsAndHashCode; import lombok.Getter; @@ -9,6 +10,20 @@ import org.fuseri.model.dto.common.DomainObjectDto; import java.time.LocalDateTime; import java.util.List; +@Schema(example = """ + { + "id": 1, + "lectureFrom": "2069-04-20T22:24:33.038Z", + "lectureTo": "2069-04-20T23:24:33.038Z", + "topic": "pronouns", + "capacity": 10, + "lecturerId": 1, + "courseId": 1, + "students": [ + 0 + ] + } + """) @Getter @Setter @EqualsAndHashCode(callSuper = false) diff --git a/application/model/src/main/java/org/fuseri/model/dto/user/UserAddLanguageDto.java b/application/model/src/main/java/org/fuseri/model/dto/user/UserAddLanguageDto.java index 271ce643..d4456bcd 100644 --- a/application/model/src/main/java/org/fuseri/model/dto/user/UserAddLanguageDto.java +++ b/application/model/src/main/java/org/fuseri/model/dto/user/UserAddLanguageDto.java @@ -1,5 +1,6 @@ package org.fuseri.model.dto.user; +import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.Valid; import jakarta.validation.constraints.NotNull; import lombok.AllArgsConstructor; @@ -8,6 +9,12 @@ import lombok.Setter; import org.fuseri.model.dto.course.LanguageTypeDto; import org.fuseri.model.dto.course.ProficiencyLevelDto; +@Schema(example = """ + { + "language": "ENGLISH", + "proficiency": "A1" + } + """) @Getter @Setter @AllArgsConstructor diff --git a/application/model/src/main/java/org/fuseri/model/dto/user/UserCreateDto.java b/application/model/src/main/java/org/fuseri/model/dto/user/UserCreateDto.java index 2336e937..69dbdba2 100644 --- a/application/model/src/main/java/org/fuseri/model/dto/user/UserCreateDto.java +++ b/application/model/src/main/java/org/fuseri/model/dto/user/UserCreateDto.java @@ -1,5 +1,6 @@ package org.fuseri.model.dto.user; +import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.Valid; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotNull; @@ -12,6 +13,26 @@ import org.fuseri.model.dto.course.ProficiencyLevelDto; import java.util.Map; +@Schema(example = """ + { + "username": "adelkaxxx", + "password": "123456", + "email": "adelkaxxx@muni.mail.cz", + "firstName": "AdĂ©la", + "lastName": "Pulcová", + "address": { + "country": "Czechia", + "city": "Praha", + "street": "BubenskĂ© nábĹ™eĹľĂ", + "houseNumber": "306/13", + "zip": "170 00" + }, + "userType": "STUDENT", + "languageProficiency": { + "CZECH": "A2" + } + } + """) @Getter @Setter @AllArgsConstructor diff --git a/application/model/src/main/java/org/fuseri/model/dto/user/UserDto.java b/application/model/src/main/java/org/fuseri/model/dto/user/UserDto.java index 0e3ebf02..711217d5 100644 --- a/application/model/src/main/java/org/fuseri/model/dto/user/UserDto.java +++ b/application/model/src/main/java/org/fuseri/model/dto/user/UserDto.java @@ -1,5 +1,6 @@ package org.fuseri.model.dto.user; +import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.Valid; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotNull; @@ -12,6 +13,26 @@ import org.fuseri.model.dto.course.ProficiencyLevelDto; import java.util.Map; +@Schema(example = """ + { + "id": 1, + "username": "adelkaxxx", + "email": "adelkaxxx@muni.mail.cz", + "firstName": "AdĂ©la", + "lastName": "Pulcová", + "address": { + "country": "Czechia", + "city": "Praha", + "street": "BubenskĂ© nábĹ™eĹľĂ", + "houseNumber": "306/13", + "zip": "170 00" + }, + "userType": "STUDENT", + "languageProficiency": { + "CZECH": "A2" + } + } + """) @Getter @Setter @EqualsAndHashCode(callSuper = false) diff --git a/application/model/src/main/java/org/fuseri/model/dto/user/UserLoginDto.java b/application/model/src/main/java/org/fuseri/model/dto/user/UserLoginDto.java index 45ed8e25..d3e93a57 100644 --- a/application/model/src/main/java/org/fuseri/model/dto/user/UserLoginDto.java +++ b/application/model/src/main/java/org/fuseri/model/dto/user/UserLoginDto.java @@ -1,10 +1,17 @@ package org.fuseri.model.dto.user; +import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.NotBlank; import lombok.AllArgsConstructor; import lombok.Getter; import lombok.Setter; +@Schema(example = """ + { + "username": "adelkaxxx", + "password": "123456" + } + """) @Getter @Setter @AllArgsConstructor -- GitLab