Files
DDSRem 2de976f6b3 Merge pull request #7050 from DDSRem-Dev/codex-comment-migration
docs: 统一全项目中文注释和结构化契约说明
2026-10-17 19:26:29 +08:00

29 lines
760 B
Python

"""
中心服务订阅载荷的共享投影。
"""
from __future__ import annotations
from collections.abc import Collection
from typing import Any
from app.schemas.media import resolve_media_identity
def build_subscribe_payload(
item: object,
fields: Collection[str],
) -> dict[str, Any] | None:
"""
过滤本地订阅字段并规范化中心服务使用的媒体身份。
"""
if not isinstance(item, dict):
return None
media_source, media_id = resolve_media_identity(media=item)
if not media_source or not media_id:
return None
payload = {key: value for key, value in item.items() if key in fields}
payload["media_source"] = str(media_source)
payload["media_id"] = media_id
return payload