diff --git a/app/modules/hosting/services/hosted_site_service.py b/app/modules/hosting/services/hosted_site_service.py index b404a193..5b1925fb 100644 --- a/app/modules/hosting/services/hosted_site_service.py +++ b/app/modules/hosting/services/hosted_site_service.py @@ -218,8 +218,19 @@ class HostedSiteService: return site def delete(self, db: Session, site_id: int) -> bool: + """Delete a hosted site and soft-delete the associated store.""" + from app.core.soft_delete import soft_delete + site = self.get_by_id(db, site_id) + store = site.store + db.delete(site) + + # Soft-delete the store created for this site (frees the subdomain) + if store: + soft_delete(db, store) + logger.info("Soft-deleted store %d (subdomain=%s) for site %d", store.id, store.subdomain, site_id) + db.flush() logger.info("Deleted hosted site: %d", site_id) return True