Add social graph models: friendships, follows, blocks
Models + Alembic migration (0007, head) only, per docs/planning/social.md US-1 -- the friends/follow API router is a separate sibling task. - friendships: requester_id/addressee_id (FK users, CASCADE), status (pending/accepted native enum), unique pair constraint, indexed FKs. - follows: follower_id/followed_id (FK users, CASCADE), unique pair. - blocks: blocker_id/blocked_id (FK users, CASCADE), unique pair. - Relationships wired onto User for both directions of each table. - tests/test_social_models.py exercises request/accept, the unique-pair constraint, follow, block, and DB-level CASCADE delete against real Postgres. Full backend suite (152 tests) still green. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Y2FESCaMXeJpC9gSctiEeD
This commit is contained in:
@@ -41,7 +41,11 @@ TEST_TABLES = (
|
||||
# `worlds` the way world_rooms/world_chunks would be. List all three
|
||||
# explicitly rather than rely on cascade for some of them.
|
||||
"world_chunk_revisions", "world_chunks", "world_rooms",
|
||||
"worlds", "sessions", "refresh_tokens", "users",
|
||||
"worlds",
|
||||
# Social graph (app/models/social.py) -- all three FK users with
|
||||
# ON DELETE CASCADE, but list explicitly for clarity/consistency.
|
||||
"friendships", "follows", "blocks",
|
||||
"sessions", "refresh_tokens", "users",
|
||||
)
|
||||
|
||||
BACKEND_DIR = Path(__file__).resolve().parents[1]
|
||||
|
||||
Reference in New Issue
Block a user