From 93f130873eb23357a32cc04269dbf927c9041b17 Mon Sep 17 00:00:00 2001 From: Nadja Reitzenstein Date: Thu, 28 Apr 2022 20:10:06 +0200 Subject: [PATCH] stay backwards compatible --- general.capnp | 6 +++--- usersystem.capnp | 21 +++++++++++++-------- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/general.capnp b/general.capnp index 8819eef..9ce6218 100644 --- a/general.capnp +++ b/general.capnp @@ -39,7 +39,7 @@ struct Fallible(T, E) { # In those cases returning an `Optional` doesn't transfer information about the way that the # operation failed. `Fallible` contains this information in the generic `E` type. union { - successful @0 :T; - failed @1 :E; + failed @0 :E; + successful @1 :T; } -} +} \ No newline at end of file diff --git a/usersystem.capnp b/usersystem.capnp index 722065b..0148425 100644 --- a/usersystem.capnp +++ b/usersystem.capnp @@ -27,14 +27,19 @@ struct UserSystem interface Manage $CSharp.name("ManageInterface") { getUserList @0 () -> ( user_list :List(User) ); - enum AddUserError { - alreadyExists @0; - # An user with that username already exists - usernameInvalid @1; - # The provided username is unusable, e.g. contains invalid characters, - # is too long or too short. - } - addUser @1 (username :Text, password: Text) -> Fallible(User, AddUserError); + addUser @1 (username :Text, password: Text) -> User; removeUser @2 (user: User); + + struct AddUserError { + enum AddUserError { + alreadyExists @0; + # An user with that username already exists + usernameInvalid @1; + # The provided username is unusable, e.g. contains invalid characters, + # is too long or too short. + } + error @0 :AddUserError; + } + addUserFallible @3 (username :Text, password: Text) -> Fallible(User, AddUserError); } }