소스 검색

adjust iBeacon info model format

chenhaiyang 4 년 전
부모
커밋
4da03550a4
2개의 변경된 파일10개의 추가작업 그리고 8개의 파일을 삭제
  1. 2 8
      app/api/routers/bluetooth.py
  2. 8 0
      app/schemas/bluetooth.py

+ 2 - 8
app/api/routers/bluetooth.py

@@ -6,20 +6,14 @@ from fastapi import APIRouter, Depends, HTTPException, Query
 from loguru import logger
 
 from app.models.domain.bluetooth import BluetoothUserResponse
-from app.schemas.bluetooth import BluetoothCreate
+from app.schemas.bluetooth import BluetoothCreate, IBeaconBase
 
 router = APIRouter()
 
 
 @router.post('/user/{user_id}', response_model=BluetoothUserResponse)
-async def create_bluetooth_info(user_id: str, bluetooth_info: List[BluetoothCreate]):
+async def create_bluetooth_info(user_id: str, bluetooth_info: List[IBeaconBase]):
     valid_data = []
-    try:
-        for item in bluetooth_info:
-            if len(item.advertisData) == 31:
-                valid_data.append(item)
-    except TypeError:
-        pass
     logger.debug(valid_data)
     info_list = [item.dict() for item in bluetooth_info]
     logger.info(f'{user_id}: {info_list}')

+ 8 - 0
app/schemas/bluetooth.py

@@ -17,3 +17,11 @@ class BluetoothBase(BaseModel):
 
 class BluetoothCreate(BluetoothBase):
     pass
+
+
+class IBeaconBase(BaseModel):
+    minor: Optional[int] = None
+    major: Optional[int] = None
+    proximity: Optional[int] = None
+    accuracy: Optional[float] = None
+    uuid: Optional[str] = None