Phase 2 (snipe#4): after bulk-reporting sellers to eBay T&S, Snipe now persists which sellers were reported so cards show a muted "Reported to eBay" badge and users aren't prompted to re-report the same seller. - migration 012 adds reported_sellers table (user DB, UNIQUE on seller) - Store.mark_reported / list_reported methods - POST /api/reported + GET /api/reported endpoints - reported store (frontend) with optimistic update + server persistence - reportSelected wires into store after opening eBay tabs Phase 3 prep (snipe#4): community blocklist share toggle - Settings > Community section: "Share blocklist with community" toggle (visible only to signed-in cloud users, default OFF) - Persisted as community.blocklist_share user preference - Backend community signal publish now gated on opt-in preference; privacy-by-architecture: sharing is explicit, never implicit
12 lines
501 B
SQL
12 lines
501 B
SQL
CREATE TABLE IF NOT EXISTS reported_sellers (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
platform TEXT NOT NULL,
|
|
platform_seller_id TEXT NOT NULL,
|
|
username TEXT,
|
|
reported_at TEXT DEFAULT CURRENT_TIMESTAMP,
|
|
reported_by TEXT NOT NULL DEFAULT 'user', -- user | bulk_action
|
|
UNIQUE(platform, platform_seller_id)
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_reported_sellers_lookup
|
|
ON reported_sellers(platform, platform_seller_id);
|