import { defineEnum } from './define-enum';

// UI-facing projection of Stripe-Connect readiness (connect status).
// `null` is represented outside the enum (absence of connect account setup).
export const AFFILIATE_CONNECT_STATUS = ['pending', 'restricted', 'active'] as const;

export const affiliateConnectStatus = defineEnum({
  name: 'affiliate_connect_status',
  values: AFFILIATE_CONNECT_STATUS,
  labels: { pending: 'pending', restricted: 'restricted', active: 'active' },
});

export type AffiliateConnectStatus = (typeof AFFILIATE_CONNECT_STATUS)[number];
/** Nullable form as returned by the stats API (null = no connect account). */
export type AffiliateConnectStatusOrNull = AffiliateConnectStatus | null;
