Files
SMANAGE/_api_backup/TempLateAPI/SVE/API/GetInformation.api
T
2026-06-16 11:55:14 +08:00

35 lines
1.3 KiB
Plaintext

from PDAPI import *
__metadata__ = {
"methods": ["GET"],
"blueprint": "SVE",
"permission": 0.0,
"attributes": [],
"limit": "1 per second",
"args": [
{"Name": "SVEID", "Type": "str", "MaxLen": 14}
]
}
def HandleRequest():
SVE: SVEBase
SVEID = flask.request.args.get("SVEID")
if not (SVEID := PreSVE(SVEID)): return flask.jsonify({"error": "SVEID not format", "code": 1})
if not SVEID.isdigit() or len(SVEID) % 2 != 0: return flask.jsonify({"error": "SVEID not %2 number", "code": 1})
if not (SVE := SVEBase.query.filter(SVEBase.SVEID == Get16toBytes(SVEID)).first()): return flask.jsonify({"error": "SVEID Not Found", "code": 1}), 404
SVEID = PreSQLSVE(SVEID)
return {"sveId": "SVE-" + SVEID[0:4] + "-" + SVEID[4:],
"sveYear": SVEID[0:4],
"sveNumber": SVEID[4:],
"publishDate": SVE.SVECreateTime,
"lastModified": SVE.SVELastModified,
"vulnTitle": SVE.SVEName,
"vulnStatus": SVE.SVEVulnStatus,
"vulnDescription": SVE.SVEDescription,
"products": SVE.SVEProducts,
"cvss": SVE.SVECvss,
"solutions": SVE.SVESolutions,
"references": SVE.SVEReferences,
"relatedSves": SVE.SVERelatedSves,
"code": 0
}