Allow using Bytes as well as String/ID for the id of entities#3271
Merged
Allow using Bytes as well as String/ID for the id of entities#3271
Bytes as well as String/ID for the id of entities#3271Conversation
This was referenced Feb 24, 2022
dotansimha
approved these changes
Feb 24, 2022
evaporei
reviewed
Feb 24, 2022
evaporei
reviewed
Feb 24, 2022
| } else { | ||
| // For interfaces that are not implemented at all, pretend | ||
| // they have a String `id` field | ||
| // see also: id-type-for-unimplemented-interfaces |
Contributor
There was a problem hiding this comment.
Woah I like this, less cryptic than the UUIDs 😅
evaporei
reviewed
Feb 24, 2022
evaporei
reviewed
Feb 24, 2022
When validating an entity, consult the schema to determine the type of the id attribute rather than hardcoding it to `ValueType::String` Also move the `scalar_value_type` into `Entity.validate` since that's the only place where it was used.
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.
This PR makes it possible to declare entities with an
idtype ofBytes; building on previous support that was committed a long time ago, with this PR, theBytesare not converted to a string before handing them to mappings. Instead, such entities show up in the mappings with a bytes value for their ID. Companion PR's forgraph-tsandgraph-cliwill make that more usable.An example of what it takes to convert a subgraph to all
Bytesids can be found here