Refactor import statements across multiple modules to use relative paths for better organization and maintainability.
Co-authored-by: Copilot <copilot@github.com>
This commit is contained in:
@@ -3,7 +3,7 @@ from fastapi import Depends, HTTPException, status
|
|||||||
from fastapi.security import HTTPAuthorizationCredentials, HTTPBearer
|
from fastapi.security import HTTPAuthorizationCredentials, HTTPBearer
|
||||||
from jose import JWTError
|
from jose import JWTError
|
||||||
|
|
||||||
from backend.app.services.auth import decode_token
|
from .services.auth import decode_token
|
||||||
|
|
||||||
_bearer = HTTPBearer()
|
_bearer = HTTPBearer()
|
||||||
|
|
||||||
|
|||||||
+6
-6
@@ -1,9 +1,9 @@
|
|||||||
from backend.app.routers import auth as auth_router
|
from .routers import auth as auth_router
|
||||||
from backend.app.routers import users as users_router
|
from .routers import users as users_router
|
||||||
from backend.app.routers import admin as admin_router
|
from .routers import admin as admin_router
|
||||||
from backend.app.routers import ai as ai_router
|
from .routers import ai as ai_router
|
||||||
from backend.app.routers import generate as generate_router
|
from .routers import generate as generate_router
|
||||||
from backend.app.db import close_db, init_db
|
from .db import close_db, init_db
|
||||||
import os
|
import os
|
||||||
from contextlib import asynccontextmanager
|
from contextlib import asynccontextmanager
|
||||||
|
|
||||||
|
|||||||
@@ -3,8 +3,8 @@ from datetime import datetime, timezone
|
|||||||
|
|
||||||
from fastapi import APIRouter, Depends
|
from fastapi import APIRouter, Depends
|
||||||
|
|
||||||
from backend.app.db import get_conn, get_write_lock
|
from ..db import get_conn, get_write_lock
|
||||||
from backend.app.dependencies import require_admin
|
from ..dependencies import require_admin
|
||||||
|
|
||||||
router = APIRouter(prefix="/admin", tags=["admin"])
|
router = APIRouter(prefix="/admin", tags=["admin"])
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
"""AI router: model listing and chat completions via OpenRouter."""
|
"""AI router: model listing and chat completions via OpenRouter."""
|
||||||
from fastapi import APIRouter, Depends, HTTPException, status
|
from fastapi import APIRouter, Depends, HTTPException, status
|
||||||
|
|
||||||
from backend.app.dependencies import get_current_user
|
from ..dependencies import get_current_user
|
||||||
from backend.app.models.ai import ChatRequest, ChatResponse, ModelInfo
|
from ..models.ai import ChatRequest, ChatResponse, ModelInfo
|
||||||
from backend.app.services import openrouter
|
from ..services import openrouter
|
||||||
|
|
||||||
router = APIRouter(prefix="/ai", tags=["ai"])
|
router = APIRouter(prefix="/ai", tags=["ai"])
|
||||||
|
|
||||||
|
|||||||
@@ -4,8 +4,8 @@ import uuid
|
|||||||
from fastapi import APIRouter, HTTPException, status
|
from fastapi import APIRouter, HTTPException, status
|
||||||
from jose import JWTError
|
from jose import JWTError
|
||||||
|
|
||||||
from backend.app.models.auth import LoginRequest, RefreshRequest, RegisterRequest, TokenResponse
|
from ..models.auth import LoginRequest, RefreshRequest, RegisterRequest, TokenResponse
|
||||||
from backend.app.services.auth import (
|
from ..services.auth import (
|
||||||
authenticate_user,
|
authenticate_user,
|
||||||
create_access_token,
|
create_access_token,
|
||||||
create_refresh_token,
|
create_refresh_token,
|
||||||
@@ -71,7 +71,7 @@ async def refresh(body: RefreshRequest) -> TokenResponse:
|
|||||||
new_jti = str(uuid.uuid4())
|
new_jti = str(uuid.uuid4())
|
||||||
await store_refresh_token(user_id, new_jti)
|
await store_refresh_token(user_id, new_jti)
|
||||||
|
|
||||||
from backend.app.db import get_conn
|
from ..db import get_conn
|
||||||
conn = get_conn()
|
conn = get_conn()
|
||||||
row = conn.execute(
|
row = conn.execute(
|
||||||
"SELECT email, role FROM users WHERE id = ?", [user_id]
|
"SELECT email, role FROM users WHERE id = ?", [user_id]
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
"""Generate router: text, image, video, and image-to-video generation."""
|
"""Generate router: text, image, video, and image-to-video generation."""
|
||||||
from fastapi import APIRouter, Depends, HTTPException, status
|
from fastapi import APIRouter, Depends, HTTPException, status
|
||||||
|
|
||||||
from backend.app.dependencies import get_current_user
|
from ..dependencies import get_current_user
|
||||||
from backend.app.models.ai import (
|
from ..models.ai import (
|
||||||
ImageRequest,
|
ImageRequest,
|
||||||
ImageResponse,
|
ImageResponse,
|
||||||
ImageResult,
|
ImageResult,
|
||||||
@@ -12,7 +12,7 @@ from backend.app.models.ai import (
|
|||||||
VideoRequest,
|
VideoRequest,
|
||||||
VideoResponse,
|
VideoResponse,
|
||||||
)
|
)
|
||||||
from backend.app.services import openrouter
|
from ..services import openrouter
|
||||||
|
|
||||||
router = APIRouter(prefix="/generate", tags=["generate"])
|
router = APIRouter(prefix="/generate", tags=["generate"])
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
"""Users router: self-service profile and admin user management."""
|
"""Users router: self-service profile and admin user management."""
|
||||||
from fastapi import APIRouter, Depends, HTTPException, status
|
from fastapi import APIRouter, Depends, HTTPException, status
|
||||||
|
|
||||||
from backend.app.dependencies import get_current_user, require_admin
|
from ..dependencies import get_current_user, require_admin
|
||||||
from backend.app.models.users import SetRoleRequest, UpdateUserRequest, UserResponse
|
from ..models.users import SetRoleRequest, UpdateUserRequest, UserResponse
|
||||||
from backend.app.services.users import (
|
from ..services.users import (
|
||||||
delete_user,
|
delete_user,
|
||||||
get_user,
|
get_user,
|
||||||
list_users,
|
list_users,
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ from typing import Any
|
|||||||
from jose import JWTError, jwt
|
from jose import JWTError, jwt
|
||||||
from passlib.context import CryptContext
|
from passlib.context import CryptContext
|
||||||
|
|
||||||
from backend.app.db import get_conn, get_write_lock
|
from ..db import get_conn, get_write_lock
|
||||||
|
|
||||||
_pwd_context = CryptContext(schemes=["bcrypt"], deprecated="auto")
|
_pwd_context = CryptContext(schemes=["bcrypt"], deprecated="auto")
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
"""User management service: CRUD helpers against DuckDB."""
|
"""User management service: CRUD helpers against DuckDB."""
|
||||||
from typing import Any
|
from typing import Any
|
||||||
|
|
||||||
from backend.app.db import get_conn, get_write_lock
|
from ..db import get_conn, get_write_lock
|
||||||
from backend.app.services.auth import hash_password
|
from .auth import hash_password
|
||||||
|
|
||||||
|
|
||||||
async def get_user(user_id: str) -> dict[str, Any] | None:
|
async def get_user(user_id: str) -> dict[str, Any] | None:
|
||||||
|
|||||||
@@ -4,8 +4,8 @@ import pytest
|
|||||||
import pytest_asyncio
|
import pytest_asyncio
|
||||||
from httpx import AsyncClient, ASGITransport
|
from httpx import AsyncClient, ASGITransport
|
||||||
|
|
||||||
from backend.app.main import app
|
from app.main import app
|
||||||
from backend.app import db as db_module
|
from app import db as db_module
|
||||||
|
|
||||||
os.environ.setdefault("JWT_SECRET", "test-secret-key-for-testing-only")
|
os.environ.setdefault("JWT_SECRET", "test-secret-key-for-testing-only")
|
||||||
|
|
||||||
|
|||||||
@@ -5,8 +5,8 @@ import pytest_asyncio
|
|||||||
from unittest.mock import AsyncMock, patch
|
from unittest.mock import AsyncMock, patch
|
||||||
from httpx import AsyncClient, ASGITransport
|
from httpx import AsyncClient, ASGITransport
|
||||||
|
|
||||||
from backend.app.main import app
|
from app.main import app
|
||||||
from backend.app import db as db_module
|
from app import db as db_module
|
||||||
|
|
||||||
os.environ.setdefault("JWT_SECRET", "test-secret-key-for-testing-only")
|
os.environ.setdefault("JWT_SECRET", "test-secret-key-for-testing-only")
|
||||||
os.environ.setdefault("OPENROUTER_API_KEY", "test-key")
|
os.environ.setdefault("OPENROUTER_API_KEY", "test-key")
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
"""Integration tests for auth endpoints using in-memory DuckDB."""
|
"""Integration tests for auth endpoints using in-memory DuckDB."""
|
||||||
from backend.app.main import app
|
from app.main import app
|
||||||
from backend.app import db as db_module
|
from app import db as db_module
|
||||||
from httpx import AsyncClient, ASGITransport
|
from httpx import AsyncClient, ASGITransport
|
||||||
import os
|
import os
|
||||||
import pytest
|
import pytest
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import asyncio
|
|||||||
import pytest
|
import pytest
|
||||||
import duckdb
|
import duckdb
|
||||||
|
|
||||||
from backend.app import db as db_module
|
from app import db as db_module
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture(autouse=True)
|
@pytest.fixture(autouse=True)
|
||||||
|
|||||||
@@ -5,8 +5,8 @@ import pytest_asyncio
|
|||||||
from unittest.mock import AsyncMock, patch
|
from unittest.mock import AsyncMock, patch
|
||||||
from httpx import AsyncClient, ASGITransport
|
from httpx import AsyncClient, ASGITransport
|
||||||
|
|
||||||
from backend.app.main import app
|
from app.main import app
|
||||||
from backend.app import db as db_module
|
from app import db as db_module
|
||||||
|
|
||||||
os.environ.setdefault("JWT_SECRET", "test-secret-key-for-testing-only")
|
os.environ.setdefault("JWT_SECRET", "test-secret-key-for-testing-only")
|
||||||
os.environ.setdefault("OPENROUTER_API_KEY", "test-key")
|
os.environ.setdefault("OPENROUTER_API_KEY", "test-key")
|
||||||
|
|||||||
@@ -4,8 +4,8 @@ import pytest
|
|||||||
import pytest_asyncio
|
import pytest_asyncio
|
||||||
from httpx import AsyncClient, ASGITransport
|
from httpx import AsyncClient, ASGITransport
|
||||||
|
|
||||||
from backend.app.main import app
|
from app.main import app
|
||||||
from backend.app import db as db_module
|
from app import db as db_module
|
||||||
|
|
||||||
os.environ.setdefault("JWT_SECRET", "test-secret-key-for-testing-only")
|
os.environ.setdefault("JWT_SECRET", "test-secret-key-for-testing-only")
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user