33 *
44 * @author Jorge Aguado Recio
55 *
6- * Copyright (C) 2025 ownCloud GmbH.
6+ * Copyright (C) 2026 ownCloud GmbH.
77 *
88 * This program is free software: you can redistribute it and/or modify
99 * it under the terms of the GNU General Public License version 2,
@@ -26,6 +26,7 @@ import com.owncloud.android.domain.spaces.model.OCSpace
2626import com.owncloud.android.domain.spaces.model.SpaceMembers
2727import com.owncloud.android.domain.spaces.usecases.GetSpaceMembersUseCase
2828import com.owncloud.android.domain.roles.usecases.GetRolesAsyncUseCase
29+ import com.owncloud.android.domain.spaces.usecases.GetSpacePermissionsAsyncUseCase
2930import com.owncloud.android.domain.utils.Event
3031import com.owncloud.android.extensions.ViewModelExt.runUseCaseWithResult
3132import com.owncloud.android.presentation.common.UIResult
@@ -36,6 +37,7 @@ import kotlinx.coroutines.flow.StateFlow
3637class SpaceMembersViewModel (
3738 private val getRolesAsyncUseCase : GetRolesAsyncUseCase ,
3839 private val getSpaceMembersUseCase : GetSpaceMembersUseCase ,
40+ private val getSpacePermissionsAsyncUseCase : GetSpacePermissionsAsyncUseCase ,
3941 private val accountName : String ,
4042 private val space : OCSpace ,
4143 private val coroutineDispatcherProvider : CoroutinesDispatcherProvider
@@ -47,6 +49,9 @@ class SpaceMembersViewModel(
4749 private val _spaceMembers = MutableStateFlow <Event <UIResult <SpaceMembers >>? > (null )
4850 val spaceMembers: StateFlow <Event <UIResult <SpaceMembers >>? > = _spaceMembers
4951
52+ private val _spacePermissions = MutableStateFlow <Event <UIResult <List <String >>>? > (null )
53+ val spacePermissions: StateFlow <Event <UIResult <List <String >>>? > = _spacePermissions
54+
5055 init {
5156 runUseCaseWithResult(
5257 coroutineDispatcher = coroutineDispatcherProvider.io,
@@ -56,6 +61,16 @@ class SpaceMembersViewModel(
5661 showLoading = false ,
5762 requiresConnection = true
5863 )
64+
65+ runUseCaseWithResult(
66+ coroutineDispatcher = coroutineDispatcherProvider.io,
67+ flow = _spacePermissions ,
68+ useCase = getSpacePermissionsAsyncUseCase,
69+ useCaseParams = GetSpacePermissionsAsyncUseCase .Params (accountName = accountName, spaceId = space.id),
70+ showLoading = false ,
71+ requiresConnection = true
72+ )
73+
5974 }
6075
6176 fun getSpaceMembers () = runUseCaseWithResult(
0 commit comments