# retoor ROLE_ADMIN = "Admin" ROLE_MEMBER = "Member" ROLES = (ROLE_ADMIN, ROLE_MEMBER) TOPICS = { "rol": "Rol", "standaard": "Standaard", } POST_STATUSES = ("draft", "published") MEDIA_KINDS = { "flyer": "Flyers", "meme": "Memes", } JOIN_STATUSES = ("open", "contacted", "accepted", "declined") SOFT_DELETE_TABLES = ( "users", "sessions", "posts", "join_requests", "notifications", "media_items", ) UNREPORTABLE_TABLES = { "users": "Only the operator holds accounts; no public user content.", "sessions": "Private credential rows.", "posts": "Authored by administrators only; moderation module not selected.", "join_requests": "Owner-private ledger visible to administrators only.", "notifications": "Owner-private inbox rows.", "media_items": "Operator-curated gallery assets.", } REPORTABLE_TARGETS: frozenset[str] = frozenset() NOTIFICATION_TYPES = { "join.request": "Nieuwe aanmelding via Binnen", "post.published": "Bericht gepubliceerd", "backup.finished": "Back-up afgerond", "backup.failed": "Back-up mislukt", "auth.apikey": "API-sleutel vernieuwd", "system.maintenance": "Onderhoudsmodus gewijzigd", } CRAWLER_PRIVATE_PREFIXES = ("/notifications", "/admin", "/profile") CRAWLER_MARKERS = ( "bot", "crawler", "spider", "slurp", "crawl", "facebookexternalhit", "bingpreview", ) TERMS_EXEMPT_PREFIXES = ( "/static", "/avatar", "/auth", "/docs", "/voorwaarden", "/privacy", ) MAINTENANCE_ALLOWED_PREFIXES = ("/static", "/avatar", "/auth", "/admin") RATE_LIMIT_EXEMPT_PREFIXES: tuple[str, ...] = () GZIP_SKIP_PREFIXES: tuple[str, ...] = () SETTINGS_DEFAULTS = { "site_title": "Molodetz", "site_tagline": "De kring, niet de reclame.", "maintenance_mode": "0", "maintenance_message": "Molodetz is even dicht voor onderhoud.", "rate_limit_per_minute": "60", "rate_limit_window_seconds": "60", "session_max_age_days": "7", "session_remember_days": "30", "terms_version": "1", "friendly_404": "1", "audit_retention_days": "365", "outbound_proxy_url": "", } CLIENT_RENDER_TEMPLATES = frozenset({"admin/post_form.html"}) HTTP_CLIENT_ALLOWLIST = frozenset({"molodetz/stealth.py"})