mirror of
https://github.com/GSA/notifications-api.git
synced 2026-02-16 16:12:47 -05:00
60 lines
1.4 KiB
Python
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
|