commit 1665548581a8ee9582ff943ffa625bcc13d59960
parent c85bc0545b801fd9c425640c29d7d2d483cf51b6
Author: triesap <tyson@radroots.org>
Date: Sat, 8 Aug 2026 00:50:27 +0000
feat(mobile): expose typed Today rendering fields
- preserve Event and FoodAvailability locations in projected cards
- expose focused price, currency, unit, and quantity values through UniFFI
- keep older stored projections compatible through optional serde fields
- cover exact rendering-field projection with focused protocol tests
Diffstat:
1 file changed, 10 insertions(+), 0 deletions(-)
diff --git a/core/crates/tera_ffi/src/dto.rs b/core/crates/tera_ffi/src/dto.rs
@@ -403,6 +403,11 @@ pub struct FfiTodayCardRecord {
pub effective_at_unix_s: u64,
pub event_start_unix_s: Option<u64>,
pub event_end_unix_s: Option<u64>,
+ pub location: Option<String>,
+ pub price_amount: Option<String>,
+ pub price_currency: Option<String>,
+ pub price_unit: Option<String>,
+ pub quantity: Option<String>,
pub context_rank: u8,
pub inclusion_reason: String,
pub media: Vec<FfiMediaReferenceRecord>,
@@ -432,6 +437,11 @@ impl From<TodayCard> for FfiTodayCardRecord {
effective_at_unix_s: card.effective_at,
event_start_unix_s: card.event_start,
event_end_unix_s: card.event_end,
+ location: card.location,
+ price_amount: card.price_amount,
+ price_currency: card.price_currency,
+ price_unit: card.price_unit,
+ quantity: card.quantity,
context_rank: card.context_rank.value(),
inclusion_reason: card.inclusion_reason,
media: card.media.into_iter().map(Into::into).collect(),