unobtanium 3.0.0

Opinioated Web search engine library with crawler and viewer companion.
Documentation
use serde::{Serialize,Deserialize};

use uuid::Uuid;

use crate::time::UtcTimestamp;

/// Contains information on wheter the EntityGeneration it belongs to
/// is a duplicate of another one.
#[derive(Debug,Clone,PartialEq,Eq,Serialize,Deserialize)]
pub struct DuplicateSummary {

	/// The entity generation that is flagged as duplicate
	pub subject_entity_generation: Uuid,

	/// Duplicates are detected by comparing content or content hashes
	/// by the summarizier.
	pub duplicate_of_entity_generation: Uuid,

	/// When the duplicate status starts.
	///
	/// This **is** the time the duplicate detection ran,
	/// **not** the exact time a duplicate was first seen.
	///
	/// Working with a key date here makes things much simpler,
	/// as doing otherwise would also produce inaccurate results
	/// but for the cost of a much higher complexity.
	pub duplicate_status_start: UtcTimestamp,

	/// If the duplicate status is confirmed to be over,
	/// this is when it was confirmed to be.
	///
	/// This is likely a key date, see `duplicate_status_start`.
	pub duplicate_status_end: Option<UtcTimestamp>,
}