[api] catalog loader

This commit is contained in:
Devin Zuczek
2026-09-15 23:39:38 -04:00
parent a3d026743a
commit 61bf09d18e
7 changed files with 289 additions and 42 deletions
+4 -2
View File
@@ -202,8 +202,10 @@ inconsistency here without checking the client first.
FIRST-PARTY item (imported from the official export, Coach-authored, its own `OutfitType`) has
those four NULL and is rendered from `CurrentSaves` — one built Unity assetbundle per
`BodyType`, which the client picks by the wearer's body. The row is the record as JSON, so an
import is the export verbatim (`apps/api/scripts/import-custom-avatar-items.ts` writes the
migration; re-importing an id replaces it). Serve both through one shape: the shirt carries
import is the export verbatim except that `CreatorAccountId` is forced to 1, the Coach — which
is what files it as stock content and whom a sale pays (`just cai-load` loads it;
`apps/api/scripts/import-custom-avatar-items.ts` writes a migration; re-importing an id
replaces it). Serve both through one shape: the shirt carries
empty `CurrentSaves`/`Tags` and null `CustomBadgeMetadata`, never a missing key. The saves
name their assetbundles and thumbnails by bare filename; storing the record does nothing
about serving those files.