endAt property
Gets the date and time when the invalidation should end.
This method should be overridden by subclasses to provide specific invalidation logic. The current implementation uses a switch case to determine the appropriate end time based on the subclass.
Implementation
@override
DateTime get endAt => DateTime.now().add(maxDuration);