Admin — List Insurance Policies
Query Parameters
A validated 12-digit numeric user identifier.
Every external entry point validates:
- JSON
Deserializeruns [UserId::parse] (outer whitespace trimmed, length and digit-only enforced) via#[serde(try_from = "String")]. - DB
FromSqlruns [UserId::parse] on every row read.
Display / Deref<Target = str> / AsRef<str> / Into<String> are
derived via derive_more — the inner String is pass-through for
every read-only borrow, display, and move-out.
"012345678901"
Sort specification for list endpoints. Read the field names as
"sort on <column> by <direction>".
A half-open time range, with a mandatory start and an optional end.
Designed to be embedded in list/filter query params via #[serde(flatten)].
Deserialize runs [TimeRange::validate] as part of deserialization, so
callers never receive a [TimeRange] that violates start_time <= end_time.