Skip to content
Snippets Groups Projects
Commit c09b32bd authored by Jan Pokorný's avatar Jan Pokorný :lifter_tone2:
Browse files

Merge branch 'main' into 'M3-data-initialization'

# Conflicts:
#   application/module-language-school/src/main/java/org/fuseri/modulelanguageschool/course/Course.java
parents 45b43706 8cb05668
No related branches found
No related tags found
1 merge request!34M3 data initialization
Pipeline #
Showing
with 244 additions and 39 deletions
package org.fuseri.model.dto.certificate; package org.fuseri.model.dto.certificate;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.Valid; import jakarta.validation.Valid;
import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.NotNull;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import org.fuseri.model.dto.course.CourseDto; import org.fuseri.model.dto.course.CourseCertificateDto;
import org.fuseri.model.dto.user.UserDto; import org.fuseri.model.dto.user.UserDto;
...@@ -12,6 +13,36 @@ import org.fuseri.model.dto.user.UserDto; ...@@ -12,6 +13,36 @@ import org.fuseri.model.dto.user.UserDto;
* This class represents a Data Transfer Object (DTO) for creating Certificate entities. * This class represents a Data Transfer Object (DTO) for creating Certificate entities.
* It is used for creating Certificate entity. * It is used for creating Certificate entity.
*/ */
@Schema(example = """
{
"user": {
"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"
}
},
"course": {
"id": 1,
"name": "english a1",
"capacity": 10,
"language": "ENGLISH",
"proficiency": "A1"
}
}
""")
@Getter @Getter
@Setter @Setter
public class CertificateCreateDto { public class CertificateCreateDto {
...@@ -20,9 +51,9 @@ public class CertificateCreateDto { ...@@ -20,9 +51,9 @@ public class CertificateCreateDto {
private UserDto user; private UserDto user;
@NotNull @NotNull
@Valid @Valid
private CourseDto course; private CourseCertificateDto course;
public CertificateCreateDto(UserDto user, CourseDto course) { public CertificateCreateDto(UserDto user, CourseCertificateDto course) {
this.user = user; this.user = user;
this.course = course; this.course = course;
} }
......
package org.fuseri.model.dto.course;
import jakarta.validation.Valid;
import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
import org.fuseri.model.dto.common.DomainObjectDto;
/**
* This class represents a Data Transfer Object (DTO) for Course entities.
* It is used for passing Course data to Certificate module.
* It extends the DomainObjectDto class and includes additional Course-specific fields.
*/
@Getter
@Setter
@EqualsAndHashCode(callSuper = false)
public class CourseCertificateDto extends DomainObjectDto {
@NotBlank(message = "Course name is required")
@Size(max = 63, message = "Course name must not exceed {max} characters")
private String name;
@NotNull(message = "Lecture capacity cannot be null")
@Min(value = 1, message = "Lecture capacity must be at least 1")
private Integer capacity;
@NotNull(message = "Language type is required")
@Valid
private LanguageTypeDto language;
@NotNull(message = "Proficiency level is required")
@Valid
private ProficiencyLevelDto proficiency;
public CourseCertificateDto(String name, Integer capacity, LanguageTypeDto languageTypeDto, ProficiencyLevelDto proficiencyLevelDto) {
setId(0L);
this.name = name;
this.capacity = capacity;
this.language = languageTypeDto;
this.proficiency = proficiencyLevelDto;
}
}
package org.fuseri.model.dto.course; package org.fuseri.model.dto.course;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.Valid; import jakarta.validation.Valid;
import jakarta.validation.constraints.Min; import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotBlank;
...@@ -14,6 +15,14 @@ import lombok.Setter; ...@@ -14,6 +15,14 @@ import lombok.Setter;
* This class represents a Data Transfer Object (DTO) for Course entities. * This class represents a Data Transfer Object (DTO) for Course entities.
* It is used to create a new Course with the init data. * It is used to create a new Course with the init data.
*/ */
@Schema(example = """
{
"name": "english a1",
"capacity": 10,
"language": "ENGLISH",
"proficiency": "A1"
}
""")
@Getter @Getter
@Setter @Setter
@AllArgsConstructor @AllArgsConstructor
......
package org.fuseri.model.dto.course; package org.fuseri.model.dto.course;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.Valid; import jakarta.validation.Valid;
import jakarta.validation.constraints.Min; import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotBlank;
...@@ -9,7 +10,6 @@ import lombok.EqualsAndHashCode; ...@@ -9,7 +10,6 @@ import lombok.EqualsAndHashCode;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import org.fuseri.model.dto.common.DomainObjectDto; import org.fuseri.model.dto.common.DomainObjectDto;
import org.fuseri.model.dto.user.UserDto;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
...@@ -19,6 +19,17 @@ import java.util.List; ...@@ -19,6 +19,17 @@ import java.util.List;
* It is used to transfer Course data between different layers of the application. * It is used to transfer Course data between different layers of the application.
* It extends the DomainObjectDto class and includes additional Course-specific fields. * 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": [],
"finished": false
}
""")
@Getter @Getter
@Setter @Setter
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
...@@ -42,14 +53,26 @@ public class CourseDto extends DomainObjectDto { ...@@ -42,14 +53,26 @@ public class CourseDto extends DomainObjectDto {
@NotNull(message = "Student's list is required") @NotNull(message = "Student's list is required")
@Valid @Valid
private List<UserDto> students; private List<Long> students;
public CourseDto(String name, Integer capacity, LanguageTypeDto languageTypeDto, ProficiencyLevelDto proficiencyLevelDto) { @NotNull(message = "Finished status required")
@Valid
private Boolean finished;
public CourseDto(String name, Integer capacity, LanguageTypeDto languageTypeDto, ProficiencyLevelDto proficiencyLevelDto, List<Long> students, Boolean finished) {
this.name = name; this.name = name;
this.capacity = capacity; this.capacity = capacity;
this.language = languageTypeDto; this.language = languageTypeDto;
this.proficiency = proficiencyLevelDto; this.proficiency = proficiencyLevelDto;
this.students = new ArrayList<>(); this.students = students;
this.finished = finished;
} }
public CourseDto(String name, int capacity, LanguageTypeDto languageTypeDto, ProficiencyLevelDto proficiencyLevelDto) {
this.name = name;
this.capacity = capacity;
this.language = languageTypeDto;
this.proficiency = proficiencyLevelDto;
this.students = new ArrayList<>();
}
} }
...@@ -4,17 +4,19 @@ import jakarta.validation.constraints.NotBlank; ...@@ -4,17 +4,19 @@ import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Getter; import lombok.Getter;
import lombok.NoArgsConstructor;
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor
@Getter @Getter
public class AnswerCreateDto { public class AnswerCreateDto {
@NotBlank @NotBlank(message = "answer text is required")
private String text; private String text;
@NotNull @NotNull(message = "answer correctness must be specified")
private boolean correct; private boolean correct;
@NotNull @NotNull(message = "answer must belong to a question, questionId can not be null")
private long questionId; private long questionId;
} }
...@@ -9,9 +9,9 @@ import lombok.Getter; ...@@ -9,9 +9,9 @@ import lombok.Getter;
@Getter @Getter
public class AnswerInQuestionCreateDto { public class AnswerInQuestionCreateDto {
@NotBlank @NotBlank(message = "answer text is required")
private String text; private String text;
@NotNull @NotNull(message = "answer correctness must be specified")
private boolean correct; private boolean correct;
} }
...@@ -11,7 +11,7 @@ import java.util.List; ...@@ -11,7 +11,7 @@ import java.util.List;
@Getter @Getter
public class AnswersCreateDto { public class AnswersCreateDto {
@NotNull @NotNull(message = "answers must belong to a question, questionId can not be null")
private long questionId; private long questionId;
@Valid @Valid
......
...@@ -5,20 +5,22 @@ import jakarta.validation.constraints.NotNull; ...@@ -5,20 +5,22 @@ import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.PositiveOrZero; import jakarta.validation.constraints.PositiveOrZero;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Getter; import lombok.Getter;
import lombok.NoArgsConstructor;
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor
@Getter @Getter
public class ExerciseCreateDto { public class ExerciseCreateDto {
@NotBlank @NotBlank(message = "exercise name is required")
private String name; private String name;
@NotBlank @NotBlank(message = "exercise description is required")
private String description; private String description;
@NotNull @NotNull(message = "exercise difficulty is required")
@PositiveOrZero @PositiveOrZero
private int difficulty; private int difficulty;
@NotNull @NotNull(message = "exercise must belong to a course, courseId can not be null")
private long courseId; private long courseId;
} }
...@@ -5,17 +5,19 @@ import jakarta.validation.constraints.NotBlank; ...@@ -5,17 +5,19 @@ import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Getter; import lombok.Getter;
import lombok.NoArgsConstructor;
import java.util.List; import java.util.List;
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor
@Getter @Getter
public class QuestionCreateDto { public class QuestionCreateDto {
@NotBlank @NotBlank(message = "question text is required")
private String text; private String text;
@NotNull @NotNull(message = "question must belong to an exercise, exerciseId can not be null")
private long exerciseId; private long exerciseId;
@Valid @Valid
......
...@@ -9,9 +9,9 @@ import lombok.Getter; ...@@ -9,9 +9,9 @@ import lombok.Getter;
@Builder @Builder
public class QuestionUpdateDto { public class QuestionUpdateDto {
@NotBlank @NotBlank(message = "question text is required")
private String text; private String text;
@NotNull @NotNull(message = "question must belong to an exercise, exerciseId can not be null")
private long exerciseId; private long exerciseId;
} }
package org.fuseri.model.dto.lecture; package org.fuseri.model.dto.lecture;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.*; import jakarta.validation.constraints.*;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import java.time.LocalDateTime; 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 @Getter
@Setter @Setter
public class LectureCreateDto { public class LectureCreateDto {
......
package org.fuseri.model.dto.lecture; package org.fuseri.model.dto.lecture;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.*; import jakarta.validation.constraints.*;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.Getter; import lombok.Getter;
...@@ -9,6 +10,20 @@ import org.fuseri.model.dto.common.DomainObjectDto; ...@@ -9,6 +10,20 @@ import org.fuseri.model.dto.common.DomainObjectDto;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List; 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 @Getter
@Setter @Setter
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
......
package org.fuseri.model.dto.user; package org.fuseri.model.dto.user;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.Valid; import jakarta.validation.Valid;
import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
...@@ -8,6 +9,12 @@ import lombok.Setter; ...@@ -8,6 +9,12 @@ import lombok.Setter;
import org.fuseri.model.dto.course.LanguageTypeDto; import org.fuseri.model.dto.course.LanguageTypeDto;
import org.fuseri.model.dto.course.ProficiencyLevelDto; import org.fuseri.model.dto.course.ProficiencyLevelDto;
@Schema(example = """
{
"language": "ENGLISH",
"proficiency": "A1"
}
""")
@Getter @Getter
@Setter @Setter
@AllArgsConstructor @AllArgsConstructor
......
package org.fuseri.model.dto.user; package org.fuseri.model.dto.user;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.Valid; import jakarta.validation.Valid;
import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.NotNull;
...@@ -12,6 +13,26 @@ import org.fuseri.model.dto.course.ProficiencyLevelDto; ...@@ -12,6 +13,26 @@ import org.fuseri.model.dto.course.ProficiencyLevelDto;
import java.util.Map; 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 @Getter
@Setter @Setter
@AllArgsConstructor @AllArgsConstructor
......
package org.fuseri.model.dto.user; package org.fuseri.model.dto.user;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.Valid; import jakarta.validation.Valid;
import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.NotNull;
import lombok.EqualsAndHashCode; import lombok.*;
import org.fuseri.model.dto.common.DomainObjectDto; import org.fuseri.model.dto.common.DomainObjectDto;
import lombok.Getter;
import lombok.Setter;
import org.fuseri.model.dto.course.LanguageTypeDto; import org.fuseri.model.dto.course.LanguageTypeDto;
import org.fuseri.model.dto.course.ProficiencyLevelDto; import org.fuseri.model.dto.course.ProficiencyLevelDto;
import java.util.Map; 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 @Getter
@Setter @Setter
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
@NoArgsConstructor
public class UserDto extends DomainObjectDto { public class UserDto extends DomainObjectDto {
@NotBlank @NotBlank
...@@ -47,4 +67,16 @@ public class UserDto extends DomainObjectDto { ...@@ -47,4 +67,16 @@ public class UserDto extends DomainObjectDto {
this.address = address; this.address = address;
this.userType = userType; this.userType = userType;
} }
public UserDto(String username, String email, String firstName, String lastName, AddressDto address, UserType userType,Map<LanguageTypeDto, ProficiencyLevelDto> languageProficiency) {
setId(0L);
this.username = username;
this.email = email;
this.firstName = firstName;
this.lastName = lastName;
this.address = address;
this.userType = userType;
this.languageProficiency = languageProficiency;
}
} }
package org.fuseri.model.dto.user; package org.fuseri.model.dto.user;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotBlank;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
@Schema(example = """
{
"username": "adelkaxxx",
"password": "123456"
}
""")
@Getter @Getter
@Setter @Setter
@AllArgsConstructor @AllArgsConstructor
......
package org.fuseri.modulecertificate; package org.fuseri.modulecertificate.certificate;
import jakarta.persistence.*; import jakarta.persistence.*;
......
package org.fuseri.modulecertificate.service; package org.fuseri.modulecertificate.certificate;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.responses.ApiResponse; import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.responses.ApiResponses; import io.swagger.v3.oas.annotations.responses.ApiResponses;
import jakarta.persistence.EntityNotFoundException;
import jakarta.validation.Valid; import jakarta.validation.Valid;
import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.NotNull;
import org.fuseri.model.dto.certificate.CertificateCreateDto; import org.fuseri.model.dto.certificate.CertificateCreateDto;
...@@ -44,7 +43,7 @@ public class CertificateController { ...@@ -44,7 +43,7 @@ public class CertificateController {
description = "Generates certificate, saves it into database and returns certificate information and certificate file.") description = "Generates certificate, saves it into database and returns certificate information and certificate file.")
@ApiResponses(value = { @ApiResponses(value = {
@ApiResponse(responseCode = "201", description = "Certificate generated successfully."), @ApiResponse(responseCode = "201", description = "Certificate generated successfully."),
@ApiResponse(responseCode = "400", description = "Invalid input.") @ApiResponse(responseCode = "500", description = "Internal server error.")
}) })
@PostMapping @PostMapping
public ResponseEntity<CertificateSimpleDto> generate(@Valid @RequestBody CertificateCreateDto certificateCreateDto) { public ResponseEntity<CertificateSimpleDto> generate(@Valid @RequestBody CertificateCreateDto certificateCreateDto) {
...@@ -61,15 +60,12 @@ public class CertificateController { ...@@ -61,15 +60,12 @@ public class CertificateController {
@Operation(summary = "Get a certificate by ID", description = "Returns a certificate with the specified ID.") @Operation(summary = "Get a certificate by ID", description = "Returns a certificate with the specified ID.")
@ApiResponses(value = { @ApiResponses(value = {
@ApiResponse(responseCode = "200", description = "Certificate with the specified ID retrieved successfully."), @ApiResponse(responseCode = "200", description = "Certificate with the specified ID retrieved successfully."),
@ApiResponse(responseCode = "404", description = "Certificate with the specified ID was not found.") @ApiResponse(responseCode = "404", description = "Certificate with the specified ID was not found."),
@ApiResponse(responseCode = "400", description = "Invalid input.")
}) })
@GetMapping("/{id}") @GetMapping("/{id}")
public ResponseEntity<CertificateSimpleDto> find(@NotNull @PathVariable Long id) { public ResponseEntity<CertificateSimpleDto> find(@NotNull @PathVariable Long id) {
try {
return ResponseEntity.ok(certificateFacade.findById(id)); return ResponseEntity.ok(certificateFacade.findById(id));
} catch (EntityNotFoundException e) {
return ResponseEntity.notFound().build();
}
} }
/** /**
...@@ -82,7 +78,7 @@ public class CertificateController { ...@@ -82,7 +78,7 @@ public class CertificateController {
@Operation(summary = "Get certificates for user", description = "Returns certificates for given user in list.") @Operation(summary = "Get certificates for user", description = "Returns certificates for given user in list.")
@ApiResponses(value = { @ApiResponses(value = {
@ApiResponse(responseCode = "200", description = "Successfully retrieved certificates"), @ApiResponse(responseCode = "200", description = "Successfully retrieved certificates"),
@ApiResponse(responseCode = "400", description = "Invalid input."), @ApiResponse(responseCode = "500", description = "Internal server error."),
}) })
@GetMapping("/findForUser") @GetMapping("/findForUser")
public ResponseEntity<List<CertificateSimpleDto>> findForUser(@RequestParam Long userId) { public ResponseEntity<List<CertificateSimpleDto>> findForUser(@RequestParam Long userId) {
...@@ -101,6 +97,7 @@ public class CertificateController { ...@@ -101,6 +97,7 @@ public class CertificateController {
description = "Returns certificates for given user and course in list.") description = "Returns certificates for given user and course in list.")
@ApiResponses(value = { @ApiResponses(value = {
@ApiResponse(responseCode = "200", description = "Successfully retrieved certificates"), @ApiResponse(responseCode = "200", description = "Successfully retrieved certificates"),
@ApiResponse(responseCode = "500", description = "Internal server error."),
@ApiResponse(responseCode = "400", description = "Invalid input."), @ApiResponse(responseCode = "400", description = "Invalid input."),
}) })
@GetMapping("/findForUserAndCourse") @GetMapping("/findForUserAndCourse")
...@@ -116,6 +113,8 @@ public class CertificateController { ...@@ -116,6 +113,8 @@ public class CertificateController {
@Operation(summary = "Delete a certificate with specified ID", description = "Deletes a certificate with the specified ID.") @Operation(summary = "Delete a certificate with specified ID", description = "Deletes a certificate with the specified ID.")
@ApiResponses(value = { @ApiResponses(value = {
@ApiResponse(responseCode = "204", description = "Certificate with the specified ID deleted successfully."), @ApiResponse(responseCode = "204", description = "Certificate with the specified ID deleted successfully."),
@ApiResponse(responseCode = "500", description = "Internal server error."),
@ApiResponse(responseCode = "400", description = "Invalid input.")
}) })
@DeleteMapping("/{id}") @DeleteMapping("/{id}")
public ResponseEntity<Void> delete(@NotNull @PathVariable Long id) { public ResponseEntity<Void> delete(@NotNull @PathVariable Long id) {
...@@ -131,7 +130,7 @@ public class CertificateController { ...@@ -131,7 +130,7 @@ public class CertificateController {
@Operation(summary = "Get certificates in paginated format", description = "Returns certificates in paginated format.") @Operation(summary = "Get certificates in paginated format", description = "Returns certificates in paginated format.")
@ApiResponses(value = { @ApiResponses(value = {
@ApiResponse(responseCode = "200", description = "Successfully retrieved paginated certificates"), @ApiResponse(responseCode = "200", description = "Successfully retrieved paginated certificates"),
@ApiResponse(responseCode = "400", description = "Invalid page number supplied"), @ApiResponse(responseCode = "500", description = "Internal server error.")
}) })
@GetMapping @GetMapping
public ResponseEntity<Page<CertificateSimpleDto>> findAllCertificates(Pageable pageable) { public ResponseEntity<Page<CertificateSimpleDto>> findAllCertificates(Pageable pageable) {
......
package org.fuseri.modulecertificate.service; package org.fuseri.modulecertificate.certificate;
import org.fuseri.model.dto.certificate.CertificateCreateDto; import org.fuseri.model.dto.certificate.CertificateCreateDto;
......
package org.fuseri.modulecertificate.service; package org.fuseri.modulecertificate.certificate;
import org.fuseri.model.dto.certificate.CertificateCreateDto; import org.fuseri.model.dto.certificate.CertificateCreateDto;
import org.fuseri.model.dto.certificate.CertificateDto;
import org.fuseri.model.dto.certificate.CertificateSimpleDto; import org.fuseri.model.dto.certificate.CertificateSimpleDto;
import org.fuseri.modulecertificate.Certificate;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageImpl; import org.springframework.data.domain.PageImpl;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment