@0xb61c6ec239895b01;

using CSharp = import "programming_language/csharp.capnp";
$CSharp.namespace("FabAccessAPI.Schema");

using import "utils.capnp".L10NString;
using import "user.capnp".User;

interface Role {
    # A role in the FA authorization context

    id @0 () -> ( id :Data );

    name @1 () -> ( name :L10NString );
    # The localized name of a role

    admin @2 () -> ( admin :Admin );
}

interface Admin $CSharp.name("AdminInterface") {
    members @0 () -> ( members :List(User) );
    addUser @1 ( user :User ) -> ();
    removeUser @2 ( user :User ) -> ();
}