-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add probation teams API (and APIDocs) #56
Conversation
e87a855
to
61c9d8a
Compare
The `APIDocs` class will set the Structurizr property called `api-docs-url`. The intent is to capture the "default" API docs URLs for C4 containers that are exposing HMPPS-usable APIs. Later, it may be possible to pull this information based on GitHub repository links, but for now, manual fill seems appropriate. The existence of this also allows for people to _search_ for `API` and get results within the codebase -- if they'd like to find out what APIs exist.
61c9d8a
to
0ccd17f
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍 this provides a nice, consistent interface to add API docs.
My gut reaction was: could we add this to our HMPPSSoftwareSystem
interface, so it becomes an attribute of our object rather than a functional wrapper? Obviously that doesn't work in this case because we want to add API doc URLs to containers as well as systems, so is it highlighting the need for a container abstraction?
This does make me wonder:
- Should we be expanding our abstraction layer to include containers, and/or
- Is this a useful abstraction to push upstream?
It feels like we're unlikely to be the only users of this building additional tooling for this, and it'd be amazing if what we build here could end up helping other Structurizr/C4 developers.
Anyway, they're more grand thoughts than a review! This is spot-on while we consider the wider architecture, as it'll make identifying and refactoring API URLs much easier if/when we need to.
Thanks, Ryan! Good points -- I've extracted it to #58 for discussion 🙇♂️ |
🙇♂️ Thank you! |
What does this pull request do?
Adds the https://github.com/ministryofjustice/probation-teams API to the model.
API docs
This pull request introduces the
APIDocs
class, which sets the Structurizr propertyapi-docs-url
. Please refer to the full details in ba50bf5.What is the intent behind these changes?
To make sure we can discover all APIs from this repository.
Outstanding questions
API.addTo(this)
?)APIDocs
object solves this -- anything with an API docs link is an API.