feat: extends CacheDBInterface base class with the logging related methods
This commit is contained in:
parent
4765f9e4a0
commit
eb8996dd81
1 changed files with 34 additions and 0 deletions
|
|
@ -77,3 +77,37 @@ class CacheDBInterface(ABC):
|
||||||
Gracefully close any async connections.
|
Gracefully close any async connections.
|
||||||
"""
|
"""
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@abstractmethod
|
||||||
|
async def log_usage(
|
||||||
|
self,
|
||||||
|
user_id: str,
|
||||||
|
log_entry: dict,
|
||||||
|
ttl: int | None = 604800,
|
||||||
|
):
|
||||||
|
"""
|
||||||
|
Log usage information (API endpoint calls, MCP tool invocations) to cache.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
user_id: The user ID.
|
||||||
|
log_entry: Dictionary containing usage log information.
|
||||||
|
ttl: Optional time-to-live (seconds). If provided, the log list expires after this time.
|
||||||
|
|
||||||
|
Raises:
|
||||||
|
CacheConnectionError: If cache connection fails or times out.
|
||||||
|
"""
|
||||||
|
pass
|
||||||
|
|
||||||
|
@abstractmethod
|
||||||
|
async def get_usage_logs(self, user_id: str, limit: int = 100):
|
||||||
|
"""
|
||||||
|
Retrieve usage logs for a given user.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
user_id: The user ID.
|
||||||
|
limit: Maximum number of logs to retrieve (default: 100).
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
List of usage log entries, most recent first.
|
||||||
|
"""
|
||||||
|
pass
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue