MCPcopy Create free account
hub / github.com/basecamp/hey-cli / resolveBox

Function resolveBox

internal/cmd/box.go:123–194  ·  view source on GitHub ↗

resolveBox fetches a box by name or ID, using named SDK getters for well-known box names to avoid an extra List API call.

(ctx context.Context, nameOrID string)

Source from the content-addressed store, hash-verified

121// resolveBox fetches a box by name or ID, using named SDK getters for
122// well-known box names to avoid an extra List API call.
123func resolveBox(ctx context.Context, nameOrID string) (*generated.BoxShowResponse, error) {
124
125 // Numeric ID: fetch directly
126 if id, err := strconv.ParseInt(nameOrID, 10, 64); err == nil {
127 resp, err := sdk.Boxes().Get(ctx, id, nil)
128 if err != nil {
129 return nil, convertSDKError(err)
130 }
131 return resp, nil
132 }
133
134 // Named getter for well-known boxes (saves a List call)
135 switch strings.ToLower(nameOrID) {
136 case "imbox":
137 resp, err := sdk.Boxes().GetImbox(ctx, nil)
138 if err != nil {
139 return nil, convertSDKError(err)
140 }
141 return resp, nil
142 case "feedbox", "the feed":
143 resp, err := sdk.Boxes().GetFeedbox(ctx, nil)
144 if err != nil {
145 return nil, convertSDKError(err)
146 }
147 return resp, nil
148 case "trailbox", "paper trail":
149 resp, err := sdk.Boxes().GetTrailbox(ctx, nil)
150 if err != nil {
151 return nil, convertSDKError(err)
152 }
153 return resp, nil
154 case "asidebox", "set aside":
155 resp, err := sdk.Boxes().GetAsidebox(ctx, nil)
156 if err != nil {
157 return nil, convertSDKError(err)
158 }
159 return resp, nil
160 case "laterbox", "reply later":
161 resp, err := sdk.Boxes().GetLaterbox(ctx, nil)
162 if err != nil {
163 return nil, convertSDKError(err)
164 }
165 return resp, nil
166 case "bubblebox", "bubbled up":
167 resp, err := sdk.Boxes().GetBubblebox(ctx, nil)
168 if err != nil {
169 return nil, convertSDKError(err)
170 }
171 return resp, nil
172 }
173
174 // Unknown name: list-then-filter fallback
175 result, err := sdk.Boxes().List(ctx)
176 if err != nil {
177 return nil, convertSDKError(err)
178 }
179
180 lower := strings.ToLower(nameOrID)

Callers 1

runMethod · 0.85

Calls 1

convertSDKErrorFunction · 0.85

Tested by

no test coverage detected