Multimedika/Bot_Development
0
1from db.query.query_user_meta import UserMetaQuery2from db.query.query_book import BookQuery3from service.dto import MetadataResponse4from fastapi.responses import JSONResponse5 6class DataFetching:7 def __init__(self, user, db):8 self.user = user9 self.db = db10 11 def collection_fetching(self):12 user_meta_query = UserMetaQuery(self.user)13 user_meta_entries = user_meta_query.get_user_meta_entries(self.db)14 15 if not user_meta_entries or user_meta_entries==[]:16 return []17 18 # Extract relevant data from the user_meta_entries19 20 21 results = [22 {23 "user_id": user_meta.user_id, # Ensure you include user_id if needed24 "metadata_id": metadata.id,25 "title": metadata.title,26 "author": metadata.author,27 "category_name": category.category,28 "year": metadata.year,29 "publisher": metadata.publisher,30 }31 for user_meta, metadata, category in user_meta_entries # Unpack the tuple32 ]33 34 # Extract relevant data from the user_meta_entries35 return results36 37 def metadata_fetching(self):38 book_query = BookQuery(self.user)39 book_query_entries = book_query.get_book(self.db)40 41 return [42 MetadataResponse(43 id = id,44 title=title,45 author=author,46 category=category,47 category_id = category_id,48 year=year,49 publisher=publisher,50 thumbnail=(51 thumbnail if thumbnail else None52 ), # Ensure None if thumbnail is not present53 )54 for id, title, author, category, category_id, year, publisher, thumbnail in book_query_entries55 ]56 57 58 59 