- Implemented VisualAITester class for automated UI/UX testing - Configured environment variables for API keys and paths - Developed methods for browser setup, login, screenshot capture, and image encoding - Integrated OpenAI Vision API for visual quality analysis with detailed feedback - Created tests for various application pages including homepage, project flow, geometry form, and more - Generated comprehensive HTML report summarizing test results and AI analysis - Added functionality to copy AI prompts for automated issue resolution
121 lines
3.6 KiB
SQL
121 lines
3.6 KiB
SQL
-- ============================================
|
|
-- SYSTEM LOGGING TABLE
|
|
-- ============================================
|
|
-- Centraliseret logging til alle fejl, warnings og info-beskeder
|
|
-- Gør det nemt at fejlsøge og analysere problemer
|
|
|
|
CREATE TABLE IF NOT EXISTS system_logs (
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
|
|
-- Tidsstempel
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
|
|
-- Log niveau
|
|
level ENUM('ERROR', 'WARNING', 'INFO', 'DEBUG') NOT NULL,
|
|
|
|
-- Kontekst information
|
|
context VARCHAR(255) NOT NULL COMMENT 'Beskriver hvor i systemet log-indgangen kommer fra',
|
|
category VARCHAR(100) DEFAULT NULL COMMENT 'Kategorisering som API, DATABASE, AUTH, etc.',
|
|
|
|
-- Fejlbeskrivelse
|
|
message TEXT NOT NULL,
|
|
error_code VARCHAR(50) DEFAULT NULL COMMENT 'Unik fejlkode for brugervenlig reference',
|
|
|
|
-- Tekniske detaljer
|
|
stack_trace TEXT DEFAULT NULL,
|
|
sql_query TEXT DEFAULT NULL,
|
|
sql_state VARCHAR(10) DEFAULT NULL,
|
|
|
|
-- Request information
|
|
request_method VARCHAR(10) DEFAULT NULL,
|
|
request_url TEXT DEFAULT NULL,
|
|
request_ip VARCHAR(45) DEFAULT NULL,
|
|
user_agent TEXT DEFAULT NULL,
|
|
|
|
-- Bruger information
|
|
user_id INT DEFAULT NULL,
|
|
user_email VARCHAR(255) DEFAULT NULL,
|
|
|
|
-- Ekstra metadata (JSON format)
|
|
metadata JSON DEFAULT NULL,
|
|
|
|
-- Status
|
|
resolved BOOLEAN DEFAULT FALSE,
|
|
resolved_at TIMESTAMP NULL DEFAULT NULL,
|
|
resolved_by VARCHAR(255) DEFAULT NULL,
|
|
resolution_notes TEXT DEFAULT NULL,
|
|
|
|
INDEX idx_level (level),
|
|
INDEX idx_created_at (created_at),
|
|
INDEX idx_context (context),
|
|
INDEX idx_category (category),
|
|
INDEX idx_error_code (error_code),
|
|
INDEX idx_user_id (user_id),
|
|
INDEX idx_resolved (resolved)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
|
|
-- ============================================
|
|
-- REQUEST LOGS TABLE (Performance tracking)
|
|
-- ============================================
|
|
-- Tracker alle API requests for performance analyse
|
|
|
|
CREATE TABLE IF NOT EXISTS request_logs (
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
|
|
-- Tidsstempel
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
|
|
-- Request information
|
|
method VARCHAR(10) NOT NULL,
|
|
url TEXT NOT NULL,
|
|
status_code INT NOT NULL,
|
|
|
|
-- Timing
|
|
response_time_ms INT NOT NULL COMMENT 'Response tid i millisekunder',
|
|
|
|
-- Bruger information
|
|
user_id INT DEFAULT NULL,
|
|
ip_address VARCHAR(45) DEFAULT NULL,
|
|
user_agent TEXT DEFAULT NULL,
|
|
|
|
-- Ekstra metadata
|
|
metadata JSON DEFAULT NULL,
|
|
|
|
INDEX idx_created_at (created_at),
|
|
INDEX idx_method (method),
|
|
INDEX idx_status_code (status_code),
|
|
INDEX idx_user_id (user_id),
|
|
INDEX idx_response_time (response_time_ms)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
|
|
-- ============================================
|
|
-- CLEANUP JOB (Hold logs i 90 dage)
|
|
-- ============================================
|
|
-- Denne skal køres regelmæssigt for at holde databasen ren
|
|
|
|
-- EVENT scheduler skal være aktiveret:
|
|
-- SET GLOBAL event_scheduler = ON;
|
|
|
|
DELIMITER $$
|
|
|
|
CREATE EVENT IF NOT EXISTS cleanup_old_logs
|
|
ON SCHEDULE EVERY 1 DAY
|
|
STARTS CURRENT_TIMESTAMP + INTERVAL 1 DAY
|
|
DO
|
|
BEGIN
|
|
-- Slet logs ældre end 90 dage (behold ERROR logs i 180 dage)
|
|
DELETE FROM system_logs
|
|
WHERE created_at < DATE_SUB(NOW(), INTERVAL 90 DAY)
|
|
AND level != 'ERROR';
|
|
|
|
DELETE FROM system_logs
|
|
WHERE created_at < DATE_SUB(NOW(), INTERVAL 180 DAY)
|
|
AND level = 'ERROR';
|
|
|
|
-- Slet request logs ældre end 30 dage
|
|
DELETE FROM request_logs
|
|
WHERE created_at < DATE_SUB(NOW(), INTERVAL 30 DAY);
|
|
END$$
|
|
|
|
DELIMITER ;
|