stay backwards compatible

This commit is contained in:
Nadja Reitzenstein 2022-04-28 20:10:06 +02:00
parent 750ae0c34b
commit 93f130873e
2 changed files with 16 additions and 11 deletions

View File

@ -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;
}
}
}

View File

@ -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);
}
}