1
0
Files
ContentAutomation/src/content_automation/interfaces.py

22 lines
588 B
Python

from __future__ import annotations
from typing import Any, Protocol
from content_automation.models import PublishedContentRecord
class SocialNetworkAdapter(Protocol):
"""Contract for social network posting adapters."""
name: str
def post_media(self, media_url: str, caption: str) -> Any:
"""Publish media and return a provider response payload."""
class PublishedContentStore(Protocol):
"""Contract for persisting publish operation metadata."""
def save(self, record: PublishedContentRecord) -> None:
"""Persist a published content record."""