60 lines
1.7 KiB
Python
60 lines
1.7 KiB
Python
from fastapi import APIRouter, HTTPException
|
|
from pydantic import BaseModel
|
|
from ..services.admin_config_service import (
|
|
get_price_config,
|
|
get_night_config,
|
|
update_points_rate,
|
|
update_get_points_rate,
|
|
update_night_start,
|
|
update_night_end,
|
|
update_price_minutes
|
|
)
|
|
from ..services.admin_table_service import _verify_admin_permission
|
|
|
|
router = APIRouter()
|
|
|
|
class UpdatePointsRateRequest(BaseModel):
|
|
token: str
|
|
points_rate: float
|
|
|
|
class UpdateNightTimeRequest(BaseModel):
|
|
token: str
|
|
time: str # 格式:"HH:MM:SS"
|
|
|
|
class UpdatePriceMinutesRequest(BaseModel):
|
|
token: str
|
|
price_minutes: int
|
|
|
|
@router.get("/config/price")
|
|
def get_price_config_api():
|
|
return get_price_config()
|
|
|
|
@router.get("/config/night")
|
|
def get_night_config_api():
|
|
return get_night_config()
|
|
|
|
@router.post("/config/points-rate")
|
|
def update_points_rate_api(request: UpdatePointsRateRequest):
|
|
_verify_admin_permission(request.token)
|
|
return update_points_rate(request.points_rate)
|
|
|
|
@router.post("/config/get-points-rate")
|
|
def update_get_points_rate_api(request: UpdatePointsRateRequest):
|
|
_verify_admin_permission(request.token)
|
|
return update_get_points_rate(request.points_rate)
|
|
|
|
@router.post("/config/night-start")
|
|
def update_night_start_api(request: UpdateNightTimeRequest):
|
|
_verify_admin_permission(request.token)
|
|
return update_night_start(request.time)
|
|
|
|
@router.post("/config/night-end")
|
|
def update_night_end_api(request: UpdateNightTimeRequest):
|
|
_verify_admin_permission(request.token)
|
|
return update_night_end(request.time)
|
|
|
|
@router.post("/config/price-minutes")
|
|
def update_price_minutes_api(request: UpdatePriceMinutesRequest):
|
|
_verify_admin_permission(request.token)
|
|
return update_price_minutes(request.price_minutes)
|