feat: full VB Songs karaoke API coverage#1
Merged
Conversation
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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:
RoomClient—GET /room,GET /service_call,PUT /service_callCurrentSongClient—POST /current_song/{skip,restart,pause,resume},PUT /audioFeedbackClient—GET /feedback/prompts,POST /feedbackSongClient—search_autocomplete,roulette,stats,requestGap fills on existing endpoints (additive, no breaking changes):
Session: birth_year/month/day, zip_code, prompt_for_handle_on_every_playQueue: lights_mode/effects, volume, pitch_shift, channels (returned byGET /queue)Play:@JsonAlias({"location"})so the field finally populates without renaming the existinglocatongetterSearch:only_with_photo(browse),include_others(history)SessionClient.createSession(Session, existingSessionUuid)overload for session-upgrade flowVersioning: PR stays on
0.3.0-SNAPSHOT— this is the final feature batch finishing out 0.3.0. After merge,maingets a release commit (pom → 0.3.0, tagv0.3.0) and then bumps to0.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).@Disabledbecause the API returns403 "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 package—vbclient-0.3.0-SNAPSHOT.jar+ sources jar build clean.Notes for reviewers
POST /songs/requestandPOST /feedbacksend JSON bodies (matching Jackson conventions); both verified live against the sandbox.SongStatsusesMap<String, Integer>forplays_per_day/plays_per_weekplus typed top-level fields — tolerant of unknown keys.(String root, String organization)constructor pattern; default root remainshttps://voiceboxpdx.com.🤖 Generated with Claude Code