add the get project config api (#33)

* add the get project config api

* delete the password values
This commit is contained in:
Wu Clan
2023-05-11 15:20:21 +08:00
committed by GitHub
parent 2a51c76493
commit a19d942bd7
3 changed files with 55 additions and 1 deletions

View File

@ -4,9 +4,12 @@ from fastapi import APIRouter
from backend.app.api.v1.auth import router as auth_router
from backend.app.api.v1.task_demo import router as task_demo_router
from backend.app.api.v1.sys_config import router as sys_config_router
v1 = APIRouter(prefix='/v1')
v1.include_router(auth_router)
v1.include_router(task_demo_router, prefix='/tasks', tags=['任务管理'])
v1.include_router(sys_config_router, prefix='/configs', tags=['系统配置'])

View File

@ -0,0 +1,51 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from fastapi import APIRouter
from backend.app.api.jwt import DependsSuperUser
from backend.app.common.response.response_schema import ResponseModel
from backend.app.core.conf import settings
router = APIRouter()
@router.get('', summary='获取系统配置', dependencies=[DependsSuperUser])
async def get_sys_config() -> ResponseModel:
return ResponseModel(
data={
'title': settings.TITLE,
'version': settings.VERSION,
'description': settings.DESCRIPTION,
'docs_url': settings.DOCS_URL,
'redocs_url': settings.REDOCS_URL,
'openapi_url': settings.OPENAPI_URL,
'environment': settings.ENVIRONMENT,
'static_files': settings.STATIC_FILES,
'uvicorn_host': settings.UVICORN_HOST,
'uvicorn_port': settings.UVICORN_PORT,
'uvicorn_reload': settings.UVICORN_RELOAD,
'db_host': settings.DB_HOST,
'db_port': settings.DB_PORT,
'db_user': settings.DB_USER,
'db_database': settings.DB_DATABASE,
'db_charset': settings.DB_CHARSET,
'redis_host': settings.REDIS_HOST,
'redis_port': settings.REDIS_PORT,
'redis_database': settings.REDIS_DATABASE,
'redis_timeout': settings.REDIS_TIMEOUT,
'aps_redis_host': settings.APS_REDIS_HOST,
'aps_redis_port': settings.APS_REDIS_PORT,
'aps_redis_database': settings.APS_REDIS_DATABASE,
'aps_redis_timeout': settings.APS_REDIS_TIMEOUT,
'aps_coalesce': settings.APS_COALESCE,
'aps_max_instances': settings.APS_MAX_INSTANCES,
'aps_misfire_grace_time': settings.APS_MISFIRE_GRACE_TIME,
'token_algorithm': settings.TOKEN_ALGORITHM,
'token_expire_minutes': settings.TOKEN_EXPIRE_MINUTES,
'token_url': settings.TOKEN_URL,
'log_file_name': settings.LOG_FILE_NAME,
'middleware_cors': settings.MIDDLEWARE_CORS,
'middleware_gzip': settings.MIDDLEWARE_GZIP,
'middleware_access': settings.MIDDLEWARE_ACCESS,
}
)

View File

@ -71,7 +71,7 @@ class Settings(BaseSettings):
# Token
TOKEN_ALGORITHM: str = 'HS256' # 算法
TOKEN_EXPIRE_MINUTES: int = 60 * 24 * 1 # token 时效 60 * 24 * 1 = 1 天
TOKEN_URL: str = '/v1/users/login'
TOKEN_URL: str = '/v1/auth/users/login'
# Log
LOG_FILE_NAME: str = 'fba.log'