use serde::Deserialize;
use serde::Serialize;
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct Issue {
pub id: i64,
pub node_id: String,
pub url: String,
pub repository_url: String,
pub labels_url: String,
pub comments_url: String,
pub events_url: String,
pub html_url: String,
pub number: i64,
pub state: String,
pub title: String,
pub body: Option<String>,
pub user: User,
pub labels: Vec<Label>,
pub assignee: Option<User>,
pub assignees: Vec<User>,
pub milestone: Option<Milestone>,
pub locked: bool,
pub active_lock_reason: Option<String>,
pub comments: i64,
pub pull_request: Option<PullRequest>,
pub closed_at: Option<String>,
pub created_at: String,
pub updated_at: String,
pub closed_by: Option<User>,
pub author_association: String,
pub state_reason: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct User {
pub login: String,
pub id: i64,
pub node_id: String,
pub avatar_url: String,
pub gravatar_id: String,
pub url: String,
pub html_url: String,
pub followers_url: String,
pub following_url: String,
pub gists_url: String,
pub starred_url: String,
pub subscriptions_url: String,
pub organizations_url: String,
pub repos_url: String,
pub events_url: String,
pub received_events_url: String,
pub type_field: Option<String>,
pub site_admin: bool,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct Label {
pub id: i64,
pub node_id: String,
pub url: String,
pub name: String,
pub description: String,
pub color: String,
pub default: bool,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct Milestone {
pub url: String,
pub html_url: String,
pub labels_url: Option<String>,
pub id: i64,
pub node_id: String,
pub number: i64,
pub state: String,
pub title: String,
pub description: Option<String>,
pub open_issues: Option<i64>,
pub closed_issues: Option<i64>,
pub created_at: String,
pub updated_at: Option<String>,
pub closed_at: Option<String>,
pub due_on: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct PullRequest {
pub url: String,
pub html_url: String,
pub diff_url: String,
pub patch_url: String,
}