153 lines
2.6 KiB
Python
Raw Normal View History

2026-07-23 01:15:04 +02:00
# retoor <retoor@molodetz.nl>
from __future__ import annotations
from typing import Any
from pydantic import BaseModel, Field
class InvokeIn(BaseModel):
fn: str
args: list[Any] = Field(default_factory=list)
kwargs: dict[str, Any] = Field(default_factory=dict)
write: bool = False
class CacheBumpIn(BaseModel):
name: str
class UsersByUidsIn(BaseModel):
uids: list[str]
class CommentCountsIn(BaseModel):
post_uids: list[str]
class VoteCountsIn(BaseModel):
target_uids: list[str]
class ReactionsIn(BaseModel):
target_type: str
target_uids: list[str]
user: dict[str, Any] | None = None
class BookmarksIn(BaseModel):
user_uid: str
target_type: str
target_uids: list[str]
class PollsIn(BaseModel):
post_uids: list[str]
user: dict[str, Any] | None = None
class RecentCommentsIn(BaseModel):
post_uids: list[str]
limit: int = 3
user: dict[str, Any] | None = None
class CommentsIn(BaseModel):
target_type: str
target_uid: str
user: dict[str, Any] | None = None
class FollowBundleIn(BaseModel):
user_uid: str
target_uids: list[str] | None = None
class RelationsIn(BaseModel):
viewer_uid: str | None = None
class OnlineUsersIn(BaseModel):
cutoff_iso: str
limit: int = 30
class NotificationPrefsIn(BaseModel):
user_uid: str
class LeaderboardBundleIn(BaseModel):
limit: int = 50
offset: int = 0
viewer_uid: str | None = None
class SiteSidebarIn(BaseModel):
authors_limit: int = 5
class AwardsBundleIn(BaseModel):
receiver_uid: str
page: int = 1
per_page: int = 12
profile_user: dict[str, Any] | None = None
class AttachmentsIn(BaseModel):
resource_type: str
resource_uids: list[str]
class UserMediaIn(BaseModel):
user_uid: str
page: int = 1
per_page: int = 24
class SeoMetaIn(BaseModel):
target_type: str
uids: list[str]
class FeedPageIn(BaseModel):
user: dict[str, Any] | None = None
tab: str = "all"
topic: str | None = None
search: str = ""
before: str | None = None
class PostDetailIn(BaseModel):
post_uid: str
user: dict[str, Any] | None = None
class ProfileBundleIn(BaseModel):
profile_uid: str
viewer: dict[str, Any] | None = None
class MessagesPageIn(BaseModel):
user_uid: str
class NotificationsPageIn(BaseModel):
user_uid: str
class LeaderboardPageIn(BaseModel):
viewer_uid: str | None = None
class ProjectDetailIn(BaseModel):
project_uid: str
class GistDetailIn(BaseModel):
gist_uid: str
user: dict[str, Any] | None = None
class GameStateIn(BaseModel):
user_uid: str | None = None