| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|
| from __future__ import annotations |
|
|
| from datetime import datetime |
| from typing import TYPE_CHECKING, Any |
|
|
| import github.Reaction |
| from github.GithubObject import Attribute, GraphQlObject, NonCompletableGithubObject, NotSet, as_rest_api_attributes |
|
|
| if TYPE_CHECKING: |
| from github.Repository import Repository |
|
|
|
|
| class RepositoryDiscussionCategory(GraphQlObject, NonCompletableGithubObject): |
| """ |
| This class represents GraphQL DiscussionCategory. |
| |
| The reference can be found here |
| https://docs.github.com/en/graphql/reference/objects#discussioncategory |
| |
| """ |
|
|
| def _initAttributes(self) -> None: |
| self._created_at: Attribute[datetime] = NotSet |
| self._description: Attribute[str] = NotSet |
| self._emoji: Attribute[str] = NotSet |
| self._emoji_html: Attribute[str] = NotSet |
| self._id: Attribute[str] = NotSet |
| self._is_answerable: Attribute[bool] = NotSet |
| self._name: Attribute[str] = NotSet |
| self._repository: Attribute[Repository] = NotSet |
| self._slug: Attribute[str] = NotSet |
| self._updated_at: Attribute[datetime] = NotSet |
|
|
| @property |
| def created_at(self) -> datetime: |
| return self._created_at.value |
|
|
| @property |
| def description(self) -> str: |
| return self._description.value |
|
|
| @property |
| def emoji(self) -> str: |
| return self._emoji.value |
|
|
| @property |
| def emoji_html(self) -> str: |
| return self._emoji_html.value |
|
|
| @property |
| def id(self) -> str: |
| return self._id.value |
|
|
| @property |
| def is_answerable(self) -> bool: |
| return self._is_answerable.value |
|
|
| @property |
| def name(self) -> str: |
| return self._name.value |
|
|
| @property |
| def node_id(self) -> str: |
| return self.id |
|
|
| @property |
| def repository(self) -> Repository: |
| return self._repository.value |
|
|
| @property |
| def slug(self) -> str: |
| return self._slug.value |
|
|
| @property |
| def updated_at(self) -> datetime: |
| return self._updated_at.value |
|
|
| def _useAttributes(self, attributes: dict[str, Any]) -> None: |
| if "createdAt" in attributes: |
| self._created_at = self._makeDatetimeAttribute(attributes["createdAt"]) |
| if "description" in attributes: |
| self._description = self._makeStringAttribute(attributes["description"]) |
| if "emoji" in attributes: |
| self._emoji = self._makeStringAttribute(attributes["emoji"]) |
| if "emojiHTML" in attributes: |
| self._emoji_html = self._makeStringAttribute(attributes["emojiHTML"]) |
| if "id" in attributes: |
| self._id = self._makeStringAttribute(attributes["id"]) |
| if "isAnswerable" in attributes: |
| self._is_answerable = self._makeBoolAttribute(attributes["isAnswerable"]) |
| if "name" in attributes: |
| self._name = self._makeStringAttribute(attributes["name"]) |
| if "repository" in attributes: |
| |
| self._repository = self._makeClassAttribute( |
| github.Repository.Repository, as_rest_api_attributes(attributes["repository"]) |
| ) |
| if "slug" in attributes: |
| self._slug = self._makeStringAttribute(attributes["slug"]) |
| if "updatedAt" in attributes: |
| self._updated_at = self._makeDatetimeAttribute(attributes["updatedAt"]) |
|
|