diff options
| author | handingkang <[email protected]> | 2024-04-20 21:51:14 +0800 |
|---|---|---|
| committer | handingkang <[email protected]> | 2024-04-20 21:51:14 +0800 |
| commit | c9700eabaa42c21367221bbffe01ada52fe7362b (patch) | |
| tree | 516cca3b2aa0d566359e7d1196ad55f433390e2a /server/apps/target.py | |
| parent | 682b274f8815ab431d8117be261eae43a223b704 (diff) | |
完善目标信息获取接口
Diffstat (limited to 'server/apps/target.py')
| -rw-r--r-- | server/apps/target.py | 23 |
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") |
