Refactor UI with purple dark theme glassmorphism, projects management, license editing, agent installer scripts, unmaskable tokens, C# test suite

This commit is contained in:
Deploymentcenter Bot
2026-08-05 21:55:19 +02:00
parent 8ddcbf179a
commit fe9f95584e
8 changed files with 813 additions and 276 deletions
+14 -6
View File
@@ -6,8 +6,9 @@ SET FOREIGN_KEY_CHECKS = 0;
-- Core Platform Tables
DROP TABLE IF EXISTS dc_users;
DROP TABLE IF EXISTS dc_settings;
DROP TABLE IF EXISTS dc_projects;
-- LicenseLabrador Module Tables
-- License Module Tables
DROP TABLE IF EXISTS license_api_rate_limit;
DROP TABLE IF EXISTS license_audit_log;
DROP TABLE IF EXISTS license_activations;
@@ -40,8 +41,8 @@ CREATE TABLE dc_settings (
svalue TEXT NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- 2. LicenseLabrador Module Tables
CREATE TABLE license_products (
-- Core Projects Table (Shared across Lizenzen, Watchdog, UpdateService)
CREATE TABLE dc_projects (
id INT AUTO_INCREMENT PRIMARY KEY,
slug VARCHAR(64) NOT NULL UNIQUE,
name VARCHAR(190) NOT NULL,
@@ -50,6 +51,7 @@ CREATE TABLE license_products (
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- 2. License Module Tables (Linked to dc_projects)
CREATE TABLE license_licenses (
id INT AUTO_INCREMENT PRIMARY KEY,
product_id INT NOT NULL,
@@ -61,7 +63,7 @@ CREATE TABLE license_licenses (
max_activations INT NOT NULL DEFAULT 2,
notes TEXT NULL,
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (product_id) REFERENCES license_products(id) ON DELETE RESTRICT
FOREIGN KEY (product_id) REFERENCES dc_projects(id) ON DELETE RESTRICT
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
CREATE TABLE license_activations (
@@ -160,6 +162,7 @@ CREATE TABLE watchdog_cron_jobs (
CREATE TABLE watchdog_agent_tokens (
token_id VARCHAR(64) PRIMARY KEY,
token_hash VARCHAR(128) NOT NULL,
raw_token VARCHAR(128) NULL,
name VARCHAR(100) NOT NULL,
monitor_source VARCHAR(100) NULL,
monitor_instance VARCHAR(100) NULL,
@@ -203,8 +206,8 @@ INSERT INTO watchdog_cron_jobs (name, interval_sec, enabled) VALUES
('eventlog_cleanup', 86400, 1)
ON DUPLICATE KEY UPDATE interval_sec = VALUES(interval_sec);
-- Seed Initial Products (LicenseLabrador)
INSERT INTO license_products (id, slug, name, notes, default_cache_ttl_hours) VALUES
-- Seed Initial Projects (Core Projects)
INSERT INTO dc_projects (id, slug, name, notes, default_cache_ttl_hours) VALUES
(1, 'myapp', 'My Application Deluxe', 'Hauptanwendung für Desktop und Server', 168),
(2, 'polytrader', 'PolyTrader Suite Pro', 'Trading- und Handelssystem Client', 72),
(3, 'predictalytics', 'Predictalytics Engine', 'Datenanalyse und Vorhersage Dienst', 168)
@@ -248,6 +251,11 @@ INSERT INTO watchdog_event_log (source, instance, kind, severity, message) VALUE
('Update Poller Service', 'default', 'warning_raised', 'warning', 'Latenz überschreitet Schwellwert (450ms)'),
('PolyTrader Worker', 'default', 'recovered', 'info', 'Dienst nach Neustart wieder online');
-- Seed Initial Watchdog Agent Tokens
INSERT INTO watchdog_agent_tokens (token_id, token_hash, raw_token, name, monitor_source) VALUES
('tok_infra01', '140e6c7329ecb3ea662580a1495c654f593361e64cf96ec37050dd0915f013d5', 'wd_live_token_infra_01_secure', 'Infrastructure Agent Token', 'srv-db-01')
ON DUPLICATE KEY UPDATE name = VALUES(name);
-- Seed Initial Update Releases
INSERT INTO updateservice_releases (product_slug, version, release_notes, download_url, sha256_hash, is_critical) VALUES
('myapp', '1.0.0', 'Initiales Release mit Grundfunktionen', 'https://dc.mhdf.de/downloads/myapp-1.0.0.zip', 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855', 0),