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 canSendMessages(roomId: RoomId): Flow<Boolean>
Link copied to clipboard
abstract fun canSetPowerLevelToMax(roomId: RoomId, userId: UserId): Flow<Int?>
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 getById(roomId: RoomId, userId: UserId): Flow<RoomUser?>
Link copied to clipboard
abstract fun getPowerLevel(roomId: RoomId, userId: UserId): Flow<Int>
abstract fun getPowerLevel(userId: UserId, powerLevelsEventContent: PowerLevelsEventContent?, createEventContent: CreateEventContent?): Int
Link copied to clipboard
abstract suspend fun loadMembers(roomId: RoomId, wait: Boolean = true)