feat: choose a product's category from the ones T5DE has seen
Pull request / title (pull_request) Successful in 1s
CI / test (pull_request) Successful in 1m8s
CI / image (apps/api/Dockerfile, t5de-hub-api) (pull_request) Skipped
CI / image (apps/web/Dockerfile, t5de-hub-web) (pull_request) Skipped

A product can be filed under another IMVU category than its parent's: any category path the hub has seen on a
revision's parent (and each step of it), within the parent's top-level category, so it stays the same kind of
product (the proxy tells clothing, furniture and rooms apart by category). It's an info field like the others:
lockable, in the history, undone by the same rules. Lists filter by the chosen path, and products show it.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
dhkatzandClaude Opus 5.5 committed 2026-11-05 06:00:04 -08:00
1 parent 8793b5afd8
commit ceceb69eaf
12 files changed
+165 -22

No files matched your search

+3 -2
View File
@@ -87,8 +87,9 @@ sha256 (hex) of `contents` as JSON.
## Products, catalogs and libraries
The routes and tokens are in docs/products.md. Products are `{id, name, description, rating, latest, creator,
creatorUsername, parent, image, categories, status, listed, tags, locked, deleted, removed, publishedAt, createdAt,
updatedAt}`; `parent`, `image` and `categories` come from the latest revision (its IMVU parent's public info).
creatorUsername, parent, image, categories, category, status, listed, tags, locked, deleted, removed, publishedAt,
createdAt, updatedAt}`; `parent` and `image` come from the latest revision (its IMVU parent's public info), and
`categories` too unless a category was chosen for it (`category`).
`GET /api/v1/products` takes `q`, `creator`, `category` (an IMVU category ID), `tag`, `catalog` and `limit` (1-200,
default 60).