sql_app: Added state to Iot Door
Signed-off-by: HeshamTB <hishaminv@gmail.com>
This commit is contained in:
parent
2eed2db77e
commit
3bcb333df6
@ -126,6 +126,12 @@ def set_user_last_token(db: Session, username: str, token: str):
|
|||||||
db.refresh(user)
|
db.refresh(user)
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
def set_door_state(db: Session, iot_device: models.IotEntity, state: bool):
|
||||||
|
iot_device.state = state
|
||||||
|
db.add(iot_device)
|
||||||
|
db.commit()
|
||||||
|
db.refresh(iot_device)
|
||||||
|
|
||||||
def get_user_last_token(db: Session, username: str):
|
def get_user_last_token(db: Session, username: str):
|
||||||
user : models.User = get_user_by_username(db, username)
|
user : models.User = get_user_by_username(db, username)
|
||||||
return user.last_token # This method is bad security practice.
|
return user.last_token # This method is bad security practice.
|
||||||
|
@ -304,6 +304,8 @@ def polling_method_for_iot_entity(request: schemas.IotDoorPollingRequest,
|
|||||||
# Reset open_request to False
|
# Reset open_request to False
|
||||||
crud.clear_open_door_request(db, device.id)
|
crud.clear_open_door_request(db, device.id)
|
||||||
crud.clear_close_door_request(db, device.id)
|
crud.clear_close_door_request(db, device.id)
|
||||||
|
crud.set_door_state(db, device, device.state)
|
||||||
|
|
||||||
return response
|
return response
|
||||||
|
|
||||||
@app.post("/iotdevice/monitor/status", tags=['Iot'])
|
@app.post("/iotdevice/monitor/status", tags=['Iot'])
|
||||||
|
@ -28,6 +28,7 @@ class IotEntity(Base):
|
|||||||
time_seconds = Column(Integer, default=10)
|
time_seconds = Column(Integer, default=10)
|
||||||
acces_list_counter = Column(Integer, default=0)
|
acces_list_counter = Column(Integer, default=0)
|
||||||
force_close = Column(Boolean, default=False)
|
force_close = Column(Boolean, default=False)
|
||||||
|
state = Column(Boolean, default=False) # True is open, False is closed
|
||||||
authorized_users = relationship("User", secondary="user_iot_link", back_populates="authorized_devices")
|
authorized_users = relationship("User", secondary="user_iot_link", back_populates="authorized_devices")
|
||||||
|
|
||||||
class UserAuthToIoTDev(Base):
|
class UserAuthToIoTDev(Base):
|
||||||
@ -63,4 +64,6 @@ class UserConnectionHistory(Base):
|
|||||||
reading_id = Column(Integer, primary_key=True)
|
reading_id = Column(Integer, primary_key=True)
|
||||||
user_id = Column(Integer,ForeignKey("user_accounts.id"), index=True)
|
user_id = Column(Integer,ForeignKey("user_accounts.id"), index=True)
|
||||||
timestamp = Column(DateTime)
|
timestamp = Column(DateTime)
|
||||||
|
# TODO: add ip
|
||||||
|
|
||||||
# TODO: Add table to store active sessions. May periodically clear.
|
# TODO: Add table to store active sessions. May periodically clear.
|
@ -72,6 +72,7 @@ class CloseDoorRequest(OpenDoorRequestBase):
|
|||||||
# Device sends this periodcally
|
# Device sends this periodcally
|
||||||
class IotDoorPollingRequest(BaseModel):
|
class IotDoorPollingRequest(BaseModel):
|
||||||
bluetooth_mac : str
|
bluetooth_mac : str
|
||||||
|
state: int
|
||||||
token : str
|
token : str
|
||||||
class Config:
|
class Config:
|
||||||
orm_mode = True
|
orm_mode = True
|
||||||
|
Loading…
Reference in New Issue
Block a user