Type Alias PremiumFunctionsInput<T, I>

PremiumFunctionsInput<T, I>: {
    adjustCustomerBalance: {
        auth: string;
        body: AdjustCustomerBalanceBody;
    };
    cancelSubscription: {
        auth: string;
        immediately?: boolean;
        subscriptionId: string;
    };
    changePaymentMethods: {
        auth: string;
    };
    changePremiumData: {
        auth: string;
        body: UpdatePremiumData<T>;
        id: string;
        type: T;
    };
    changeSubscriptionAddons: {
        auth: string;
        body: ChangeSubscriptionAddonsBody;
    };
    changeSubscriptionTier: {
        auth: string;
        body: ChangeSubscriptionTierBody;
    };
    createCheckoutSession: {
        auth: string;
        body: CreateCheckoutSessionBody<T>;
        type: T;
    };
    getAllUserSubscriptions: {
        auth: string;
        force?: boolean;
    };
    getPremiumPlan: {
        includeFreeAmountOfAddons?: I;
        planId: string;
    };
    getPremiumPlans: {
        includeUnreleased?: boolean;
        refreshCache?: boolean;
    };
    getPremumData: {
        auth: string;
        id: string;
        type: T;
    };
    getSupportPremiumGuild: {
        auth: string;
        guildId: string;
    };
    getSupportPremiumGuilds: {
        auth: string;
    };
    syncStripeSubscriptions: {
        auth: string;
    };
    syncSupportRoles: {
        auth: string;
    };
    syncSupportRolesFor: {
        auth: string;
        discordId: string;
    };
}

Type Parameters

  • T extends "guild" | "user" = never
  • I extends boolean = never

Type declaration

  • adjustCustomerBalance: {
        auth: string;
        body: AdjustCustomerBalanceBody;
    }
  • cancelSubscription: {
        auth: string;
        immediately?: boolean;
        subscriptionId: string;
    }
    • auth: string
    • Optionalimmediately?: boolean
    • subscriptionId: string
  • changePaymentMethods: {
        auth: string;
    }
    • auth: string
  • changePremiumData: {
        auth: string;
        body: UpdatePremiumData<T>;
        id: string;
        type: T;
    }
  • changeSubscriptionAddons: {
        auth: string;
        body: ChangeSubscriptionAddonsBody;
    }
  • changeSubscriptionTier: {
        auth: string;
        body: ChangeSubscriptionTierBody;
    }
  • createCheckoutSession: {
        auth: string;
        body: CreateCheckoutSessionBody<T>;
        type: T;
    }
  • getAllUserSubscriptions: {
        auth: string;
        force?: boolean;
    }
    • auth: string
    • Optionalforce?: boolean
  • getPremiumPlan: {
        includeFreeAmountOfAddons?: I;
        planId: string;
    }
    • OptionalincludeFreeAmountOfAddons?: I
    • planId: string
  • getPremiumPlans: {
        includeUnreleased?: boolean;
        refreshCache?: boolean;
    }
    • OptionalincludeUnreleased?: boolean

      Include everything, not just what a customer should see: disabled tiers, inactive addons, features still launch-gated to 'off'/'beta', and rows flagged showOnPricing: false. For admin views; leave unset for the public pricing page.

    • OptionalrefreshCache?: boolean

      Misnomer kept for compatibility - it maps to the API's all flag and refreshes no cache. Use includeUnreleased.

  • getPremumData: {
        auth: string;
        id: string;
        type: T;
    }
    • auth: string
    • id: string
    • type: T
  • getSupportPremiumGuild: {
        auth: string;
        guildId: string;
    }
    • auth: string
    • guildId: string
  • getSupportPremiumGuilds: {
        auth: string;
    }
    • auth: string
  • syncStripeSubscriptions: {
        auth: string;
    }
    • auth: string
  • syncSupportRoles: {
        auth: string;
    }
    • auth: string
  • syncSupportRolesFor: {
        auth: string;
        discordId: string;
    }
    • auth: string
    • discordId: string