Skip to content

Commit 599db22

Browse files
committed
修改模块名称
1 parent d6324eb commit 599db22

2 files changed

Lines changed: 34 additions & 7 deletions

File tree

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import requests
44
from dotenv import load_dotenv
55
import app.schema.sqlmap as sqlmapschema
6-
import app.core.sqlmap_task as sqlmap_task
6+
import app.core.sqlmap_core as sqlmap_task
77

88
router = APIRouter(prefix="/sqlmap", tags=["SQLMap扫描任务"])
99

@@ -82,13 +82,24 @@ async def task_status(task_id: str):
8282

8383

8484
@router.get("/tasks/{task_id}/log")
85-
async def task_log(task_id: str):
86-
r = requests.get(f"{SQLMAP_API}/scan/{task_id}/log", auth=AUTH)
85+
async def task_log(task_id: str, limit: int = 100, offset: int = 0):
86+
logs = await sqlmap_task.get_task_logs(task_id, limit, offset)
8787

88-
if not r.ok:
89-
raise HTTPException(404, "无法获取日志")
88+
if not logs:
89+
raise HTTPException(status_code=404, detail="没有找到日志")
9090

91-
return r.json()
91+
return {
92+
"task_id": task_id,
93+
"logs": [
94+
{
95+
"level": log.level,
96+
"message": log.message,
97+
"log_time": log.log_time,
98+
"created_at": log.created_at.isoformat(),
99+
}
100+
for log in logs
101+
],
102+
}
92103

93104

94105
@router.get("/tasks/{task_id}/result")
Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
from app.database.database import AsyncSessionLocal
2-
from app.models.sqlmap_result import SqlmapScanPayload
2+
from app.models.sqlmap_result import SqlmapScanPayload, SqlmapScanLog, SqlmapScanResult
33
from sqlalchemy import select
44

55

@@ -28,3 +28,19 @@ async def list_tasks():
2828
select(SqlmapScanPayload).order_by(SqlmapScanPayload.created_at.desc())
2929
)
3030
return result.scalars().all()
31+
32+
33+
async def get_task_logs(task_id: str, limit: int = 100, offset: int = 0):
34+
"""
35+
查询指定任务的日志
36+
"""
37+
async with AsyncSessionLocal() as session:
38+
result = await session.execute(
39+
select(SqlmapScanLog)
40+
.where(SqlmapScanLog.task_id == task_id)
41+
.order_by(SqlmapScanLog.created_at)
42+
.limit(limit)
43+
.offset(offset)
44+
)
45+
logs = result.scalars().all()
46+
return logs

0 commit comments

Comments
 (0)