Skip to content

Commit

Permalink
feat: add components support
Browse files Browse the repository at this point in the history
  • Loading branch information
danfimov committed Sep 28, 2023
1 parent da4fd88 commit d6173ac
Show file tree
Hide file tree
Showing 5 changed files with 36 additions and 3 deletions.
1 change: 0 additions & 1 deletion ya_tracker_client/domain/entities/checklist.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

from ya_tracker_client.domain.entities.base import AbstractEntity
from ya_tracker_client.domain.entities.deadline import Deadline
from ya_tracker_client.domain.entities.user import UserShort
Expand Down
14 changes: 14 additions & 0 deletions ya_tracker_client/domain/entities/component.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
from ya_tracker_client.domain.entities.base import AbstractEntity
from ya_tracker_client.domain.entities.queue import QueueShort
from ya_tracker_client.domain.entities.user import UserShort


class Component(AbstractEntity):
url: str
id: int
version: int
name: str
queue: QueueShort
description: str
lead: UserShort | None = None
assign_auto: bool
4 changes: 3 additions & 1 deletion ya_tracker_client/domain/repositories/__init__.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
from ya_tracker_client.domain.repositories.checklist import ChecklistRepository
from ya_tracker_client.domain.repositories.component import ComponentRepository
from ya_tracker_client.domain.repositories.issue import IssueRepository
from ya_tracker_client.domain.repositories.issue_relationship import IssueRelationshipRepository
from ya_tracker_client.domain.repositories.queue import QueueRepository
Expand All @@ -7,8 +8,9 @@

__all__ = [
"ChecklistRepository",
"IssueRepository",
"ComponentRepository",
"IssueRelationshipRepository",
"IssueRepository",
"QueueRepository",
"UserRepository",
]
16 changes: 16 additions & 0 deletions ya_tracker_client/domain/repositories/component.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
from json import loads

from ya_tracker_client.domain.entities.component import Component
from ya_tracker_client.domain.repositories.base import EntityRepository


class ComponentRepository(EntityRepository):
async def get_components(self) -> list[Component]:
"""
YT docs: https://cloud.yandex.com/en/docs/tracker/get-components
"""
raw_response = await self._client.request(
method="GET",
uri="/components",
)
return [Component(**raw_component) for raw_component in loads(raw_response)]
4 changes: 3 additions & 1 deletion ya_tracker_client/service/api.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
from ya_tracker_client.domain.repositories import (
ChecklistRepository,
ComponentRepository,
IssueRelationshipRepository,
IssueRepository,
QueueRepository,
Expand All @@ -9,11 +10,12 @@


class YaTrackerClient(
ChecklistRepository,
ComponentRepository,
IssueRelationshipRepository,
IssueRepository,
QueueRepository,
UserRepository,
ChecklistRepository,
):
def __init__(
self,
Expand Down

0 comments on commit d6173ac

Please sign in to comment.