Extend TypeScript client and add Leaflet asset demo.
CI / test (pull_request) Successful in 3s

This adds typed asset APIs to the geo client, covers the 3D/image upload-share flow in integration tests, and introduces a simple Leaflet web demo that places objects on map features and manages sharing visibility via backend links.

Made-with: Cursor
This commit is contained in:
2026-03-02 21:21:52 +00:00
parent f6f46f6db1
commit 1292f204a4
14 changed files with 1009 additions and 47 deletions
+27
View File
@@ -43,3 +43,30 @@ docker compose up --build -d
- create asset and get signed upload URL
- upload file with PUT
- request `/v1/assets/{id}/download`
## Quick verification script
Use this as a smoke-check after startup:
```bash
# 1) check API and MinIO UI reachability
curl -fsS http://localhost:8122/healthz
curl -I http://localhost:8774
# 2) ensure MinIO S3 API is not exposed on host
if curl -fsS http://localhost:9000/minio/health/live >/dev/null 2>&1; then
echo "Unexpected: MinIO S3 API is exposed on host"
else
echo "OK: MinIO S3 API is internal-only"
fi
```
## Troubleshooting
- If `api` fails with storage config errors, verify `S3_*` variables in compose environment.
- If bucket bootstrap fails, inspect:
- `docker compose logs minio`
- `docker compose logs minio-init`
- If signed URLs are generated but upload fails, check:
- object key path style (`S3_USE_PATH_STYLE=true` for MinIO)
- MinIO credentials (`S3_ACCESS_KEY`, `S3_SECRET_KEY`)