from sqlalchemy.orm import Session
from .models import Project
from sqlalchemy import func



def generate_unique_slug(db: Session, base_slug: str) -> str:
    slug = base_slug
    count = 0
    # Check if the slug already exists in the database
    # If it does, append a number to the slug until a unique one is found
    while db.query(Project).filter(Project.slug == slug).first():
        count += 1
        slug = f"{base_slug}-{count}"
    return slug

