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 }