add init token

This commit is contained in:
Felix
2025-12-05 21:06:38 +08:00
parent aafbbbd895
commit 319c8b2f2a
2 changed files with 9 additions and 4 deletions

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from fastapi import APIRouter, Depends, Request
from fastapi import APIRouter, Depends, Request, HTTPException
from backend.app.admin.schema.product import ProductItem, InitProductsRequest, InitProductsResponse
from backend.app.admin.service.product_service import product_service
@@ -8,6 +8,7 @@ from backend.app.admin.crud.wx_order_crud import wx_order_dao
from backend.common.response.response_schema import response_base, ResponseSchemaModel
from backend.common.security.jwt import DependsJwtAuth
from backend.database.db import async_db_session
from backend.core.conf import settings
router = APIRouter()
@@ -30,7 +31,10 @@ async def list_products(request: Request) -> ResponseSchemaModel[list[ProductIte
return response_base.success(data=data)
@router.post('/init', summary='初始化积分商品')
async def init_products(body: InitProductsRequest) -> ResponseSchemaModel[InitProductsResponse]:
count = await product_service.init_products([i.model_dump() for i in (body.items or [])])
@router.get('/init', summary='初始化积分商品')
async def init_products(request: Request) -> ResponseSchemaModel[InitProductsResponse]:
t = request.query_params.get('t')
if not t or t == '' or t != settings.INIT_TOKEN:
raise HTTPException(status_code=403, detail='Forbidden')
count = await product_service.init_products(None)
return response_base.success(data=InitProductsResponse(count=count))

View File

@@ -68,6 +68,7 @@ class Settings(BaseSettings):
COS_BASIC_DIR: str
YOUDAO_APP_ID: str
YOUDAO_APP_SECRET: str
INIT_TOKEN: str = ""
# .env 数据库
DATABASE_ECHO: bool | Literal['debug'] = False