| 123456789101112131415161718192021222324252627 |
- from __future__ import annotations
- from sqlalchemy.orm import Session
- from app.core.config import settings
- from app.core.errors import APIError
- from app.db.models.mine import Mine
- from app.db.repositories import mine as mine_repo
- def resolve_mine(db: Session, mine_id: str | None = None) -> Mine:
- mine = mine_repo.get_mine(db, mine_id) if mine_id else None
- if mine is None and not mine_id:
- mine = mine_repo.get_mine_by_code(db, settings.default_mine_code)
- if mine is None and not mine_id:
- mine = mine_repo.get_default_mine(db)
- if mine is None:
- raise APIError(404, "mine_not_found", "矿井不存在或未配置默认矿井")
- return mine
- def require_mine(db: Session, mine_id: str) -> Mine:
- mine = mine_repo.get_mine(db, mine_id)
- if mine is None:
- raise APIError(404, "mine_not_found", "矿井不存在")
- return mine
|