# Athletes

# Events

--- ATHLETE_UPDATED ---
{
    "event": "ATHLETE_UPDATED",
    "data": {
        "person_id": 123
    }
}

# Validation

{
    "id": [
        "required",
        "a valid person id (license number)" 
    ],
    "foreign_certificate_date": [
        "nullable",
        "date:Y-m-d",
    ],
    // These fields can only be set by LEWB members
    "permit_competition_jumping_lewb": [
        "boolean"
    ],   
    "permit_competition_dressage_lewb": [
        "boolean"
    ],   
    "permit_competition_eventing_lewb": [
        "boolean"
    ],   
    "permit_competition_driving_lewb": [
        "boolean"
    ],   
    "permit_competition_endurance_lewb": [
        "boolean"
    ],   
    "permit_competition_reining_lewb": [
        "boolean"
    ],   
    "permit_competition_horseball_lewb": [
        "boolean"
    ],   
    "permit_competition_vaulting_lewb": [
        "boolean"
    ],   
    "permit_competition_para_equestrian_lewb": [
        "boolean"
    ],   
    "permit_competition_trec_lewb": [
        "boolean"
    ],
    // These fields can only be set by PSV members   
    "permit_competition_jumping_vlp": [
        "boolean"
    ],   
    "permit_competition_dressage_vlp": [
        "boolean"
    ],   
    "permit_competition_eventing_vlp": [
        "boolean"
    ],   
    "permit_competition_driving_vlp": [
        "boolean"
    ],   
    "permit_competition_endurance_vlp": [
        "boolean"
    ],   
    "permit_competition_reining_vlp": [
        "boolean"
    ],   
    "permit_competition_horseball_vlp": [
        "boolean"
    ],   
    "permit_competition_vaulting_vlp": [
        "boolean"
    ],   
    "permit_competition_para_equestrian_vlp": [
        "boolean"
    ],   
    "permit_competition_trec_vlp": [
        "boolean"
    ]
}

# List

--- ENDPOINT ---

Domain: equidata 
Paginated: true
Url: /athletes?page=2
Method: GET

{
  // pagination meta,
  "data": [
      {
          "id": 2021,
          "permit_competition_jumping_lewb": false, 
          "permit_competition_dressage_lewb": false,
          "permit_competition_eventing_lewb": false, 
          "permit_competition_driving_lewb": false,
          "permit_competition_endurance_lewb": false,
          "permit_competition_reining_lewb": false,
          "permit_competition_horseball_lewb": false, 
          "permit_competition_vaulting_lewb": false,
          "permit_competition_para_equestrian_lewb": false, 
          "permit_competition_trec_lewb": false,
          "permit_competition_jumping_vlp": false, 
          "permit_competition_dressage_vlp": false,
          "permit_competition_eventing_vlp": false, 
          "permit_competition_driving_vlp": false,
          "permit_competition_endurance_vlp": false, 
          "permit_competition_reining_vlp": false,
          "permit_competition_horseball_vlp": false, 
          "permit_competition_vaulting_vlp": false,
          "permit_competition_para_equestrian_vlp": false, 
          "permit_competition_trec_vlp": false,
          "foreign_certificate_date": "2020-01-01"
      },
      /* other entries */ 
    ]
}

# Show

--- ENDPOINT ---

Domain: equidata 
Url: /athletes/1
Method: GET

{
    "id": 1,
    "permit_competition_jumping_lewb": false, 
    "permit_competition_dressage_lewb": false,
    "permit_competition_eventing_lewb": false, 
    "permit_competition_driving_lewb": false,
    "permit_competition_endurance_lewb": false,
    "permit_competition_reining_lewb": false,
    "permit_competition_horseball_lewb": false, 
    "permit_competition_vaulting_lewb": false,
    "permit_competition_para_equestrian_lewb": false, 
    "permit_competition_trec_lewb": false,
    "permit_competition_jumping_vlp": false, 
    "permit_competition_dressage_vlp": false,
    "permit_competition_eventing_vlp": false, 
    "permit_competition_driving_vlp": false,
    "permit_competition_endurance_vlp": false, 
    "permit_competition_reining_vlp": false,
    "permit_competition_horseball_vlp": false, 
    "permit_competition_vaulting_vlp": false,
    "permit_competition_para_equestrian_vlp": false, 
    "permit_competition_trec_vlp": false,
    "foreign_certificate_date": "2020-01-01"
}

# Update

WARNING

As long as the API is still a layer over the old database, be aware that changing an athlete's permits for one organisation (e.g. LEWB) will also change it for the other organisation (in this example PSV).
The permits will be separated for each organisation when we switch the API to be a layer over the new database structure.

--- ENDPOINT ---

Domain: equidata 
Url: /athletes/1
Method: PUT

--- EXAMPLE PAYLOAD ---
{
    "permit_competition_jumping_lewb": false, 
    "permit_competition_dressage_lewb": false,
    "permit_competition_eventing_lewb": false, 
    "permit_competition_driving_lewb": false,
    "permit_competition_endurance_lewb": false,
    "permit_competition_reining_lewb": false,
    "permit_competition_horseball_lewb": false, 
    "permit_competition_vaulting_lewb": false,
    "permit_competition_para_equestrian_lewb": false, 
    "permit_competition_trec_lewb": false,
    "permit_competition_jumping_vlp": false, 
    "permit_competition_dressage_vlp": false,
    "permit_competition_eventing_vlp": false, 
    "permit_competition_driving_vlp": false,
    "permit_competition_endurance_vlp": false, 
    "permit_competition_reining_vlp": false,
    "permit_competition_horseball_vlp": false, 
    "permit_competition_vaulting_vlp": false,
    "permit_competition_para_equestrian_vlp": false, 
    "permit_competition_trec_vlp": false,
    "foreign_certificate_date": "2020-01-01"
}
--- EXAMPLE RESPONSE ---
{
    "id": 1,
    "permit_competition_jumping_lewb": false, 
    "permit_competition_dressage_lewb": false,
    "permit_competition_eventing_lewb": false, 
    "permit_competition_driving_lewb": false,
    "permit_competition_endurance_lewb": false,
    "permit_competition_reining_lewb": false,
    "permit_competition_horseball_lewb": false, 
    "permit_competition_vaulting_lewb": false,
    "permit_competition_para_equestrian_lewb": false, 
    "permit_competition_trec_lewb": false,
    "permit_competition_jumping_vlp": false, 
    "permit_competition_dressage_vlp": false,
    "permit_competition_eventing_vlp": false, 
    "permit_competition_driving_vlp": false,
    "permit_competition_endurance_vlp": false, 
    "permit_competition_reining_vlp": false,
    "permit_competition_horseball_vlp": false, 
    "permit_competition_vaulting_vlp": false,
    "permit_competition_para_equestrian_vlp": false, 
    "permit_competition_trec_vlp": false,
    "foreign_certificate_date": "2020-01-01"
}