2017-01-26 09:06:24 +00:00
|
|
|
from utils.api import DateTimeTZField, UsernameSerializer, serializers
|
2017-01-26 04:33:00 +00:00
|
|
|
|
2017-01-26 09:06:24 +00:00
|
|
|
from .models import Contest, ContestRuleType
|
2017-01-26 04:33:00 +00:00
|
|
|
|
|
|
|
|
|
|
|
class CreateConetestSeriaizer(serializers.Serializer):
|
|
|
|
title = serializers.CharField(max_length=128)
|
|
|
|
description = serializers.CharField()
|
|
|
|
start_time = serializers.DateTimeField()
|
|
|
|
end_time = serializers.DateTimeField()
|
|
|
|
rule_type = serializers.ChoiceField(choices=[ContestRuleType.ACM, ContestRuleType.OI])
|
|
|
|
password = serializers.CharField(allow_blank=True, max_length=32)
|
|
|
|
visible = serializers.BooleanField()
|
|
|
|
real_time_rank = serializers.BooleanField()
|
|
|
|
|
|
|
|
|
|
|
|
class ContestSerializer(serializers.ModelSerializer):
|
|
|
|
start_time = DateTimeTZField()
|
|
|
|
end_time = DateTimeTZField()
|
|
|
|
create_time = DateTimeTZField()
|
|
|
|
last_update_time = DateTimeTZField()
|
|
|
|
created_by = UsernameSerializer()
|
2017-01-26 05:45:39 +00:00
|
|
|
status = serializers.CharField()
|
|
|
|
contest_type = serializers.CharField()
|
2017-01-26 04:33:00 +00:00
|
|
|
|
|
|
|
class Meta:
|
|
|
|
model = Contest
|