package cloud.nstart.terravault.ordinis.events.record;

import com.fasterxml.jackson.annotation.JsonInclude;

import java.time.OffsetDateTime;
import java.util.UUID;

/**
 * Логическое удаление записи (точнее: закрытие текущей версии установкой
 * valid_to). Реального DELETE из таблицы не происходит — для compliance/audit.
 */
@JsonInclude(JsonInclude.Include.NON_NULL)
public record DictionaryRecordDeleted(
    UUID recordId,
    String businessKey,
    OffsetDateTime closedAt,
    OffsetDateTime deletedAt,
    String deletedBy,
    String reason) implements DictionaryRecordEvent {

  @com.fasterxml.jackson.annotation.JsonProperty("type")
  public String type() { return "RecordDeleted"; }
}
