syntax = "proto3";

package wordle_de;

message Login {
   string username = 1;
   string password = 2;
}

message LoginAck {
  bool loggedIn = 1;
  optional string error = 2;
}

message Guess {
   string guess = 1;
}

message GuessAck {
  enum matchType {
    NO_MATCH = 0;
    MATCH = 1;
    EXACT_MATCH = 2;
  }
  repeated matchType Result = 1;
}

message GameState {
  uint32 tries = 1;
  repeated Guess guesses = 2;
  bool newWord = 3;
}

message GameStateAck {
  bool received = 1;
}

message Message {
  oneof msg {
    Login login = 2;
    LoginAck loginAck = 3;
    Guess guess = 4;
    GuessAck guessAck = 5;
    GameState gameState = 6;
    GameStateAck gameStateAck = 7;
  }
}