{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://docs.sportops.it/formato/schema/documenti.schema.json",
  "title": "Documenti caricati",
  "description": "I file conservati per atleta o squadra (certificati, moduli). Il file è in storage/documents/ dentro l'archivio.",
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "id": {
        "type": [
          "integer",
          "null"
        ],
        "description": "Identificativo."
      },
      "atleta_id": {
        "type": [
          "integer",
          "null"
        ],
        "description": "→ atleti.id (vuoto se documento di squadra)."
      },
      "squadra_id": {
        "type": [
          "integer",
          "null"
        ],
        "description": "→ squadre.id (vuoto se di atleta)."
      },
      "nome": {
        "type": [
          "string",
          "null"
        ],
        "description": "Nome dato al documento."
      },
      "tipo": {
        "type": [
          "string",
          "null"
        ],
        "description": "Tipo (es. certificato medico)."
      },
      "file": {
        "type": [
          "string",
          "null"
        ],
        "description": "Nome del file in storage/documents/."
      },
      "scadenza": {
        "type": [
          "string",
          "null"
        ],
        "format": "date",
        "description": "Scadenza del documento."
      },
      "caricato_il": {
        "type": [
          "string",
          "null"
        ],
        "format": "date-time",
        "description": "Quando è stato caricato."
      }
    },
    "required": [
      "id",
      "atleta_id",
      "squadra_id",
      "nome",
      "tipo",
      "file",
      "scadenza",
      "caricato_il"
    ],
    "additionalProperties": false
  }
}