# generated by datamodel-codegen: # filename: gitea_webhook.json # timestamp: 2024-05-16T21:15:27+00:00 from __future__ import annotations from pydantic import BaseModel class Author(BaseModel): name: str email: str username: str class Committer(BaseModel): name: str email: str username: str class Commit(BaseModel): id: str message: str url: str author: Author committer: Committer verification: None timestamp: str added: list[str] removed: list[str] modified: list[str] class HeadCommit(BaseModel): id: str message: str url: str author: Author committer: Committer verification: None timestamp: str added: list[str] removed: list[str] modified: list[str] class Owner(BaseModel): id: int login: str login_name: str full_name: str email: str avatar_url: str language: str is_admin: bool last_login: str created: str restricted: bool active: bool prohibit_login: bool location: str website: str description: str visibility: str followers_count: int following_count: int starred_repos_count: int username: str class Permissions(BaseModel): admin: bool push: bool pull: bool class Repository(BaseModel): id: int owner: Owner name: str full_name: str description: str empty: bool private: bool fork: bool template: bool parent: None mirror: bool size: int language: str languages_url: str html_url: str url: str link: str ssh_url: str clone_url: str original_url: str website: str stars_count: int forks_count: int watchers_count: int open_issues_count: int open_pr_counter: int release_counter: int default_branch: str archived: bool created_at: str updated_at: str archived_at: str permissions: Permissions has_issues: bool has_wiki: bool has_pull_requests: bool has_projects: bool has_releases: bool has_packages: bool has_actions: bool ignore_whitespace_conflicts: bool allow_merge_commits: bool allow_rebase: bool allow_rebase_explicit: bool allow_squash_merge: bool allow_rebase_update: bool default_delete_branch_after_merge: bool default_merge_style: str default_allow_maintainer_edit: bool avatar_url: str internal: bool mirror_interval: str mirror_updated: str repo_transfer: None class Pusher(BaseModel): id: int login: str login_name: str full_name: str email: str avatar_url: str language: str is_admin: bool last_login: str created: str restricted: bool active: bool prohibit_login: bool location: str website: str description: str visibility: str followers_count: int following_count: int starred_repos_count: int username: str class Sender(BaseModel): id: int login: str login_name: str full_name: str email: str avatar_url: str language: str is_admin: bool last_login: str created: str restricted: bool active: bool prohibit_login: bool location: str website: str description: str visibility: str followers_count: int following_count: int starred_repos_count: int username: str class GiteaWebhook(BaseModel): ref: str before: str after: str compare_url: str commits: list[Commit] total_commits: int head_commit: HeadCommit repository: Repository pusher: Pusher sender: Sender