@@ -42,8 +42,7 @@ extension FirestoreService: FirestoreServiceProtocol {
4242 }
4343 if case . get = endpoint. method {
4444 return collectionRef. getDocuments ( )
45- . subscribe ( on: backgroundQueue)
46- . receive ( on: backgroundQueue)
45+ . subscribeAndReceive ( on: backgroundQueue)
4746 . tryMap { snapshots in
4847 if snapshots. isEmpty {
4948 return [ ]
@@ -69,8 +68,7 @@ extension FirestoreService: FirestoreServiceProtocol {
6968 }
7069 if case . get = endpoint. method {
7170 return documentRef. getDocument ( )
72- . subscribe ( on: backgroundQueue)
73- . receive ( on: backgroundQueue)
71+ . subscribeAndReceive ( on: backgroundQueue)
7472 . tryMap { snapshot in
7573 try snapshot. data ( as: D . self)
7674 }
@@ -96,8 +94,7 @@ extension FirestoreService: FirestoreServiceProtocol {
9694 }
9795
9896 return collectionRef. getDocuments ( )
99- . subscribe ( on: backgroundQueue)
100- . receive ( on: backgroundQueue)
97+ . subscribeAndReceive ( on: backgroundQueue)
10198 . mapError { error in
10299 FirestoreServiceError . documentsNotFound ( error)
103100 } . map { snapshot in
@@ -112,8 +109,7 @@ extension FirestoreService: FirestoreServiceProtocol {
112109
113110 if case . delete = endpoint. method {
114111 return documentRef. delete ( )
115- . subscribe ( on: backgroundQueue)
116- . receive ( on: backgroundQueue)
112+ . subscribeAndReceive ( on: backgroundQueue)
117113 . convertFirestoreServiceError ( )
118114 . eraseToAnyPublisher ( )
119115 }
@@ -123,8 +119,7 @@ extension FirestoreService: FirestoreServiceProtocol {
123119 if let requestDTODictionary = endpoint. requestDTODictionary {
124120 return documentRef
125121 . updateData ( requestDTODictionary)
126- . subscribe ( on: backgroundQueue)
127- . receive ( on: backgroundQueue)
122+ . subscribeAndReceive ( on: backgroundQueue)
128123 . convertFirestoreServiceError ( )
129124 . eraseToAnyPublisher ( )
130125 }
@@ -134,8 +129,7 @@ extension FirestoreService: FirestoreServiceProtocol {
134129 let requestDictionary = try requestDTO. toDictionary ( )
135130 return documentRef
136131 . updateData ( requestDictionary)
137- . subscribe ( on: backgroundQueue)
138- . receive ( on: backgroundQueue)
132+ . subscribeAndReceive ( on: backgroundQueue)
139133 . convertFirestoreServiceError ( )
140134 . eraseToAnyPublisher ( )
141135 } catch {
@@ -172,16 +166,14 @@ extension FirestoreService: FirestoreServiceProtocol {
172166 return collectionRef
173167 . document ( documentId)
174168 . setData ( requestDTODictionary)
175- . subscribe ( on: backgroundQueue)
176- . receive ( on: backgroundQueue)
169+ . subscribeAndReceive ( on: backgroundQueue)
177170 . convertFirestoreServiceError ( )
178171 . map { _ in return documentId }
179172 . eraseToAnyPublisher ( )
180173 } else {
181174 return collectionRef
182175 . addDocument ( data: requestDTODictionary)
183- . subscribe ( on: backgroundQueue)
184- . receive ( on: backgroundQueue)
176+ . subscribeAndReceive ( on: backgroundQueue)
185177 . map { $0. documentID }
186178 . convertFirestoreServiceError ( )
187179 . eraseToAnyPublisher ( )
@@ -194,16 +186,14 @@ extension FirestoreService: FirestoreServiceProtocol {
194186 return collectionRef
195187 . document ( documentId)
196188 . setData ( [ : ] )
197- . subscribe ( on: backgroundQueue)
198- . receive ( on: backgroundQueue)
189+ . subscribeAndReceive ( on: backgroundQueue)
199190 . convertFirestoreServiceError ( )
200191 . map { _ in return documentId }
201192 . eraseToAnyPublisher ( )
202193 } else {
203194 return collectionRef
204195 . addDocument ( data: [ : ] )
205- . subscribe ( on: backgroundQueue)
206- . receive ( on: backgroundQueue)
196+ . subscribeAndReceive ( on: backgroundQueue)
207197 . map { $0. documentID }
208198 . convertFirestoreServiceError ( )
209199 . eraseToAnyPublisher ( )
@@ -214,8 +204,7 @@ extension FirestoreService: FirestoreServiceProtocol {
214204 return collectionRef
215205 . document ( documentId)
216206 . setData ( from: requestDTO)
217- . subscribe ( on: backgroundQueue)
218- . receive ( on: backgroundQueue)
207+ . subscribeAndReceive ( on: backgroundQueue)
219208 . map { _ in return documentId }
220209 . convertFirestoreServiceError ( )
221210 . eraseToAnyPublisher ( )
@@ -224,8 +213,7 @@ extension FirestoreService: FirestoreServiceProtocol {
224213 /// If the document ID is not specified, the document is created using Firestore's automatic document ID assignment.
225214 return collectionRef
226215 . addDocument ( from: requestDTO)
227- . subscribe ( on: backgroundQueue)
228- . receive ( on: backgroundQueue)
216+ . subscribeAndReceive ( on: backgroundQueue)
229217 . map { $0. documentID }
230218 . convertFirestoreServiceError ( )
231219 . eraseToAnyPublisher ( )
@@ -248,8 +236,7 @@ extension FirestoreService: FirestoreServiceProtocol {
248236 return Fail ( error: FirestoreServiceError . collectionNotFound) . eraseToAnyPublisher ( )
249237 }
250238 return collectionRef. getDocuments ( )
251- . subscribe ( on: backgroundQueue)
252- . receive ( on: backgroundQueue)
239+ . subscribeAndReceive ( on: backgroundQueue)
253240 . map { snapshots in
254241 if snapshots. isEmpty { return [ ] }
255242 return snapshots. documents. map { documentSnapshot in documentSnapshot. documentID }
@@ -278,8 +265,7 @@ extension FirestoreService: FirestoreQueryable {
278265 do {
279266 let query = try makeQuery ( collectionRef)
280267 return query. getDocuments ( )
281- . subscribe ( on: backgroundQueue)
282- . receive ( on: backgroundQueue)
268+ . subscribeAndReceive ( on: backgroundQueue)
283269 . tryMap { querySnapshot in
284270 try querySnapshot. documents. map { snapshot in
285271 try snapshot. data ( as: D . self)
@@ -361,10 +347,7 @@ extension FirestoreService: FirestoreQueryable {
361347 promise ( . failure( FirestoreServiceError . decodingError ( error) ) )
362348 }
363349 }
364- }
365- . subscribe ( on: backgroundQueue)
366- . receive ( on: backgroundQueue)
367- . eraseToAnyPublisher ( )
350+ } . eraseToAnyPublisher ( )
368351 }
369352}
370353
@@ -377,8 +360,7 @@ extension FirestoreService: FirestoreTransactional {
377360 ) -> AnyPublisher < Any ? , any Error > {
378361 return Firestore . firestore ( )
379362 . runTransaction ( updateBlock)
380- . subscribe ( on: backgroundQueue)
381- . receive ( on: backgroundQueue)
363+ . subscribeAndReceive ( on: backgroundQueue)
382364 . mapError { error in
383365 return FirestoreServiceError . failedTransaction ( error)
384366 } . eraseToAnyPublisher ( )
0 commit comments