Commit Graph

15 Commits

Author SHA1 Message Date
59f11356ec fix(checkmk): readable error messages in Logbook, strip HTML from API errors 2026-06-04 14:30:25 +02:00
b223e6dfe9 fix: red error banner readable in light mode 2026-06-04 14:26:32 +02:00
e13e11ce6a feat: log login events in logbook; improve CheckMK error reporting
Successful logins now write a system-type logbook entry.
CheckMK sync reports configuration errors, host-fetch failures,
and per-device sync failures as logbook entries instead of silently
dropping them; inherits effective_attributes IP fallback.
2026-06-04 14:21:05 +02:00
1289e2476c fix: restore configurable redirect URI field – required when APP_URL is not set 2026-06-04 14:09:55 +02:00
f12f92aea8 feat: CheckMK global IP-based integration with enable toggle
Replace per-device CheckMK URL field with a global, IP-based lookup.
The sync job fetches all host configs from CheckMK once per cycle,
matches each device by IP address, and updates its status accordingly.
Devices not found in CheckMK are reset to 'unknown'.

- Add checkmk_enabled / checkmk_api_user settings; toggle in Settings
  mirrors the Entra ID pattern (fields dim when disabled)
- Sync job uses self-scheduling setTimeout so interval changes apply
  without a server restart; POST /api/checkmk/sync for manual triggers
- Status changes and a per-cycle summary are written to the Logbook
- Remove checkMkUrl from Device type, form, list view, and detail panel;
  status badge and CheckMK panel only render when CheckMK is enabled
- Booking offline warning suppressed when CheckMK is disabled
- Topology status dot color driven purely by device.status
2026-06-04 14:07:54 +02:00
e9fb79041e feat: inline label editing for topology links 2026-06-04 13:51:30 +02:00
5769b38f74 feat: env badge in header, inline desc edit, clean up deps
- Header now shows Production/Development with color-coded dot via import.meta.env.PROD
- LinkDashboard: click-to-edit description inline (blur/Enter to save, Escape to cancel)
- LoginPage: fix Azure button label to English
- Remove unused motion and autoprefixer dependencies
2026-06-04 13:42:13 +02:00
b7a3d2086d feat: allow booking offline devices, keep reachability warning 2026-06-04 13:40:32 +02:00
97e1b1a665 feat: Entra ID group restriction, remove redirect URI field, user delete + email edit 2026-06-04 13:10:56 +02:00
c879f84843 fix: lighter input styles in Settings, show required redirect URI for Azure 2026-06-03 16:35:21 +02:00
550acd27b2 fix(light-mode): add blue token overrides for Settings page 2026-06-03 16:21:40 +02:00
34c9822e42 style(settings): polish Settings page – accent gradients, status badges, better field layout 2026-06-03 16:18:36 +02:00
f7999cbe55 fix: remove role gate from Settings, all strings in English 2026-06-03 16:08:05 +02:00
d364aea4c1 feat: Entra ID login + settings page for integrations
- Add SQLite settings table with getSetting/setSetting/getAllSettings helpers
- Implement Azure OAuth2 authorization code flow via @azure/msal-node
- Add public GET /api/auth/config endpoint for frontend activation check
- Add admin-only GET/PUT /api/settings API with masked secret fields
- CheckMK sync reads credentials from DB settings (env vars as fallback)
- New Settings.tsx: Entra ID and CheckMK configuration cards
- LoginPage: "Sign in with Microsoft" button, shown only when Azure is active
- App.tsx: OAuth callback handling (?token=/?auth_error=), Settings tab for admins
2026-06-03 16:02:47 +02:00
eed01b9665 Initial commit 2026-06-03 15:20:06 +02:00