fix(timeline): mark always-populated audit fields REQUIRED in OpenAPI schema
createdBy/updatedBy are NOT NULL and createdAt/updatedAt/version are Hibernate- populated on every persisted row, so per the CLAUDE.md rule they must carry @Schema(requiredMode = REQUIRED) like id/title/type/eventDate/precision already do. Keeps the generated TypeScript types honest if the entity ever reaches the OpenAPI spec (responses in #775 are planned as views, per ADR-040). Extends the #774 task list (which named only the five domain fields) per PR #816 review. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -99,9 +99,11 @@ public class TimelineEvent {
|
|||||||
* CWE-639 — see ADR-040).
|
* CWE-639 — see ADR-040).
|
||||||
*/
|
*/
|
||||||
@Column(name = "created_by", nullable = false)
|
@Column(name = "created_by", nullable = false)
|
||||||
|
@Schema(requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
private UUID createdBy;
|
private UUID createdBy;
|
||||||
|
|
||||||
@CreationTimestamp
|
@CreationTimestamp
|
||||||
|
@Schema(requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
private LocalDateTime createdAt;
|
private LocalDateTime createdAt;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -112,9 +114,11 @@ public class TimelineEvent {
|
|||||||
* stale. Same forgery rationale as {@link #createdBy}.
|
* stale. Same forgery rationale as {@link #createdBy}.
|
||||||
*/
|
*/
|
||||||
@Column(name = "updated_by", nullable = false)
|
@Column(name = "updated_by", nullable = false)
|
||||||
|
@Schema(requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
private UUID updatedBy;
|
private UUID updatedBy;
|
||||||
|
|
||||||
@UpdateTimestamp
|
@UpdateTimestamp
|
||||||
|
@Schema(requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
private LocalDateTime updatedAt;
|
private LocalDateTime updatedAt;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -125,5 +129,6 @@ public class TimelineEvent {
|
|||||||
* internals (CWE-209).
|
* internals (CWE-209).
|
||||||
*/
|
*/
|
||||||
@Version
|
@Version
|
||||||
|
@Schema(requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
private Long version;
|
private Long version;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user