Skip to content
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

Improve API (API 1.1) #421

Draft
wants to merge 16 commits into
base: next
Choose a base branch
from
Draft

Improve API (API 1.1) #421

wants to merge 16 commits into from

Conversation

krestenlaust
Copy link
Member

@krestenlaust krestenlaust commented Apr 7, 2024

#420 aims to document the API. This PR addresses inconsistencies found during that documentation effort. Both in implementation and in the actual API.

It increments the API versioning to 1.1

The other endpoints use 'Invalid ID' to signify either missing or
invalid. This endpoint used to use 'Invalid Username' to signify that the
member does not exist, while the other's would've used 'Member not
found' for that.
krestenlaust added a commit that referenced this pull request Apr 8, 2024
There's an inconsistency in whether to call a member a user. Generally,
users are the ones with admin access, while members are the customers.
Even though it's a bool, I believe it's more appropriate to keep the
naming consistent with non-bool return types. Also, it still returns an
object.
I won't rename the actual endpoint because of backwards compatibility.
@krestenlaust
Copy link
Member Author

QR-endpoint apparently uses Stregdollars as opposed to Stregøre. I feel like streamlining this is too big a change.
The QR-endpoint also takes a member parameter, which will probably be renamed to username to streamline with other Member API-methods. (member will probably still be supported)

@krestenlaust
Copy link
Member Author


Changed response text on error to this format

More meaningful response in Active Products-endpoint, now returns {"1":
{"name": "Beer", "price": 600}}, instead of {"1": ["Beer", 600]}
@krestenlaust
Copy link
Member Author

Changed response format for Active Products-endpoint:
{"1": {"name": "Test ØL", "price": 100}, "2": {"name": "Kold Kaffe", "price": 200}, "3": {"name": "Fadøl", "price": 1500}, "13": {"name": "Fake ØL", "price": 300}, "32": {"name": "Kold Kaffe", "price": 200}, "34": {"name": "Fnugfald", "price": 0}}

Instead of {"1": ["Test ØL", 100], ...}

@krestenlaust
Copy link
Member Author

Changed format for Category_mapping endpoint output:
{"1": [], "2": [], "3": [], "13": [], "32": [[6, "kaffe"]], "33": [], "34": []} -> {"1": [], "2": [], "3": [], "13": [], "32": [{"category_id": 6, "category_name": "kaffe"}], "33": [], "34": []}

Much more verbose, but it's more like the other endpoints. Considering changing it to not return products which don't have any mapped categories

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant