Draft
Conversation
Added a flake and docker compose to help with dev, will probably cherry pick these out later if sov doesn't let me upstream them.
Tested manually, so far all codepaths work. Need to add endpoints.
Added endpoints that allow you to begin and end sessions. Pretty much just bearer auth where you passa UUID back and forth.
Change deserialization errors to return 400 errors rather than 500 errors as they did previously.
Added a patch type to define our update semantics
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Opening a draft PR mostly to give a status update and keep myself organized. This is pretty much all new code, a couple things had to happen to make subscriptions work.
Subscriptions are made up of 2 components, a contract and a subscription:
Logic for lapsing subscriptions has been implemented and tested. There are absolutely better ways to go about implementing it, but until I see a performance reason to do it what we have will work fine.
Kromer Authorization
Authorization for the Kromer V1 API is done using sessions stored on the server. Session IDs are passed as bearer auth.
Contract API
Subscriber API
Websocket API
Let me know what I've missed, I'm sure there are obvious API's that I've forgotten. Will continue to update here as I continue to flesh things out.