Skip to content

Commit 4fffeed

Browse files
committed
feat: add rich signatures, schema expansion, and examples
1 parent 1525785 commit 4fffeed

7 files changed

Lines changed: 407 additions & 37 deletions

File tree

samples/HubDocs.Sample/Hubs/ChatHub.cs

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,27 @@ public interface IChatClient
66
{
77
Task Connected(string connectionId);
88
Task ReceiveMessage(string user, string message);
9+
Task ReceiveRichMessage(ChatMessagePayload payload);
910
Task UserJoined(string connectionId);
1011
Task UserLeft(string connectionId);
1112
}
1213

14+
public enum MessagePriority
15+
{
16+
Low = 0,
17+
Normal = 1,
18+
High = 2
19+
}
20+
21+
public class ChatMessagePayload
22+
{
23+
public string User { get; set; } = string.Empty;
24+
public string Message { get; set; } = string.Empty;
25+
public MessagePriority Priority { get; set; } = MessagePriority.Normal;
26+
public DateTimeOffset SentAt { get; set; } = DateTimeOffset.UtcNow;
27+
public List<string> Tags { get; set; } = [];
28+
}
29+
1330
[HubDocs]
1431
public class ChatHub : Hub<IChatClient>
1532
{
@@ -23,6 +40,11 @@ public async Task SendMessage(string user, string message)
2340
await Clients.All.ReceiveMessage(user, message);
2441
}
2542

43+
public async Task SendRichMessage(ChatMessagePayload payload)
44+
{
45+
await Clients.All.ReceiveRichMessage(payload);
46+
}
47+
2648
public async Task JoinRoom(string roomName, List<int> roles)
2749
{
2850
await Groups.AddToGroupAsync(Context.ConnectionId, roomName);

0 commit comments

Comments
 (0)