Отключаемый модуль (instance_settings.device_check, дефолт выключен): запрос доступа к камере/микрофону на LoginPage и в карточке "Как вас зовут?" (JoinPage), живое зеркальное превью и кнопки вкл/выкл камеры и микрофона там же. На JoinPage кнопки определяют, с чем гость войдёт в конференцию (RoomPage.LiveKitRoom audio/video вместо жёстких false) — на LoginPage только пре-авторизуют разрешение, без UI (карточка ведёт в лобби, применить выбор некуда). Вход в комнату по умолчанию, как и раньше, с выключенными микрофоном/камерой. Публичный GET /api/v1/public/settings отдаёт флаг модуля обеим страницам до аутентификации.
19 lines
1.0 KiB
Python
19 lines
1.0 KiB
Python
"""Схемы публичного эндпоинта настроек клиента (`GET /public/settings`)."""
|
||
|
||
from pydantic import BaseModel
|
||
|
||
|
||
class PublicSettingsOut(BaseModel):
|
||
"""Настройки инстанса, нужные клиенту ДО аутентификации.
|
||
|
||
Общая точка для флагов, которые должны быть на руках у страницы логина
|
||
и гостевой карточки входа (`LoginPage`/`JoinPage`) — обе публичные,
|
||
`GET /admin/settings` им недоступен (только для админа). Отдельно от
|
||
`GET /auth/registration-options`: тот про опции конкретно карточки
|
||
регистрации, а не про настройки инстанса в целом (сессия 33).
|
||
"""
|
||
|
||
# Проверка устройств на входе (сессия 33) — см.
|
||
# `core/plugins/config.py::InstanceConfig.device_check_enabled`.
|
||
device_check_enabled: bool
|