Player blocking

Behavior

A player can block another player. Blocking is bidirectional in storage but asymmetric in effect:

Blocking does not affect:

Record types

Two records are written per block:

pk: PLAYER#<blockingPlayerId>   sk: BLOCKED#<blockedPlayerId>
pk: PLAYER#<blockedPlayerId>    sk: BLOCKEDBY#<blockingPlayerId>

Both are deleted on unblock.

Queries

Query Purpose pars
block_player Create block records playerId
unblock_player Delete block records playerId
me Returns blocked: string[] of blocked player ids
standing_challenges (auth) Filters challenges where challenger.id is in the requester's BLOCKEDBY set metaGame

Self-blocking is rejected.

Implementation notes

Related