Skip to content

All Stand APIs#14

Merged
petrubraha merged 5 commits intomainfrom
6-stand-resource-apis
Mar 9, 2026
Merged

All Stand APIs#14
petrubraha merged 5 commits intomainfrom
6-stand-resource-apis

Conversation

@petrubraha
Copy link
Member

@petrubraha petrubraha commented Mar 7, 2026

Summary by CodeRabbit

  • New Features
    • Added Stand management with full CRUD (create, retrieve, update, delete) and list operations.
    • Stands are associated with stores and include identifiers and properties: storeId, standId, articleId, edgeId, sourceNodeDistance, createdAt, updatedAt.
    • List operations support pagination; retrieval operations are read-only where applicable; delete is idempotent.
    • API surfaces include error handling for invalid input, missing resources, conflicts, and internal errors.

@petrubraha petrubraha self-assigned this Mar 7, 2026
@petrubraha petrubraha added the enhancement New feature or request label Mar 7, 2026
@petrubraha petrubraha linked an issue Mar 7, 2026 that may be closed by this pull request
@coderabbitai
Copy link

coderabbitai bot commented Mar 7, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 7d6e8fc4-aded-4d14-a818-49ff0baa53d1

📥 Commits

Reviewing files that changed from the base of the PR and between 3ff883b and 4ec94cc.

📒 Files selected for processing (1)
  • smithy/model/stand/stand-io.smithy
🚧 Files skipped from review as they are similar to previous changes (1)
  • smithy/model/stand/stand-io.smithy

📝 Walkthrough

Walkthrough

Adds a new Stand resource and CRUD Smithy APIs (Create, Get, List, Update, Delete) with input/output shapes, pagination, HTTP bindings, errors, and timestamps; and exposes Stand from the Store resource.

Changes

Cohort / File(s) Summary
Stand API surface
smithy/model/stand/stand-apis.smithy
New Stand resource definition with identifiers (storeId, standId), properties, and five operations (CreateStand, GetStand, ListStands, UpdateStand, DeleteStand) including HTTP bindings, error unions, and traits (@readonly, @paginated, @idempotent).
Stand I/O shapes
smithy/model/stand/stand-io.smithy
Adds input structures for all operations: CreateStandInput, GetStandInput, ListStandsInput (mixes InputPagination), UpdateStandInput, DeleteStandInput with @httpLabel/@httpQuery bindings.
Stand types / pagination
smithy/model/stand/stand-types.smithy
Defines StandSummary, StandSummaryList, and StandSummaries (with OutputPagination) including required timestamps and numeric types.
Store resource extended
smithy/model/store/store-apis.smithy
Imports com.shopping.inandout.stand#Stand and adds resources: [ Stand ] to the Store resource to expose Stand as a sub-resource.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

  • All Store APIs #7: Adds the Store resource/APIs that this change extends by importing and exposing the Stand sub-resource.

Suggested reviewers

  • vardhan3236
  • lefcos
  • narenkarthik370h

Poem

🐰 I hopped in code with pencil bright,
I sketched a Stand by morning light.
CRUD carrots placed in tidy rows,
Timestamps sprout where data grows.
A cheerful hop — the schema's right!

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'All Stand APIs' accurately reflects the main change: introducing comprehensive CRUD API definitions for the Stand resource with CreateStand, GetStand, ListStands, UpdateStand, and DeleteStand operations.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch 6-stand-resource-apis

Comment @coderabbitai help to get the list of available commands and usage tips.

@petrubraha petrubraha moved this from Todo to In Progress in InAndOut-Planning Mar 7, 2026
@petrubraha petrubraha marked this pull request as ready for review March 8, 2026 22:34
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@smithy/model/stand/stand-io.smithy`:
- Around line 29-35: Add a required path label member to ListStandsInput:
declare a new member named storeId of type UUID annotated with
`@httpLabel`("storeId") and make it non-optional (required) so the GET
/stores/{storeId}/stands route can bind the parent store; mirror the pattern
used in GetStandInput/UpdateStandInput/DeleteStandInput to ensure consistency
with existing inputs.
- Around line 9-17: CreateStandInput and ListStandsInput are missing the
required parent identifier used in the operation URIs; add a member named
storeId of type UUID to both shapes and annotate it with `@required` and
`@httpLabel` so the {storeId} URI template parameter is satisfied (mirror how
GetStandInput, UpdateStandInput, and DeleteStandInput declare their storeId
member).

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: f4bd6477-6e2e-4fbc-9eab-41dc91037bd7

📥 Commits

Reviewing files that changed from the base of the PR and between 858d48b and 3ff883b.

📒 Files selected for processing (4)
  • smithy/model/stand/stand-apis.smithy
  • smithy/model/stand/stand-io.smithy
  • smithy/model/stand/stand-types.smithy
  • smithy/model/store/store-apis.smithy

@petrubraha petrubraha merged commit 7458c92 into main Mar 9, 2026
1 check passed
@petrubraha petrubraha deleted the 6-stand-resource-apis branch March 9, 2026 15:33
@github-project-automation github-project-automation bot moved this from In Progress to Done in InAndOut-Planning Mar 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Stand Resource APIs

2 participants