| 1 |
- {"nodes": [{"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_py", "label": "base.py", "file_type": "code", "source_file": "backend/app/services/bx/base.py", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_bxcrudservice", "label": "BxCrudService", "file_type": "code", "source_file": "backend/app/services/bx/base.py", "source_location": "L18"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_bxcrudservice_get_by_id", "label": ".get_by_id()", "file_type": "code", "source_file": "backend/app/services/bx/base.py", "source_location": "L20"}, {"id": "m", "label": "M", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/bx/base.py"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/bx/base.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_bxcrudservice_get_paged", "label": ".get_paged()", "file_type": "code", "source_file": "backend/app/services/bx/base.py", "source_location": "L38"}, {"id": "any", "label": "Any", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/bx/base.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_bxcrudservice_create", "label": ".create()", "file_type": "code", "source_file": "backend/app/services/bx/base.py", "source_location": "L65"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_bxcrudservice_update", "label": ".update()", "file_type": "code", "source_file": "backend/app/services/bx/base.py", "source_location": "L85"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_bxcrudservice_soft_delete", "label": ".soft_delete()", "file_type": "code", "source_file": "backend/app/services/bx/base.py", "source_location": "L109"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_rationale_1", "label": "\u62a5\u9500\u6a21\u5757 Service \u57fa\u7c7b \u2014 \u79df\u6237\u9694\u79bb + UUID + \u8f6f\u5220\u9664\u3002", "file_type": "rationale", "source_file": "backend/app/services/bx/base.py", "source_location": "L1"}], "edges": [{"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/app/services/bx/base.py", "source_location": "L4", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_py", "target": "sqlalchemy_orm", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/app/services/bx/base.py", "source_location": "L6", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_py", "target": "app_core_utils", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/app/services/bx/base.py", "source_location": "L8", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_py", "target": "app_core_delete_guard", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/app/services/bx/base.py", "source_location": "L9", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_py", "target": "app_services_bx_data_scope", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/app/services/bx/base.py", "source_location": "L10", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_py", "target": "app_core_bx_auth", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/app/services/bx/base.py", "source_location": "L13", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_bxcrudservice", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/app/services/bx/base.py", "source_location": "L18", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_bxcrudservice", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_bxcrudservice_get_by_id", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/app/services/bx/base.py", "source_location": "L20", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_bxcrudservice_get_by_id", "target": "m", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "backend/app/services/bx/base.py", "source_location": "L20", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_bxcrudservice_get_by_id", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "backend/app/services/bx/base.py", "source_location": "L20", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_bxcrudservice_get_by_id", "target": "m", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "backend/app/services/bx/base.py", "source_location": "L20", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_bxcrudservice", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_bxcrudservice_get_paged", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/app/services/bx/base.py", "source_location": "L38", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_bxcrudservice_get_paged", "target": "m", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "backend/app/services/bx/base.py", "source_location": "L38", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_bxcrudservice_get_paged", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "backend/app/services/bx/base.py", "source_location": "L38", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_bxcrudservice_get_paged", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "backend/app/services/bx/base.py", "source_location": "L38", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_bxcrudservice_get_paged", "target": "m", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "backend/app/services/bx/base.py", "source_location": "L38", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_bxcrudservice", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_bxcrudservice_create", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/app/services/bx/base.py", "source_location": "L65", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_bxcrudservice_create", "target": "m", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "backend/app/services/bx/base.py", "source_location": "L65", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_bxcrudservice_create", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "backend/app/services/bx/base.py", "source_location": "L65", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_bxcrudservice_create", "target": "m", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "backend/app/services/bx/base.py", "source_location": "L65", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_bxcrudservice", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_bxcrudservice_update", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/app/services/bx/base.py", "source_location": "L85", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_bxcrudservice_update", "target": "m", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "backend/app/services/bx/base.py", "source_location": "L85", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_bxcrudservice_update", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "backend/app/services/bx/base.py", "source_location": "L85", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_bxcrudservice_update", "target": "m", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "backend/app/services/bx/base.py", "source_location": "L85", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_bxcrudservice", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_bxcrudservice_soft_delete", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/app/services/bx/base.py", "source_location": "L109", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_bxcrudservice_soft_delete", "target": "m", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "backend/app/services/bx/base.py", "source_location": "L109", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_bxcrudservice_soft_delete", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "backend/app/services/bx/base.py", "source_location": "L109", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_rationale_1", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/app/services/bx/base.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_bxcrudservice_get_by_id", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L29", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_bxcrudservice_get_by_id", "callee": "first", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L32", "receiver": "query"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_bxcrudservice_get_by_id", "callee": "assert_bx_row_in_scope", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L34", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_bxcrudservice_get_paged", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L49", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_bxcrudservice_get_paged", "callee": "apply_bx_scope", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L55", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_bxcrudservice_get_paged", "callee": "count", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L56", "receiver": "query"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_bxcrudservice_get_paged", "callee": "order_by", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L58", "receiver": "query"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_bxcrudservice_get_paged", "callee": "asc", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L58", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_bxcrudservice_get_paged", "callee": "desc", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L58", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_bxcrudservice_get_paged", "callee": "order_by", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L60", "receiver": "query"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_bxcrudservice_get_paged", "callee": "desc", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L60", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_bxcrudservice_get_paged", "callee": "limit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L61", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_bxcrudservice_get_paged", "callee": "offset", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L61", "receiver": "query"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_bxcrudservice_create", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L75", "receiver": "data"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_bxcrudservice_create", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L75", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_bxcrudservice_create", "callee": "model", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L79", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_bxcrudservice_create", "callee": "add", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L80", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_bxcrudservice_create", "callee": "flush", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L81", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_bxcrudservice_update", "callee": "get_by_id", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L96", "receiver": "BxCrudService"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_bxcrudservice_update", "callee": "items", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L101", "receiver": "obj_in"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_bxcrudservice_update", "callee": "flush", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L105", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_bxcrudservice_soft_delete", "callee": "get_by_id", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L119", "receiver": "BxCrudService"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_bxcrudservice_soft_delete", "callee": "assert_row_deletable_by_creator", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L125", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_bxcrudservice_soft_delete", "callee": "user_info_from_context", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L125", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_bxcrudservice_soft_delete", "callee": "assert_row_deletable_by_creator", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L127", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_bxcrudservice_soft_delete", "callee": "flush", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L131", "receiver": "db"}], "callable_nids": ["users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_bxcrudservice", "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_bxcrudservice_create", "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_bxcrudservice_get_by_id", "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_bxcrudservice_get_paged", "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_bxcrudservice_soft_delete", "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_base_bxcrudservice_update"]}
|