diff --git a/core/src/main/java/org/futo/circles/core/model/CirclesRoom.kt b/core/src/main/java/org/futo/circles/core/model/CirclesRoom.kt index 12238a4d1a9e666c3604a4d4ba7e2af8201d33a7..cbf847b050484d9d84ddbf3f71a69fd9f452e599 100644 --- a/core/src/main/java/org/futo/circles/core/model/CirclesRoom.kt +++ b/core/src/main/java/org/futo/circles/core/model/CirclesRoom.kt @@ -24,7 +24,8 @@ sealed class CirclesRoom( open val tag: String?, open val parentTag: String?, open val type: String?, - open val joinRules: RoomJoinRules? + open val joinRules: RoomJoinRules?, + open val accountDataKey: String? ) { fun isSpace(): Boolean = type == RoomType.SPACE } @@ -34,48 +35,54 @@ data class RootSpace( override val tag: String? = ROOT_SPACE_TAG, override val parentTag: String? = null, override val type: String? = RoomType.SPACE, - override val joinRules: RoomJoinRules? = null -) : CirclesRoom(nameId, tag, parentTag, type, joinRules) + override val joinRules: RoomJoinRules? = null, + override val accountDataKey: String? = "root" +) : CirclesRoom(nameId, tag, parentTag, type, joinRules, accountDataKey) data class CirclesSpace( override val nameId: Int? = R.string.circles_space_name, override val tag: String? = CIRCLES_SPACE_TAG, override val parentTag: String? = ROOT_SPACE_TAG, override val type: String? = RoomType.SPACE, - override val joinRules: RoomJoinRules? = null -) : CirclesRoom(nameId, tag, parentTag, type, joinRules) + override val joinRules: RoomJoinRules? = null, + override val accountDataKey: String? = "circles" +) : CirclesRoom(nameId, tag, parentTag, type, joinRules, accountDataKey) data class SharedCirclesSpace( override val nameId: Int? = R.string.shared_circles, override val tag: String? = SHARED_CIRCLES_SPACE_TAG, override val parentTag: String? = CIRCLES_SPACE_TAG, override val type: String? = RoomType.SPACE, - override val joinRules: RoomJoinRules? = RoomJoinRules.KNOCK -) : CirclesRoom(nameId, tag, parentTag, type, joinRules) + override val joinRules: RoomJoinRules? = RoomJoinRules.KNOCK, + override val accountDataKey: String? = "profile" +) : CirclesRoom(nameId, tag, parentTag, type, joinRules, accountDataKey) data class PhotosSpace( override val nameId: Int? = R.string.photos_space_name, override val tag: String? = PHOTOS_SPACE_TAG, override val parentTag: String? = ROOT_SPACE_TAG, override val type: String? = RoomType.SPACE, - override val joinRules: RoomJoinRules? = null -) : CirclesRoom(nameId, tag, parentTag, type, joinRules) + override val joinRules: RoomJoinRules? = null, + override val accountDataKey: String? = "galleries" +) : CirclesRoom(nameId, tag, parentTag, type, joinRules, accountDataKey) data class PeopleSpace( override val nameId: Int? = R.string.peopel_space_name, override val tag: String? = PEOPLE_SPACE_TAG, override val parentTag: String? = ROOT_SPACE_TAG, override val type: String? = RoomType.SPACE, - override val joinRules: RoomJoinRules? = null -) : CirclesRoom(nameId, tag, parentTag, type, joinRules) + override val joinRules: RoomJoinRules? = null, + override val accountDataKey: String? = "people" +) : CirclesRoom(nameId, tag, parentTag, type, joinRules, accountDataKey) data class GroupsSpace( override val nameId: Int? = R.string.groups_space_name, override val tag: String? = GROUPS_SPACE_TAG, override val parentTag: String? = ROOT_SPACE_TAG, override val type: String? = RoomType.SPACE, - override val joinRules: RoomJoinRules? = null -) : CirclesRoom(nameId, tag, parentTag, type, joinRules) + override val joinRules: RoomJoinRules? = null, + override val accountDataKey: String? = "groups" +) : CirclesRoom(nameId, tag, parentTag, type, joinRules, accountDataKey) data class Circle( override val nameId: Int? = null, @@ -83,7 +90,7 @@ data class Circle( override val parentTag: String? = CIRCLES_SPACE_TAG, override val type: String? = RoomType.SPACE, override val joinRules: RoomJoinRules? = null -) : CirclesRoom(nameId, tag, parentTag, type, joinRules) +) : CirclesRoom(nameId, tag, parentTag, type, joinRules, null) data class Group( override val nameId: Int? = null, @@ -91,7 +98,7 @@ data class Group( override val parentTag: String? = GROUPS_SPACE_TAG, override val type: String? = GROUP_TYPE, override val joinRules: RoomJoinRules? = RoomJoinRules.KNOCK -) : CirclesRoom(nameId, tag, parentTag, type, joinRules) +) : CirclesRoom(nameId, tag, parentTag, type, joinRules, null) data class Gallery( override val nameId: Int? = null, @@ -99,7 +106,7 @@ data class Gallery( override val parentTag: String? = PHOTOS_SPACE_TAG, override val type: String? = GALLERY_TYPE, override val joinRules: RoomJoinRules? = RoomJoinRules.INVITE -) : CirclesRoom(nameId, tag, parentTag, type, joinRules) +) : CirclesRoom(nameId, tag, parentTag, type, joinRules, null) data class Timeline( override val nameId: Int? = null, @@ -107,4 +114,4 @@ data class Timeline( override val parentTag: String? = null, override val type: String? = TIMELINE_TYPE, override val joinRules: RoomJoinRules? = RoomJoinRules.KNOCK -) : CirclesRoom(nameId, tag, parentTag, type, joinRules) \ No newline at end of file +) : CirclesRoom(nameId, tag, parentTag, type, joinRules, null) \ No newline at end of file