feat: custom newsletter slug

This commit is contained in:
Leon
2025-07-24 13:20:22 +02:00
parent f78607f506
commit 24e65a8c86
19 changed files with 386 additions and 68 deletions

View File

@@ -1,6 +1,8 @@
from typing import List
from pydantic import BaseModel, ConfigDict
from pydantic import BaseModel, ConfigDict, field_validator
from app.core.slug import sanitize_slug
class SenderBase(BaseModel):
@@ -28,9 +30,15 @@ class NewsletterBase(BaseModel):
"""Base schema for a newsletter."""
name: str
slug: str | None = None
move_to_folder: str | None = None
extract_content: bool = False
@field_validator("slug")
def sanitize_slug_field(cls, v: str | None) -> str | None:
"""Sanitize slug."""
return sanitize_slug(v)
class NewsletterCreate(NewsletterBase):
"""Schema for creating a new newsletter."""