Table of Contents

Namespace EchoHub.Core.DTOs

Classes

ApiResponse
ApiResponse<T>
AssignRoleRequest
AttachmentDto

A file attached to a message. AsciiPreview holds the color-tag art for images (null otherwise). For end-to-end encrypted channels the content behind Url and the preview are ciphertext the server cannot read.

AvatarUploadResponse
BanRequest
ChannelCryptoDto

Public crypto metadata for a channel — enough for a client to derive its join credential from a passphrase. Never includes the wrapped room key.

ChannelDto
ChannelMetaDto

Human-facing summary of a channel (the /meta command). For encrypted channels the server still knows these figures — count, timestamps, and stored blob sizes — even though it cannot read the content itself. EstimatedSizeBytes is the sum of stored attachment blob sizes plus message text length, so it is an estimate, not an exact on-disk total.

ChannelOperationResult
CreateChannelRequest
CreateInviteRequest
DeleteAccountRequest

Password re-confirmation for destructive self-service account actions.

EmbedDto
EncryptionKeyResponse
ErrorResponse
ExportedAttachmentDto
ExportedMessageDto
InviteDto
JoinChannelResult
KickRequest
LoginRequest
LoginResponse
MessageDto
MuteRequest
PaginatedResponse<T>
RefreshRequest
RegisterRequest
RekeyChannelRequest

Passphrase change for an encrypted channel: the client proves knowledge of the old passphrase (old auth key), then supplies the re-wrapped room key under the new one.

ReplyRefDto

Reference to the message a reply targets. Content is treated exactly like message content on the wire: transport-encrypted, and for end-to-end encrypted rooms it is room ciphertext the client must decrypt (the server truncates only plaintext snippets). Null on a MessageDto when the original message no longer exists.

SendMessageRequest
SendUrlRequest
ServerStatusDto
UpdateProfileRequest
UpdateStatusRequest
UpdateTopicRequest
UserDataExportDto

Everything the server holds about a user, as stored. For end-to-end encrypted rooms the message content in here is room ciphertext — the server cannot include plaintext it never had.

UserDto
UserOperationResult
UserPresenceDto
UserProfileDto

Enums

ChannelError
UserError