Skip to content
Snippets Groups Projects
Commit d125e7a5 authored by Lucas Bertrand-Christen's avatar Lucas Bertrand-Christen
Browse files

feat:end-td4

parent 193b8e42
No related branches found
No related tags found
No related merge requests found
package fr.miage23.filestore.api.dto; package fr.miage23.filestore.api.dto;
import fr.miage23.filestore.api.validation.Filename;
import jakarta.validation.constraints.Pattern; import jakarta.validation.constraints.Pattern;
import jakarta.validation.constraints.Size; import jakarta.validation.constraints.Size;
import jakarta.ws.rs.FormParam; import jakarta.ws.rs.FormParam;
...@@ -12,7 +13,7 @@ public class InputNodeDto { ...@@ -12,7 +13,7 @@ public class InputNodeDto {
@FormParam("name") @FormParam("name")
@PartType(MediaType.TEXT_PLAIN) @PartType(MediaType.TEXT_PLAIN)
@Pattern(regexp = "^[^*&%/]+$") @Filename
private String name; private String name;
@FormParam("data") @FormParam("data")
@PartType(MediaType.APPLICATION_OCTET_STREAM) @PartType(MediaType.APPLICATION_OCTET_STREAM)
......
...@@ -5,12 +5,8 @@ import fr.miage23.filestore.TypeNode; ...@@ -5,12 +5,8 @@ import fr.miage23.filestore.TypeNode;
public class POSTNodeDto { public class POSTNodeDto {
private String id = null; private String id = null;
private String name = null;
private TypeNode type = null;
public POSTNodeDto(String id, String name, TypeNode type) { public POSTNodeDto(String id) {
this.id = id; this.id = id;
this.name = name;
this.type = type;
} }
} }
package fr.miage23.filestore.api.filter;
import jakarta.ws.rs.container.ContainerRequestContext;
import jakarta.ws.rs.container.ContainerResponseContext;
import jakarta.ws.rs.container.ContainerResponseFilter;
import jakarta.ws.rs.ext.Provider;
@Provider
public class VersionFilter implements ContainerResponseFilter {
private static final String VERSION = "1.0.0-SNAPSHOT";
@Override
public void filter(ContainerRequestContext requestContext, ContainerResponseContext responseContext) {
responseContext.getHeaders().add("X-FILESTORE-VERSION", VERSION);
}
}
...@@ -141,7 +141,7 @@ public class NodesResource { ...@@ -141,7 +141,7 @@ public class NodesResource {
Node node = service.get(newid); Node node = service.get(newid);
return Response.ok(gson.toJson( return Response.ok(gson.toJson(
(new POSTNodeDto(node.getId(), node.getName(), node.getType())), (new POSTNodeDto(node.getId())),
POSTNodeDto.class), POSTNodeDto.class),
MediaType.APPLICATION_JSON).build(); MediaType.APPLICATION_JSON).build();
} }
...@@ -173,7 +173,7 @@ public class NodesResource { ...@@ -173,7 +173,7 @@ public class NodesResource {
.create(); .create();
Node node = service.get(newid); Node node = service.get(newid);
return Response.ok(gson.toJson( return Response.ok(gson.toJson(
(new POSTNodeDto(node.getId(), node.getName(), node.getType())), (new POSTNodeDto(node.getId())),
POSTNodeDto.class), POSTNodeDto.class),
MediaType.APPLICATION_JSON).build(); MediaType.APPLICATION_JSON).build();
} }
......
...@@ -9,12 +9,12 @@ import java.lang.annotation.Retention; ...@@ -9,12 +9,12 @@ import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy; import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target; import java.lang.annotation.Target;
@Target({ElementType.FIELD, ElementType.PARAMETER})
@Constraint(validatedBy={}) @Constraint(validatedBy={})
@Retention(RetentionPolicy.RUNTIME)
@Pattern(regexp=ValidationPattern.FILE_PATTERN) @Pattern(regexp=ValidationPattern.FILE_PATTERN)
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD, ElementType.PARAMETER})
public @interface Filename { public @interface Filename {
String message() default "{invalid.filename_FR}"; String message() default "{invalid.filename}";
Class<?>[] groups() default {}; Class<?>[] groups() default {};
Class<? extends Payload>[] payload() default {}; Class<? extends Payload>[] payload() default {};
} }
......
package fr.miage23.filestore.api.validation; package fr.miage23.filestore.api.validation;
public class ValidationPattern { public class ValidationPattern {
public static final String FILE_PATTERN = "^[^*&%/]+$"; public static final String FILE_PATTERN = "^[^*&%/\\~]+$";
} }
invalid.filename_FR=Le nom du fichier contient des caractres interdits invalid.filename=Le nom du fichier contient des caractères interdits
invalid.filename_EN=The filename contains forbidden characters
invalid.filename_ES=El nombre del archivo contiene caracteres no permitidos
invalid.filename_DE=Der Dateiname enthlt unzulssige Zeichen
invalid.filename_IT=Il nome del file contiene caratteri non consentiti
invalid.filename_NL=De bestandsnaam bevat verboden tekens
invalid.filename_PT=O nome do arquivo contm caracteres proibidos
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment