ibs/sql_app/schemas.py
HeshamTB 34f27c32e8
users: Add open door command from user application
Signed-off-by: HeshamTB <hishaminv@gmail.com>
2022-04-18 01:43:12 +03:00

64 lines
1.3 KiB
Python

from typing import Any, List, Optional
from pydantic import BaseModel
class IotEntityBase(BaseModel):
bluetooth_mac: str
description: str
class UserBase(BaseModel):
email: str
username: str
class IotEntityCreate(IotEntityBase):
pass
class UserCreate(UserBase):
password: str
class IotEntity(IotEntityBase):
id: int
description: str
bluetooth_mac: str
#authorized_users: List[User] = []
open_request: bool # Flag to open
class Config:
orm_mode = True
class IotBluetoothMac(BaseModel):
bluetooth_mac : str
class User(UserBase):
id: int
is_active: bool
authorized_devices: List[IotEntity] = []
class Config:
orm_mode = True
class Token(BaseModel):
access_token : str
token_type : str
class TokenData(BaseModel):
username : str
# Token can conatin information. But we are already recording this in a database
# for scalability.
class UserAllowForIotEntityRequestByID(BaseModel):
user_id: int
iot_entity_id: int
class UserAllowForIotEntityRequestByUsername(BaseModel):
username: str
description: str
class OpenDoorRequestBase(BaseModel):
username: str
bluetooth_mac: str
class OpenDoorRequestTime(OpenDoorRequestBase):
time_minutes: int