| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|
| from __future__ import annotations |
|
|
| from datetime import datetime |
| from typing import Any |
|
|
| from github.GithubObject import Attribute, CompletableGithubObject, NotSet |
|
|
|
|
| class RepositoryKey(CompletableGithubObject): |
| """ |
| This class represents RepositoryKeys. |
| |
| The reference can be found here |
| https://docs.github.com/en/rest/reference/repos#deploy-keys |
| |
| The OpenAPI schema can be found at |
| - /components/schemas/deploy-key |
| |
| """ |
|
|
| def _initAttributes(self) -> None: |
| self._added_by: Attribute[str] = NotSet |
| self._created_at: Attribute[datetime] = NotSet |
| self._id: Attribute[int] = NotSet |
| self._key: Attribute[str] = NotSet |
| self._last_used: Attribute[datetime] = NotSet |
| self._read_only: Attribute[bool] = NotSet |
| self._title: Attribute[str] = NotSet |
| self._url: Attribute[str] = NotSet |
| self._verified: Attribute[bool] = NotSet |
|
|
| def __repr__(self) -> str: |
| return self.get__repr__({"id": self._id.value, "title": self._title.value}) |
|
|
| @property |
| def added_by(self) -> str: |
| self._completeIfNotSet(self._added_by) |
| return self._added_by.value |
|
|
| @property |
| def created_at(self) -> datetime: |
| self._completeIfNotSet(self._created_at) |
| return self._created_at.value |
|
|
| @property |
| def id(self) -> int: |
| self._completeIfNotSet(self._id) |
| return self._id.value |
|
|
| @property |
| def key(self) -> str: |
| self._completeIfNotSet(self._key) |
| return self._key.value |
|
|
| @property |
| def last_used(self) -> datetime: |
| self._completeIfNotSet(self._last_used) |
| return self._last_used.value |
|
|
| @property |
| def read_only(self) -> bool: |
| self._completeIfNotSet(self._read_only) |
| return self._read_only.value |
|
|
| @property |
| def title(self) -> str: |
| self._completeIfNotSet(self._title) |
| return self._title.value |
|
|
| @property |
| def url(self) -> str: |
| self._completeIfNotSet(self._url) |
| return self._url.value |
|
|
| @property |
| def verified(self) -> bool: |
| self._completeIfNotSet(self._verified) |
| return self._verified.value |
|
|
| def delete(self) -> None: |
| """ |
| :calls: `DELETE /repos/{owner}/{repo}/keys/{id} <https://docs.github.com/en/rest/reference/repos#deploy-keys>`_ |
| """ |
| headers, data = self._requester.requestJsonAndCheck("DELETE", self.url) |
|
|
| def _useAttributes(self, attributes: dict[str, Any]) -> None: |
| if "added_by" in attributes: |
| self._added_by = self._makeStringAttribute(attributes["added_by"]) |
| if "created_at" in attributes: |
| self._created_at = self._makeDatetimeAttribute(attributes["created_at"]) |
| if "id" in attributes: |
| self._id = self._makeIntAttribute(attributes["id"]) |
| if "key" in attributes: |
| self._key = self._makeStringAttribute(attributes["key"]) |
| if "last_used" in attributes: |
| assert attributes["last_used"] is None or isinstance(attributes["last_used"], str), attributes["last_used"] |
| self._last_used = self._makeDatetimeAttribute(attributes["last_used"]) |
| if "read_only" in attributes: |
| self._read_only = self._makeBoolAttribute(attributes["read_only"]) |
| if "title" in attributes: |
| self._title = self._makeStringAttribute(attributes["title"]) |
| if "url" in attributes: |
| self._url = self._makeStringAttribute(attributes["url"]) |
| if "verified" in attributes: |
| self._verified = self._makeBoolAttribute(attributes["verified"]) |
|
|