Hp137's picture
fix:updated secrets
d7da01b
from src.profile.models import UserDevices
from src.notifications.schemas import RegisterDeviceRequest
from sqlalchemy.ext.asyncio import AsyncSession
from sqlalchemy import select
from datetime import datetime
async def register_device(
user_id: str, body: RegisterDeviceRequest, session: AsyncSession
):
# Check if the user already has this token saved
stmt = select(UserDevices).where(
UserDevices.user_id == user_id,
UserDevices.device_token == body.device_token,
)
result = await session.execute(stmt)
device = result.scalar_one_or_none()
if device:
device.last_seen = datetime.utcnow()
device.updated_at = datetime.utcnow()
await session.commit()
await session.refresh(device)
return device
# Create new device entry
new_device = UserDevices(
user_id=user_id,
device_token=body.device_token,
)
session.add(new_device)
await session.commit()
await session.refresh(new_device)
return new_device
from sqlalchemy import select
from src.profile.models import UserDevices
async def get_user_device_tokens(session, user_id):
stmt = select(UserDevices.device_token).where(UserDevices.user_id == user_id)
rows = (await session.execute(stmt)).all()
return [r[0] for r in rows]