fairdm.contrib.contributors.utils.audit#

Audit logging for claiming events.

Module Contents#

Functions#

log_claiming_event

Write an immutable audit record for a claiming event.

API#

log_claiming_event(method: str, source: fairdm.contrib.contributors.models.Person | None, target: fairdm.contrib.contributors.models.Person | None, initiated_by: fairdm.contrib.contributors.models.Person | None = None, ip_address: str | None = None, success: bool = True, failure_reason: str = '', details: dict[str, Any] | None = None)#

Write an immutable audit record for a claiming event.

Args: method: A ClaimMethod value such as orcid, email or token. source: The unclaimed person being claimed, if known. target: The resulting claimed person, or None when the claim failed before linking. initiated_by: The admin who initiated an admin-driven claim. ip_address: The requester’s IP address. success: Whether the claim succeeded. failure_reason: Why the claim failed. details: JSON-serialisable metadata about the event.

Returns: The new audit record.