Files
notifications-api/app/dao/invited_org_user_dao.py

60 lines
1.4 KiB
Python
Raw Permalink Normal View History

2024-05-23 13:59:51 -07:00
from datetime import timedelta
2018-02-16 10:56:12 +00:00
2024-11-15 08:50:01 -08:00
from sqlalchemy import select
2021-03-10 13:55:06 +00:00
from app import db
2023-07-10 11:06:29 -07:00
from app.models import InvitedOrganizationUser
2024-05-23 13:59:51 -07:00
from app.utils import utc_now
2018-02-16 10:56:12 +00:00
def save_invited_org_user(invited_org_user):
db.session.add(invited_org_user)
db.session.commit()
2023-07-10 11:06:29 -07:00
def get_invited_org_user(organization_id, invited_org_user_id):
2024-11-15 08:50:01 -08:00
return (
db.session.execute(
2024-12-19 11:10:03 -08:00
select(InvitedOrganizationUser).where(
InvitedOrganizationUser.organization_id == organization_id,
InvitedOrganizationUser.id == invited_org_user_id,
2024-11-15 08:50:01 -08:00
)
)
.scalars()
.one()
)
2018-02-16 10:56:12 +00:00
def get_invited_org_user_by_id(invited_org_user_id):
2024-11-15 08:50:01 -08:00
return (
db.session.execute(
2024-12-19 11:10:03 -08:00
select(InvitedOrganizationUser).where(
InvitedOrganizationUser.id == invited_org_user_id
)
2024-11-15 08:50:01 -08:00
)
.scalars()
.one()
)
2018-02-16 10:56:12 +00:00
2023-07-10 11:06:29 -07:00
def get_invited_org_users_for_organization(organization_id):
2024-11-15 08:50:01 -08:00
return (
db.session.execute(
2024-12-19 11:10:03 -08:00
select(InvitedOrganizationUser).where(
InvitedOrganizationUser.organization_id == organization_id
)
2024-11-15 08:50:01 -08:00
)
.scalars()
.all()
)
2018-02-16 10:56:12 +00:00
def delete_org_invitations_created_more_than_two_days_ago():
2023-08-29 14:54:30 -07:00
deleted = (
db.session.query(InvitedOrganizationUser)
2024-12-20 08:09:19 -08:00
.where(InvitedOrganizationUser.created_at <= utc_now() - timedelta(days=2))
2023-08-29 14:54:30 -07:00
.delete()
)
2018-02-16 10:56:12 +00:00
db.session.commit()
return deleted