File tree Expand file tree Collapse file tree 1 file changed +24
-0
lines changed
Expand file tree Collapse file tree 1 file changed +24
-0
lines changed Original file line number Diff line number Diff line change 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 } " }
You can’t perform that action at this time.
0 commit comments