增加获取single类型的pagetype的api端点
This commit is contained in:
parent
4817388ee7
commit
862309650e
@ -17,7 +17,7 @@ from jingrow.utils.auth import get_jingrow_api_headers
|
||||
from jingrow.services.queue import init_queue
|
||||
from jingrow.services.local_job_manager import local_job_manager
|
||||
from jingrow.services.hook_executor import create_hook_task, execute_hook_sync
|
||||
from jingrow.utils.jingrow_api import get_record_list, get_record, create_record, update_record, delete_record
|
||||
from jingrow.utils.jingrow_api import get_record_list, get_record, create_record, update_record, delete_record, get_single_pagetype
|
||||
import uuid
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
@ -217,6 +217,21 @@ async def get_record_count(request: Request, pagetype: str):
|
||||
raise HTTPException(status_code=500, detail=str(e))
|
||||
|
||||
|
||||
@router.get("/api/single/{pagetype}")
|
||||
async def get_single(request: Request, pagetype: str):
|
||||
"""获取single类型pagetype记录"""
|
||||
try:
|
||||
result = get_single_pagetype(pagetype)
|
||||
|
||||
if result.get('success'):
|
||||
return JSONResponse(content={"data": result.get('config', {})})
|
||||
else:
|
||||
raise HTTPException(status_code=404, detail=result.get('error', '配置不存在'))
|
||||
|
||||
except Exception as e:
|
||||
logger.error(f"获取single配置失败: {e}")
|
||||
raise HTTPException(status_code=500, detail=str(e))
|
||||
|
||||
@router.post("/api/hooks/execute")
|
||||
async def execute_hook_task(request: Request, data: Dict[str, Any]):
|
||||
"""执行钩子任务"""
|
||||
|
||||
@ -511,6 +511,19 @@ def get_jingrow_system_timezone():
|
||||
|
||||
return _get_default_timezone()
|
||||
|
||||
def get_single_pagetype(pagetype: str):
|
||||
"""获取single类型pagetype记录"""
|
||||
try:
|
||||
api_url = f"{Config.jingrow_server_url}/api/action/jingrow.ai.utils.jlocal.get_single_pagetype"
|
||||
response = requests.post(api_url, json={"pagetype": pagetype}, headers=get_jingrow_api_headers(), timeout=10)
|
||||
|
||||
if response.status_code == 200:
|
||||
result = response.json().get('message', response.json())
|
||||
return {'success': True, 'config': result.get('config', {})} if result.get('success') else {'success': False, 'error': result.get('error', '获取失败')}
|
||||
return {'success': False, 'error': f"HTTP {response.status_code}"}
|
||||
except Exception as e:
|
||||
return {'success': False, 'error': str(e)}
|
||||
|
||||
def _get_default_timezone():
|
||||
"""获取默认时区"""
|
||||
return datetime.datetime.now().astimezone().tzinfo
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user