Corin1998's picture
Create adapters.py
c667cc7 verified
raw
history blame contribute delete
804 Bytes
from __future__ import annotations
from typing import Dict, Any
from . import storage
class BaseAdapter:
name = "base"
def __init__(self, campaign_id: str):
self.campaign_id = campaign_id
def send(self, variant_id: str, text: str, context: Dict[str, Any]) -> Dict[str, Any]:
# 実配信の代わりに監査ログへ記録。実装時はAPI呼び出しに差し替え。
payload = {"adapter": self.name, "variant_id": variant_id, "text": text, "context": context}
storage.audit(self.campaign_id, f"adapter_send:{self.name}", payload)
return {"ok": True, "note": f"stubbed send via {self.name}"}
class XAdapter(BaseAdapter):
name = "x"
class MetaAdapter(BaseAdapter):
name = "meta"
class GoogleAdsAdapter(BaseAdapter):
name = "google"