UserService

interface UserService

Inheritors

Properties

Link copied to clipboard
abstract val userPresence: StateFlow<Map<UserId, PresenceEventContent>>

Functions

Link copied to clipboard
abstract fun canBanUser(roomId: RoomId, userId: UserId): Flow<Boolean>
Link copied to clipboard
abstract fun canInvite(roomId: RoomId): Flow<Boolean>
Link copied to clipboard
abstract fun canInviteUser(roomId: RoomId, userId: UserId): Flow<Boolean>
Link copied to clipboard
abstract fun canKickUser(roomId: RoomId, userId: UserId): Flow<Boolean>
Link copied to clipboard
abstract fun canRedactEvent(roomId: RoomId, eventId: EventId): Flow<Boolean>
Link copied to clipboard
abstract fun canSendEvent(roomId: RoomId, eventClass: KClass<out EventContent>): Flow<Boolean>
Link copied to clipboard
inline fun <C : EventContent> UserService.canSendEvent(roomId: RoomId): Flow<Boolean>
Link copied to clipboard
abstract fun canSetPowerLevelToMax(roomId: RoomId, userId: UserId): Flow<Long?>
Link copied to clipboard
abstract fun canUnbanUser(roomId: RoomId, userId: UserId): Flow<Boolean>
Link copied to clipboard
abstract fun <C : GlobalAccountDataEventContent> getAccountData(eventContentClass: KClass<C>, key: String = ""): Flow<C?>
Link copied to clipboard
inline fun <C : GlobalAccountDataEventContent> UserService.getAccountData(key: String = ""): Flow<C?>
Link copied to clipboard
abstract fun getAll(roomId: RoomId): Flow<Map<UserId, Flow<RoomUser?>>>
Link copied to clipboard
abstract fun getAllReceipts(roomId: RoomId): Flow<Map<UserId, Flow<RoomUserReceipts?>>>
Link copied to clipboard
abstract fun getById(roomId: RoomId, userId: UserId): Flow<RoomUser?>
Link copied to clipboard
abstract fun getPowerLevel(roomId: RoomId, userId: UserId): Flow<Long>
abstract fun getPowerLevel(userId: UserId, roomCreator: UserId, powerLevelsEventContent: PowerLevelsEventContent?): Long
Link copied to clipboard
abstract fun getReceiptsById(roomId: RoomId, userId: UserId): Flow<RoomUserReceipts?>
Link copied to clipboard
abstract suspend fun loadMembers(roomId: RoomId, wait: Boolean = true)