@0xe89d197dcef9c49b; using CSharp = import "programming_language/csharp.capnp"; $CSharp.namespace("FabAccessAPI.Schema"); using import "resource.capnp".Resource; using import "resource.capnp".RestoredResource; using import "claim.capnp".Claim; using import "utils.capnp".SturdyRef; using import "utils.capnp".Fallible; interface Resources { restore @0 () -> ( resources :List(RestoredResource) ); # Returns the list of valid claims the session owner of this `Resources` currently has. list @1 () -> ( resources :List(Resource) ); # Returns all resources that the user can currently disclose. getByName @2 ( name :Text ) -> ( resource :Resource ); # Returns a NULL capability if the resource doesn't exist or a user doesn't have read permission for that resource. getByUrn @3 ( urn :Text ) -> ( resource :Resource ); # Returns a NULL capability if the resource doesn't exist or a user doesn't have read permission for that resource. getByUrl @4 ( url :Text ) -> ( resource :Resource ); # Returns a NULL capability if the resource doesn't exist or a user doesn't have read permission for that resource. acceptToken @5 ( token :SturdyRef ) -> Fallible(Claim, AcceptTokenError); struct AcceptTokenError { permissionDenied @0 :Void; } }