diff --git a/user.capnp b/user.capnp index 80cce37..123e993 100644 --- a/user.capnp +++ b/user.capnp @@ -8,30 +8,33 @@ using import "role.capnp".Role; interface User { # Intergalactic lifeform that wants to use BFFH - info @0 () -> ( info :Info ); - interface Info $CSharp.name("InfoInterface") { - listRoles @0 () -> ( roles :List(Role) ); - # lists explicit roles for this user. A session may have a number of additional, implicit, - # roles set by their choice of authentication or other context. - } + id @0 () -> ( id :Data ); + # An opaque identifier for an user - passwd @1 () -> ( passwd :Passwd ); - interface Passwd { + name @1 () -> ( name :Text ); + # The human-facing name identifying this user + + roles @3 () -> ( roles :List(Role) ); + # lists explicit roles for this user. A session may have a number of additional, implicit, + # roles set by their choice of authentication or other context. + + selfservice @4 () -> ( selfservice :SelfService ); + interface SelfService { changepw @0 ( old :Text, new :Text ); } - manage @2 () -> ( manage :Manage ); + manage @5 () -> ( manage :Manage ); interface Manage $CSharp.name("ManageInterface") { addRole @0 ( role :Role ); removeRole @1 ( role :Role ); } - admin @3 () -> ( admin :Admin ); + admin @6 () -> ( admin :Admin ); interface Admin $CSharp.name("AdminInterface") { setpw @0 ( new :Text ); } - cardDESFireEV2 @4 () -> ( carddesfireev2 :CardDESFireEV2 ); + cardDESFireEV2 @7 () -> ( carddesfireev2 :CardDESFireEV2 ); interface CardDESFireEV2 $CSharp.name("CardDESFireInterface") { # Card authentication using NXP/MiFare DESFire cards. # These cards have the ability to restrict access for data on the cards using symmetric