fandwill-vo
Value objects for the Fandwill platform HTTP API: shared request/response types with serde, validation via garde, and OpenAPI schemas via utoipa.
Use the same crate version in the Fandwill backend, future Rust SDK, and any Dart (or other) clients generated from the API contract.
Installation
[]
= "0.5"
Serde only (no validation or OpenAPI derives):
= { = "0.5", = false }
| Feature | Default | Description |
|---|---|---|
garde |
yes | Field validation via garde::Validate |
utoipa |
yes | OpenAPI schemas via utoipa::ToSchema |
Modules
| Module | Types (examples) |
|---|---|
auth |
SignUpVO, SignInVO, SignUpResponseVO, SignInResponseVO |
collections |
AddToCollectionRequest, CollectionEntryVO |
listings |
ListingsVO, ListingCapabilitiesVO, UpdateListingCapabilitiesVO, ListingsQuery |
pagination |
PaginationParams, PageInfo, PagedResponse<T> |
users |
UserVO, UpdateUserProfileVO, UserCapabilitiesVO |
resources |
ResourceVO, ResourceUploadVO, CreateResourceVO |
reviews |
CreateReviewVO, ReviewReplyVO, ReviewsVO, ReviewFilter |
meta |
RootResponse, RootLimits |
notifications |
NotificationVO, NotificationPayloadVO, NotificationsQuery |
Request types may derive garde::Validate; API types used in OpenAPI derive utoipa::ToSchema.
Example
use SignUpVO;
use Validate;
Stability
The crate is currently in the 0.x series. Minor releases may include contract changes while the HTTP API stabilizes; read the changelog before upgrading.
Workspace
Part of the Fandwill Rust SDK repository.
License
Licensed under either of Apache License, Version 2.0 or MIT license, at your option. See LICENSE-APACHE and LICENSE-MIT in the repository.
Trademark
Fandwill is a brand of Furlink. This license does not grant permission to use Fandwill trademarks, logos, or branding except as needed to describe interoperability with the Fandwill platform. Do not imply endorsement or an official relationship without written permission from Furlink.