crud
CRUD operations on DB model
Functions:
-
execute_text_sql_stmt–Function to execute text SQL statement and return result
-
get_all_devices–Function to get all registered devices
-
get_last_record–Function to get last record from DB for a given
device_idordevice_name -
get_latest_locations–Function to get latest locations stored in DB for a given
-
get_locations–Function to select and return all locations stored in DB
-
insert–Function to insert a new record into DB
execute_text_sql_stmt
get_all_devices
get_all_devices() -> List[Row | RowMapping]
Function to get all registered devices
Returns:
-
List[Row]–List of all registered devices
get_last_record
get_last_record(session: Session, cond_name: Literal['device_id', 'device_name'] = 'device_name', cond_value: str | Any | None = None) -> DeviceLocation | None
Function to get last record from DB for a given device_id or device_name
(Returning only .geometry attribute, not the entire record)
Parameters:
-
(sessionSession) –SQLAlchemy session (
Sessionobject) -
(cond_nameLiteral['device_id', 'device_name'], default:'device_name') –Column name of conditional filtering
-
(cond_valuestr | Any | None, default:None) –Conditional filtering value
Returns:
-
Any | None–Last record from DB matching condition, None otherwise
get_latest_locations
Function to get latest locations stored in DB for a given
Parameters:
-
(device_namestr | None, default:None) –Device name
Returns:
-
List[Dict[str, Any]]–Latest locations
get_locations
get_locations(device_name: str | None = None, limit: int | None = None, start_dt: datetime | None = None, end_dt: datetime | None = None, order_desc: bool = True) -> List[Dict[str, Any]]
Function to select and return all locations stored in DB
Parameters:
-
(device_namestr | None, default:None) –Device name
-
(limitint | None, default:None) –Records limit (default := 50)
-
(start_dtdatetime | None, default:None) –Start datetime (default := None)
-
(end_dtdatetime | None, default:None) –End datetime (default := None)
-
(order_descbool, default:True) –True if results must be ordered descending, False otherwise (default := True)
Returns:
-
List[Dict[str, Any]]–List of locations (dict)
insert
Function to insert a new record into DB
Parameters:
-
(dataDict[str, Any]) –Dictionary of data to insert into DB
-
(apply_filtersbool, default:False) –True to apply filters, False otherwise
-
(filtersAny | None, default:None) –Filters to be applied on data before any insertions
Returns:
-
bool–True if insert operation was successful, False otherwise