from fastapi import APIRouter, HTTPException, status from ..controllers.user_controller import * from fastapi import Depends from sqlalchemy.orm import Session from ..dependencies.database import get_db router = APIRouter() #用户创建接口 @router.post('/users', response_model=UserCrateResponse) async def create_user(user: UserCrateRequest,db: Session = Depends(get_db)): response = await create_user_handler(user,db) return response #用户更新接口 @router.put('/users/{user_id}', response_model=UserUpdateResponse) async def update_user(user_id: int, user: UserUpdateRequest, db: Session = Depends(get_db)): response = await update_user_handler(user_id, user, db) return response #用户删除接口 @router.delete('/users/{user_id}', response_model=UserDeleteResponse) async def delete_user(user_id: int, db: Session = Depends(get_db)): response = await delete_user_handler(user_id, db) return response #用户查询接口 @router.get('/users/{user_id}', response_model=UserQueryResponse) async def get_user(user_id: int, db: Session = Depends(get_db)): response = await get_user_handler(user_id, db) return response #硬件绑定接口 @router.post('/users/hardware',response_model=HardwareBindResponse) async def bind_hardware(hardware: HardwareBindRequest, db: Session = Depends(get_db)): response = await bind_hardware_handler(hardware, db) return response #硬件解绑接口 @router.delete('/users/hardware/{hardware_id}',response_model=HardwareUnbindResponse) async def unbind_hardware(hardware_id: int, db: Session = Depends(get_db)): response = await unbind_hardware_handler(hardware_id, db) return response #硬件换绑 @router.put('/users/hardware/{hardware_id}/bindchange',response_model=HardwareChangeBindResponse) async def change_bind_hardware(hardware_id: int, user: HardwareChangeBindRequest, db: Session = Depends(get_db)): response = await change_bind_hardware_handler(hardware_id, user, db) return response #硬件信息更新 @router.put('/users/hardware/{hardware_id}/info',response_model=HardwareUpdateResponse) async def update_hardware_info(hardware_id: int, hardware: HardwareUpdateRequest, db: Session = Depends(get_db)): response = await update_hardware_handler(hardware_id, hardware, db) return response #硬件查询 @router.get('/users/hardware/{hardware_id}',response_model=HardwareQueryResponse) async def get_hardware(hardware_id: int, db: Session = Depends(get_db)): response = await get_hardware_handler(hardware_id, db) return response