api.fabaccess-api/terminalMain.capnp
Nadja von Reitzenstein Čerpnjak 879bc578b2 Make terminalMain.capnp compile
2024-05-07 13:27:21 +02:00

41 lines
1.4 KiB
Cap'n Proto

@0xc71ee8fdf17f8372;
using CSharp = import "programming_language/csharp.capnp";
$CSharp.namespace("FabAccessAPI.Schema");
using import "auth.capnp".Authentication;
using import "auth.capnp".AuthSupported;
using import "resources.capnp".Resources;
using import "projects.capnp".TerminalProjects;
using import "main.capnp".Version;
interface TerminalBootstrap
{
getAPIVersion @0 () -> Version;
# Returns the API version implemented by the server. As a client, you can compare this version with the local currentVersion.
getServerRelease @1 () -> ( name :Text, release :Text );
# Returns the server implementation name and version/build number Designed only for human-facing
# debugging output so should be informative over machine-readable.
# Example: ("bffhd", "0.3.1-f397e1e [rustc 1.57.0 (f1edd0429 2021-11-29)]")
getServerInfo @2 () -> ( spacename :Text, instanceurl :Text );
# Returns information about the server, which can be used to resolve MDNS to DNS and display the server name to the user.
mechanisms @3 () -> AuthSupported;
# Get a list of Mechanisms this server allows in this context.
createSession @4 ( mechanism :Text, upgrade :Text ) -> ( authentication :Authentication(TerminalSession) );
}
struct TerminalSession
{
resources @0 :Resources;
projects @1 :TerminalProjects;
users @2 :TerminalUsers;
}
interface TerminalUsers {
}