- Added models for `OAuthClient`, `OAuthState`, and `OAuthAccount`. - Created Pydantic schemas to support OAuth flows, client management, and linked accounts. - Implemented skeleton endpoints for OAuth Provider mode: authorization, token, and revocation. - Updated router imports to include new `/oauth` and `/oauth/provider` routes. - Added Alembic migration script to create OAuth-related database tables. - Enhanced `users` table to allow OAuth-only accounts by making `password_hash` nullable.
35 lines
766 B
Python
35 lines
766 B
Python
"""
|
|
Models package initialization.
|
|
Imports all models to ensure they're registered with SQLAlchemy.
|
|
"""
|
|
|
|
# First import Base to avoid circular imports
|
|
from app.core.database import Base
|
|
|
|
from .base import TimestampMixin, UUIDMixin
|
|
|
|
# OAuth models
|
|
from .oauth_account import OAuthAccount
|
|
from .oauth_client import OAuthClient
|
|
from .oauth_state import OAuthState
|
|
from .organization import Organization
|
|
|
|
# Import models
|
|
from .user import User
|
|
from .user_organization import OrganizationRole, UserOrganization
|
|
from .user_session import UserSession
|
|
|
|
__all__ = [
|
|
"Base",
|
|
"OAuthAccount",
|
|
"OAuthClient",
|
|
"OAuthState",
|
|
"Organization",
|
|
"OrganizationRole",
|
|
"TimestampMixin",
|
|
"UUIDMixin",
|
|
"User",
|
|
"UserOrganization",
|
|
"UserSession",
|
|
]
|