1use serde::{Deserialize, Serialize};
4use url::Url;
5
6use crate::check::Severity;
7
8#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
9#[serde(rename_all = "snake_case")]
10pub enum ChangeKind {
11 NewUrl,
12 RemovedUrl,
13 StatusChanged,
14 BecameNoindex,
15 TitleChanged,
16 TitleRemoved,
17 CanonicalChanged,
18 RedirectChainGrew,
19 RobotsTxtChanged,
20 SitemapShrank,
21 ErrorSpike,
22 SiteMoved,
23}
24
25#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
26pub struct Change {
27 pub kind: ChangeKind,
28 pub severity: Severity,
29 pub url: Option<Url>,
30 pub before: String,
31 pub after: String,
32}