-
-
Notifications
You must be signed in to change notification settings - Fork 347
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
feat: namespace configuration #324
Conversation
I would like to first merge #315 and adjust the query format a bit @robinbraemer |
I assume this is because the server needs the tuples table name of the namespace, right? I will add a comment in the ListRequest that the namespace in object is required. |
Exactly, maybe you even want to split object into |
Even if some queries do not specify an ObjectID, an Object represents a "resource/digital object" in a namespace.
Maybe (or not?), IMO using the Object structure in a Query structure probably helps generally more developers that use and operate on the client side with various Objects from different namespaces (and keep the linking). It allows to just set the It may be a small design detail, but an important one, that makes users more productive. |
It is an important one for sure! |
So I rechecked the paper, there seems to be no use case mentioned where a request is missing an object. Still, we should separate object ID and namespace everywhere IMO because the namespace is coupled in the same way to the relation, and therefore it should not be nested as we first drafted. |
Good, in this case, I'll remove the |
What about Beside this, maybe we should carefully re-read the Read API and re-design the ListRequest based on use cases needed directly described in the paper? Do you find it appropriate at this stage? I'll try to design a Query strictly based on the use cases said in the first lines of |
This is really just the grammar of the language used in the paper and does not have to correspond 💯 % to the underlying data structures. Maybe there is also a limitation of zanzibar that every request has to include an object. But this would not be a) easy to grasp for people and b) technically required. |
How about renaming the string fields |
# Conflicts: # Makefile
# Conflicts: # cmd/relationtuple/get.go # cmd/serve.go # internal/check/engine.go # internal/check/engine_test.go # internal/check/handler.go # internal/expand/engine.go # internal/expand/engine_test.go # internal/expand/handler.go # internal/persistence/memory/relationtuples.go # internal/persistence/memory/relationtuples_test.go # internal/relationtuple/definitions.go # internal/relationtuple/handler.go # internal/relationtuple/relationtuple.pb.go # internal/relationtuple/relationtuple.proto # internal/relationtuple/relationtuple_grpc.pb.go
# Conflicts: # go.mod
Related issue
contributes to #303
Proposed changes
Adding a namespace config schema and required interfaces.
Further comments
The namespace names can be changed while the id always is fixed.