Skip to content

Commit 8331a2b

Browse files
committed
Revert ":recycle: getGroupInfoFlow() 콜백 제거 리펙토링"
This reverts commit 0f7d3f81486d42917e11908137d9534effd751c9.
1 parent ff590ba commit 8331a2b

File tree

1 file changed

+23
-36
lines changed

1 file changed

+23
-36
lines changed

data/src/main/java/com/whyranoid/data/group/GroupDataSource.kt

Lines changed: 23 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ import com.whyranoid.data.model.UserResponse
1414
import com.whyranoid.data.model.toGroupInfo
1515
import com.whyranoid.data.model.toUser
1616
import com.whyranoid.domain.model.GroupInfo
17-
import com.whyranoid.domain.model.MoGakRunException
1817
import com.whyranoid.domain.model.Rule
1918
import com.whyranoid.domain.model.toRule
2019
import kotlinx.coroutines.channels.awaitClose
@@ -127,44 +126,32 @@ class GroupDataSource @Inject constructor(
127126
}
128127
}
129128

130-
fun getGroupInfoFlow(uid: String, groupId: String): Flow<GroupInfo> {
131-
return callbackFlow {
132-
val groupInfoResponse = getGroupInfoResponse(groupId)
133-
val userResponse = getUserInfoResponse(uid)
134-
val groupInfo = groupInfoResponse.toGroupInfo(
135-
leader = userResponse.toUser(),
136-
rules = groupInfoResponse.rules.map { it.toRule() }
137-
)
138-
trySend(groupInfo)
139-
awaitClose()
140-
}
141-
}
129+
fun getGroupInfoFlow(uid: String, groupId: String): Flow<GroupInfo> = callbackFlow {
130+
db.collection(GROUPS_COLLECTION)
131+
.document(groupId)
132+
.addSnapshotListener { documentSnapshot, _ ->
133+
val groupInfoResponse = documentSnapshot?.toObject(GroupInfoResponse::class.java)
142134

143-
private suspend fun getGroupInfoResponse(groupId: String): GroupInfoResponse {
144-
return suspendCancellableCoroutine { continuation ->
145-
db.collection(GROUPS_COLLECTION)
146-
.document(groupId)
147-
.addSnapshotListener { documentSnapshot, _ ->
148-
continuation.resume(
149-
documentSnapshot?.toObject(GroupInfoResponse::class.java)
150-
?: throw MoGakRunException.FileNotFoundedException
151-
152-
)
153-
}
154-
}
155-
}
135+
groupInfoResponse?.let {
136+
db.collection(USERS_COLLECTION)
137+
.document(uid)
138+
.addSnapshotListener { documentSnapshot, _ ->
139+
val userResponse = documentSnapshot?.toObject(UserResponse::class.java)
156140

157-
private suspend fun getUserInfoResponse(uid: String): UserResponse {
158-
return suspendCancellableCoroutine { continuation ->
159-
db.collection(USERS_COLLECTION)
160-
.document(uid)
161-
.addSnapshotListener { documentSnapshot, _ ->
162-
continuation.resume(
163-
documentSnapshot?.toObject(UserResponse::class.java)
164-
?: throw MoGakRunException.FileNotFoundedException
165-
)
141+
userResponse?.let {
142+
trySend(
143+
groupInfoResponse.toGroupInfo(
144+
leader = userResponse.toUser(),
145+
rules = groupInfoResponse.rules.map {
146+
it.toRule()
147+
}
148+
)
149+
)
150+
}
151+
}
166152
}
167-
}
153+
}
154+
awaitClose()
168155
}
169156

170157
suspend fun isDuplicatedGroupName(groupName: String): Boolean {

0 commit comments

Comments
 (0)