refactor: replace _affiliate_url() with circuitforge-core wrap_url() (cf-core #21)

This commit is contained in:
pyr0ball 2026-04-04 18:31:02 -07:00
parent 0430454dad
commit 860276420e

View file

@ -23,6 +23,7 @@ from pydantic import BaseModel
from fastapi.middleware.cors import CORSMiddleware from fastapi.middleware.cors import CORSMiddleware
from circuitforge_core.config import load_env from circuitforge_core.config import load_env
from circuitforge_core.affiliates import wrap_url as _wrap_affiliate_url
from app.db.store import Store from app.db.store import Store
from app.db.models import SavedSearch as SavedSearchModel, ScammerEntry from app.db.models import SavedSearch as SavedSearchModel, ScammerEntry
from app.platforms import SearchFilters from app.platforms import SearchFilters
@ -69,21 +70,6 @@ def _ebay_creds() -> tuple[str, str, str]:
client_secret = (os.environ.get("EBAY_CERT_ID") or os.environ.get("EBAY_CLIENT_SECRET", "")).strip() client_secret = (os.environ.get("EBAY_CERT_ID") or os.environ.get("EBAY_CLIENT_SECRET", "")).strip()
return client_id, client_secret, env return client_id, client_secret, env
def _affiliate_url(url: str) -> str:
"""Append EPN affiliate params when EBAY_AFFILIATE_CAMPAIGN_ID is configured.
If the env var is absent or blank, the original URL is returned unchanged.
Params follow the standard EPN deep-link format; siteid=0 = US.
"""
campaign_id = os.environ.get("EBAY_AFFILIATE_CAMPAIGN_ID", "").strip()
if not campaign_id:
return url
sep = "&" if "?" in url else "?"
return (
f"{url}{sep}mkcid=1&mkrid=711-53200-19255-0"
f"&siteid=0&campid={campaign_id}&toolid=10001&mkevt=1"
)
app = FastAPI(title="Snipe API", version="0.1.0", lifespan=_lifespan) app = FastAPI(title="Snipe API", version="0.1.0", lifespan=_lifespan)
app.include_router(ebay_webhook_router) app.include_router(ebay_webhook_router)
@ -413,7 +399,7 @@ def search(
def _serialize_listing(l: object) -> dict: def _serialize_listing(l: object) -> dict:
d = dataclasses.asdict(l) d = dataclasses.asdict(l)
d["url"] = _affiliate_url(d["url"]) d["url"] = _wrap_affiliate_url(d["url"], retailer="ebay")
return d return d
return { return {