Skip to content

Commit

Permalink
add federation models to logging
Browse files Browse the repository at this point in the history
  • Loading branch information
felixrindt committed Nov 7, 2023
1 parent 9459e92 commit d0ac913
Show file tree
Hide file tree
Showing 2 changed files with 56 additions and 1 deletion.
2 changes: 1 addition & 1 deletion ephios/api/templates/oauth2_provider/application_list.html
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ <h4>{% translate "OAuth2 applications" %}</h4>
<tr>
<td>{{ application.name }}</td>
<td>
{{ application.user }}
{{ application.user|default_if_none:"-" }}
</td>
<td>{{ application.created }}</td>
<td class="d-flex">
Expand Down
55 changes: 55 additions & 0 deletions ephios/plugins/federation/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,9 @@

from ephios.api.models import AccessToken, Application
from ephios.core.models import AbstractParticipation, Event, Qualification
from ephios.core.models.events import PARTICIPATION_LOG_CONFIG
from ephios.core.signup.participants import AbstractParticipant
from ephios.modellogging.log import ModelFieldsLogConfig, register_model_for_logging


class FederatedGuest(models.Model):
Expand All @@ -35,6 +37,18 @@ class Meta:
verbose_name_plural = _("federated guests")


register_model_for_logging(
FederatedGuest,
ModelFieldsLogConfig(
unlogged_fields=[
"id",
"access_token",
"client_secret",
],
),
)


class FederatedHost(models.Model):
name = models.CharField(max_length=255)
url = models.URLField(verbose_name=_("URL"))
Expand All @@ -53,6 +67,17 @@ class Meta:
verbose_name_plural = _("federated hosts")


register_model_for_logging(
FederatedHost,
ModelFieldsLogConfig(
unlogged_fields=[
"id",
"access_token",
],
),
)


class InviteCode(models.Model):
code = models.CharField(max_length=255, default=token_hex)
url = models.URLField(verbose_name=_("URL"))
Expand All @@ -77,6 +102,18 @@ class Meta:
verbose_name_plural = _("invite codes")


register_model_for_logging(
InviteCode,
ModelFieldsLogConfig(
unlogged_fields=[
"id",
"code",
"created_at",
],
),
)


class FederatedEventShare(models.Model):
event = models.ForeignKey(Event, on_delete=models.CASCADE)
shared_with = models.ManyToManyField(FederatedGuest)
Expand All @@ -89,6 +126,12 @@ class Meta:
verbose_name_plural = _("federated event shares")


register_model_for_logging(
FederatedEventShare,
ModelFieldsLogConfig(),
)


class FederatedUser(models.Model):
email = models.EmailField(_("email address"))
display_name = models.CharField(_("name"), max_length=254)
Expand All @@ -115,6 +158,12 @@ class Meta:
verbose_name_plural = _("federated users")


register_model_for_logging(
FederatedUser,
ModelFieldsLogConfig(),
)


@dataclasses.dataclass(frozen=True)
class FederatedParticipant(AbstractParticipant):
federated_user: FederatedUser
Expand Down Expand Up @@ -166,3 +215,9 @@ def participant(self) -> "AbstractParticipant":
class Meta:
verbose_name = _("federated participation")
verbose_name_plural = _("federated participations")


register_model_for_logging(
FederatedParticipation,
PARTICIPATION_LOG_CONFIG,
)

0 comments on commit d0ac913

Please sign in to comment.