Skip to content

GET /resorts endpoint with filtering (Issue #56)#85

Merged
jonathanstelman merged 1 commit intomainfrom
feature/56-get-resorts-endpoint
Mar 21, 2026
Merged

GET /resorts endpoint with filtering (Issue #56)#85
jonathanstelman merged 1 commit intomainfrom
feature/56-get-resorts-endpoint

Conversation

@jonathanstelman
Copy link
Copy Markdown
Owner

Summary

  • Adds GET /resorts endpoint returning all resorts as a JSON array
  • Supports search (name/city/state/country, case-insensitive), multi-value region, and country/state filters
  • Introduces ResortSummary — a lean 18-field projection for map + table use (vs. the full ~70-field Resort model)
  • Resorts loaded once at startup via FastAPI lifespan; filtering is in-memory

Test plan

  • GET /resorts returns all resorts
  • GET /resorts?search=vail matches by name (case-insensitive)
  • GET /resorts?search=vt matches by state
  • GET /resorts?search=canada matches by country
  • GET /resorts?region=West filters single region
  • GET /resorts?region=West&region=Northeast filters multiple regions
  • GET /resorts?country=Canada filters by country
  • GET /resorts?state=CO filters by state
  • Combined filters (region + country) work together
  • No match returns empty array
  • All 16 backend tests pass; pipeline tests unaffected; Black clean

Closes #56

🤖 Generated with Claude Code

- ResortSummary lean projection (18 fields for map/table)
- Filters: search (name/city/state/country), multi-value region, country, state
- Resorts loaded once at startup via FastAPI lifespan
- 12 new tests covering all acceptance criteria

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@jonathanstelman jonathanstelman merged commit 4fff541 into main Mar 21, 2026
6 checks passed
@jonathanstelman jonathanstelman deleted the feature/56-get-resorts-endpoint branch March 21, 2026 22:03
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.

GET /resorts endpoint — basic

1 participant