import re

content = open('app/api/middleware/security_middleware.py', 'r', encoding='utf-8').read()

middleware_code = '''
from starlette.responses import RedirectResponse

class LegacyRedirectMiddleware(BaseHTTPMiddleware):
    """Redirects old URLs to the new /v1/erp/... standard to preserve bookmarks."""
    async def dispatch(self, request: Request, call_next):
        path = request.url.path
        
        # Exact root paths that need redirecting
        legacy_prefixes = (
            "/dashboard", "/login", "/takeoff", "/drawing-takeoff", "/material-prices",
            "/material-price-comparison", "/state-prices", "/zalo-crm", "/documents-dashboard",
            "/documents", "/projects", "/wbs", "/finance", "/war-room", "/employees", "/users",
            "/equipment", "/invoices", "/banking", "/partners", "/vendors", "/customers",
            "/dhs", "/agent-models", "/site-diary", "/site-pwa", "/settings"
        )
        
        if path.startswith(legacy_prefixes):
            new_url = request.url.replace(path=f"/v1/erp{path}")
            return RedirectResponse(url=str(new_url), status_code=301)
            
        return await call_next(request)
'''

open('app/api/middleware/security_middleware.py', 'a', encoding='utf-8').write(middleware_code)
print("Appended Redirect middleware")
