mirror of
https://github.com/pacnpal/thrillwiki_django_no_react.git
synced 2026-02-05 20:25:23 -05:00
Based on the git diff provided, here's a concise and descriptive commit message:
feat: add passkey authentication and enhance user preferences - Add passkey login security event type with fingerprint icon - Include request and site context in email confirmation for backend - Add user_id exact match filter to prevent incorrect user lookups - Enable PATCH method for updating user preferences via API - Add moderation_preferences support to user settings - Optimize ticket queries with select_related and prefetch_related This commit introduces passkey authentication tracking, improves user profile filtering accuracy, and extends the preferences API to support updates. Query optimizations reduce database hits for ticket listings.
This commit is contained in:
@@ -12,7 +12,7 @@ from drf_spectacular.utils import (
|
||||
)
|
||||
from rest_framework import serializers
|
||||
|
||||
from apps.core.choices.serializers import RichChoiceFieldSerializer
|
||||
from apps.core.choices.serializers import RichChoiceFieldSerializer, RichChoiceSerializerField
|
||||
|
||||
from .shared import ModelChoices
|
||||
|
||||
@@ -87,22 +87,25 @@ class CompanyCreateInputSerializer(serializers.Serializer):
|
||||
description = serializers.CharField(allow_blank=True, default="")
|
||||
website = serializers.URLField(required=False, allow_blank=True)
|
||||
|
||||
# Entity type and status
|
||||
person_type = serializers.ChoiceField(
|
||||
choices=["INDIVIDUAL", "FIRM", "ORGANIZATION", "CORPORATION", "PARTNERSHIP", "GOVERNMENT"],
|
||||
# Entity type and status - using RichChoiceSerializerField
|
||||
person_type = RichChoiceSerializerField(
|
||||
choice_group="person_types",
|
||||
domain="parks",
|
||||
required=False,
|
||||
allow_blank=True,
|
||||
)
|
||||
status = serializers.ChoiceField(
|
||||
choices=["ACTIVE", "DEFUNCT", "MERGED", "ACQUIRED", "RENAMED", "DORMANT"],
|
||||
status = RichChoiceSerializerField(
|
||||
choice_group="company_statuses",
|
||||
domain="parks",
|
||||
default="ACTIVE",
|
||||
)
|
||||
|
||||
# Founding information
|
||||
founded_year = serializers.IntegerField(required=False, allow_null=True)
|
||||
founded_date = serializers.DateField(required=False, allow_null=True)
|
||||
founded_date_precision = serializers.ChoiceField(
|
||||
choices=["YEAR", "MONTH", "DAY"],
|
||||
founded_date_precision = RichChoiceSerializerField(
|
||||
choice_group="date_precision",
|
||||
domain="parks",
|
||||
required=False,
|
||||
allow_blank=True,
|
||||
)
|
||||
@@ -129,22 +132,25 @@ class CompanyUpdateInputSerializer(serializers.Serializer):
|
||||
description = serializers.CharField(allow_blank=True, required=False)
|
||||
website = serializers.URLField(required=False, allow_blank=True)
|
||||
|
||||
# Entity type and status
|
||||
person_type = serializers.ChoiceField(
|
||||
choices=["INDIVIDUAL", "FIRM", "ORGANIZATION", "CORPORATION", "PARTNERSHIP", "GOVERNMENT"],
|
||||
# Entity type and status - using RichChoiceSerializerField
|
||||
person_type = RichChoiceSerializerField(
|
||||
choice_group="person_types",
|
||||
domain="parks",
|
||||
required=False,
|
||||
allow_blank=True,
|
||||
)
|
||||
status = serializers.ChoiceField(
|
||||
choices=["ACTIVE", "DEFUNCT", "MERGED", "ACQUIRED", "RENAMED", "DORMANT"],
|
||||
status = RichChoiceSerializerField(
|
||||
choice_group="company_statuses",
|
||||
domain="parks",
|
||||
required=False,
|
||||
)
|
||||
|
||||
# Founding information
|
||||
founded_year = serializers.IntegerField(required=False, allow_null=True)
|
||||
founded_date = serializers.DateField(required=False, allow_null=True)
|
||||
founded_date_precision = serializers.ChoiceField(
|
||||
choices=["YEAR", "MONTH", "DAY"],
|
||||
founded_date_precision = RichChoiceSerializerField(
|
||||
choice_group="date_precision",
|
||||
domain="parks",
|
||||
required=False,
|
||||
allow_blank=True,
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user