Sitelet https://github.com/basecamp/basecamp-cli/issues/567
Skip to content

Project-scope the five bc messagetypes commands (basecamp-sdk #393 / #368) #567

Description

@jeremy

Message types (categories) are bucket-scoped in the BC3 API. basecamp-sdk modeled them account-scoped, so all five operations 404 against the real API — reported externally as basecamp-sdk#368 and fixed in basecamp-sdk#393 (milestone v0.10.0).

Why this is not a mechanical bump

internal/commands/messagetypes.go calls all five methods with the old arity:

line call
55 MessageTypes().List(cmd.Context(), nil)
97 MessageTypes().Get(cmd.Context(), typeID)
161 MessageTypes().Create(cmd.Context(), req)
221 MessageTypes().Update(cmd.Context(), typeID, req)
264 MessageTypes().Delete(cmd.Context(), typeID)

After #393 each gains a required leading bucketID:

List(ctx, bucketID, opts)   Get(ctx, bucketID, typeID)
Create(ctx, bucketID, req)  Update(ctx, bucketID, typeID, req)  Delete(ctx, bucketID, typeID)

The blocker is that the file contains zero occurrences of project/bucket — the whole bc messagetypes command group is account-scoped, with no --project flag and no project resolution. So there is no value to thread through; project scoping has to be added to five commands (flag, resolution, help text, and whatever --project convention the sibling command groups already use).

Important mitigating context

These commands already 404 in production today — that is exactly what basecamp-sdk#368 reports. So this is not a regression introduced by the SDK bump; the bump surfaces breakage that already exists. Nothing that currently works will stop working.

Current pin

go.mod is at github.com/basecamp/basecamp-sdk/go v0.8.1-0.20260725044648-3d4ec395922c.

Suggested sequencing

Land this before/with the bump to v0.10.0, so bc messagetypes goes from silently-404ing to working in one step.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions