2bbdb00a4d
包含节点账本、每日清算,以及 Ubuntu 交互式部署脚本。 Co-authored-by: Cursor <cursoragent@cursor.com>
22 lines
688 B
Python
22 lines
688 B
Python
"""按序列号或钱包地址读取主体,供各业务模块共用。"""
|
|
|
|
from sqlalchemy import select
|
|
from sqlalchemy.orm import Session
|
|
|
|
from app.errors import AppError
|
|
from app.models import ComputeNode, User
|
|
|
|
|
|
def get_user_by_wallet(session: Session, wallet_address: str) -> User:
|
|
user = session.scalar(select(User).where(User.wallet_address == wallet_address))
|
|
if user is None:
|
|
raise AppError("用户不存在", 404)
|
|
return user
|
|
|
|
|
|
def get_node_by_sn(session: Session, sn: str) -> ComputeNode:
|
|
node = session.scalar(select(ComputeNode).where(ComputeNode.sn == sn))
|
|
if node is None:
|
|
raise AppError(f"节点不存在: {sn}", 404)
|
|
return node
|