Files
eventspace/backend/app/crud/event_theme.py
Felipe Cardoso 658ef1c7c2
All checks were successful
Build and Push Docker Images / changes (push) Successful in 5s
Build and Push Docker Images / build-backend (push) Successful in 51s
Build and Push Docker Images / build-frontend (push) Has been skipped
Add CRUD operations and tests for EventTheme management
Introduced CRUD implementation, schema definitions, and tests for EventTheme. This allows creation, retrieval, updating, deletion, and querying of active event themes. Comprehensive tests ensure functionality works as intended, including edge cases for nonexistent themes.
2025-03-05 11:43:14 +01:00

25 lines
797 B
Python

from typing import List, Optional
from sqlalchemy.orm import Session
from app.crud.base import CRUDBase
from app.models.event_theme import EventTheme
from app.schemas.event_theme import EventThemeCreate, EventThemeUpdate
class CRUDEventTheme(CRUDBase[EventTheme, EventThemeCreate, EventThemeUpdate]):
def get_by_name(self, db: Session, *, name: str) -> Optional[EventTheme]:
return db.query(EventTheme).filter(EventTheme.name == name).first()
def get_active_themes(
self, db: Session, *, skip: int = 0, limit: int = 100
) -> List[EventTheme]:
return (
db.query(self.model)
.filter(self.model.events.any())
.offset(skip)
.limit(limit)
.all()
)
event_theme = CRUDEventTheme(EventTheme)