#!/usr/bin/env python3
from pathlib import Path
import re
from collections import defaultdict

routes_dir = Path("laravel-overlay/routes")
pattern = re.compile(r"Route::(get|post|put|patch|delete)\(\s*['\"]([^'\"]+)")

seen = defaultdict(list)

for path in routes_dir.glob("*.php"):
    text = path.read_text(encoding="utf-8", errors="ignore")
    for method, uri in pattern.findall(text):
        seen[(method.upper(), uri)].append(path.name)

duplicates = {k: v for k, v in seen.items() if len(v) > 1}

if duplicates:
    print("Potential duplicate route declarations:")
    for (method, uri), files in sorted(duplicates.items()):
        print(f"{method:6} {uri:45} {' | '.join(files)}")
else:
    print("No simple duplicate route declarations detected.")
