@@ -15,20 +15,18 @@ import kotlinx.coroutines.suspendCancellableCoroutine
15
15
import java.util.UUID
16
16
import javax.inject.Inject
17
17
import kotlin.coroutines.resume
18
- import kotlin.coroutines.suspendCoroutine
19
18
20
19
class GroupDataSource @Inject constructor(
21
20
private val db : FirebaseFirestore
22
21
) {
23
22
24
- // TODO: suspendcancellablecoroutine로 변경
25
23
suspend fun updateGroupInfo (
26
24
groupId : String ,
27
25
groupName : String ,
28
26
groupIntroduce : String ,
29
27
rules : List <Rule >
30
28
): Boolean {
31
- return suspendCoroutine { continuation ->
29
+ return suspendCancellableCoroutine { cancellableContinuation ->
32
30
db.collection(GROUPS_COLLECTION )
33
31
.document(groupId)
34
32
.update(
@@ -41,33 +39,31 @@ class GroupDataSource @Inject constructor(
41
39
)
42
40
)
43
41
.addOnSuccessListener {
44
- continuation .resume(true )
42
+ cancellableContinuation .resume(true )
45
43
}
46
44
.addOnFailureListener {
47
- continuation .resume(false )
45
+ cancellableContinuation .resume(false )
48
46
}
49
47
}
50
48
}
51
49
52
- // TODO: suspendcancellablecoroutine로 변경
53
50
suspend fun joinGroup (uid : String , groupId : String ): Boolean {
54
- return suspendCoroutine< Boolean > { continuation ->
51
+ return suspendCancellableCoroutine { cancellableContinuation ->
55
52
db.collection(GROUPS_COLLECTION )
56
53
.document(groupId)
57
54
.update(
58
55
GROUP_MEMBERS_ID ,
59
56
FieldValue .arrayUnion(uid)
60
57
).addOnSuccessListener {
61
- continuation .resume(true )
58
+ cancellableContinuation .resume(true )
62
59
}.addOnFailureListener {
63
- continuation .resume(false )
60
+ cancellableContinuation .resume(false )
64
61
}
65
62
}
66
63
}
67
64
68
- // TODO: suspendcancellablecoroutine로 변경
69
65
suspend fun exitGroup (uid : String , groupId : String ): Boolean {
70
- return suspendCoroutine { continuation ->
66
+ return suspendCancellableCoroutine { cancellableContinuation ->
71
67
db.collection(GROUPS_COLLECTION )
72
68
.document(groupId)
73
69
.update(
@@ -83,18 +79,17 @@ class GroupDataSource @Inject constructor(
83
79
)
84
80
)
85
81
.addOnSuccessListener {
86
- continuation .resume(true )
82
+ cancellableContinuation .resume(true )
87
83
}
88
84
.addOnFailureListener {
89
- continuation .resume(false )
85
+ cancellableContinuation .resume(false )
90
86
}
91
87
}.addOnFailureListener {
92
- continuation .resume(false )
88
+ cancellableContinuation .resume(false )
93
89
}
94
90
}
95
91
}
96
92
97
- // TODO Rule 추가
98
93
suspend fun createGroup (
99
94
groupName : String ,
100
95
introduce : String ,
0 commit comments