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çalhoAuthorization:
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
- Validação de Dados: Todos os dados de entrada são validados para prevenir injeção de dados maliciosos.
- 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.
- Sanitização de Dados: Todos os dados de entrada são sanitizados antes de serem armazenados ou exibidos.
- HTTPS: Todas as comunicações com a API devem ser realizadas através de HTTPS.