Files
openapi-first/docs/mcp/modules/openapi_first.security.json
Vishesh 'ironeagle' Bangotra 51ffb4aae9 feat: codegen routes — sanitize resource names, --inject-request/--package, expand form bodies
codegen_routes.generate_routes now sanitizes resource identifiers (fetch-requests -> fetch_requests), optionally prepends 'request: Request' (inject_request) and emits <resource>/routes.py packages with __init__.py (package). multipart/form-data and x-www-form-urlencoded bodies expand to per-property UploadFile/File/Form params instead of an opaque dict; spec paths are normalized to forward slashes to avoid Windows escape issues. Adds CLI flags --inject-request/--package, 7 focused tests, and refreshes lib/wiki/MCP docs to the real CLI.
2026-10-13 03:26:31 +05:30

23 lines
1.5 KiB
JSON

{
"module": "openapi_first.security",
"content": {
"path": "openapi_first.security",
"docstring": "# Summary\n\nOpenAPI security scheme parsing and auto-generated auth dependencies.\n\nThis module reads `securitySchemes` and per-operation `security` from an\nOpenAPI spec, resolves `{ENV_VAR}` placeholders in `x-` extension fields,\nand generates FastAPI dependencies for token validation (e.g., Bearer JWT\nintrospection).",
"objects": {
"parse_security_schemes": {
"name": "parse_security_schemes",
"kind": "function",
"path": "openapi_first.security.parse_security_schemes",
"signature": "parse_security_schemes(spec: dict[str, Any]) -> dict[str, dict[str, Any]]",
"docstring": "Extract and resolve environment variables in security schemes."
},
"make_security_dependencies": {
"name": "make_security_dependencies",
"kind": "function",
"path": "openapi_first.security.make_security_dependencies",
"signature": "make_security_dependencies(spec: dict[str, Any], security_schemes: dict[str, dict[str, Any]]) -> dict[str, list[Any]]",
"docstring": "Build a mapping of ``METHOD:/path`` → list of ``Depends(...)``.\n\nThe effective security for each operation is resolved by:\n\n1. Using the operation-level ``security`` field if present.\n2. Falling back to the top-level ``security`` field.\n3. An empty list means *no auth required* for that operation."
}
}
}
}