feat: Guests API keys. Closes #3
This commit is contained in:
@@ -3,7 +3,7 @@ from sqlalchemy import select
|
||||
from app.core.state import state_manager, discovery_service
|
||||
from app.core.database import async_session
|
||||
from app.models.device import GroupModel, GroupCreateSchema
|
||||
from app.api.deps import verify_token
|
||||
from app.api.deps import verify_token, require_admin
|
||||
from app.drivers.wiz import WizDriver
|
||||
|
||||
# Создаем роутер с защитой
|
||||
@@ -26,7 +26,7 @@ async def get_scenes():
|
||||
return wiz.SCENES
|
||||
|
||||
|
||||
@router.post("/groups")
|
||||
@router.post("/groups", dependencies=[Depends(require_admin)])
|
||||
async def create_group(data: GroupCreateSchema):
|
||||
async with async_session() as session:
|
||||
existing = await session.get(GroupModel, data.id)
|
||||
@@ -40,7 +40,7 @@ async def create_group(data: GroupCreateSchema):
|
||||
return {"status": "created", "group": data.name}
|
||||
|
||||
|
||||
@router.delete("/groups/{group_id}")
|
||||
@router.delete("/groups/{group_id}", dependencies=[Depends(require_admin)])
|
||||
async def delete_group(group_id: str):
|
||||
async with async_session() as session:
|
||||
result = await session.execute(
|
||||
@@ -56,7 +56,7 @@ async def delete_group(group_id: str):
|
||||
return {"status": "deleted", "id": group_id}
|
||||
|
||||
|
||||
@router.post("/rescan")
|
||||
@router.post("/rescan", dependencies=[Depends(require_admin)])
|
||||
async def rescan_network():
|
||||
found_devices = await discovery_service.scan_network()
|
||||
for dev_data in found_devices:
|
||||
|
||||
Reference in New Issue
Block a user