Add addChildToSpace method to SpaceService

This commit is contained in:
ganfra
2026-01-20 21:04:23 +01:00
parent b5a34f9c65
commit c3a469544e
3 changed files with 19 additions and 0 deletions

View File

@@ -23,6 +23,14 @@ interface SpaceService {
fun getLeaveSpaceHandle(spaceId: RoomId): LeaveSpaceHandle
/**
* Add a child room to a space.
* @param spaceId The space ID to which the child will be added.
* @param childId The room ID of the child to add.
* @return A result indicating success or failure.
*/
suspend fun addChildToSpace(spaceId: RoomId, childId: RoomId): Result<Unit>
/**
* Remove a child room from a space.
* @param spaceId The space ID from which to remove the child.

View File

@@ -98,6 +98,12 @@ class RustSpaceService(
}
}
override suspend fun addChildToSpace(spaceId: RoomId, childId: RoomId): Result<Unit> = withContext(sessionDispatcher) {
runCatchingExceptions {
innerSpaceService.addChildToSpace(childId = childId.value, spaceId = spaceId.value)
}
}
override suspend fun removeChildFromSpace(spaceId: RoomId, childId: RoomId): Result<Unit> = withContext(sessionDispatcher) {
runCatchingExceptions {
innerSpaceService.removeChildFromSpace(childId = childId.value, spaceId = spaceId.value)

View File

@@ -23,6 +23,7 @@ class FakeSpaceService(
private val joinedSpacesResult: () -> Result<List<SpaceRoom>> = { lambdaError() },
private val spaceRoomListResult: (RoomId) -> SpaceRoomList = { lambdaError() },
private val leaveSpaceHandleResult: (RoomId) -> LeaveSpaceHandle = { lambdaError() },
private val addChildToSpaceResult: (RoomId, RoomId) -> Result<Unit> = { _, _ -> lambdaError() },
private val removeChildFromSpaceResult: (RoomId, RoomId) -> Result<Unit> = { _, _ -> lambdaError() },
private val joinedParentsResult: (RoomId) -> Result<List<SpaceRoom>> = { lambdaError() },
private val getSpaceRoomResult: (RoomId) -> SpaceRoom? = { lambdaError() },
@@ -55,6 +56,10 @@ class FakeSpaceService(
return leaveSpaceHandleResult(spaceId)
}
override suspend fun addChildToSpace(spaceId: RoomId, childId: RoomId): Result<Unit> = simulateLongTask {
addChildToSpaceResult(spaceId, childId)
}
override suspend fun removeChildFromSpace(spaceId: RoomId, childId: RoomId): Result<Unit> = simulateLongTask {
removeChildFromSpaceResult(spaceId, childId)
}