Skip to content

Upload images for singleImage stats through the player API - #122

Merged
3DExtended merged 1 commit into
mainfrom
claude/single-image-api-upload-81357c
Nov 6, 2026
Merged

3DExtended merged 1 commit into
mainfrom
claude/single-image-api-upload-81357c

Conversation

@3DExtended

Copy link
Copy Markdown
Owner

Summary

  • New POST /api/external/v1/campaigns/{id}/images (characters:write, multipart image, PNG/JPEG ≤ 10 MB). Returns path (relative, for a singleImage stat) and the full imageUrl. Before, an API key could only upload images as note blocks.
  • ToFullImageUrl moved unchanged from the notes controller to ExternalApiControllerBase.
  • App: new apiImageUrl helper keeps full http(s):// links; used where character pictures are shown. Relative paths resolve as before.
  • Docs: character-sheet "Images" section, README, CHANGELOG; the singleImage example no longer suggests a full URL.

Purely additive: no existing endpoint or response changes, no migration.

Tests

  • dotnet test RPGTableHelper.Backend.slnf: all green (333 passed, 1 skipped in Api.Tests), incl. 7 new endpoint tests.
  • flutter test test/helpers/api_image_url_test.dart: green.

🤖 Generated with Claude Code

POST campaigns/{id}/images (characters:write) stores a PNG or JPEG and
returns the relative path for a singleImage stat plus the full link.
Before, a key could only upload images as note blocks, and the app's own
upload takes no API key.

The app now shows full http(s) image links for character pictures as
well; relative paths resolve as before.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Nov 6, 2026

Copy link
Copy Markdown
Contributor

Important

  • Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

Run configuration

  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Repository UI
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: f91ece6e-45ca-4b76-8523-17f7df4e32ac
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Tip

🎯 Customize your risk assessments

Guide how CodeRabbit assesses merge risk and security architecture risk. Highlight sensitive changes and explain your security boundaries using Merge Risk Instructions and Security Risk Instructions in your review settings. Security architecture risk assessments require the Advanced plan or above.

✅ Automatic approvals, with your rules

Let CodeRabbit approve pull requests once required threads are resolved, pre-merge checks pass, and your risk limits are met. Enable Automatic approvals in review settings, with overrides for teams or file paths.

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

@3DExtended
3DExtended merged commit 0095583 into main Nov 6, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant