-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathPermissionsPresenter.kt
More file actions
30 lines (27 loc) · 1.1 KB
/
PermissionsPresenter.kt
File metadata and controls
30 lines (27 loc) · 1.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
class PermissionsPresenter(groupId: String) : BasePresenter<PermissionsMvpView>(groupId) {
override fun onCreatedByLoader() {
load(DatabaseCombine.groupColor(groupId), {
getView().applyGroupColor(it)
})
load(DatabaseRead.groupLinkEnabled(groupId)) {
getView().setInviteLinkEnabled(it)
}
load(DatabaseCombine.permissionsUsers(groupId)) {
getView().setGroupOwner(mOwner)
getView().setEditPermissions(it.editPermissions, isOwner())
getView().setReadOnlyPermissions(it.readOnlyPermissions, isOwner())
}
}
class Factory(val groupId: String) : PresenterFactory<PermissionsPresenter> {
override fun create(): PermissionsPresenter {
return PermissionsPresenter(groupId)
}
}
}
interface PermissionsMvpView : GroupMvpView {
fun applyGroupColor(color: Int)
fun setGroupOwner(groupOwner: User)
fun setEditPermissions(users: List<User>, isOwner: Boolean)
fun setReadOnlyPermissions(users: List<User>, isOwner: Boolean)
fun setInviteLinkEnabled(enabled: Boolean)
}