diff --git a/lib/src/resources/firestore_provider.dart b/lib/src/resources/firestore_provider.dart index 814d1df..9377c94 100644 --- a/lib/src/resources/firestore_provider.dart +++ b/lib/src/resources/firestore_provider.dart @@ -40,71 +40,13 @@ class FirestoreProvider { ); }, ); + return Observable(mappedStream); } //-------------------------Task related operations---------------------------- - /// Adds a task to firestore. - Future addTask(TaskModel task) async { - try { - final dataMap = task.toFirestoreMap(); - await firestore.collection('tasks').add(dataMap); - } catch (e) { - print('Error adding task to firestore: $e'); - } - } - - /// Returns a Stream of a single task from an id. - Observable getTask(String id) { - final mappedStream = - firestore.collection('tasks').document(id).snapshots().map( - (DocumentSnapshot snapshot) { - return TaskModel.fromFirestore( - snapshot.data, - id: snapshot.documentID, - ); - }, - ); - - return Observable(mappedStream); - } - - /// Deletes a task from firestore. - Future deleteTask(String id) async { - try { - final documentReference = firestore.collection('tasks').document(id); - await documentReference.delete(); - } catch (e) { - print('Error deleting task from firestore: $e'); - } - } - - /// Updates a task in firestore. - /// - /// Only the [text], [priority] and [done] attributes can be update. - /// Provide at least one of these values. - Future updateTask( - String id, { - String text, - int priority, - bool done, - }) async { - final newData = { - 'text': text, - 'priority': priority, - 'done': done, - }; - newData.removeWhere((key, value) => value == null); - try { - final documentReference = firestore.collection('tasks').document(id); - await documentReference.setData(newData, merge: true); - } catch (e) { - print('Error updating task in firestore: $e'); - } - } - - /// Returns a stream of [List] that correspond to a particular user. + /// Returns a stream of [List] /// /// The [event] parameter is used to query tasks that are part of a certain /// event. @@ -134,9 +76,23 @@ class FirestoreProvider { return Observable(mappedStream); } + Observable getTask(String id) { + final mappedStream = + firestore.collection('tasks').document(id).snapshots().map( + (DocumentSnapshot snapshot) { + return TaskModel.fromFirestore( + snapshot.data, + id: snapshot.documentID, + ); + }, + ); + + return Observable(mappedStream); + } + //-----------------------Event related operations----------------------------- - // TODO: Change the Events collction name to 'events' in forestore. + // TODO: Change the Events collction name to 'events' Observable> getUserEvents(String userDocumentId) { final mappedStream = firestore .collection('users')