Feature: Sala
Visao geral
A feature de Sala (reunioes) e controlada por enable_room no curso e na turma e operacionalizada pelos endpoints de class_room (sala principal, one-on-one e grupo).
Atores
- Administrador/supervisor (configura opcoes e pode entrar como admin na sala).
- Facilitador.
- Participante inscrito.
- Integracao externa: Jitsi/JaaS (via
create_jaas_token).
Pre-condicoes
- Flag
enable_roomno curso (we-dhedalos/functions/acfs/group_663b721c7c208.php). - Flag
enable_roomna turma (we-dhedalos/functions/acfs/group_662bf6328d87e.php). - Turma com facilitador definido (
we-dhedalos/functions/rest/class_room.php:201,we-dhedalos/functions/rest/class_room.php:260). - Usuario autenticado para os endpoints de sala.
Fluxo principal
- Admin configura
enable_roomem curso e turma. - API de turmas retorna
enable_roomefetivo porANDentre curso e turma (we-dhedalos/functions/rest/classes.php:541-547ewe-dhedalos/functions/rest/classes.php:1521-1522). - Usuario chama endpoint de sala (
/class_room,/class_room/one_on_oneou/class_room/group). - Backend valida vinculo com turma e gera token de sala com
create_jaas_token.
Fluxos alternativos
- Turma nao encontrada ou combinacao usuario/turma invalida:
404(we-dhedalos/functions/rest/class_room.php:153-155). - Usuario nao inscrito na turma:
403(we-dhedalos/functions/rest/class_room.php:212-214,we-dhedalos/functions/rest/class_room.php:272-274). - Turma sem facilitador:
404(we-dhedalos/functions/rest/class_room.php:208-210,we-dhedalos/functions/rest/class_room.php:268-270). - Falha na criacao do token/sala:
500com detalhes (we-dhedalos/functions/rest/class_room.php:169-186,we-dhedalos/functions/rest/class_room.php:278-297).
Regras de negocio
enable_roomefetivo =enable_room(curso) && enable_room(classes). Fonte:we-dhedalos/functions/rest/classes.php:541-547ewe-dhedalos/functions/rest/classes.php:1521-1522.- One-on-one exige participante inscrito na turma.
Fonte:
we-dhedalos/functions/rest/class_room.php:216-218. - Sala em grupo usa
room_idinformado na requisicao. Fonte:we-dhedalos/functions/rest/class_room.php:262-277.
Estados possiveis
enable_roomno curso:0ou1.enable_roomna turma:0ou1.- Estado efetivo de sala na turma (payload):
falseoutrue.
Endpoints envolvidos
- OpenAPI
GET /dhedalos/v1/class_room - OpenAPI
GET /dhedalos/v1/class_room/one_on_one - OpenAPI
GET /dhedalos/v1/class_room/group - OpenAPI
GET /dhedalos/v1/classes/subscriber(retornaenable_room) - OpenAPI
GET /dhedalos/v1/classes/facilitator(retornaenable_room)
Tabelas/CPTs afetados
- model.md
curso(metaenable_room) - model.md
classes(metaenable_room,facilitator) - model.md
students(vinculouser/classpara autorizacao) - model.md
wp_users(dados de usuario para token)
Pendencias/duvidas
- Nao foi encontrada validacao backend que bloqueie os endpoints de sala quando
enable_roomesta desligado; a flag aparece no payload de turmas.