Extend organization analytics contract and fix test warnings
Some checks failed
CI/CD Pipeline / Code Quality Checks (push) Failing after 1m42s
CI/CD Pipeline / Run Tests (push) Successful in 1m45s
CI/CD Pipeline / Build Docker Images (push) Has been skipped
CI/CD Pipeline / Push to Gitea Registry (push) Has been skipped
CI/CD Pipeline / Deploy to Server (push) Has been skipped

This commit is contained in:
2026-04-19 12:23:38 +02:00
parent f662e55139
commit 8ead5ebadc
14 changed files with 1348 additions and 130 deletions

View File

@@ -7,7 +7,11 @@
"""
from apps.organization.models import Organization
from apps.organization.scope_utils import SCOPE_LABELS
from apps.organization.scope_utils import (
SCOPE_LABELS,
primary_registry_category,
registry_category_label,
)
from apps.registers.models import Register
from rest_framework import serializers
@@ -97,6 +101,8 @@ class OrganizationCatalogBaseSerializer(serializers.ModelSerializer):
full_name = serializers.CharField(source="name", read_only=True)
corporation_scope = serializers.SerializerMethodField()
corporation_scope_label = serializers.SerializerMethodField()
registry_category = serializers.SerializerMethodField()
registry_category_label = serializers.SerializerMethodField()
organization_type_label = serializers.CharField(read_only=True)
active_registry_names = serializers.SerializerMethodField()
@@ -108,6 +114,16 @@ class OrganizationCatalogBaseSerializer(serializers.ModelSerializer):
def get_active_registry_names(obj: Organization) -> list[str]:
return obj.get_active_registry_names()
@staticmethod
def get_registry_category(obj: Organization) -> str:
return primary_registry_category(obj.get_active_registry_names())
@staticmethod
def get_registry_category_label(obj: Organization) -> str:
return registry_category_label(
OrganizationCatalogBaseSerializer.get_registry_category(obj)
)
@staticmethod
def _primary_scope_or_default(obj: Organization) -> str:
scopes = obj.get_corporation_scopes()
@@ -141,6 +157,8 @@ class OrganizationCatalogListSerializer(OrganizationCatalogBaseSerializer):
"full_name",
"corporation_scope",
"corporation_scope_label",
"registry_category",
"registry_category_label",
"organization_type",
"organization_type_label",
"inn",
@@ -188,6 +206,8 @@ class OrganizationCatalogDetailSerializer(OrganizationCatalogBaseSerializer):
"full_name",
"corporation_scope",
"corporation_scope_label",
"registry_category",
"registry_category_label",
"organization_type",
"organization_type_label",
"inn",