Files
notifications-api/app/dao/invited_org_user_dao.py
2024-12-20 08:09:19 -08:00

60 lines
1.4 KiB
Python

from datetime import timedelta
from sqlalchemy import select
from app import db
from app.models import InvitedOrganizationUser
from app.utils import utc_now
def save_invited_org_user(invited_org_user):
db.session.add(invited_org_user)
db.session.commit()
def get_invited_org_user(organization_id, invited_org_user_id):
return (
db.session.execute(
select(InvitedOrganizationUser).where(
InvitedOrganizationUser.organization_id == organization_id,
InvitedOrganizationUser.id == invited_org_user_id,
)
)
.scalars()
.one()
)
def get_invited_org_user_by_id(invited_org_user_id):
return (
db.session.execute(
select(InvitedOrganizationUser).where(
InvitedOrganizationUser.id == invited_org_user_id
)
)
.scalars()
.one()
)
def get_invited_org_users_for_organization(organization_id):
return (
db.session.execute(
select(InvitedOrganizationUser).where(
InvitedOrganizationUser.organization_id == organization_id
)
)
.scalars()
.all()
)
def delete_org_invitations_created_more_than_two_days_ago():
deleted = (
db.session.query(InvitedOrganizationUser)
.where(InvitedOrganizationUser.created_at <= utc_now() - timedelta(days=2))
.delete()
)
db.session.commit()
return deleted