31 lines
673 B
Python
31 lines
673 B
Python
"""
|
|
Pydantic schemas for Signin Log query operations.
|
|
"""
|
|
|
|
from datetime import datetime
|
|
from typing import Optional, List, Any, Dict
|
|
from pydantic import BaseModel, Field
|
|
|
|
|
|
class SigninLogResponse(BaseModel):
|
|
"""Public representation of a signin log entry."""
|
|
id: int
|
|
account_id: str
|
|
topic_title: Optional[str]
|
|
status: str
|
|
reward_info: Optional[Any]
|
|
error_message: Optional[str]
|
|
signed_at: datetime
|
|
|
|
class Config:
|
|
from_attributes = True
|
|
|
|
|
|
class PaginatedResponse(BaseModel):
|
|
"""Paginated response wrapper for signin logs."""
|
|
items: List[SigninLogResponse]
|
|
total: int
|
|
page: int
|
|
size: int
|
|
total_pages: int
|