Source PR: #16 · docs/rfcs/0013-favourites-api.md · @filvecchiato
Description
A Favourites trait exposes the host's bookmarked-product catalogue: subscribe streams the list, add upserts an entry, forget removes one.
Motivation
Hosts already keep this catalogue, but products cannot read it, so Browse can neither show what is already bookmarked nor add to it.
Requirements
FavouriteProduct { product_id, source, created_at, updated_at }, where source is Remote or Local.
subscribe sends the full list on every change; no pagination.
forget reports NotFound; denial and unsupported-host go through CallError.
- Local to the host instance — no cross-host sync.
Tasks
Source PR: #16 ·
docs/rfcs/0013-favourites-api.md· @filvecchiatoDescription
A
Favouritestrait exposes the host's bookmarked-product catalogue:subscribestreams the list,addupserts an entry,forgetremoves one.Motivation
Hosts already keep this catalogue, but products cannot read it, so Browse can neither show what is already bookmarked nor add to it.
Requirements
FavouriteProduct { product_id, source, created_at, updated_at }, wheresourceisRemoteorLocal.subscribesends the full list on every change; no pagination.forgetreportsNotFound; denial and unsupported-host go throughCallError.Tasks