Skip to main content
Glama

code-index-mcp

main.py4.91 kB
#!/usr/bin/env python3 """ Main entry point for the user management system demo. """ from user_management import UserManager, Person, User from user_management.services.auth_service import AuthService from user_management.models.user import UserRole from user_management.utils.exceptions import UserNotFoundError, DuplicateUserError def main(): """Demonstrate the user management system.""" print("=" * 50) print("User Management System Demo") print("=" * 50) # Create user manager and auth service user_manager = UserManager() auth_service = AuthService(user_manager) # Create some sample users print("\n1. Creating sample users...") try: # Create admin user admin = user_manager.create_user( name="Alice Johnson", username="alice_admin", age=30, email="alice@example.com", role=UserRole.ADMIN ) admin.set_password("AdminPass123!") admin.add_permission("user_management") admin.add_permission("system_admin") # Create regular users user1 = user_manager.create_user( name="Bob Smith", username="bob_user", age=25, email="bob@example.com" ) user1.set_password("UserPass123!") user2 = user_manager.create_user( name="Charlie Brown", username="charlie", age=35, email="charlie@example.com" ) user2.set_password("CharliePass123!") print(f"✓ Created {user_manager.get_user_count()} users") except DuplicateUserError as e: print(f"✗ Error creating users: {e}") # Display all users print("\n2. Listing all users...") users = user_manager.get_all_users() for user in users: print(f" • {user.username} ({user.name}) - {user.role.value}") # Test authentication print("\n3. Testing authentication...") try: authenticated_user = auth_service.authenticate("alice_admin", "AdminPass123!") print(f"✓ Authentication successful for {authenticated_user.username}") # Create session session_id = auth_service.create_session(authenticated_user) print(f"✓ Session created: {session_id[:16]}...") except Exception as e: print(f"✗ Authentication failed: {e}") # Test user search print("\n4. Testing user search...") search_results = user_manager.search_users("alice") print(f"Search results for 'alice': {len(search_results)} users found") for user in search_results: print(f" • {user.username} ({user.name})") # Test filtering print("\n5. Testing user filtering...") older_users = user_manager.get_users_older_than(30) print(f"Users older than 30: {len(older_users)} users") for user in older_users: print(f" • {user.username} ({user.name}) - age {user.age}") # Test user updates print("\n6. Testing user updates...") try: updated_user = user_manager.update_user("bob_user", age=26) print(f"✓ Updated {updated_user.username}'s age to {updated_user.age}") except UserNotFoundError as e: print(f"✗ Update failed: {e}") # Display statistics print("\n7. User statistics...") stats = user_manager.get_user_stats() for key, value in stats.items(): print(f" {key.replace('_', ' ').title()}: {value}") # Test export functionality print("\n8. Testing export functionality...") try: json_export = user_manager.export_users('json') print(f"✓ JSON export: {len(json_export)} characters") csv_export = user_manager.export_users('csv') print(f"✓ CSV export: {len(csv_export.splitlines())} lines") except Exception as e: print(f"✗ Export failed: {e}") # Test password change print("\n9. Testing password change...") try: auth_service.change_password("bob_user", "UserPass123!", "NewUserPass123!") print("✓ Password changed successfully") # Test with new password auth_service.authenticate("bob_user", "NewUserPass123!") print("✓ Authentication with new password successful") except Exception as e: print(f"✗ Password change failed: {e}") # Test session management print("\n10. Testing session management...") session_stats = auth_service.get_session_stats() print(f"Active sessions: {session_stats['total_sessions']}") # Cleanup expired sessions expired_count = auth_service.cleanup_expired_sessions() print(f"Cleaned up {expired_count} expired sessions") print("\n" + "=" * 50) print("Demo completed successfully!") print("=" * 50) if __name__ == "__main__": main()

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/johnhuang316/code-index-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server