export type PointTransactionType =
  | 'REFERRAL_FIRST_PAYMENT'   // first subscription payment by referred user
  | 'REFERRAL_RECURRING'       // recurring monthly reward (≤12 months)
  | 'REFERRAL_L2'              // level-2 indirect reward (≤6 months)
  | 'REFERRAL_WELCOME'         // welcome bonus to newly referred user
  | 'REDEMPTION_QUOTA'         // redeemed for extra usage quota
  | 'REDEMPTION_UNLOCK'        // redeemed to unlock a premium agent
  | 'ADMIN_GRANT'              // platform admin manual adjustment
  | 'EXPIRY';                  // points expiry deduction

export class UserPointTransaction {
  id: string;
  userId: string;
  delta: number;       // positive = earned, negative = spent
  type: PointTransactionType;
  refId: string | null;  // user_referral_relationships.id or redemption id
  note: string | null;
  createdAt: Date;
}
