summaryrefslogtreecommitdiff
path: root/server/apps/target.py
diff options
context:
space:
mode:
authorhandingkang <[email protected]>2024-04-20 21:51:14 +0800
committerhandingkang <[email protected]>2024-04-20 21:51:14 +0800
commitc9700eabaa42c21367221bbffe01ada52fe7362b (patch)
tree516cca3b2aa0d566359e7d1196ad55f433390e2a /server/apps/target.py
parent682b274f8815ab431d8117be261eae43a223b704 (diff)
完善目标信息获取接口
Diffstat (limited to 'server/apps/target.py')
-rw-r--r--server/apps/target.py23
1 files changed, 15 insertions, 8 deletions
diff --git a/server/apps/target.py b/server/apps/target.py
index 0a47599..05c1263 100644
--- a/server/apps/target.py
+++ b/server/apps/target.py
@@ -217,9 +217,9 @@ def record(query_data):
@bp.get("/")
@bp.doc("(表格)目标信息获取接口", "返回目标信息")
@bp.input({
- "protocol": String(validate=OneOf(['IPv6', 'DNSSEC', "DoH", "DoT"])),
- "cou": String(),
- "isp": String(),
+ "protocol": String(load_default=None, validate=OneOf(['IPv6', 'DNSSEC', "DoH", "DoT"])),
+ "cou": String(load_default=None),
+ "isp": String(load_default=None),
"per_page": Integer(load_default=10),
"page": Integer(load_default=1),
"ip": IP(load_default=None)
@@ -232,16 +232,24 @@ def record(query_data):
def target_info(query_data):
per_page = query_data["per_page"]
page = query_data["page"]
+ proto = query_data["protocol"]
+ cou = query_data["cou"]
+ isp = query_data["isp"]
+ ip = query_data["ip"]
+
+ # 目标信息列表
target_list = []
- if query_data["ip"] is None:
+ if ip is None:
# 普通检索
- res = da.get_data(data_type="target", offset=(page - 1) * per_page, limit=per_page)
+ res = da.get_data(data_type="target", search={"proto": proto, "cou": cou, "isp": isp},
+ offset=(page - 1) * per_page, limit=per_page)
+ res_count = da.count_data(data_type="target", search={"proto": proto, "cou": cou, "isp": isp})
else:
# 查询目标
res = da.get_data(data_type="target", offset=(page - 1) * per_page, limit=per_page,
search={"ip": query_data["ip"]})
-
+ res_count = 1
# 结果转换
for r in res:
target = {}
@@ -260,8 +268,7 @@ def target_info(query_data):
# 原数据的值赋给经过映射之后的键
target[target_map[k]] = r[k]
target_list.append(target)
- # TODO:total
- return {"code": 200, "data": target_list}
+ return {"code": 200, "data": target_list, "total": res_count}
@bp.get("/filter")