Package-level declarations

Types

Link copied to clipboard
@Serializable
data class Channel(val id: String, val name: String, val description: String? = null, val isPrivate: Boolean = false, val ownerId: UUID, val createdAt: Long = System.currentTimeMillis(), val bannedPlayers: Set<@Serializable(with = UUIDSerializer::class) UUID> = emptySet())

Represents a communication channel within the LunaticChat application.

Link copied to clipboard
data class ChannelContext(val channelId: String, val channel: Channel, val members: List<ChannelMember>)
Link copied to clipboard
@Serializable
data class ChannelData(val version: Int = 1, val channels: Map<String, Channel> = emptyMap(), val members: Map<String, List<ChannelMember>> = emptyMap(), val activeChannels: Map<String, String> = emptyMap())
Link copied to clipboard
@Serializable
data class ChannelMember(val channelId: String, val playerId: UUID, val role: ChannelRole, val joinedAt: Long = System.currentTimeMillis())

Represents a member of a channel with their role and join timestamp.

Link copied to clipboard
@Serializable
data class ChannelMessageLogEntry(val timestamp: String, val playerId: String, val playerName: String, val channelId: String, val message: String)

Represents a single channel message log entry in NDJSON format.

Link copied to clipboard
@Serializable
enum ChannelRole : Enum<ChannelRole>

Represents the role of a user within a channel.