api.fabaccess-api/resources.capnp
Nadja von Reitzenstein Čerpnjak 1378c8722d Make compile
2024-04-16 15:03:10 +02:00

34 lines
1.3 KiB
Cap'n Proto

@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;
}
}