[FIX] some basic types generation constraint

This commit is contained in:
Edouard DUPIN 2025-04-01 22:17:59 +02:00
parent f7ba570913
commit 41aa78667f
3 changed files with 7 additions and 2 deletions

View File

@ -7,6 +7,7 @@ import org.kar.archidata.annotation.DataNotRead;
import org.kar.archidata.annotation.UpdateTimestamp; import org.kar.archidata.annotation.UpdateTimestamp;
import org.kar.archidata.annotation.apiGenerator.ApiAccessLimitation; import org.kar.archidata.annotation.apiGenerator.ApiAccessLimitation;
import org.kar.archidata.annotation.apiGenerator.ApiGenerationMode; import org.kar.archidata.annotation.apiGenerator.ApiGenerationMode;
import org.kar.archidata.annotation.checker.ReadOnlyField;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
@ -22,6 +23,7 @@ public class GenericTiming {
@Schema(description = "Create time of the object", example = "2000-01-23T01:23:45.678+01:00") @Schema(description = "Create time of the object", example = "2000-01-23T01:23:45.678+01:00")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX") @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX")
@Nullable @Nullable
@ReadOnlyField
@ApiAccessLimitation(creatable = false, updatable = false) @ApiAccessLimitation(creatable = false, updatable = false)
public Date createdAt = null; public Date createdAt = null;
@DataNotRead @DataNotRead
@ -30,6 +32,7 @@ public class GenericTiming {
@Schema(description = "When update the object", example = "2000-01-23T00:23:45.678Z") @Schema(description = "When update the object", example = "2000-01-23T00:23:45.678Z")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX") @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX")
@Nullable @Nullable
@ReadOnlyField
@ApiAccessLimitation(creatable = false, updatable = false) @ApiAccessLimitation(creatable = false, updatable = false)
public Date updatedAt = null; public Date updatedAt = null;
} }

View File

@ -4,11 +4,11 @@ import java.util.UUID;
import org.kar.archidata.annotation.apiGenerator.ApiAccessLimitation; import org.kar.archidata.annotation.apiGenerator.ApiAccessLimitation;
import org.kar.archidata.annotation.apiGenerator.ApiGenerationMode; import org.kar.archidata.annotation.apiGenerator.ApiGenerationMode;
import org.kar.archidata.annotation.checker.ReadOnlyField;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.persistence.Column; import jakarta.persistence.Column;
import jakarta.persistence.Id; import jakarta.persistence.Id;
import jakarta.validation.constraints.NotNull;
import jakarta.ws.rs.DefaultValue; import jakarta.ws.rs.DefaultValue;
@ApiGenerationMode(create = true, update = true) @ApiGenerationMode(create = true, update = true)
@ -17,7 +17,7 @@ public class UUIDGenericData extends GenericTiming {
@DefaultValue("(UUID_TO_BIN(UUID(), TRUE))") @DefaultValue("(UUID_TO_BIN(UUID(), TRUE))")
@Column(nullable = false, unique = true) @Column(nullable = false, unique = true)
@Schema(description = "Unique UUID of the object", example = "e6b33c1c-d24d-11ee-b616-02420a030102") @Schema(description = "Unique UUID of the object", example = "e6b33c1c-d24d-11ee-b616-02420a030102")
@NotNull @ReadOnlyField
@ApiAccessLimitation(creatable = false, updatable = false) @ApiAccessLimitation(creatable = false, updatable = false)
public UUID uuid = null; public UUID uuid = null;
} }

View File

@ -4,6 +4,7 @@ import org.kar.archidata.annotation.DataDeleted;
import org.kar.archidata.annotation.DataNotRead; import org.kar.archidata.annotation.DataNotRead;
import org.kar.archidata.annotation.apiGenerator.ApiAccessLimitation; import org.kar.archidata.annotation.apiGenerator.ApiAccessLimitation;
import org.kar.archidata.annotation.apiGenerator.ApiGenerationMode; import org.kar.archidata.annotation.apiGenerator.ApiGenerationMode;
import org.kar.archidata.annotation.checker.ReadOnlyField;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.annotation.Nullable; import jakarta.annotation.Nullable;
@ -18,6 +19,7 @@ public class UUIDGenericDataSoftDelete extends UUIDGenericData {
@DataDeleted @DataDeleted
@Schema(description = "Deleted state", hidden = true) @Schema(description = "Deleted state", hidden = true)
@Nullable @Nullable
@ReadOnlyField
@ApiAccessLimitation(creatable = false, updatable = false) @ApiAccessLimitation(creatable = false, updatable = false)
public Boolean deleted = null; public Boolean deleted = null;
} }