Skip to content

Conversation

jwilkinson87
Copy link
Contributor

This pull request introduces support for including and hydrating Appointment resources within Operation entities in the codebase. It adds the necessary data model, updates the router and response handling to support the new relationship, and provides comprehensive test coverage to ensure correct deserialization and integration.

The most important changes are:

Appointment Model and Relationship Integration:

  • Added a new Appointment data class in com.ctrlhub.core.projects.appointments.response, representing appointment details and supporting JSON:API serialization/deserialization.
  • Updated the Operation model to include an appointment relationship, allowing operations to reference an associated appointment if present. [1] [2]

Router and API Enhancements:

  • Modified OperationsRouter to support fetching and hydrating Appointment resources as included relationships, and registered Appointment as a recognized resource type for deserialization. [1] [2]
  • Extended the OperationIncludes enum to support including appointments in API requests.

Testing and CI Improvements:

  • Added a new test case in OperationsRouterTest to verify that operations with included appointments are correctly retrieved and hydrated, using a new example JSON fixture. [1] [2]
  • Introduced a new GitHub Actions CI workflow that runs tests on pushes and pull requests, and sends notifications to Slack for test start, pass, and failure events.

Copy link

There is a problem with the Gemini CLI PR review. Please check the action logs for details.

@andrew-waters
Copy link
Member

Good that we've got properties as another include here - that'll be handy :)

@jwilkinson87 jwilkinson87 merged commit 6c96c2a into main Aug 14, 2025
2 checks passed
@jwilkinson87 jwilkinson87 deleted the feat/support-appointments branch August 14, 2025 14:26
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.

2 participants