Clean arch

This commit is contained in:
Artem Kokos
2026-01-19 23:13:02 +07:00
parent a191ba3a8f
commit d1b1648940
9 changed files with 217 additions and 152 deletions

View File

@@ -0,0 +1,22 @@
from redminelib import Redmine
from typing import List, Any
class RedmineClient:
def __init__(self, url: str, username: str, password: str):
self._redmine = Redmine(url.strip(), username=username, password=password)
def get_current_user_id(self) -> int:
return self._redmine.user.get('current').id
def get_time_entries(self, user_id: int, from_date: str, to_date: str) -> List[Any]:
return list(self._redmine.time_entry.filter(
user_id=user_id,
from_date=from_date,
to_date=to_date
))
def get_issues_by_ids(self, issue_ids: List[str]) -> List[Any]:
if not issue_ids:
return []
return list(self._redmine.issue.filter(issue_id=",".join(issue_ids), status_id='*'))