Skip to content

Commit af3ad6a

Browse files
Create device.py
1 parent c9cb414 commit af3ad6a

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

aura-core/device.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
from fastapi import APIRouter, Depends
2+
from sqlalchemy.future import select
3+
from sqlalchemy.ext.asyncio import AsyncSession
4+
from aura_core.db import get_db
5+
from aura_core.models import Device
6+
7+
router = APIRouter()
8+
9+
@router.post("/register")
10+
async def register_device(owner_id: int, name: str, db: AsyncSession = Depends(get_db)):
11+
device = Device(owner_id=owner_id, name=name, status="online")
12+
db.add(device)
13+
await db.commit()
14+
return {"msg": "Device registered", "device": {"id": device.id, "name": device.name}}
15+
16+
@router.post("/heartbeat")
17+
async def device_heartbeat(device_id: int, db: AsyncSession = Depends(get_db)):
18+
result = await db.execute(select(Device).filter(Device.id == device_id))
19+
device = result.scalar()
20+
if not device:
21+
return {"error": "Device not found"}
22+
device.status = "online"
23+
await db.commit()
24+
return {"msg": f"Heartbeat received from {device.name}"}

0 commit comments

Comments
 (0)