| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously monitors were identified by just their name, causing monitors
with the same name in different groups to share data in the database.
Changes:
- Add ID() method to MonitorConfig returning 'group/name' format
- Add Group field to MonitorConfig (set at runtime)
- Update Monitor interface with ID() and Group() methods
- Update all monitor implementations (http, tcp, dns, icmp, gemini,
graphql, database) to use composite ID
- Update Scheduler to use monitor ID instead of name
- Update server handlers to use composite ID for stats lookups
- Change API routes to use {group}/{name} pattern:
- /api/monitor/{group}/{name}
- /api/history/{group}/{name}
- /api/uptime/{group}/{name}
- /api/badge/{group}/{name}.svg
- URL-encode group and name components to handle special characters
(e.g., slashes in names become %2F)
- Update config.UpdateResetFlag to accept group and name separately
BREAKING: API endpoints now require group in the path. Existing database
data using just monitor names won't be associated with the new composite
keys.
|