refactor: Clarify draft types & naming #924
Merged
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.
Previously a draft was a Message, which is a much more complex data
structure received from the server with differently-named fields. The
draft system only requires the data which is subsequently sent via
the send_message API call, so a simpler API-specific set of data
structures are created and used for drafts named ~ Composition.
Other than typing, the new data structures allow space to define where
we wish to move to use newer API forms (ids vs strings) in future. An
extra 'stream_id' field is present in StreamComposition, not present in
the API, until we migrate to use IDs.
To emphasize the message/draft distinction and migration, variable names
are also updated to match.