package com.xfestudio.xfeservermanager.api.store;

import com.xfestudio.xfeservermanager.api.util.ApiChecks;
import java.time.Instant;
import java.util.Objects;

public record EventStoreHealth(boolean writable, long pendingWrites, long droppedWrites, Instant checkedAt, String detail) {
    public EventStoreHealth {
        if (pendingWrites < 0 || droppedWrites < 0) {
            throw new IllegalArgumentException("write counters must be non-negative");
        }
        Objects.requireNonNull(checkedAt, "checkedAt");
        detail = ApiChecks.notBlank(detail, "detail");
    }
}
