This is an automated email from the ASF dual-hosted git repository. ofuks pushed a commit to branch develop in repository https://gitbox.apache.org/repos/asf/incubator-dlab.git
The following commit(s) were added to refs/heads/develop by this push: new 134fe6e [Dlab-1422] The endpoint URL verification (#588) 134fe6e is described below commit 134fe6e0b036d4658ba77c8990069093231ab59b Author: Pavel Papou <ppapo...@gmail.com> AuthorDate: Fri Feb 14 09:44:54 2020 -0500 [Dlab-1422] The endpoint URL verification (#588) [Dlab-1422] The endpoint URL verification --- .../main/java/com/epam/dlab/backendapi/domain/EndpointDTO.java | 8 +++++++- .../java/com/epam/dlab/backendapi/resources/EndpointResource.java | 3 ++- .../epam/dlab/backendapi/service/impl/EndpointServiceImpl.java | 1 + 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/domain/EndpointDTO.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/domain/EndpointDTO.java index 2fac97c..6b6e978 100644 --- a/services/self-service/src/main/java/com/epam/dlab/backendapi/domain/EndpointDTO.java +++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/domain/EndpointDTO.java @@ -23,14 +23,20 @@ import com.epam.dlab.cloud.CloudProvider; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Data; +import org.hibernate.validator.constraints.NotBlank; +import org.hibernate.validator.constraints.NotEmpty; +import org.hibernate.validator.constraints.URL; @Data @JsonIgnoreProperties(ignoreUnknown = true) public class EndpointDTO { + private static final String URL_REGEXP_VALIDATION = "^(http(s)?)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]"; + @NotEmpty + @NotBlank private final String name; - + @URL(regexp = URL_REGEXP_VALIDATION, message = "endpoint field is in improper format!") private final String url; private final String account; @JsonProperty("endpoint_tag") diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/resources/EndpointResource.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/resources/EndpointResource.java index 6707571..3b49b42 100644 --- a/services/self-service/src/main/java/com/epam/dlab/backendapi/resources/EndpointResource.java +++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/resources/EndpointResource.java @@ -35,6 +35,7 @@ import io.swagger.v3.oas.annotations.responses.ApiResponse; import io.swagger.v3.oas.annotations.responses.ApiResponses; import javax.annotation.security.RolesAllowed; +import javax.validation.Valid; import javax.ws.rs.*; import javax.ws.rs.core.Context; import javax.ws.rs.core.MediaType; @@ -70,7 +71,7 @@ public class EndpointResource { }) @Consumes(MediaType.APPLICATION_JSON) @POST - public Response createEndpoint(@Parameter(hidden = true) @Auth UserInfo userInfo, EndpointDTO endpointDTO) { + public Response createEndpoint(@Parameter(hidden = true) @Auth UserInfo userInfo, @Valid EndpointDTO endpointDTO) { endpointService.create(userInfo, endpointDTO); final URI uri = uriInfo.getRequestUriBuilder().path(endpointDTO.getName()).build(); return Response diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/EndpointServiceImpl.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/EndpointServiceImpl.java index 1c169bc..9c71f76 100644 --- a/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/EndpointServiceImpl.java +++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/EndpointServiceImpl.java @@ -29,6 +29,7 @@ import java.util.Objects; import java.util.Optional; import java.util.stream.Collectors; + @Slf4j public class EndpointServiceImpl implements EndpointService { private static final String HEALTH_CHECK = "healthcheck"; --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@dlab.apache.org For additional commands, e-mail: commits-h...@dlab.apache.org