Commit Graph

30 Commits

Author SHA1 Message Date
6a3d9d9e95 sql_app: Use more relations in database
Instead of using manual db lookup for access log,
	use device.access_list to fetch the data from
	access_log table. This does the SQL query underneath.

	To do so, instructions from SQLAlchemey were followed
	to to many-to-one relations for users and devices,
	respectevly.

Signed-off-by: HeshamTB <hishaminv@gmail.com>
2022-06-08 14:19:27 +03:00
0a4a560ac5 sql_app: fixed errors in room access log endpoints
Signed-off-by: HeshamTB <hishaminv@gmail.com>
2022-06-08 13:26:41 +03:00
fdb5be583b sql_app: data: Endpoint to fetch sensor data
Signed-off-by: HeshamTB <hishaminv@gmail.com>
2022-06-08 13:01:47 +03:00
c2048d8dba sql_app: User can change password
Signed-off-by: HeshamTB <hishaminv@gmail.com>
2022-06-08 12:00:12 +03:00
3bcb333df6
sql_app: Added state to Iot Door
Signed-off-by: HeshamTB <hishaminv@gmail.com>
2022-06-07 18:58:23 +03:00
2eed2db77e sql_app: data: collect user connection times
Signed-off-by: HeshamTB <hishaminv@gmail.com>
2022-06-07 16:11:39 +03:00
d9f3a9da4e
sql_app: Introduce force_close flag for Iot Door
Signed-off-by: HeshamTB <hishaminv@gmail.com>
2022-06-07 15:48:28 +03:00
bf14c97cb6
sql_app: main: User access list now includes room sensor data
Signed-off-by: HeshamTB <hishaminv@gmail.com>
2022-06-07 12:56:10 +03:00
2b4d3bf7f5 sql_app: Implemented access list counter:
A counter is associated with every
	Iot Device. The counter is always increment
	when a user is allowed or disallowed to use
	the device, hence, ensuring coherency.
	It is also now exposed in the
	IotDoorPollingRequest schema, enabling the
	Iot Device to fetch the new access list.

Signed-off-by: HeshamTB <hishaminv@gmail.com>
2022-06-06 16:38:35 +03:00
3a6a1ccefd sql_app: db: Changed incorrect variable name
Signed-off-by: HeshamTB <hishaminv@gmail.com>
2022-06-06 16:33:02 +03:00
244b7c6b91
sql_app: db: Fixed column copy warning.
A warning was raised whenever the user<->device
	relation was accessed. The assumption is that
	now the queries perform faster, having fixed
	this issue.

Signed-off-by: HeshamTB <hishaminv@gmail.com>
2022-06-05 17:10:35 +03:00
232ff82c46 sql_app: save last issued token in user record
Signed-off-by: HeshamTB <hishaminv@gmail.com>
2022-06-05 16:25:20 +03:00
f4b0e886cc sql_app: Added function to get room info (temp, people ...)
Signed-off-by: HeshamTB <hishaminv@gmail.com>
2022-05-23 21:04:19 +03:00
36123b1090 sql_app: Access log for user (access history)
Signed-off-by: HeshamTB <hishaminv@gmail.com>
2022-05-23 19:44:04 +03:00
52a7cffce2 sql_app: Added access log request
Signed-off-by: HeshamTB <hishaminv@gmail.com>
2022-05-23 19:02:54 +03:00
575ba9452a users/open: pass in time for door to stay open
Signed-off-by: HeshamTB <hishaminv@gmail.com>
2022-05-23 14:58:30 +03:00
e9925d32b4 clear open_door attr from doors when read.
Signed-off-by: HeshamTB <hishaminv@gmail.com>
2022-05-23 14:36:29 +03:00
bae51c3f67 Added data storage tables and types
Signed-off-by: HeshamTB <hishaminv@gmail.com>
2022-05-23 13:46:09 +03:00
3302c4dc39 main, crud: implement disallow user
Signed-off-by: HeshamTB <hishaminv@gmail.com>
2022-04-18 02:39:45 +03:00
20f4d0202f crud: use indexed primary key search rather than list all
Signed-off-by: HeshamTB <hishaminv@gmail.com>
2022-04-18 01:54:33 +03:00
f5d7db5071 crud: fix open door command db commit
Signed-off-by: HeshamTB <hishaminv@gmail.com>
2022-04-18 01:48:44 +03:00
34f27c32e8
users: Add open door command from user application
Signed-off-by: HeshamTB <hishaminv@gmail.com>
2022-04-18 01:43:12 +03:00
48e4f0ab48 crud: get iot by BT
Signed-off-by: HeshamTB <hishaminv@gmail.com>
2022-04-17 21:34:50 +03:00
17aa68ba9a
allow user: allow acces to room by name or id
Signed-off-by: HeshamTB <hishaminv@gmail.com>
2022-04-14 01:37:30 +03:00
9a7e6a288f sql_app: db: IotEntity added bluetooth field
Signed-off-by: HeshamTB <hishaminv@gmail.com>
2022-04-13 09:39:25 +03:00
fe3a193a4f sql_app: create and link iot device
Signed-off-by: HeshamTB <hishaminv@gmail.com>
2022-04-13 08:34:12 +03:00
f1cbd6d265 jwt auth
Signed-off-by: HeshamTB <hishaminv@gmail.com>
2022-04-13 05:24:06 +03:00
3153a7db8d sql_app: add username in regsiter
Signed-off-by: HeshamTB <hishaminv@gmail.com>
2022-04-04 02:02:29 +03:00
ab30844d95
sql_app: implement password hashing when create_user is used.
Signed-off-by: HeshamTB <hishaminv@gmail.com>
2022-03-16 22:46:50 +03:00
b0dc22070e
sql_app: basic models and schemas from FastAPI docs
- Classes in models describe tables in database

	- Classes in schemas desribe pydantic models to
	read from the API.

	- database provides a connection and sessions to
	the database.

	- crud exposes the interface to the database, i.e.
	actions we can take from the application onto the
	database

Signed-off-by: HeshamTB <hishaminv@gmail.com>
2022-03-03 15:49:26 +03:00