Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 3x 3x 3x 1x 1x | import type { Player } from '@/db/schema/players'
import { getPlayer } from '@/lib/arcade/player-manager'
/**
* Get a player that is flagged as a practice student.
* Returns undefined if the player doesn't exist or isn't a practice student.
*
* Use this instead of getPlayer() in practice routes to enforce the invariant
* that only practice students can access the practice system.
*/
export async function getPracticeStudent(playerId: string): Promise<Player | undefined> {
const player = await getPlayer(playerId)
if (!player || !player.isPracticeStudent) return undefined
return player
}
|