Files
ad/molodetz/schemas/joins.py
T
retoor 9fb4d65787 Member invites, gallery resync, content and operator docs
- Invite flow: admin issue/revoke on join requests, public single-use
  claim links (hash-only tokens, 7-day expiry, no state reveal), claim
  creates the Member account and marks the request accepted
- Gallery: admin status page plus resync endpoint; sync refreshes
  thumbnails whose content changed; tools/gallery contract and checker
- Docs: public content page, admin-only operator runbook, api.md
  invite/gallery sections, all routes in the live API docs, docs
  reachability gate test
- Screenshots cover the new pages; version 1.0.18
2026-10-06 02:56:08 +02:00

32 lines
721 B
Python

# retoor <retoor@molodetz.nl>
from molodetz.schemas.base import OutModel
class JoinPageOut(OutModel):
submitted: bool = False
class JoinRequestOut(OutModel):
uid: str | None = None
name: str | None = None
contact: str | None = None
repo_url: str | None = None
message: str | None = None
status: str | None = None
link_title: str | None = None
link_status: str | None = None
created_at: str | None = None
invite_open: bool = False
invite_expires_at: str | None = None
class JoinListOut(OutModel):
requests: list[JoinRequestOut] = []
class InvitePageOut(OutModel):
valid: bool = False
username: str = ""
email: str = ""
email_locked: bool = False