from typing import Dict, Any, List from .auth_manager import AuthManager class TicketManager: def __init__(self, auth: AuthManager): self.auth = auth self.model_name = "project.task" def get_ticket(self, ticket_id: int) -> Dict[str, Any]: params = { "model": self.model_name, "method": "read", "args": [[ticket_id]], "kwargs": {"fields": ["id", "name", "description", "stage_id", "user_id", "create_date"]} } return self.auth._rpc_call("/web/dataset/call_kw", params) def get_ticket_by_code(self, ticket_code: str) -> Dict[str, Any]: params = { "model": self.model_name, "method": "search_read", "args": [[["code", "=", ticket_code]], ["id", "name", "description", "stage_id", "user_id", "create_date"]], "kwargs": {"limit": 1} } result = self.auth._rpc_call("/web/dataset/call_kw", params) return result[0] if isinstance(result, list) and result else {}