Store announcement date in db

This commit is contained in:
stijndcl 2022-06-19 00:36:38 +02:00
parent 6873cab955
commit d7262595c6
5 changed files with 30 additions and 42 deletions

View file

@ -1,3 +1,5 @@
from datetime import datetime
from sqlalchemy import select
from sqlalchemy.ext.asyncio import AsyncSession
@ -10,8 +12,13 @@ async def get_courses_with_announcements(session: AsyncSession) -> list[UforaCou
return (await session.execute(query)).scalars().all()
async def create_new_announcement(session: AsyncSession, announcement_id: int, course: UforaCourse):
async def create_new_announcement(
session: AsyncSession, announcement_id: int, course: UforaCourse, publication_date: datetime
) -> UforaAnnouncement:
"""Add a new announcement to the database"""
new_announcement = UforaAnnouncement(announcement_id=announcement_id, course=course)
new_announcement = UforaAnnouncement(
announcement_id=announcement_id, course=course, publication_date=publication_date
)
session.add(new_announcement)
await session.commit()
return new_announcement

View file

@ -1,6 +1,8 @@
from __future__ import annotations
from sqlalchemy import Column, Integer, Text, ForeignKey, Boolean
from datetime import datetime
from sqlalchemy import Column, Integer, Text, ForeignKey, Boolean, DateTime
from sqlalchemy.orm import declarative_base, relationship
Base = declarative_base()
@ -44,5 +46,6 @@ class UforaAnnouncement(Base):
announcement_id = Column(Integer, primary_key=True)
course_id = Column(Integer, ForeignKey("ufora_courses.course_id"))
publication_date: datetime = Column(DateTime(timezone=True))
course: UforaCourse = relationship("UforaCourse", back_populates="announcements", uselist=False, lazy="selectin")