1234567891011121314151617181920212223242526 |
- from fastapi import APIRouter
- from loguru import logger
- from app.controllers.location.ble.space import get_space_location
- from app.models.domain.location import PositionSpaceResponse
- from app.schemas.bluetooth import IBeaconBase
- router = APIRouter()
- @router.post(
- "/space/users/{user_id}/projects/{project_id}", response_model=PositionSpaceResponse
- )
- async def update_in_space(
- user_id: str, project_id: str, ibeacon_list: list[IBeaconBase]
- ):
- space_id = await get_space_location(project_id, ibeacon_list)
- logger.debug(f"{user_id} is in {space_id}")
- response = {"userId": user_id, "projectId": project_id}
- if space_id:
- response.update({"result": "success", "spaceId": space_id})
- else:
- response.update({"result": "failure"})
- return response
|