refactor(app): update database code
This commit is contained in:
@@ -4,7 +4,7 @@ import hashlib
|
||||
from io import BytesIO
|
||||
|
||||
from app.database.lazer_user import User
|
||||
from app.dependencies.database import get_db
|
||||
from app.dependencies.database import Database
|
||||
from app.dependencies.storage import get_storage_service
|
||||
from app.dependencies.user import get_client_user
|
||||
from app.storage.base import StorageService
|
||||
@@ -13,7 +13,6 @@ from .router import router
|
||||
|
||||
from fastapi import Depends, File, HTTPException, Security
|
||||
from PIL import Image
|
||||
from sqlmodel.ext.asyncio.session import AsyncSession
|
||||
|
||||
|
||||
@router.post(
|
||||
@@ -21,10 +20,10 @@ from sqlmodel.ext.asyncio.session import AsyncSession
|
||||
name="上传头像",
|
||||
)
|
||||
async def upload_avatar(
|
||||
session: Database,
|
||||
content: bytes = File(...),
|
||||
current_user: User = Security(get_client_user),
|
||||
storage: StorageService = Depends(get_storage_service),
|
||||
session: AsyncSession = Depends(get_db),
|
||||
):
|
||||
"""上传用户头像
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ import hashlib
|
||||
from io import BytesIO
|
||||
|
||||
from app.database.lazer_user import User, UserProfileCover
|
||||
from app.dependencies.database import get_db
|
||||
from app.dependencies.database import Database
|
||||
from app.dependencies.storage import get_storage_service
|
||||
from app.dependencies.user import get_client_user
|
||||
from app.storage.base import StorageService
|
||||
@@ -13,7 +13,6 @@ from .router import router
|
||||
|
||||
from fastapi import Depends, File, HTTPException, Security
|
||||
from PIL import Image
|
||||
from sqlmodel.ext.asyncio.session import AsyncSession
|
||||
|
||||
|
||||
@router.post(
|
||||
@@ -21,10 +20,10 @@ from sqlmodel.ext.asyncio.session import AsyncSession
|
||||
name="上传头图",
|
||||
)
|
||||
async def upload_cover(
|
||||
session: Database,
|
||||
content: bytes = File(...),
|
||||
current_user: User = Security(get_client_user),
|
||||
storage: StorageService = Depends(get_storage_service),
|
||||
session: AsyncSession = Depends(get_db),
|
||||
):
|
||||
"""上传用户头图
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ import secrets
|
||||
|
||||
from app.database.auth import OAuthClient, OAuthToken
|
||||
from app.database.lazer_user import User
|
||||
from app.dependencies.database import get_db, get_redis
|
||||
from app.dependencies.database import Database, get_redis
|
||||
from app.dependencies.user import get_client_user
|
||||
|
||||
from .router import router
|
||||
@@ -12,7 +12,6 @@ from .router import router
|
||||
from fastapi import Body, Depends, HTTPException, Security
|
||||
from redis.asyncio import Redis
|
||||
from sqlmodel import select, text
|
||||
from sqlmodel.ext.asyncio.session import AsyncSession
|
||||
|
||||
|
||||
@router.post(
|
||||
@@ -21,11 +20,11 @@ from sqlmodel.ext.asyncio.session import AsyncSession
|
||||
description="创建一个新的 OAuth 应用程序,并生成客户端 ID 和密钥",
|
||||
)
|
||||
async def create_oauth_app(
|
||||
session: Database,
|
||||
name: str = Body(..., max_length=100, description="应用程序名称"),
|
||||
description: str = Body("", description="应用程序描述"),
|
||||
redirect_uris: list[str] = Body(..., description="允许的重定向 URI 列表"),
|
||||
current_user: User = Security(get_client_user),
|
||||
session: AsyncSession = Depends(get_db),
|
||||
):
|
||||
result = await session.execute( # pyright: ignore[reportDeprecated]
|
||||
text(
|
||||
@@ -61,8 +60,8 @@ async def create_oauth_app(
|
||||
description="通过客户端 ID 获取 OAuth 应用的详细信息",
|
||||
)
|
||||
async def get_oauth_app(
|
||||
session: Database,
|
||||
client_id: int,
|
||||
session: AsyncSession = Depends(get_db),
|
||||
current_user: User = Security(get_client_user),
|
||||
):
|
||||
oauth_app = await session.get(OAuthClient, client_id)
|
||||
@@ -82,7 +81,7 @@ async def get_oauth_app(
|
||||
description="获取当前用户创建的所有 OAuth 应用程序",
|
||||
)
|
||||
async def get_user_oauth_apps(
|
||||
session: AsyncSession = Depends(get_db),
|
||||
session: Database,
|
||||
current_user: User = Security(get_client_user),
|
||||
):
|
||||
oauth_apps = await session.exec(
|
||||
@@ -106,8 +105,8 @@ async def get_user_oauth_apps(
|
||||
description="删除指定的 OAuth 应用程序及其关联的所有令牌",
|
||||
)
|
||||
async def delete_oauth_app(
|
||||
session: Database,
|
||||
client_id: int,
|
||||
session: AsyncSession = Depends(get_db),
|
||||
current_user: User = Security(get_client_user),
|
||||
):
|
||||
oauth_client = await session.get(OAuthClient, client_id)
|
||||
@@ -134,11 +133,11 @@ async def delete_oauth_app(
|
||||
description="更新指定 OAuth 应用的名称、描述和重定向 URI",
|
||||
)
|
||||
async def update_oauth_app(
|
||||
session: Database,
|
||||
client_id: int,
|
||||
name: str = Body(..., max_length=100, description="应用程序新名称"),
|
||||
description: str = Body("", description="应用程序新描述"),
|
||||
redirect_uris: list[str] = Body(..., description="新的重定向 URI 列表"),
|
||||
session: AsyncSession = Depends(get_db),
|
||||
current_user: User = Security(get_client_user),
|
||||
):
|
||||
oauth_client = await session.get(OAuthClient, client_id)
|
||||
@@ -169,8 +168,8 @@ async def update_oauth_app(
|
||||
description="为指定的 OAuth 应用生成新的客户端密钥,并使所有现有的令牌失效",
|
||||
)
|
||||
async def refresh_secret(
|
||||
session: Database,
|
||||
client_id: int,
|
||||
session: AsyncSession = Depends(get_db),
|
||||
current_user: User = Security(get_client_user),
|
||||
):
|
||||
oauth_client = await session.get(OAuthClient, client_id)
|
||||
@@ -204,11 +203,11 @@ async def refresh_secret(
|
||||
description="为特定用户和 OAuth 应用生成授权码,用于授权码授权流程",
|
||||
)
|
||||
async def generate_oauth_code(
|
||||
session: Database,
|
||||
client_id: int,
|
||||
current_user: User = Security(get_client_user),
|
||||
redirect_uri: str = Body(..., description="授权后重定向的 URI"),
|
||||
scopes: list[str] = Body(..., description="请求的权限范围列表"),
|
||||
session: AsyncSession = Depends(get_db),
|
||||
redis: Redis = Depends(get_redis),
|
||||
):
|
||||
client = await session.get(OAuthClient, client_id)
|
||||
|
||||
@@ -2,15 +2,14 @@ from __future__ import annotations
|
||||
|
||||
from app.database import Relationship, User
|
||||
from app.database.relationship import RelationshipType
|
||||
from app.dependencies.database import get_db
|
||||
from app.dependencies.database import Database
|
||||
from app.dependencies.user import get_client_user
|
||||
|
||||
from .router import router
|
||||
|
||||
from fastapi import Depends, HTTPException, Path, Security
|
||||
from fastapi import HTTPException, Path, Security
|
||||
from pydantic import BaseModel, Field
|
||||
from sqlmodel import select
|
||||
from sqlmodel.ext.asyncio.session import AsyncSession
|
||||
|
||||
|
||||
class CheckResponse(BaseModel):
|
||||
@@ -26,9 +25,9 @@ class CheckResponse(BaseModel):
|
||||
response_model=CheckResponse,
|
||||
)
|
||||
async def check_user_relationship(
|
||||
db: Database,
|
||||
user_id: int = Path(..., description="目标用户的 ID"),
|
||||
current_user: User = Security(get_client_user),
|
||||
db: AsyncSession = Depends(get_db),
|
||||
):
|
||||
if user_id == current_user.id:
|
||||
raise HTTPException(422, "Cannot check relationship with yourself")
|
||||
|
||||
@@ -6,14 +6,13 @@ from app.auth import validate_username
|
||||
from app.config import settings
|
||||
from app.database.events import Event, EventType
|
||||
from app.database.lazer_user import User
|
||||
from app.dependencies.database import get_db
|
||||
from app.dependencies.database import Database
|
||||
from app.dependencies.user import get_client_user
|
||||
|
||||
from .router import router
|
||||
|
||||
from fastapi import Body, Depends, HTTPException, Security
|
||||
from fastapi import Body, HTTPException, Security
|
||||
from sqlmodel import select
|
||||
from sqlmodel.ext.asyncio.session import AsyncSession
|
||||
|
||||
|
||||
@router.post(
|
||||
@@ -21,8 +20,8 @@ from sqlmodel.ext.asyncio.session import AsyncSession
|
||||
name="修改用户名",
|
||||
)
|
||||
async def user_rename(
|
||||
session: Database,
|
||||
new_name: str = Body(..., description="新的用户名"),
|
||||
session: AsyncSession = Depends(get_db),
|
||||
current_user: User = Security(get_client_user),
|
||||
):
|
||||
"""修改用户名
|
||||
|
||||
Reference in New Issue
Block a user