fix(api): align contracts with frontend md
Some checks failed
CI/CD Pipeline / Code Quality Checks (pull_request) Failing after 3m20s
CI/CD Pipeline / Run Tests (pull_request) Successful in 13m45s
CI/CD Pipeline / Run API Inventory E2E Tests (pull_request) Successful in 22s
CI/CD Pipeline / Telegram Notify Success (pull_request) Has been skipped

This commit is contained in:
2026-03-23 13:12:10 +01:00
parent d030c705ac
commit 4ca6b75393
12 changed files with 215 additions and 215 deletions

View File

@@ -314,6 +314,13 @@ class FNSZipUploadSerializer(serializers.Serializer):
return value
class FNSFileUploadSuccessSerializer(serializers.Serializer):
"""Ответ одиночной загрузки FNS в формате frontend."""
success = serializers.BooleanField(read_only=True)
message = serializers.CharField(read_only=True)
class ParsingSettingsSerializer(serializers.ModelSerializer):
"""Настройки периодичности обновления источников парсинга."""
@@ -429,6 +436,15 @@ class ParserLoadLogListSerializer(serializers.Serializer):
updated_at = serializers.DateTimeField(read_only=True)
class ParserLoadLogPageSerializer(serializers.Serializer):
"""Пагинированный ответ списка логов для frontend."""
count = serializers.IntegerField(read_only=True)
next = serializers.CharField(read_only=True, allow_null=True)
previous = serializers.CharField(read_only=True, allow_null=True)
results = ParserLoadLogListSerializer(many=True, read_only=True)
class SourceCardRefreshParamSerializer(serializers.Serializer):
"""Описание параметра ручного обновления карточки источника."""
@@ -548,3 +564,36 @@ class SourceCardRefreshResponseSerializer(serializers.Serializer):
status = serializers.CharField(read_only=True)
requested_at = serializers.DateTimeField(read_only=True)
tasks = SourceCardRefreshTaskSerializer(many=True, read_only=True)
class FrontendApiResponseSerializer(serializers.Serializer):
"""Общая форма success/data/errors/meta для frontend sources API."""
success = serializers.BooleanField(read_only=True)
errors = serializers.JSONField(read_only=True, allow_null=True)
meta = serializers.JSONField(read_only=True, allow_null=True)
class SourceCardListResponseSerializer(FrontendApiResponseSerializer):
"""Envelope для списка карточек источников."""
data = SourceCardSerializer(many=True, read_only=True)
class SourceTaskStatusListResponseSerializer(FrontendApiResponseSerializer):
"""Envelope для списка статусов источников."""
data = SourceTaskStatusSerializer(many=True, read_only=True)
class SourceCardDetailResponseSerializer(FrontendApiResponseSerializer):
"""Envelope для детальной карточки источника."""
data = SourceCardDetailSerializer(read_only=True)
class SourceCardRefreshFrontendResponseSerializer(serializers.Serializer):
"""Минимальный ответ запуска обновления карточки по md."""
task_id = serializers.CharField(read_only=True, allow_null=True)
status = serializers.CharField(read_only=True)