Files
eventspace/backend/app/models/event_theme.py
Felipe Cardoso efb1dfd2a4
All checks were successful
Build and Push Docker Images / changes (push) Successful in 4s
Build and Push Docker Images / build-backend (push) Successful in 50s
Build and Push Docker Images / build-frontend (push) Has been skipped
Add new fields to event theme model for asset handling
Added `background_image_url`, `foreground_image_url`, and `asset_image_urls` fields to enhance theme customization. Updated `asset_image_urls` to use `MutableDict` with a default empty dictionary and ensured consistency in the model and migration script.
2025-03-12 16:14:07 +01:00

28 lines
938 B
Python

from typing import Dict
from sqlalchemy import Column, String, JSON, Boolean
from sqlalchemy.ext.mutable import MutableDict
from sqlalchemy.orm import relationship
from .base import Base, TimestampMixin, UUIDMixin
class EventTheme(Base, UUIDMixin, TimestampMixin):
__tablename__ = 'event_themes'
name = Column(String, nullable=False)
description = Column(String)
preview_image_url = Column(String)
background_image_url = Column(String, nullable=True)
foreground_image_url = Column(String, nullable=True)
asset_image_urls: Dict[str, str] = Column(MutableDict.as_mutable(JSON), default=dict)
color_palette = Column(JSON, nullable=False)
fonts = Column(JSON, nullable=False)
is_active = Column(Boolean, default=True, nullable=False)
# Relationship with Event
events = relationship("Event", back_populates="theme")
def __repr__(self):
return f"<EventTheme {self.name}>"