baseline: 批次A-D 成果 + membership 半成品(测试红)

This commit is contained in:
agent
2026-09-11 23:11:35 +08:00
commit b3f3095d53
311 changed files with 40540 additions and 0 deletions
+33
View File
@@ -0,0 +1,33 @@
from rest_framework import serializers
from apps.core.serializers import AsyncModelSerializer
from .models import APIKey
class APIKeySerializer(AsyncModelSerializer):
class Meta:
model = APIKey
fields = [
"id", "name", "prefix", "scopes", "is_active",
"rate_limit", "expires_at", "last_used_at",
"created_at", "updated_at",
]
read_only_fields = ["id", "prefix", "last_used_at", "created_at", "updated_at"]
class APIKeyCreateInputSerializer(serializers.Serializer):
name = serializers.CharField(max_length=128)
scopes = serializers.ListField(child=serializers.CharField(), required=False)
expires_at = serializers.DateTimeField(required=False, allow_null=True)
class ExternalOrderLineInputSerializer(serializers.Serializer):
product_code = serializers.CharField(max_length=64)
quantity = serializers.DecimalField(max_digits=18, decimal_places=4)
unit_price = serializers.DecimalField(max_digits=18, decimal_places=4, required=False)
class ExternalOrderCreateSerializer(serializers.Serializer):
customer_code = serializers.CharField(max_length=64)
warehouse_code = serializers.CharField(max_length=64, required=False)
remark = serializers.CharField(max_length=255, required=False, allow_blank=True, default="")
lines = ExternalOrderLineInputSerializer(many=True)