Multimedika/Bot_Development
0
1from db.models import Category, Metadata2from db.query.base_query import BaseQuery3 4class CategoryQuery(BaseQuery):5 def __init__(self, user):6 super().__init__(user)7 8 def add_category(self, db, category_name):9 new_category = Category(category=category_name)10 return self.add(db, new_category)11 12 def update_category(self, db, category_id, category_name):13 update_data = {"category": category_name}14 self.update(db, Category, category_id, update_data)15 16 def delete_category(self, db, category_id):17 self.delete(db, Category, category_id)18 19 def get_category(self, db, category_id):20 columns = [Category.category]21 model = Category22 results = self.get_columns(db,model=model, columns=columns, id=category_id)23 return results24 25 def get_existing_category(self, db, category_name):26 columns = [Category.category]27 model = Category28 filter_condition = [Category.category == category_name]29 results = self.get_columns(db, columns=columns, model=model, filter_conditions=filter_condition)30 return results31 32 def get_category_by_id(self, db, category_id):33 model = Category34 filter_conditions = [Category.id == category_id]35 results = self.get(db, model=model, filter_conditions=filter_conditions)36 37 return results38 39 def get_current_category(self, db, metadata_id):40 columns = [Category.category]41 join_models = [Metadata]42 where_conditions = [Metadata.id == metadata_id]43 44 result = self.get_with_joins(45 db,46 join_models=join_models,47 filter_conditions=where_conditions,48 columns=columns,49 multiple=False # Assuming you want a single result50 )51 52 return result53 54 def get_all_categories(self, db):55 results = self.get(db, Category, multiple=True)56 categories = [category[0] for category in results]57 return categories