mirror of https://github.com/stijndcl/didier
23 lines
716 B
Python
23 lines
716 B
Python
|
from datetime import date
|
||
|
from typing import Optional
|
||
|
|
||
|
from sqlalchemy import select
|
||
|
from sqlalchemy.ext.asyncio import AsyncSession
|
||
|
|
||
|
from database.models import Birthday
|
||
|
|
||
|
__all__ = ["add_birthday", "get_birthday_for_user"]
|
||
|
|
||
|
|
||
|
async def add_birthday(session: AsyncSession, user_id: int, birthday: date):
|
||
|
"""Add a user's birthday into the database"""
|
||
|
bd = Birthday(user_id=user_id, birthday=birthday)
|
||
|
session.add(bd)
|
||
|
await session.commit()
|
||
|
|
||
|
|
||
|
async def get_birthday_for_user(session: AsyncSession, user_id: int) -> Optional[Birthday]:
|
||
|
"""Find a user's birthday"""
|
||
|
statement = select(Birthday).where(Birthday.user_id == user_id)
|
||
|
return (await session.execute(statement)).scalar_one_or_none()
|