mirror of
https://github.com/RGBCube/GitHubWrapper
synced 2025-05-28 11:45:10 +00:00
Add all repo routes
This commit is contained in:
parent
4a687300d7
commit
7d61048af6
3 changed files with 206 additions and 3 deletions
|
@ -19,7 +19,7 @@ if TYPE_CHECKING:
|
|||
from typing_extensions import Self
|
||||
|
||||
from ..objects import File
|
||||
from ..types import SecurityAndAnalysis
|
||||
from ..types import Author, Committer, OptionalAuthor, OptionalCommitter, SecurityAndAnalysis
|
||||
|
||||
|
||||
log = logging.getLogger("github")
|
||||
|
@ -86,7 +86,7 @@ class RateLimits(NamedTuple):
|
|||
# Rate limit
|
||||
# Reactions
|
||||
# Releases
|
||||
# Repositories DONE(1st part)
|
||||
# Repositories DONE
|
||||
# SCIM
|
||||
# Search
|
||||
# Teams
|
||||
|
@ -712,6 +712,180 @@ class HTTPClient:
|
|||
|
||||
return await self.request("GET", f"/users/{username}/repos", params=params)
|
||||
|
||||
async def list_repo_autolinks(self, *, owner: str, repo: str, page: Optional[int] = None):
|
||||
params = {}
|
||||
|
||||
if page:
|
||||
params["page"] = page
|
||||
|
||||
return await self.request("GET", f"/repos/{owner}/{repo}/autolinks", params=params)
|
||||
|
||||
async def create_autolink_reference_for_repo(
|
||||
self, *, owner: str, repo: str, key_prefix: str, url_template: str
|
||||
):
|
||||
return await self.request(
|
||||
"POST",
|
||||
f"/repos/{owner}/{repo}/autolinks",
|
||||
json={"key_prefix": key_prefix, "url_template": url_template},
|
||||
)
|
||||
|
||||
async def get_autolink_reference_for_repo(self, *, owner: str, repo: str, autolink_id: str):
|
||||
return await self.request("GET", f"/repos/{owner}/{repo}/autolinks/{autolink_id}")
|
||||
|
||||
async def delete_autolink_reference_for_repo(self, *, owner: str, repo: str, autolink_id: str):
|
||||
return await self.request("DELETE", f"/repos/{owner}/{repo}/autolinks/{autolink_id}")
|
||||
|
||||
async def get_repo_content(
|
||||
self, *, owner: str, repo: str, path: str, ref: Optional[str] = None
|
||||
):
|
||||
params = {}
|
||||
|
||||
if ref:
|
||||
params["ref"] = ref
|
||||
|
||||
return await self.request("GET", f"/repos/{owner}/{repo}/contents/{path}", params=params)
|
||||
|
||||
async def create_or_update_repo_file_contents(
|
||||
self,
|
||||
*,
|
||||
owner: str,
|
||||
repo: str,
|
||||
path: str,
|
||||
message: str,
|
||||
content: str,
|
||||
sha: Optional[str] = None,
|
||||
branch: Optional[str] = None,
|
||||
committer: Optional[Committer] = None,
|
||||
author: Optional[Author] = None,
|
||||
):
|
||||
data = {
|
||||
"message": message,
|
||||
"content": content,
|
||||
}
|
||||
|
||||
if sha:
|
||||
data["sha"] = sha
|
||||
if branch:
|
||||
data["branch"] = branch
|
||||
if committer:
|
||||
data["committer"] = committer
|
||||
if author:
|
||||
data["author"] = author
|
||||
|
||||
return await self.request("PUT", f"/repos/{owner}/{repo}/contents/{path}", json=data)
|
||||
|
||||
async def delete_repo_file(
|
||||
self,
|
||||
*,
|
||||
owner: str,
|
||||
repo: str,
|
||||
path: str,
|
||||
message: str,
|
||||
sha: str,
|
||||
branch: Optional[str] = None,
|
||||
committer: Optional[OptionalCommitter] = None,
|
||||
author: Optional[OptionalAuthor] = None,
|
||||
):
|
||||
data = {
|
||||
"message": message,
|
||||
"sha": sha,
|
||||
}
|
||||
|
||||
if branch:
|
||||
data["branch"] = branch
|
||||
if committer:
|
||||
data["committer"] = committer
|
||||
if author:
|
||||
data["author"] = author
|
||||
|
||||
return await self.request("DELETE", f"/repos/{owner}/{repo}/contents/{path}", json=data)
|
||||
|
||||
async def get_repo_readme(self, *, owner: str, repo: str):
|
||||
return await self.request("GET", f"/repos/{owner}/{repo}/readme")
|
||||
|
||||
async def get_repo_readme_for_directory(
|
||||
self, *, owner: str, repo: str, dir: str, ref: Optional[str] = None
|
||||
):
|
||||
params = {}
|
||||
|
||||
if ref:
|
||||
params["ref"] = ref
|
||||
|
||||
return await self.request("GET", f"/repos/{owner}/{repo}/readme/{dir}", params=params)
|
||||
|
||||
async def download_repo_archive(
|
||||
self,
|
||||
*,
|
||||
owner: str,
|
||||
repo: str,
|
||||
archive_format: Literal["tarball", "zipball"],
|
||||
ref: Optional[str] = None,
|
||||
):
|
||||
params = {}
|
||||
|
||||
if ref:
|
||||
params["ref"] = ref
|
||||
|
||||
return await self.request("GET", f"/repos/{owner}/{repo}/{archive_format}", params=params)
|
||||
|
||||
async def list_repo_forks(
|
||||
self,
|
||||
*,
|
||||
owner: str,
|
||||
repo: str,
|
||||
sort: Optional[Literal["newest", "oldest", "stargazers", "watchers"]] = None,
|
||||
per_page: Optional[int] = None,
|
||||
page: Optional[int] = None,
|
||||
):
|
||||
params = {}
|
||||
|
||||
if sort:
|
||||
params["sort"] = sort
|
||||
if per_page:
|
||||
params["per_page"] = per_page
|
||||
if page:
|
||||
params["page"] = page
|
||||
|
||||
return await self.request("GET", f"/repos/{owner}/{repo}/forks", params=params)
|
||||
|
||||
async def create_repo_fork(self, *, owner: str, repo: str, organization: Optional[str] = None):
|
||||
data = {}
|
||||
|
||||
if organization:
|
||||
data["organization"] = organization
|
||||
|
||||
return await self.request("POST", f"/repos/{owner}/{repo}/forks", json=data)
|
||||
|
||||
async def enable_git_lfs_for_repo(self, *, owner: str, repo: str):
|
||||
return await self.request("PUT", f"/repos/{owner}/{repo}/lfs")
|
||||
|
||||
async def disable_git_lfs_for_repo(self, *, owner: str, repo: str):
|
||||
return await self.request("DELETE", f"/repos/{owner}/{repo}/lfs")
|
||||
|
||||
async def list_tag_protection_states_for_repo(self, *, owner: str, repo: str):
|
||||
return await self.request("GET", f"/repos/{owner}/{repo}/tags/protection")
|
||||
|
||||
async def create_tag_protection_state_for_repo(
|
||||
self,
|
||||
*,
|
||||
owner: str,
|
||||
repo: str,
|
||||
pattern: str,
|
||||
):
|
||||
data = {}
|
||||
|
||||
if pattern:
|
||||
data["pattern"] = pattern
|
||||
|
||||
return await self.request("POST", f"/repos/{owner}/{repo}/tags/protection", json=data)
|
||||
|
||||
async def delete_tag_protection_state_for_repo(
|
||||
self, *, owner: str, repo: str, tag_protection_id: int
|
||||
):
|
||||
return await self.request(
|
||||
"DELETE", f"/repos/{owner}/{repo}/tags/protection/{tag_protection_id}"
|
||||
)
|
||||
|
||||
# === GISTS === #
|
||||
|
||||
async def list_gists_for_authenticated_user(
|
||||
|
@ -892,7 +1066,7 @@ class HTTPClient:
|
|||
async def get_license(self, *, license: str):
|
||||
return await self.request("GET", f"/licenses/{license}")
|
||||
|
||||
async def get_license_for_repository(self, *, owner: str, repo: str):
|
||||
async def get_license_for_repo(self, *, owner: str, repo: str):
|
||||
return await self.request("GET", f"/repos/{owner}/{repo}/license")
|
||||
|
||||
# === GITIGNORE === #
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue