update:默认后台密码:FileCodeBox2023
This commit is contained in:
@@ -0,0 +1,15 @@
|
||||
# @Time : 2023/8/15 17:43
|
||||
# @Author : Lan
|
||||
# @File : depends.py
|
||||
# @Software: PyCharm
|
||||
from typing import Union
|
||||
|
||||
from fastapi import Header, HTTPException
|
||||
from fastapi.requests import Request
|
||||
from core.settings import settings
|
||||
|
||||
|
||||
async def admin_required(authorization: Union[str, None] = Header(default=None), request: Request = None):
|
||||
if authorization != settings.admin_token:
|
||||
raise HTTPException(status_code=401, detail='未授权或授权校验失败')
|
||||
return True
|
||||
+11
-5
@@ -2,8 +2,9 @@
|
||||
# @Author : Lan
|
||||
# @File : views.py
|
||||
# @Software: PyCharm
|
||||
from fastapi import APIRouter
|
||||
from fastapi import APIRouter, Depends
|
||||
|
||||
from apps.admin.depends import admin_required
|
||||
from apps.admin.pydantics import IDData
|
||||
from apps.base.models import FileCodes
|
||||
from core.response import APIResponse
|
||||
@@ -16,7 +17,12 @@ admin_api = APIRouter(
|
||||
)
|
||||
|
||||
|
||||
@admin_api.delete('/file/delete')
|
||||
@admin_api.post('/login', dependencies=[Depends(admin_required)])
|
||||
async def login():
|
||||
return APIResponse()
|
||||
|
||||
|
||||
@admin_api.delete('/file/delete', dependencies=[Depends(admin_required)])
|
||||
async def file_delete(data: IDData):
|
||||
file_code = await FileCodes.get(id=data.id)
|
||||
await file_storage.delete_file(file_code)
|
||||
@@ -24,7 +30,7 @@ async def file_delete(data: IDData):
|
||||
return APIResponse()
|
||||
|
||||
|
||||
@admin_api.get('/file/list')
|
||||
@admin_api.get('/file/list', dependencies=[Depends(admin_required)])
|
||||
async def file_list(page: int = 1, size: int = 10):
|
||||
data = await FileCodes.all().limit(size).offset((page - 1) * size)
|
||||
return APIResponse(detail={
|
||||
@@ -35,12 +41,12 @@ async def file_list(page: int = 1, size: int = 10):
|
||||
})
|
||||
|
||||
|
||||
@admin_api.get('/config/get')
|
||||
@admin_api.get('/config/get', dependencies=[Depends(admin_required)])
|
||||
async def get_config():
|
||||
return APIResponse(detail=settings.__dict__)
|
||||
|
||||
|
||||
@admin_api.patch('/config/update')
|
||||
@admin_api.patch('/config/update', dependencies=[Depends(admin_required)])
|
||||
async def update_config(data: dict):
|
||||
for k, v in data.items():
|
||||
settings.__setattr__(k, v)
|
||||
|
||||
@@ -10,10 +10,6 @@ from fastapi import Header, HTTPException, Request
|
||||
from core.response import APIResponse
|
||||
|
||||
|
||||
async def admin_required(pwd: Union[str, None] = Header(default=None), request: Request = None):
|
||||
return False
|
||||
|
||||
|
||||
class IPRateLimit:
|
||||
def __init__(self, count, minutes):
|
||||
self.ips = {}
|
||||
|
||||
Reference in New Issue
Block a user