from .database import DatabaseController from models.category import Category class CategoryController(DatabaseController): FIELDS = ['id', 'name'] def __init__(self): super().__init__() def create(self, category: Category): params = [ category.name, ] self._conn.execute( "INSERT INTO Categories (name) VALUES (?)", params ) self._conn.commit() def read(self, id: int = 0) -> Category | None: params = [ id ] cursor = self._conn.execute( "SELECT * FROM Categories WHERE id = ?", params ) row = cursor.fetchone() if row == None: return None params = dict(zip(self.FIELDS, row)) obj = self.new_instance(Category, params) return obj def read_all(self) -> list[Category] | None: cursor = self._conn.execute( "SELECT * FROM Categories", ) rows = cursor.fetchall() if rows == None: return None categories = list() for category in rows: params = dict(zip(self.FIELDS, category)) obj = self.new_instance(Category, params) categories.append(obj) return categories def update(self): print("Doing work") def delete(self): print("Doing work")