Player
Object type
Implements: Entity
Fields
Section titled “Fields”| Field | Args | Type | Description |
|---|---|---|---|
id | — | ID! required | — |
name | — | String! required | — |
displayName | — | String | Operator-curated display name (participants.display_name) — editable via updatePlayer. |
firstName | — | String | — |
lastName | — | String | — |
nationality | — | String | — |
dateOfBirth | — | Date | — |
currentTeam | — | Team | Derived current club — the active PERMANENT team_membership (not a stored FK). Reciprocal of Team.squad. |
currentTeams | — | [Team!]! required | All clubs the player is CURRENTLY attached to — every team_membership active today (started on or before today and not yet ended), regardless of membership_type, so a LOAN spell appears alongside the parent-club spell. Prefer this over the single PERMANENT currentTeam when showing an operator which club(s) a search hit already belongs to. Empty when the player is unattached (free agent). Derived, not a stored FK. |
version | — | Int! required | Optimistic-locking version (participants.version) — pass as expectedVersion on updatePlayer. |
sportId | — | ID! required | — |
createdAt | — | DateTime! required | When the participant row was first inserted (participants.created_at). |
aliases | — | [ParticipantAlias!]! required | Records merged into this canonical via the M22 merge flow (REQ-009). |