Skip to content

Commit 167fd5b

Browse files
committed
refactor: use OCLinkType instead of String for link permission and cast before remote execution
1 parent 345f0ec commit 167fd5b

6 files changed

Lines changed: 16 additions & 7 deletions

File tree

owncloudApp/src/main/java/com/owncloud/android/presentation/spaces/links/SpaceLinksViewModel.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ class SpaceLinksViewModel(
7070
accountName = accountName,
7171
spaceId = space.id,
7272
displayName = displayName,
73-
type = OCLinkType.toString(permission),
73+
type = permission,
7474
expirationDate = expirationDate,
7575
password = password
7676
)

owncloudData/src/main/java/com/owncloud/android/data/links/datasources/RemoteLinksDataSource.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@
2020

2121
package com.owncloud.android.data.links.datasources
2222

23+
import com.owncloud.android.domain.links.model.OCLinkType
24+
2325
interface RemoteLinksDataSource {
24-
fun addLink(accountName: String, spaceId: String, displayName: String, type: String, expirationDate: String?, password: String?)
26+
fun addLink(accountName: String, spaceId: String, displayName: String, type: OCLinkType, expirationDate: String?, password: String?)
2527
}

owncloudData/src/main/java/com/owncloud/android/data/links/datasources/implementation/OCRemoteLinksDataSource.kt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,15 @@ package com.owncloud.android.data.links.datasources.implementation
2323
import com.owncloud.android.data.ClientManager
2424
import com.owncloud.android.data.executeRemoteOperation
2525
import com.owncloud.android.data.links.datasources.RemoteLinksDataSource
26+
import com.owncloud.android.domain.links.model.OCLinkType
2627

2728
class OCRemoteLinksDataSource(
2829
private val clientManager: ClientManager
2930
): RemoteLinksDataSource {
3031

31-
override fun addLink(accountName: String, spaceId: String, displayName: String, type: String, expirationDate: String?, password: String?) {
32-
executeRemoteOperation { clientManager.getLinksService(accountName).addLink(spaceId, displayName, type, expirationDate, password) }
32+
override fun addLink(accountName: String, spaceId: String, displayName: String, type: OCLinkType, expirationDate: String?, password: String?) {
33+
executeRemoteOperation {
34+
clientManager.getLinksService(accountName).addLink(spaceId, displayName, OCLinkType.toString(type), expirationDate, password)
35+
}
3336
}
3437
}

owncloudData/src/main/java/com/owncloud/android/data/links/repository/OCLinksRepository.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,13 @@ package com.owncloud.android.data.links.repository
2222

2323
import com.owncloud.android.data.links.datasources.RemoteLinksDataSource
2424
import com.owncloud.android.domain.links.LinksRepository
25+
import com.owncloud.android.domain.links.model.OCLinkType
2526

2627
class OCLinksRepository(
2728
private val remoteLinksDataSource: RemoteLinksDataSource
2829
): LinksRepository {
2930

30-
override fun addLink(accountName: String, spaceId: String, displayName: String, type: String, expirationDate: String?, password: String?) {
31+
override fun addLink(accountName: String, spaceId: String, displayName: String, type: OCLinkType, expirationDate: String?, password: String?) {
3132
remoteLinksDataSource.addLink(accountName, spaceId, displayName, type, expirationDate, password)
3233
}
3334
}

owncloudDomain/src/main/java/com/owncloud/android/domain/links/LinksRepository.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@
2020

2121
package com.owncloud.android.domain.links
2222

23+
import com.owncloud.android.domain.links.model.OCLinkType
24+
2325
interface LinksRepository {
24-
fun addLink(accountName: String, spaceId: String, displayName: String, type: String, expirationDate: String?, password: String?)
26+
fun addLink(accountName: String, spaceId: String, displayName: String, type: OCLinkType, expirationDate: String?, password: String?)
2527
}

owncloudDomain/src/main/java/com/owncloud/android/domain/links/usecases/AddLinkUseCase.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ package com.owncloud.android.domain.links.usecases
2222

2323
import com.owncloud.android.domain.BaseUseCaseWithResult
2424
import com.owncloud.android.domain.links.LinksRepository
25+
import com.owncloud.android.domain.links.model.OCLinkType
2526

2627
class AddLinkUseCase(
2728
private val linksRepository: LinksRepository
@@ -35,7 +36,7 @@ class AddLinkUseCase(
3536
val accountName: String,
3637
val spaceId: String,
3738
val displayName: String,
38-
val type: String,
39+
val type: OCLinkType,
3940
val expirationDate: String?,
4041
val password: String?
4142
)

0 commit comments

Comments
 (0)