修改路径,从src放到根目录
This commit is contained in:
67
api/dependencies.py
Normal file
67
api/dependencies.py
Normal file
@@ -0,0 +1,67 @@
|
||||
"""
|
||||
FastAPI依赖注入模块
|
||||
"""
|
||||
|
||||
from typing import Generator, Optional
|
||||
from fastapi import Depends, HTTPException, status
|
||||
from sqlalchemy.orm import Session
|
||||
|
||||
from database.connection import db_manager, get_db
|
||||
from repositories.face_feature_repository import FaceFeatureRepository
|
||||
from services.face_feature_service import FaceFeatureService
|
||||
|
||||
|
||||
def get_face_feature_repository(
|
||||
db: Session = Depends(get_db)
|
||||
) -> FaceFeatureRepository:
|
||||
"""
|
||||
获取人脸特征仓库依赖
|
||||
|
||||
Args:
|
||||
db: 数据库会话
|
||||
|
||||
Returns:
|
||||
FaceFeatureRepository实例
|
||||
"""
|
||||
return FaceFeatureRepository(db)
|
||||
|
||||
|
||||
def get_face_feature_service(
|
||||
repository: FaceFeatureRepository = Depends(get_face_feature_repository)
|
||||
) -> FaceFeatureService:
|
||||
"""
|
||||
获取人脸特征服务依赖
|
||||
|
||||
Args:
|
||||
repository: 人脸特征仓库
|
||||
|
||||
Returns:
|
||||
FaceFeatureService实例
|
||||
"""
|
||||
return FaceFeatureService(repository)
|
||||
|
||||
|
||||
def get_face_feature_by_id(
|
||||
feature_id: int,
|
||||
service: FaceFeatureService = Depends(get_face_feature_service)
|
||||
):
|
||||
"""
|
||||
根据ID获取人脸特征记录的依赖
|
||||
|
||||
Args:
|
||||
feature_id: 特征记录ID
|
||||
service: 人脸特征服务
|
||||
|
||||
Returns:
|
||||
人脸特征记录
|
||||
|
||||
Raises:
|
||||
HTTPException: 如果记录不存在
|
||||
"""
|
||||
feature = service.get_feature(feature_id)
|
||||
if not feature:
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_404_NOT_FOUND,
|
||||
detail=f"特征记录不存在 (ID: {feature_id})"
|
||||
)
|
||||
return feature
|
||||
Reference in New Issue
Block a user