Sunil Mohan Adapa baa44e91a2
*: Update imports statements from plinth to freedombox
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-08-28 07:35:18 -04:00

37 lines
1.1 KiB
Python

# SPDX-License-Identifier: AGPL-3.0-or-later
"""
Forms for Coturn app.
"""
from django import forms
from django.core.exceptions import ValidationError
from django.utils.translation import gettext_lazy as _
from freedombox.modules import coturn
from freedombox.modules.coturn.components import TurnConfiguration
def get_domain_choices():
"""Double domain entries for inclusion in the choice field."""
return ((domain, domain) for domain in coturn.get_available_domains())
def turn_uris_validator(turn_uris):
"""Validate list of STUN/TURN Server URIs."""
uris = [uri for uri in turn_uris.split('\r\n') if uri]
if not TurnConfiguration.validate_turn_uris(uris):
raise ValidationError(_('Invalid list of STUN/TURN Server URIs'))
class CoturnForm(forms.Form):
"""Form to select a TLS domain for Coturn."""
domain = forms.ChoiceField(
choices=get_domain_choices,
label=_('TLS domain'),
help_text=_(
'Select a domain to use TLS with. If the list is empty, please '
'configure at least one domain with certificates.'),
required=False,
)