Files
fete/backend/src/main/java/de/fete/domain/model/Event.java
T
nitrix d333ab3d39
CI / backend-test (push) Successful in 1m1s
CI / frontend-test (push) Successful in 26s
CI / frontend-e2e (push) Successful in 1m25s
CI / build-and-publish (push) Has been skipped
Refactor domain models to records and move exceptions to sub-package
- Convert Event and Rsvp from mutable POJOs to Java records
- Move all 8 exception classes to application.service.exception sub-package
- Add ArchUnit rule enforcing domain models must be records

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 20:09:27 +01:00

31 lines
819 B
Java

package de.fete.domain.model;
import java.time.LocalDate;
import java.time.OffsetDateTime;
import java.time.ZoneId;
/** Domain entity representing an event. */
public record Event(
Long id,
EventToken eventToken,
OrganizerToken organizerToken,
String title,
String description,
OffsetDateTime dateTime,
ZoneId timezone,
String location,
LocalDate expiryDate,
OffsetDateTime createdAt,
boolean cancelled,
String cancellationReason
) {
/** Returns a copy of this event with cancellation applied. */
public Event withCancellation(boolean cancelled, String cancellationReason) {
return new Event(
id, eventToken, organizerToken, title, description,
dateTime, timezone, location, expiryDate, createdAt,
cancelled, cancellationReason);
}
}