api.fabaccess-api/user.capnp
2021-08-27 21:28:31 +02:00

60 lines
1.5 KiB
Cap'n Proto

@0xc7941adf5db6bbf0;
using Rust = import "programming_language/rust.capnp";
$Rust.parentModule("schema");
using CSharp = import "programming_language/csharp.capnp";
$CSharp.namespace("FabAccessAPI.Schema");
using General = import "general.capnp";
using Space = import "space.capnp".Space;
using Role = import "role.capnp".Role;
struct User
{
struct UserInfo
{
id @0 :General.UUID;
username @1 :Text;
space @2 :Space;
}
struct UserInfoExtended
{
id @0 :General.UUID;
firstname @1 :Text;
lastname @2 :Text;
address @3 :Address;
struct Address
{ # TODO POST*CODE
text @0 :Text;
}
}
info @0 :Info;
interface Info $CSharp.name("InfoInterface") {
getUserInfo @0 () -> ( userInfo :UserInfo );
}
manage @1 :Manage;
interface Manage $CSharp.name("ManageInterface") {
getUserInfoExtended @0 () -> ( userInfoExtended :UserInfoExtended );
pwd @1 ( pwd :Text ) -> ();
addRole @2 ( role :Role ) -> ();
removeRole @3 ( role :Role ) -> ();
}
cardDESFireEV2 @2 :CardDESFireEV2;
interface CardDESFireEV2 $CSharp.name("CardDESFireInterface") {
getPIDList @0 () -> ( pids :List(Text) );
getVersion @1 () -> ( version :Text );
getDomain @1 () -> ( Domain :Text );
getPID @2 () -> ( pid :Text );
bind @3 ( pid :Text, auth_key :Text ) -> ();
revoke @4 ( pid :Text ) -> ();
}
}