Some checks failed
Tests / Go Tests (push) Has been cancelled
Tests / Python Tests (push) Has been cancelled
Tests / Integration Tests (push) Has been cancelled
Tests / Go Lint (push) Has been cancelled
Tests / Python Lint (push) Has been cancelled
Tests / Security Scan (push) Has been cancelled
Tests / All Checks Passed (push) Has been cancelled
Security Scanning / Secret Scanning (push) Has been cancelled
Security Scanning / Dependency Vulnerability Scan (push) Has been cancelled
Security Scanning / Go Security Scan (push) Has been cancelled
Security Scanning / Python Security Scan (push) Has been cancelled
Security Scanning / Node.js Security Scan (push) Has been cancelled
Security Scanning / Docker Image Security (push) Has been cancelled
Security Scanning / Security Summary (push) Has been cancelled
CI/CD Pipeline / Go Tests (push) Has been cancelled
CI/CD Pipeline / Python Tests (push) Has been cancelled
CI/CD Pipeline / Website Tests (push) Has been cancelled
CI/CD Pipeline / Linting (push) Has been cancelled
CI/CD Pipeline / Security Scan (push) Has been cancelled
CI/CD Pipeline / Docker Build & Push (push) Has been cancelled
CI/CD Pipeline / Integration Tests (push) Has been cancelled
CI/CD Pipeline / Deploy to Staging (push) Has been cancelled
CI/CD Pipeline / Deploy to Production (push) Has been cancelled
CI/CD Pipeline / CI Summary (push) Has been cancelled
ci/woodpecker/manual/build-ci-image Pipeline was successful
ci/woodpecker/manual/main Pipeline failed
All services: admin-v2, studio-v2, website, ai-compliance-sdk, consent-service, klausur-service, voice-service, and infrastructure. Large PDFs and compiled binaries excluded via .gitignore.
62 lines
1.6 KiB
Python
62 lines
1.6 KiB
Python
"""
|
|
Klausur-Service In-Memory Storage
|
|
|
|
Centralized storage for all in-memory data.
|
|
Note: In production, this should be replaced with a database.
|
|
"""
|
|
|
|
from typing import Dict, List
|
|
|
|
from models.exam import Klausur, StudentKlausur
|
|
from models.grading import AuditLogEntry
|
|
from models.eh import (
|
|
Erwartungshorizont,
|
|
EHRightsConfirmation,
|
|
EHAuditLogEntry,
|
|
EHKeyShare,
|
|
EHKlausurLink,
|
|
EHShareInvitation,
|
|
)
|
|
|
|
# =============================================
|
|
# KLAUSUR STORAGE
|
|
# =============================================
|
|
|
|
# Klausur storage: klausur_id -> Klausur
|
|
klausuren_db: Dict[str, Klausur] = {}
|
|
|
|
# Student work storage: student_id -> StudentKlausur
|
|
students_db: Dict[str, StudentKlausur] = {}
|
|
|
|
# Examiner assignments: student_id -> examiner info
|
|
examiner_db: Dict[str, Dict] = {}
|
|
|
|
# =============================================
|
|
# AUDIT LOG STORAGE
|
|
# =============================================
|
|
|
|
# General audit log
|
|
audit_log_db: List[AuditLogEntry] = []
|
|
|
|
# =============================================
|
|
# BYOEH STORAGE
|
|
# =============================================
|
|
|
|
# Erwartungshorizont storage: eh_id -> Erwartungshorizont
|
|
eh_db: Dict[str, Erwartungshorizont] = {}
|
|
|
|
# Rights confirmations: confirmation_id -> EHRightsConfirmation
|
|
eh_rights_db: Dict[str, EHRightsConfirmation] = {}
|
|
|
|
# EH audit log
|
|
eh_audit_db: List[EHAuditLogEntry] = []
|
|
|
|
# Key shares: eh_id -> list of EHKeyShare
|
|
eh_key_shares_db: Dict[str, List[EHKeyShare]] = {}
|
|
|
|
# EH-Klausur links: klausur_id -> list of EHKlausurLink
|
|
eh_klausur_links_db: Dict[str, List[EHKlausurLink]] = {}
|
|
|
|
# Share invitations: invitation_id -> EHShareInvitation
|
|
eh_invitations_db: Dict[str, EHShareInvitation] = {}
|