diff --git a/MareSynchronosAPI/Data/Enum/TypingScope.cs b/MareSynchronosAPI/Data/Enum/TypingScope.cs new file mode 100644 index 0000000..cb9e002 --- /dev/null +++ b/MareSynchronosAPI/Data/Enum/TypingScope.cs @@ -0,0 +1,9 @@ +namespace MareSynchronos.API.Data.Enum; + +public enum TypingScope +{ + Unknown = 0, + Proximity = 1, // Parler/Crier/Hurler + Party = 2, + CrossParty = 3 +} diff --git a/MareSynchronosAPI/Dto/User/TypingStateDto.cs b/MareSynchronosAPI/Dto/User/TypingStateDto.cs index 1865435..ce09edb 100644 --- a/MareSynchronosAPI/Dto/User/TypingStateDto.cs +++ b/MareSynchronosAPI/Dto/User/TypingStateDto.cs @@ -1,11 +1,13 @@ using MareSynchronos.API.Data; +using MareSynchronos.API.Data.Enum; using MessagePack; namespace MareSynchronos.API.Dto.User; [MessagePackObject(keyAsPropertyName: true)] -public record TypingStateDto(UserData User, bool IsTyping) +public record TypingStateDto(UserData User, bool IsTyping, TypingScope Scope) { public UserData User { get; set; } = User; public bool IsTyping { get; set; } = IsTyping; + public TypingScope Scope { get; set; } = Scope; } diff --git a/MareSynchronosAPI/SignalR/IMareHub.cs b/MareSynchronosAPI/SignalR/IMareHub.cs index e0acff8..696f0a4 100644 --- a/MareSynchronosAPI/SignalR/IMareHub.cs +++ b/MareSynchronosAPI/SignalR/IMareHub.cs @@ -131,6 +131,7 @@ public interface IMareHub Task UserSetProfile(UserProfileDto userDescription); Task UserSetTypingState(bool isTyping); + Task UserSetTypingState(bool isTyping, TypingScope scope); Task CharaDataCreate(); Task CharaDataUpdate(CharaDataUpdateDto updateDto); Task CharaDataDelete(string id);