diff --git a/classes/gitea_webhook.py b/classes/gitea_webhook.py new file mode 100644 index 0000000..2e587ab --- /dev/null +++ b/classes/gitea_webhook.py @@ -0,0 +1,195 @@ +# generated by datamodel-codegen: +# filename: gitea_webhook.json +# timestamp: 2024-05-16T21:15:27+00:00 + +from __future__ import annotations + +from typing import List + +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