Feature: Mentorias em Grupo
Visao geral
Feature de curso para habilitar mentorias em grupo (is_group_meetings_enabled) e definir limite (group_limit).
O backend tambem possui fluxo de distribuicao/recall de link de grupo para matriculados.
Atores
- Administrador/supervisor (configura opcoes do curso).
- Facilitador.
- Participante matriculado.
Pre-condicoes
is_group_meetings_enabledconfigurado no curso (we-dhedalos/functions/acfs/group_663b721c7c208.php:52-71).group_limitdisponivel quando a flag acima esta ativa (we-dhedalos/functions/acfs/group_663b721c7c208.php:73-102).- Turma vinculada a ciclo e curso (
fk_cycles_classesefk_courses_cycles).
Fluxo principal
- Frontend consulta tipo de reuniao por turma (
/courses/{class_id}/meeting-type). - Backend sobe da turma para ciclo/curso e retorna
is_group_meetings_enabled+ facilitador. Fonte:we-dhedalos/functions/rest/courses.php:581-619. - Para grupo de comunicacao, endpoint
/group/{uid}devolvegroup_linke marca inscricao comoin_group. Fonte:we-dhedalos/functions/rest/course/group_link.php:40-60.
Fluxos alternativos
- Ciclo/facilitador/curso nao encontrados: resposta
404no endpoint de meeting-type (we-dhedalos/functions/rest/courses.php:588-604). - Inscricao invalida ou turma/link invalido no endpoint de grupo:
400(we-dhedalos/functions/rest/course/group_link.php:36-45). - Recall de grupo sem ciclos/turmas/alunos elegiveis retorna erro (
we-dhedalos/functions/rest/course/inactive_group.php:49-87).
Regras de negocio
group_limitso aparece no admin quandois_group_meetings_enabled = 1. Fonte:we-dhedalos/functions/acfs/group_663b721c7c208.php:80-88.- A API de turmas devolve
is_group_meetings_enabledegroup_limitno objeto de curso. Fonte:we-dhedalos/functions/rest/classes.php:1379-1382ewe-dhedalos/functions/rest/classes.php:1491-1493. - Ao entregar link de grupo, sistema grava log de acao e atualiza
is_user_in_group_link. Fonte:we-dhedalos/functions/rest/course/group_link.php:48-58.
Estados possiveis
- Flag de curso:
is_group_meetings_enabled = 0|1. - Estado de entrada em grupo na inscricao (
students.is_user_in_group_link):enrolled->in_group.
Endpoints envolvidos
- OpenAPI
GET /dhedalos/v1/courses/{class_id}/meeting-type - OpenAPI
GET /dhedalos/v1/group/{uid} - OpenAPI
GET /dhedalos/v1/group/recall_group_link - OpenAPI
GET /dhedalos/v1/classes/subscriber(retorna metadados de curso/turma)
Tabelas/CPTs afetados
- model.md
curso(metasis_group_meetings_enabled,group_limit) - model.md
classes(metagroup_link) - model.md
students(metais_user_in_group_link) - model.md
user_log_action(log de acao de grupo)
Pendencias/duvidas
- Nao foi encontrada regra backend aplicando
group_limitem endpoint de criacao/entrada de grupo; o valor e retornado para consumo do cliente.