introduce icons in events
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
"""Add website to MediaType enum
|
||||
|
||||
Revision ID: e6eaede720aa
|
||||
Revises: 0c47280d3e2d
|
||||
Create Date: 2025-07-24 13:40:50.553863
|
||||
|
||||
"""
|
||||
from typing import Sequence, Union
|
||||
|
||||
from alembic import op
|
||||
import sqlalchemy as sa
|
||||
|
||||
|
||||
# revision identifiers, used by Alembic.
|
||||
revision: str = 'e6eaede720aa'
|
||||
down_revision: Union[str, None] = '0c47280d3e2d'
|
||||
branch_labels: Union[str, Sequence[str], None] = None
|
||||
depends_on: Union[str, Sequence[str], None] = None
|
||||
|
||||
|
||||
def upgrade() -> None:
|
||||
"""Upgrade schema."""
|
||||
# ### commands auto generated by Alembic - please adjust! ###
|
||||
op.execute(
|
||||
"ALTER TABLE event_media MODIFY COLUMN media_type ENUM('pdf','ppt','pptx','odp','mp4','avi','mkv','mov','wmv','flv','webm','mpg','mpeg','ogv','jpg','jpeg','png','gif','bmp','tiff','svg','html','website') NOT NULL;"
|
||||
)
|
||||
# ### end Alembic commands ###
|
||||
|
||||
|
||||
def downgrade() -> None:
|
||||
"""Downgrade schema."""
|
||||
# ### commands auto generated by Alembic - please adjust! ###
|
||||
pass
|
||||
# ### end Alembic commands ###
|
||||
@@ -9,6 +9,17 @@ sys.path.append('/workspace')
|
||||
events_bp = Blueprint("events", __name__, url_prefix="/api/events")
|
||||
|
||||
|
||||
def get_icon_for_type(event_type):
|
||||
# Lucide-Icon-Namen als String
|
||||
return {
|
||||
"presentation": "Presentation", # <--- geändert!
|
||||
"website": "Globe",
|
||||
"video": "Video",
|
||||
"message": "MessageSquare",
|
||||
"webuntis": "School",
|
||||
}.get(event_type, "")
|
||||
|
||||
|
||||
@events_bp.route("", methods=["GET"])
|
||||
def get_events():
|
||||
session = Session()
|
||||
@@ -45,6 +56,8 @@ def get_events():
|
||||
"EndTime": e.end.isoformat() if e.end else None,
|
||||
"IsAllDay": False,
|
||||
"MediaId": e.event_media_id,
|
||||
"Type": e.event_type.value if e.event_type else None, # <-- Enum zu String!
|
||||
"Icon": get_icon_for_type(e.event_type.value if e.event_type else None),
|
||||
})
|
||||
session.close()
|
||||
return jsonify(result)
|
||||
|
||||
Reference in New Issue
Block a user