mirror of
https://gitlab.com/fabinfra/fabaccess/fabaccess-api.git
synced 2025-03-12 23:01:47 +01:00
33 lines
1.2 KiB
Cap'n Proto
33 lines
1.2 KiB
Cap'n Proto
@0xbf017710be5a54ff;
|
|
|
|
using Rust = import "programming_language/rust.capnp";
|
|
$Rust.parentModule("schema");
|
|
|
|
using CSharp = import "programming_language/csharp.capnp";
|
|
$CSharp.namespace("FabAccessAPI.Schema");
|
|
|
|
using Authentication = import "authenticationsystem.capnp".Authentication;
|
|
using MachineSystem = import "machinesystem.capnp".MachineSystem;
|
|
using UserSystem = import "usersystem.capnp".UserSystem;
|
|
using PermissionSystem = import "permissionsystem.capnp".PermissionSystem;
|
|
|
|
interface Bootstrap
|
|
{
|
|
mechanisms @0 () -> ( mechs: List(Text) );
|
|
# Get a list of Mechanisms this server allows in this context.
|
|
|
|
createSession @1 ( mechanism :Text, initialData :Data ) -> ( authentication :Authentication);
|
|
# Create a new session with the server that you wish to authenticate using `mechanism`.
|
|
# If the mechanism is a client-first mechanism you MAY set `initialData` to contain the data you
|
|
# want to send. If the mechanism is server-first or you do not wish to send initial data, make
|
|
# initialData a NULL-pointer.
|
|
}
|
|
|
|
struct Session {
|
|
me @0 :Text;
|
|
|
|
machineSystem @1 : MachineSystem;
|
|
userSystem @2 : UserSystem;
|
|
permissionSystem @3 : PermissionSystem;
|
|
}
|