Abstract Backend APIs into usable objects.
The pluggable api model is working well but returns full dictionaries of parameters that then require various manipulations and keyword accessing by everything that wants to use it. This requires a fairly indepth knowledge of the structure that is being returned from the API. This information should be abstracted into an object that can be manipulated regardless of how the dictionary or api version is formed.
For example the Token API returns a hash with information at least close to the V3 api. Firstly this will then have to change if we go to a v4 api and it means that everything working with a token has to know the layout of the token dictionary. Abstracting this into an object would mean:
- breaking the tie between backend API and rest API, conversion functions if necessary would live on the object.
- simpler interfaces, particularly for contrib or things that just need to read information from the token.
- a simpler way of providing common methods than putting them into the api.
- an object orientated approach.
- So far we have the C in MVC, this is providing the M and whilst useful now it will also make it easier to interface with pecan or whatever comes if necessary.
Every problem can be solved with another layer of abstraction.
This is not a transition that should need to happen in a big hit, we can do all this incrementally as we will keep the current api interfaces.
Blueprint information
- Status:
- Complete
- Approver:
- None
- Priority:
- Undefined
- Drafter:
- Jamie Lennox
- Direction:
- Needs approval
- Assignee:
- None
- Definition:
- Obsolete
- Series goal:
- None
- Implementation:
- Unknown
- Milestone target:
- None
- Started by
- Completed by
- Dolph Mathews
Related branches
Related bugs
Sprints
Whiteboard
Gerrit topic: https:/
Addressed by: https:/
Rework dependency injection.
Addressed by: https:/
Create a Credential Model.
Marking as obsolete since the above reviews appear to be intentionally abandoned.