Files
EchoHub/auriondocs/Code/src/EchoHub.Core/Models/Channel.cs.md
T
2026-07-23 09:48:40 +00:00

1013 B

Channel

File: src/EchoHub.Core/Models/Channel.cs
Kind: class

public class Channel

Channel models a chat channel within EchoHub's chat surface. It exposes an identifier Id (Guid), a required Name (string), an optional Topic (string?), and a flag IsPublic (bool) that defaults to true. The model also supports server-managed channels via IsSystem (bool), which are auto-created and read-only for all roles; users cannot create them. When a channel is password-protected, PasswordHash (string?) stores the hashed password. For end-to-end encryption, the envelope is represented by EncryptionSalt (string?) and WrappedRoomKey (string?), both client-generated so that the server never has access to the room content. Creation metadata is captured by CreatedAt (DateTimeOffset) and CreatedByUserId (Guid). The Messages collection (List<Message>) contains the related Message entities that belong to this channel.