← back to Handbag Auth Nextjs
src/types/handbagRss.ts
61 lines
// TypeScript type definitions for handbag RSS feed management
export type HandbagFeedCategory =
| "new-arrivals"
| "resale"
| "auction"
| "news"
| "other";
export interface HandbagRssSource {
id: string;
name: string;
siteDomain: string; // e.g. "fashionphile.com"
feedUrl: string;
category: HandbagFeedCategory;
language?: string; // e.g. "en"
notes?: string;
active?: boolean; // toggle on/off
}
export interface HandbagFeedItem {
id: string; // stable GUID or URL hash
sourceId: string; // HandbagRssSource.id
title: string;
link: string;
publishedAt?: string;
summary?: string;
imageUrl?: string;
// Optional normalized handbag metadata (Claude can try to parse):
brand?: string;
model?: string;
color?: string;
condition?: "new" | "used" | "auction" | "unknown";
price?: number;
currency?: string;
}
export interface AffiliateSignupProfile {
contactName: string;
company: string;
email: string;
websites: string[];
description?: string;
}
export type MerchantType = "brand" | "retailer" | "reseller" | "auction";
export interface HandbagAffiliateProgram {
id: string;
name: string;
website: string;
domain: string;
merchantType: MerchantType;
affiliateNetwork?: string;
signupUrl?: string;
commissionStructure?: string;
cookieDurationDays?: number;
notes?: string;
}