api icon indicating copy to clipboard operation
api copied to clipboard

Optionally return status on WriteRelationships

Open benvernier-sc opened this issue 9 months ago • 1 comments

This PR is part of a proof of concept for https://github.com/authzed/spicedb/issues/1903.

It adds a with_status boolean field on WriteRelationshipsRequest, and creates a new RelationshipUpdateStatus type that gets included in WriteRelationshipsResponse if with_status was true in the request.

There are 4 possible statuses:

  • no_op: the input operation was a no-op (either a TOUCH on a relation that already existed as-is, or a DELETE on a relation that didn't exist, I didn't differentiate between them),
  • created: the input operation led to a relationship being created (from either a CREATE or TOUCH),
  • deleted: the input operation led to a relationship being deleted (from a DELETE),
  • updated: the input operation led to a relationship being updated, and the status includes both the old and the new relationships (from a TOUCH where caveats differed from what was stored).

benvernier-sc avatar May 21 '24 04:05 benvernier-sc