Skip to main content

API de Treinos

A API de Treinos do FitLocus fornece endpoints para criação, gerenciamento e execução de treinos na plataforma.

Visão Geral

A API de Treinos permite:

  • Criação e gerenciamento de treinos personalizados
  • Organização de exercícios em treinos estruturados
  • Atribuição de treinos a alunos
  • Acompanhamento de execução de treinos
  • Criação e gerenciamento de planos de treino

Modelo de Dados

TrainingDTO

O objeto TrainingDTO é utilizado para transferência de dados de treinos entre o cliente e o servidor:

TrainingPlanDTO

Objeto que representa um plano de treino (conjunto de treinos organizados por dias da semana):

TrainingExecutionDTO

Objeto que representa a execução de um treino:

TrainingAssignmentDTO

Objeto que representa a atribuição de um treino a um aluno:

Endpoints Principais

Detalhes de Implementação

Autenticação

Todos os endpoints requerem autenticação via token JWT no cabeçalho Authorization:
Para mais detalhes sobre autenticação, consulte a documentação de autenticação.

Controle de Acesso

O acesso aos endpoints é controlado com base no tipo de usuário e propriedade do recurso:
  • Personal trainers podem criar, visualizar, atualizar e remover seus próprios treinos
  • Personal trainers só podem atribuir treinos aos seus alunos vinculados
  • Alunos só podem visualizar treinos atribuídos a eles
  • Alunos só podem registrar execuções de treinos atribuídos a eles

Paginação e Ordenação

Endpoints que retornam listas de treinos suportam paginação e ordenação através dos seguintes parâmetros:
  • page: Número da página (começando em 0)
  • size: Tamanho da página (número de itens por página)
  • sort: Campo e direção de ordenação (ex: name,asc)

Exemplos de Uso

Listar Treinos

Obter Detalhes de um Treino

Criar um Novo Treino

Atribuir Treino a um Aluno

Códigos de Status

Considerações de Segurança

  1. Validação de Dados: Todos os dados de entrada são validados para prevenir injeção de dados maliciosos.
  2. Controle de Acesso: Verificações rigorosas garantem que um usuário só possa acessar e modificar seus próprios treinos ou, no caso de personal trainers, os treinos atribuídos aos seus alunos.
  3. Sanitização de Dados: Todos os dados de entrada são sanitizados antes de serem armazenados ou exibidos.
  4. HTTPS: Todas as comunicações com a API devem ser realizadas através de HTTPS.

Implementação no Frontend

Componente de Listagem de Treinos

Próximos Passos

Para mais detalhes sobre endpoints específicos, consulte: