diff options
Diffstat (limited to 'app/routers/devices.py')
| -rw-r--r-- | app/routers/devices.py | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/app/routers/devices.py b/app/routers/devices.py new file mode 100644 index 0000000..882c474 --- /dev/null +++ b/app/routers/devices.py @@ -0,0 +1,20 @@ +from fastapi import APIRouter, Depends +from sqlalchemy.ext.asyncio import AsyncSession +from app.db import get_db +from app.schemas import DeviceRegisterIn +from app.crud import upsert_device +from app.security import require_api_key + +router = APIRouter(prefix="/v1/devices", tags=["devices"], dependencies=[Depends(require_api_key)]) + + [email protected]("/register") +async def register_device(payload: DeviceRegisterIn, db: AsyncSession = Depends(get_db)) -> dict: + device = await upsert_device(db, payload) + return { + "id": device.id, + "user_id": device.user_id, + "bundle_id": device.bundle_id, + "apns_env": device.apns_env, + "is_enabled": device.is_enabled, + } |
