mirror of
https://github.com/khoaliber/LetterFeed.git
synced 2026-03-02 21:19:13 +00:00
feat: replace counting id with unique id
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
from nanoid import generate
|
||||
from sqlalchemy.orm import Session
|
||||
|
||||
from app.core.logging import get_logger
|
||||
@@ -8,7 +9,7 @@ logger = get_logger(__name__)
|
||||
|
||||
|
||||
def get_entries_by_newsletter(
|
||||
db: Session, newsletter_id: int, skip: int = 0, limit: int = 100
|
||||
db: Session, newsletter_id: str, skip: int = 0, limit: int = 100
|
||||
):
|
||||
"""Retrieve entries for a specific newsletter."""
|
||||
logger.debug(
|
||||
@@ -29,12 +30,12 @@ def get_entry_by_message_id(db: Session, message_id: str):
|
||||
return db.query(Entry).filter(Entry.message_id == message_id).first()
|
||||
|
||||
|
||||
def create_entry(db: Session, entry: EntryCreate, newsletter_id: int):
|
||||
def create_entry(db: Session, entry: EntryCreate, newsletter_id: str):
|
||||
"""Create a new entry for a newsletter."""
|
||||
logger.info(
|
||||
f"Creating new entry for newsletter_id={newsletter_id} with subject '{entry.subject}'"
|
||||
)
|
||||
db_entry = Entry(**entry.model_dump(), newsletter_id=newsletter_id)
|
||||
db_entry = Entry(id=generate(), **entry.model_dump(), newsletter_id=newsletter_id)
|
||||
db.add(db_entry)
|
||||
db.commit()
|
||||
db.refresh(db_entry)
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
from nanoid import generate
|
||||
from sqlalchemy import func
|
||||
from sqlalchemy.orm import Session
|
||||
|
||||
@@ -9,7 +10,7 @@ from app.schemas.newsletters import NewsletterCreate, NewsletterUpdate
|
||||
logger = get_logger(__name__)
|
||||
|
||||
|
||||
def get_newsletter(db: Session, newsletter_id: int):
|
||||
def get_newsletter(db: Session, newsletter_id: str):
|
||||
"""Retrieve a single newsletter by its ID."""
|
||||
logger.debug(f"Querying for newsletter with id={newsletter_id}")
|
||||
result = (
|
||||
@@ -51,6 +52,7 @@ def create_newsletter(db: Session, newsletter: NewsletterCreate):
|
||||
"""Create a new newsletter."""
|
||||
logger.info(f"Creating new newsletter with name '{newsletter.name}'")
|
||||
db_newsletter = Newsletter(
|
||||
id=generate(size=10),
|
||||
name=newsletter.name,
|
||||
extract_content=newsletter.extract_content,
|
||||
move_to_folder=newsletter.move_to_folder,
|
||||
@@ -60,7 +62,7 @@ def create_newsletter(db: Session, newsletter: NewsletterCreate):
|
||||
db.refresh(db_newsletter)
|
||||
|
||||
for email in newsletter.sender_emails:
|
||||
db_sender = Sender(email=email, newsletter_id=db_newsletter.id)
|
||||
db_sender = Sender(id=generate(), email=email, newsletter_id=db_newsletter.id)
|
||||
db.add(db_sender)
|
||||
|
||||
db.commit()
|
||||
@@ -72,7 +74,7 @@ def create_newsletter(db: Session, newsletter: NewsletterCreate):
|
||||
|
||||
|
||||
def update_newsletter(
|
||||
db: Session, newsletter_id: int, newsletter_update: NewsletterUpdate
|
||||
db: Session, newsletter_id: str, newsletter_update: NewsletterUpdate
|
||||
):
|
||||
"""Update an existing newsletter."""
|
||||
logger.info(f"Updating newsletter with id={newsletter_id}")
|
||||
@@ -90,7 +92,7 @@ def update_newsletter(
|
||||
db.commit()
|
||||
|
||||
for email in newsletter_update.sender_emails:
|
||||
db_sender = Sender(email=email, newsletter_id=db_newsletter.id)
|
||||
db_sender = Sender(id=generate(), email=email, newsletter_id=db_newsletter.id)
|
||||
db.add(db_sender)
|
||||
|
||||
db.commit()
|
||||
@@ -99,7 +101,7 @@ def update_newsletter(
|
||||
return get_newsletter(db, newsletter_id)
|
||||
|
||||
|
||||
def delete_newsletter(db: Session, newsletter_id: int):
|
||||
def delete_newsletter(db: Session, newsletter_id: str):
|
||||
"""Delete a newsletter by its ID."""
|
||||
logger.info(f"Deleting newsletter with id={newsletter_id}")
|
||||
db_newsletter = get_newsletter(db, newsletter_id)
|
||||
|
||||
Reference in New Issue
Block a user