| 1 |
- {"nodes": [{"id": "users_wuzilong_work_00code_sqxp_2_backend_app_api_product_banner_py", "label": "product_banner.py", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/api/product_banner.py", "source_location": "L1"}, {"id": "api_product_banner_require_admin", "label": "require_admin()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/api/product_banner.py", "source_location": "L24"}, {"id": "api_product_banner_list_banners", "label": "list_banners()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/api/product_banner.py", "source_location": "L32"}, {"id": "api_product_banner_create_banners", "label": "create_banners()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/api/product_banner.py", "source_location": "L54"}, {"id": "api_product_banner_update_sort", "label": "update_sort()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/api/product_banner.py", "source_location": "L92"}, {"id": "api_product_banner_update_banner", "label": "update_banner()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/api/product_banner.py", "source_location": "L117"}, {"id": "api_product_banner_delete_banner", "label": "delete_banner()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/api/product_banner.py", "source_location": "L138"}, {"id": "api_product_banner_rationale_60", "label": "\u6279\u91cf\u6dfb\u52a0\u8f6e\u64ad\u56fe\uff08\u8bf7\u6c42\u4f53\u4e3a JSON \u6570\u7ec4\uff1b\u517c\u5bb9\u5bc6\u6587\u4fe1\u5c01\u4e0e ApiCryptoMiddleware \u672a\u6539\u5199 body \u7684\u573a\u666f\uff09", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/api/product_banner.py", "source_location": "L60"}], "edges": [{"source": "users_wuzilong_work_00code_sqxp_2_backend_app_api_product_banner_py", "target": "typing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/api/product_banner.py", "source_location": "L2", "weight": 1.0}, {"source": "users_wuzilong_work_00code_sqxp_2_backend_app_api_product_banner_py", "target": "fastapi", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/api/product_banner.py", "source_location": "L4", "weight": 1.0}, {"source": "users_wuzilong_work_00code_sqxp_2_backend_app_api_product_banner_py", "target": "pydantic", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/api/product_banner.py", "source_location": "L5", "weight": 1.0}, {"source": "users_wuzilong_work_00code_sqxp_2_backend_app_api_product_banner_py", "target": "sqlalchemy_orm", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/api/product_banner.py", "source_location": "L6", "weight": 1.0}, {"source": "users_wuzilong_work_00code_sqxp_2_backend_app_api_product_banner_py", "target": "app_core_database", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/api/product_banner.py", "source_location": "L8", "weight": 1.0}, {"source": "users_wuzilong_work_00code_sqxp_2_backend_app_api_product_banner_py", "target": "app_core_auth", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/api/product_banner.py", "source_location": "L9", "weight": 1.0}, {"source": "users_wuzilong_work_00code_sqxp_2_backend_app_api_product_banner_py", "target": "app_core_request_payload", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/api/product_banner.py", "source_location": "L10", "weight": 1.0}, {"source": "users_wuzilong_work_00code_sqxp_2_backend_app_api_product_banner_py", "target": "app_core_response", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/api/product_banner.py", "source_location": "L11", "weight": 1.0}, {"source": "users_wuzilong_work_00code_sqxp_2_backend_app_api_product_banner_py", "target": "app_crud_product_banner", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/api/product_banner.py", "source_location": "L12", "weight": 1.0}, {"source": "users_wuzilong_work_00code_sqxp_2_backend_app_api_product_banner_py", "target": "app_schemas_product_banner", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/api/product_banner.py", "source_location": "L13", "weight": 1.0}, {"source": "users_wuzilong_work_00code_sqxp_2_backend_app_api_product_banner_py", "target": "api_product_banner_require_admin", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/api/product_banner.py", "source_location": "L24", "weight": 1.0}, {"source": "users_wuzilong_work_00code_sqxp_2_backend_app_api_product_banner_py", "target": "api_product_banner_list_banners", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/api/product_banner.py", "source_location": "L32", "weight": 1.0}, {"source": "users_wuzilong_work_00code_sqxp_2_backend_app_api_product_banner_py", "target": "api_product_banner_create_banners", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/api/product_banner.py", "source_location": "L54", "weight": 1.0}, {"source": "users_wuzilong_work_00code_sqxp_2_backend_app_api_product_banner_py", "target": "api_product_banner_update_sort", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/api/product_banner.py", "source_location": "L92", "weight": 1.0}, {"source": "users_wuzilong_work_00code_sqxp_2_backend_app_api_product_banner_py", "target": "api_product_banner_update_banner", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/api/product_banner.py", "source_location": "L117", "weight": 1.0}, {"source": "users_wuzilong_work_00code_sqxp_2_backend_app_api_product_banner_py", "target": "api_product_banner_delete_banner", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/api/product_banner.py", "source_location": "L138", "weight": 1.0}, {"source": "api_product_banner_rationale_60", "target": "api_product_banner_create_banners", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/api/product_banner.py", "source_location": "L60", "weight": 1.0}], "raw_calls": [{"caller_nid": "api_product_banner_require_admin", "callee": "get", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/api/product_banner.py", "source_location": "L26"}, {"caller_nid": "api_product_banner_require_admin", "callee": "HTTPException", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/api/product_banner.py", "source_location": "L27"}, {"caller_nid": "api_product_banner_list_banners", "callee": "get_by_product", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/api/product_banner.py", "source_location": "L38"}, {"caller_nid": "api_product_banner_list_banners", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/api/product_banner.py", "source_location": "L39"}, {"caller_nid": "api_product_banner_list_banners", "callee": "str", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/api/product_banner.py", "source_location": "L47"}, {"caller_nid": "api_product_banner_list_banners", "callee": "len", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/api/product_banner.py", "source_location": "L49"}, {"caller_nid": "api_product_banner_create_banners", "callee": "json", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/api/product_banner.py", "source_location": "L61"}, {"caller_nid": "api_product_banner_create_banners", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/api/product_banner.py", "source_location": "L63"}, {"caller_nid": "api_product_banner_create_banners", "callee": "resolve_request_payload", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/api/product_banner.py", "source_location": "L64"}, {"caller_nid": "api_product_banner_create_banners", "callee": "int", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/api/product_banner.py", "source_location": "L65"}, {"caller_nid": "api_product_banner_create_banners", "callee": "get", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/api/product_banner.py", "source_location": "L65"}, {"caller_nid": "api_product_banner_create_banners", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/api/product_banner.py", "source_location": "L66"}, {"caller_nid": "api_product_banner_create_banners", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/api/product_banner.py", "source_location": "L67"}, {"caller_nid": "api_product_banner_create_banners", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/api/product_banner.py", "source_location": "L68"}, {"caller_nid": "api_product_banner_create_banners", "callee": "model_validate", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/api/product_banner.py", "source_location": "L70"}, {"caller_nid": "api_product_banner_create_banners", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/api/product_banner.py", "source_location": "L72"}, {"caller_nid": "api_product_banner_create_banners", "callee": "str", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/api/product_banner.py", "source_location": "L72"}, {"caller_nid": "api_product_banner_create_banners", "callee": "get", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/api/product_banner.py", "source_location": "L74"}, {"caller_nid": "api_product_banner_create_banners", "callee": "get", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/api/product_banner.py", "source_location": "L74"}, {"caller_nid": "api_product_banner_create_banners", "callee": "model_dump", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/api/product_banner.py", "source_location": "L75"}, {"caller_nid": "api_product_banner_create_banners", "callee": "create_batch", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/api/product_banner.py", "source_location": "L76"}, {"caller_nid": "api_product_banner_create_banners", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/api/product_banner.py", "source_location": "L78"}, {"caller_nid": "api_product_banner_create_banners", "callee": "len", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/api/product_banner.py", "source_location": "L87"}, {"caller_nid": "api_product_banner_update_sort", "callee": "json", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/api/product_banner.py", "source_location": "L99"}, {"caller_nid": "api_product_banner_update_sort", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/api/product_banner.py", "source_location": "L101"}, {"caller_nid": "api_product_banner_update_sort", "callee": "resolve_request_payload", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/api/product_banner.py", "source_location": "L102"}, {"caller_nid": "api_product_banner_update_sort", "callee": "int", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/api/product_banner.py", "source_location": "L103"}, {"caller_nid": "api_product_banner_update_sort", "callee": "get", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/api/product_banner.py", "source_location": "L103"}, {"caller_nid": "api_product_banner_update_sort", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/api/product_banner.py", "source_location": "L104"}, {"caller_nid": "api_product_banner_update_sort", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/api/product_banner.py", "source_location": "L105"}, {"caller_nid": "api_product_banner_update_sort", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/api/product_banner.py", "source_location": "L106"}, {"caller_nid": "api_product_banner_update_sort", "callee": "model_validate", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/api/product_banner.py", "source_location": "L108"}, {"caller_nid": "api_product_banner_update_sort", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/api/product_banner.py", "source_location": "L110"}, {"caller_nid": "api_product_banner_update_sort", "callee": "str", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/api/product_banner.py", "source_location": "L110"}, {"caller_nid": "api_product_banner_update_sort", "callee": "model_dump", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/api/product_banner.py", "source_location": "L111"}, {"caller_nid": "api_product_banner_update_sort", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/api/product_banner.py", "source_location": "L113"}, {"caller_nid": "api_product_banner_update_banner", "callee": "update", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/api/product_banner.py", "source_location": "L124"}, {"caller_nid": "api_product_banner_update_banner", "callee": "model_dump", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/api/product_banner.py", "source_location": "L124"}, {"caller_nid": "api_product_banner_update_banner", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/api/product_banner.py", "source_location": "L126"}, {"caller_nid": "api_product_banner_update_banner", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/api/product_banner.py", "source_location": "L127"}, {"caller_nid": "api_product_banner_delete_banner", "callee": "delete", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/api/product_banner.py", "source_location": "L144"}, {"caller_nid": "api_product_banner_delete_banner", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/api/product_banner.py", "source_location": "L146"}, {"caller_nid": "api_product_banner_delete_banner", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/api/product_banner.py", "source_location": "L147"}]}
|