Ufora announcements

This commit is contained in:
stijndcl 2022-06-19 00:23:25 +02:00
parent bacd2d77fb
commit 6873cab955
12 changed files with 267 additions and 10 deletions

View file

@ -0,0 +1,17 @@
from sqlalchemy import select
from sqlalchemy.ext.asyncio import AsyncSession
from database.models import UforaCourse, UforaAnnouncement
async def get_courses_with_announcements(session: AsyncSession) -> list[UforaCourse]:
"""Get all courses where announcements are enabled"""
query = select(UforaCourse).where(UforaCourse.log_announcements)
return (await session.execute(query)).scalars().all()
async def create_new_announcement(session: AsyncSession, announcement_id: int, course: UforaCourse):
"""Add a new announcement to the database"""
new_announcement = UforaAnnouncement(announcement_id=announcement_id, course=course)
session.add(new_announcement)
await session.commit()