Skip to content

feat: full VB Songs karaoke API coverage#1

Merged
wordsandnumbers merged 2 commits into
mainfrom
feat/full-api-coverage
May 18, 2026
Merged

feat: full VB Songs karaoke API coverage#1
wordsandnumbers merged 2 commits into
mainfrom
feat/full-api-coverage

Conversation

@wordsandnumbers

@wordsandnumbers wordsandnumbers commented May 18, 2026

Copy link
Copy Markdown
Owner

Summary

Brings vbclient to full parity with the VB Songs karaoke API — up from 18 of ~32 endpoints to all of them.

14 new endpoints across 3 new client classes:

  • RoomClientGET /room, GET /service_call, PUT /service_call
  • CurrentSongClientPOST /current_song/{skip,restart,pause,resume}, PUT /audio
  • FeedbackClientGET /feedback/prompts, POST /feedback
  • Added to existing SongClientsearch_autocomplete, roulette, stats, request

Gap fills on existing endpoints (additive, no breaking changes):

  • Session: birth_year/month/day, zip_code, prompt_for_handle_on_every_play
  • Queue: lights_mode/effects, volume, pitch_shift, channels (returned by GET /queue)
  • Play: @JsonAlias({"location"}) so the field finally populates without renaming the existing locaton getter
  • Search: only_with_photo (browse), include_others (history)
  • SessionClient.createSession(Session, existingSessionUuid) overload for session-upgrade flow

Versioning: PR stays on 0.3.0-SNAPSHOT — this is the final feature batch finishing out 0.3.0. After merge, main gets a release commit (pom → 0.3.0, tag v0.3.0) and then bumps to 0.4.0-SNAPSHOT.

Test plan

  • mvn clean compile — all 29 source files build clean on Java 17.
  • mvn test — 28/30 active tests pass against the live sandbox (TEST_ORG_ID = 00…00, TEST_ROOM_CODE = CQFW), including all mutating endpoints (skip/pause/resume/restart, set audio, feedback submit, song request, session-uuid upgrade).
  • 2 service-call tests are @Disabled because the API returns 403 "Service call feature is not available" for the sandbox org — endpoint code is verified by inspection; enable when running against an org with the feature provisioned.
  • mvn packagevbclient-0.3.0-SNAPSHOT.jar + sources jar build clean.

Notes for reviewers

  • POST /songs/request and POST /feedback send JSON bodies (matching Jackson conventions); both verified live against the sandbox.
  • SongStats uses Map<String, Integer> for plays_per_day / plays_per_week plus typed top-level fields — tolerant of unknown keys.
  • New clients follow the existing (String root, String organization) constructor pattern; default root remains https://voiceboxpdx.com.

🤖 Generated with Claude Code

wordsandnumbers and others added 2 commits May 18, 2026 14:41
Adds 14 missing endpoints across 3 new clients (RoomClient,
CurrentSongClient, FeedbackClient) plus autocomplete/roulette/stats/
request methods on SongClient, and fills in previously-missing
parameters and response fields on existing endpoints.

Bumps version to 0.4.0-SNAPSHOT. 28 active integration tests pass
against the sandbox org; 2 service-call tests are gated by a
feature the test org doesn't have provisioned.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This PR finishes out 0.3.0. The release will be cut on main as a
separate commit: pom→0.3.0, tag v0.3.0, then bump to 0.4.0-SNAPSHOT.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@wordsandnumbers wordsandnumbers merged commit 028f0cb into main May 18, 2026
2 checks passed
@wordsandnumbers wordsandnumbers deleted the feat/full-api-coverage branch May 18, 2026 22:23
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