Introduces an optimized API endpoint to fetch all pending radio commands for a user in a single call, along with a maintenance endpoint for cleaning up expired and old commands. Updates the documentation to reflect these new endpoints and usage patterns. Adds a QSY endpoint to Dxcluster for queuing frequency/mode commands from the bandmap, and integrates client-side JavaScript to send QSY commands to the selected radio with user feedback. Enhances backend models to support user-scoped cleanup of expired and old commands.
Introduces a new radio command queueing system with API endpoints and a user interface for sending, viewing, and managing radio commands. Adds migration for the radio_commands table, extends the Cat model with command-related methods, and implements new controllers and views for both API and web interfaces. This enables integration with desktop apps and provides users with tools to send, track, and cancel radio commands.
Enhanced the DXCC lookup in Logbook_model to include latitude and longitude in the returned array. Updated API controller to utilize these new fields when returning recent QSOs and callsign lookups, providing more detailed location data in API responses.
The recent_qsos API endpoint now validates and sanitizes the $limit parameter, enforcing a default of 10, a minimum of 1, and a maximum of 50. Additionally, get_last_qsos in Logbook_model ensures $num is always an integer to prevent SQL injection.
Removed the limit parameter validation and sanitization from Api.php, delegating limit handling elsewhere. Changed the SQL query in Logbook_model.php to use LEFT JOIN for station_profile, ensuring all logbook records are included even if no matching station_profile exists.
Squashed commit of the following:
commit 83f12cc945fa717945062a841854498368d8cb10
Author: phl0
Date: Tue Mar 21 12:24:53 2023 +0100
Change default value to current date/time
commit e1cb72f3fc80f581ee30d927772efe0ffe155059
Author: phl0
Date: Tue Mar 21 12:05:46 2023 +0100
Add functions to update timestamps
commit d303f629a0b2d200e49da36766cf72ed37c3fe92
Merge: 01a9606a 7dd76923
Author: phl0
Date: Tue Mar 21 11:13:21 2023 +0100
Merge remote-tracking branch 'origin/dev' into apiKeyLastUsed
commit 01a9606afde6aad6be0f07f34f8584e540c50e8c
Author: phl0
Date: Tue Mar 21 11:11:51 2023 +0100
Reorder DB migration due to previous commits
commit ec5cd743b96dc1ed0f2740f7b2051f88549f4248
Author: phl0
Date: Fri Mar 17 16:23:34 2023 +0100
Basics for API key last used
Skips check_station_is_accessible() if import is coming from API this is because api qso import doesn't have a session thus automatically fails.
Extra checks must be done on the api calls to make sure things are safe.
Fixes#1381
Co-Authored-By: Florian (DF2ET) <github@florian-wolters.de>