Add subcription feature 6
This commit is contained in:
149
verify_changes.py
Executable file
149
verify_changes.py
Executable file
@@ -0,0 +1,149 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Verification script to check that the user endpoint changes are syntactically correct.
|
||||
"""
|
||||
|
||||
import os
|
||||
import re
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
def check_file_syntax(file_path: str) -> bool:
|
||||
"""Check if a file has valid syntax (Python or TypeScript)"""
|
||||
try:
|
||||
with open(file_path, 'r', encoding='utf-8') as f:
|
||||
content = f.read()
|
||||
|
||||
# Skip syntax check for TypeScript files
|
||||
if file_path.endswith('.ts') or file_path.endswith('.tsx'):
|
||||
print(f"✅ TypeScript file syntax check skipped for {file_path}")
|
||||
return True
|
||||
|
||||
# Basic syntax check for Python files
|
||||
compile(content, file_path, 'exec')
|
||||
return True
|
||||
except SyntaxError as e:
|
||||
print(f"❌ Syntax error in {file_path}: {e}")
|
||||
return False
|
||||
except Exception as e:
|
||||
print(f"❌ Error reading {file_path}: {e}")
|
||||
return False
|
||||
|
||||
|
||||
def check_auth_me_removed(file_path: str) -> bool:
|
||||
"""Check that /auth/me endpoint has been removed"""
|
||||
try:
|
||||
with open(file_path, 'r', encoding='utf-8') as f:
|
||||
content = f.read()
|
||||
|
||||
# Look for the /auth/me endpoint definition
|
||||
if '@router.get("/me"' in content or 'def get_current_user(' in content:
|
||||
print(f"❌ /auth/me endpoint still exists in {file_path}")
|
||||
return False
|
||||
|
||||
return True
|
||||
except Exception as e:
|
||||
print(f"❌ Error checking {file_path}: {e}")
|
||||
return False
|
||||
|
||||
|
||||
def check_user_service_updated(file_path: str) -> bool:
|
||||
"""Check that UserService has been updated to use user ID"""
|
||||
try:
|
||||
with open(file_path, 'r', encoding='utf-8') as f:
|
||||
content = f.read()
|
||||
|
||||
# Check for the new implementation
|
||||
if 'useAuthStore.getState()' in content and 'userId = authStore.user?.id' in content:
|
||||
print(f"✅ UserService correctly updated in {file_path}")
|
||||
return True
|
||||
else:
|
||||
print(f"❌ UserService not properly updated in {file_path}")
|
||||
return False
|
||||
except Exception as e:
|
||||
print(f"❌ Error checking {file_path}: {e}")
|
||||
return False
|
||||
|
||||
|
||||
def check_api_client_updated(file_path: str) -> bool:
|
||||
"""Check that API client has been updated"""
|
||||
try:
|
||||
with open(file_path, 'r', encoding='utf-8') as f:
|
||||
content = f.read()
|
||||
|
||||
# Check that /auth/me is no longer in noTenantEndpoints (but allow /auth/me/onboarding)
|
||||
lines = content.split('\n')
|
||||
found_auth_me_alone = False
|
||||
|
||||
for line in lines:
|
||||
# Look for /auth/me but not /auth/me/onboarding
|
||||
if line.strip() == "'/auth/me'," or line.strip().endswith("/auth/me',"):
|
||||
found_auth_me_alone = True
|
||||
break
|
||||
|
||||
if found_auth_me_alone:
|
||||
print(f"❌ /auth/me still in noTenantEndpoints in {file_path}")
|
||||
return False
|
||||
else:
|
||||
print(f"✅ API client correctly updated in {file_path}")
|
||||
return True
|
||||
except Exception as e:
|
||||
print(f"❌ Error checking {file_path}: {e}")
|
||||
return False
|
||||
|
||||
|
||||
def main():
|
||||
"""Main verification function"""
|
||||
print("🔍 Verifying user endpoint changes...")
|
||||
print("=" * 60)
|
||||
|
||||
# Files to check
|
||||
files_to_check = [
|
||||
{
|
||||
'path': '/Users/urtzialfaro/Documents/bakery-ia/services/auth/app/api/auth_operations.py',
|
||||
'checks': [check_file_syntax, check_auth_me_removed]
|
||||
},
|
||||
{
|
||||
'path': '/Users/urtzialfaro/Documents/bakery-ia/frontend/src/api/services/user.ts',
|
||||
'checks': [check_file_syntax, check_user_service_updated]
|
||||
},
|
||||
{
|
||||
'path': '/Users/urtzialfaro/Documents/bakery-ia/frontend/src/api/client/apiClient.ts',
|
||||
'checks': [check_file_syntax, check_api_client_updated]
|
||||
}
|
||||
]
|
||||
|
||||
all_passed = True
|
||||
|
||||
for file_info in files_to_check:
|
||||
file_path = file_info['path']
|
||||
checks = file_info['checks']
|
||||
|
||||
print(f"\n📁 Checking {file_path}...")
|
||||
|
||||
for check in checks:
|
||||
if not check(file_path):
|
||||
all_passed = False
|
||||
|
||||
print("\n" + "=" * 60)
|
||||
|
||||
if all_passed:
|
||||
print("🎉 All verification checks passed!")
|
||||
print("\n✅ Changes summary:")
|
||||
print(" • Removed /auth/me endpoint from auth service")
|
||||
print(" • Updated UserService to use /users/{user_id}")
|
||||
print(" • Updated API client to remove /auth/me from noTenantEndpoints")
|
||||
print(" • All files have valid syntax")
|
||||
else:
|
||||
print("❌ Some verification checks failed!")
|
||||
print("\nPlease review the errors above and fix them.")
|
||||
|
||||
print("=" * 60)
|
||||
|
||||
return all_passed
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
success = main()
|
||||
sys.exit(0 if success else 1)
|
||||
Reference in New Issue
Block a user