1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
use crate::model::prelude::*;
pub mod events {
    use crate::model::{
        event_types::{macros::repo_origin, RepoEventInfo},
        prelude::*,
    };

    use super::Page;

    /// <https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#gollum>
    #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
    pub struct GollumEvent {
        pub pages: Vec<Page>,
        #[serde(flatten)]
        pub event_info: RepoEventInfo,
    }

    repo_origin!(GollumEvent);
}

#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct Page {
    pub page_name: String,
    pub title: String,
    pub summary: Value,
    pub action: String,
    pub sha: String,
    pub html_url: String,
}