Files
zeekayandHanzo Dev 38cc55ce9f Serve no annual price as null, not $0
GET /v1/billing/plans served priceAnnual 0 for advisory, dedicated and
enterprise, where the catalog states null: the wire type was a plain
int64, so an absent annual price became a $0 one, which on a plan that
charges advertises a free year of it.

PlanView.PriceAnnual is now *int64 and the embed keeps the catalog's
null. The row keeps money non-nullable and stores "none" as zero, as it
stores a sales call's price beside ContactSales; annualOf reads a zero
annual price on a plan that charges back as null, so the seeded
authority the endpoint reads answers what the embed does. Charging is
unchanged: a year still bills AnnualTotal and is refused where that is 0.

TestAnnualPriceIsTheCatalogs marshals the embed and the seeded authority
through ReadPlans and requires every plan's priceAnnual to be the
catalog's, null included.

Co-authored-by: Hanzo Dev <[email protected]>
2026-09-23 22:17:19 -07:00
..
2026-09-23 21:52:16 -07:00
2026-09-23 21:52:16 -07:00
2026-09-23 22:17:19 -07:00
2026-09-23 21:52:16 -07:00
2026-09-23 21:52:16 -07:00