This repository has been archived on 2026-02-15. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
breakpilot-pwa/klausur-service/backend/mail/__init__.py
Benjamin Admin 21a844cb8a fix: Restore all files lost during destructive rebase
A previous `git pull --rebase origin main` dropped 177 local commits,
losing 3400+ files across admin-v2, backend, studio-v2, website,
klausur-service, and many other services. The partial restore attempt
(660295e2) only recovered some files.

This commit restores all missing files from pre-rebase ref 98933f5e
while preserving post-rebase additions (night-scheduler, night-mode UI,
NightModeWidget dashboard integration).

Restored features include:
- AI Module Sidebar (FAB), OCR Labeling, OCR Compare
- GPU Dashboard, RAG Pipeline, Magic Help
- Klausur-Korrektur (8 files), Abitur-Archiv (5+ files)
- Companion, Zeugnisse-Crawler, Screen Flow
- Full backend, studio-v2, website, klausur-service
- All compliance SDKs, agent-core, voice-service
- CI/CD configs, documentation, scripts

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 09:51:32 +01:00

107 lines
2.5 KiB
Python

"""
Unified Inbox Mail Module
Multi-Account IMAP aggregation with KI-powered analysis.
Features:
- Multi-account IMAP aggregation
- Secure credential storage (Vault/encrypted)
- KI-powered email analysis (sender classification, deadline extraction)
- Arbeitsvorrat (task management) with deadline tracking
- Response suggestions
Usage:
from mail.api import router as mail_router
app.include_router(mail_router)
API Endpoints:
POST /api/v1/mail/init - Initialize database tables
POST /api/v1/mail/accounts - Create email account
GET /api/v1/mail/accounts - List accounts
GET /api/v1/mail/inbox - Get unified inbox
POST /api/v1/mail/analyze/{id} - Analyze email with AI
GET /api/v1/mail/tasks - Get tasks (Arbeitsvorrat)
GET /api/v1/mail/tasks/dashboard - Dashboard statistics
"""
from .models import (
# Enums
AccountStatus,
TaskStatus,
TaskPriority,
EmailCategory,
SenderType,
# Account models
EmailAccountCreate,
EmailAccountUpdate,
EmailAccount,
AccountTestResult,
# Email models
AggregatedEmail,
EmailSearchParams,
EmailComposeRequest,
EmailSendResult,
# Task models
TaskCreate,
TaskUpdate,
InboxTask,
TaskDashboardStats,
# AI models
SenderClassification,
DeadlineExtraction,
EmailAnalysisResult,
ResponseSuggestion,
# Stats
MailStats,
MailHealthCheck,
# Templates
EmailTemplate,
EmailTemplateCreate,
)
from .api import router
from .aggregator import get_mail_aggregator
from .ai_service import get_ai_email_service
from .task_service import get_task_service
from .credentials import get_credentials_service
from .mail_db import init_mail_tables
__all__ = [
# Router
"router",
# Services
"get_mail_aggregator",
"get_ai_email_service",
"get_task_service",
"get_credentials_service",
# Database
"init_mail_tables",
# Enums
"AccountStatus",
"TaskStatus",
"TaskPriority",
"EmailCategory",
"SenderType",
# Models
"EmailAccountCreate",
"EmailAccountUpdate",
"EmailAccount",
"AccountTestResult",
"AggregatedEmail",
"EmailSearchParams",
"EmailComposeRequest",
"EmailSendResult",
"TaskCreate",
"TaskUpdate",
"InboxTask",
"TaskDashboardStats",
"SenderClassification",
"DeadlineExtraction",
"EmailAnalysisResult",
"ResponseSuggestion",
"MailStats",
"MailHealthCheck",
"EmailTemplate",
"EmailTemplateCreate",
]