From f4336082a453f032150d4bbc4d2dd3e27b8a47b8 Mon Sep 17 00:00:00 2001
From: Florian <74116125+florianschndlr@users.noreply.github.com>
Date: Fri, 23 Jun 2023 09:04:04 +0200
Subject: [PATCH] implemented ability to create, update, delete category

---
 .../logic/services/categories_controller.dart | 34 ++++++++++++++-----
 1 file changed, 25 insertions(+), 9 deletions(-)

diff --git a/trackeroo/lib/logic/services/categories_controller.dart b/trackeroo/lib/logic/services/categories_controller.dart
index 6033d41..3815d14 100644
--- a/trackeroo/lib/logic/services/categories_controller.dart
+++ b/trackeroo/lib/logic/services/categories_controller.dart
@@ -7,18 +7,34 @@ class CategoriesController {
   Box<Category> catBox;
   Map<dynamic, Category> categories;
 
-  void saveCategory() {
-    // TODO: implement save categories function
-    return;
+  Future<bool> saveCategory(Category category) async {
+    // String id = category.title.replaceAll(' ', '_').toLowerCase();
+    try {
+      await catBox.put(category.id, category);
+      categories[category.id] = category;
+    } catch (e) {
+      return false;
+    }
+    return true;
   }
 
-  void updateCategory() {
-    // TODO: implement update category
-    return;
+  Future<bool> updateCategory(Category category) async {
+    try {
+      await catBox.put(category.id, category);
+      categories[category.id] = category;
+    } catch (e) {
+      return false;
+    }
+    return true;
   }
 
-  void deleteCategory() {
-    // TODO: implement read categories function
-    return;
+  Future<bool> deleteCategory(String id) async {
+    try {
+      await catBox.delete(id);
+      categories.remove(id);
+    } catch (e) {
+      return false;
+    }
+    return true;
   }
 }
-- 
GitLab