From 72c7f378a73314ae805b66f259d5d1869f8939c4 Mon Sep 17 00:00:00 2001 From: Dylan Staley <88163+dstaley@users.noreply.github.com> Date: Thu, 29 Jan 2026 16:30:06 -0600 Subject: [PATCH] fix(backend): Add missing fields to CommercePlan --- .changeset/violet-games-happen.md | 5 +++++ .../backend/src/api/resources/CommercePlan.ts | 16 ++++++++++++++++ packages/backend/src/api/resources/JSON.ts | 3 +++ 3 files changed, 24 insertions(+) create mode 100644 .changeset/violet-games-happen.md diff --git a/.changeset/violet-games-happen.md b/.changeset/violet-games-happen.md new file mode 100644 index 00000000000..9333705c6a3 --- /dev/null +++ b/.changeset/violet-games-happen.md @@ -0,0 +1,5 @@ +--- +'@clerk/backend': patch +--- + +Add missing fields to CommercePlan type. diff --git a/packages/backend/src/api/resources/CommercePlan.ts b/packages/backend/src/api/resources/CommercePlan.ts index 1aaa31fb02b..05083d218a9 100644 --- a/packages/backend/src/api/resources/CommercePlan.ts +++ b/packages/backend/src/api/resources/CommercePlan.ts @@ -62,6 +62,18 @@ export class BillingPlan { * The features the Plan offers. */ readonly features: Feature[], + /** + * The URL of the Plan's avatar image. + */ + readonly avatarUrl: string | null, + /** + * Number of free trial days for this plan. + */ + readonly freeTrialDays: number | null, + /** + * Whether free trial is enabled for this plan. + */ + readonly freeTrialEnabled: boolean, ) {} static fromJSON(data: BillingPlanJSON): BillingPlan { @@ -79,6 +91,7 @@ export class BillingPlan { : null ) as T extends null ? null : BillingMoneyAmount; }; + return new BillingPlan( data.id, data.name, @@ -93,6 +106,9 @@ export class BillingPlan { formatAmountJSON(data.annual_monthly_fee), data.for_payer_type, (data.features ?? []).map(feature => Feature.fromJSON(feature)), + data.avatar_url, + data.free_trial_days, + data.free_trial_enabled, ); } } diff --git a/packages/backend/src/api/resources/JSON.ts b/packages/backend/src/api/resources/JSON.ts index 6128e1ddc16..71e4215264a 100644 --- a/packages/backend/src/api/resources/JSON.ts +++ b/packages/backend/src/api/resources/JSON.ts @@ -851,6 +851,9 @@ export interface BillingPlanJSON extends ClerkResourceJSON { annual_monthly_fee: BillingMoneyAmountJSON | null; for_payer_type: 'org' | 'user'; features?: FeatureJSON[]; + free_trial_days: number | null; + free_trial_enabled: boolean; + avatar_url: string | null; } type BillingSubscriptionItemStatus =