openapi: 3.0.3
info:
  title: API Gestion Cantine & Garderie
  description: |
    Plateforme API pour la gestion de cantine et garderie.

    ## Authentification
    Toutes les routes protégées nécessitent un token Bearer dans le header Authorization.
    ```
    Authorization: Bearer <votre_token>
    ```

    ## Rôles disponibles
    - `famille` : Parents/tuteurs
    - `ecole` : Personnel scolaire
    - `mairie` : Administration municipale
    - `admin` : Administrateur système

    ## Structure des modules
    - `/api/auth/` : Authentification (login, logout)
    - `/api/user/` : Gestion des utilisateurs

  version: 1.0.0
  contact:
    name: Support API

servers:
  - url: /api
    description: Serveur API principal

tags:
  - name: Auth
    description: Authentification et gestion des tokens
  - name: User
    description: Gestion des utilisateurs

components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: Token Bearer obtenu via POST /auth/login

  schemas:
    Error:
      type: object
      properties:
        error:
          type: string
        error_description:
          type: string

    User:
      type: object
      properties:
        id:
          type: integer
        email:
          type: string
          format: email
        role:
          type: string
          enum: [famille, ecole, mairie, admin]
        created_at:
          type: string
          format: date-time
