| 1 |
- {"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_base_py", "label": "base.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L1"}, {"id": "bx_base_bxcrudservice", "label": "BxCrudService", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L18"}, {"id": "bx_base_bxcrudservice_get_by_id", "label": ".get_by_id()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L20"}, {"id": "m", "label": "M", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L20"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L20"}, {"id": "str", "label": "str", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L20"}, {"id": "bool", "label": "bool", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L20"}, {"id": "bx_base_bxcrudservice_get_paged", "label": ".get_paged()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L38"}, {"id": "int", "label": "int", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L38"}, {"id": "any", "label": "Any", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L38"}, {"id": "bx_base_bxcrudservice_create", "label": ".create()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L64"}, {"id": "bx_base_bxcrudservice_update", "label": ".update()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L84"}, {"id": "bx_base_bxcrudservice_soft_delete", "label": ".soft_delete()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L108"}, {"id": "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": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L1"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_base_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L4", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_base_py", "target": "sqlalchemy_orm", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L6", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_base_py", "target": "app_core_utils", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L8", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_base_py", "target": "app_core_delete_guard", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L9", "weight": 1.0}, {"source": "users_zlwu_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": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L10", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_base_py", "target": "app_core_bx_auth", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L13", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_base_py", "target": "bx_base_bxcrudservice", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L18", "weight": 1.0}, {"source": "bx_base_bxcrudservice", "target": "bx_base_bxcrudservice_get_by_id", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L20", "weight": 1.0}, {"source": "bx_base_bxcrudservice_get_by_id", "target": "m", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L20", "weight": 1.0}, {"source": "bx_base_bxcrudservice_get_by_id", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L20", "weight": 1.0}, {"source": "bx_base_bxcrudservice_get_by_id", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L20", "weight": 1.0}, {"source": "bx_base_bxcrudservice_get_by_id", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L20", "weight": 1.0}, {"source": "bx_base_bxcrudservice_get_by_id", "target": "bool", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L20", "weight": 1.0}, {"source": "bx_base_bxcrudservice_get_by_id", "target": "m", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L20", "weight": 1.0}, {"source": "bx_base_bxcrudservice", "target": "bx_base_bxcrudservice_get_paged", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L38", "weight": 1.0}, {"source": "bx_base_bxcrudservice_get_paged", "target": "m", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L38", "weight": 1.0}, {"source": "bx_base_bxcrudservice_get_paged", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L38", "weight": 1.0}, {"source": "bx_base_bxcrudservice_get_paged", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L38", "weight": 1.0}, {"source": "bx_base_bxcrudservice_get_paged", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L38", "weight": 1.0}, {"source": "bx_base_bxcrudservice_get_paged", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L38", "weight": 1.0}, {"source": "bx_base_bxcrudservice_get_paged", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L38", "weight": 1.0}, {"source": "bx_base_bxcrudservice_get_paged", "target": "m", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L38", "weight": 1.0}, {"source": "bx_base_bxcrudservice_get_paged", "target": "int", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L38", "weight": 1.0}, {"source": "bx_base_bxcrudservice", "target": "bx_base_bxcrudservice_create", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L64", "weight": 1.0}, {"source": "bx_base_bxcrudservice_create", "target": "m", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L64", "weight": 1.0}, {"source": "bx_base_bxcrudservice_create", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L64", "weight": 1.0}, {"source": "bx_base_bxcrudservice_create", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L64", "weight": 1.0}, {"source": "bx_base_bxcrudservice_create", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L64", "weight": 1.0}, {"source": "bx_base_bxcrudservice_create", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L64", "weight": 1.0}, {"source": "bx_base_bxcrudservice_create", "target": "m", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L64", "weight": 1.0}, {"source": "bx_base_bxcrudservice", "target": "bx_base_bxcrudservice_update", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L84", "weight": 1.0}, {"source": "bx_base_bxcrudservice_update", "target": "m", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L84", "weight": 1.0}, {"source": "bx_base_bxcrudservice_update", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L84", "weight": 1.0}, {"source": "bx_base_bxcrudservice_update", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L84", "weight": 1.0}, {"source": "bx_base_bxcrudservice_update", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L84", "weight": 1.0}, {"source": "bx_base_bxcrudservice_update", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L84", "weight": 1.0}, {"source": "bx_base_bxcrudservice_update", "target": "bool", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L84", "weight": 1.0}, {"source": "bx_base_bxcrudservice_update", "target": "m", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L84", "weight": 1.0}, {"source": "bx_base_bxcrudservice", "target": "bx_base_bxcrudservice_soft_delete", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L108", "weight": 1.0}, {"source": "bx_base_bxcrudservice_soft_delete", "target": "m", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L108", "weight": 1.0}, {"source": "bx_base_bxcrudservice_soft_delete", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L108", "weight": 1.0}, {"source": "bx_base_bxcrudservice_soft_delete", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L108", "weight": 1.0}, {"source": "bx_base_bxcrudservice_soft_delete", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L108", "weight": 1.0}, {"source": "bx_base_bxcrudservice_soft_delete", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L108", "weight": 1.0}, {"source": "bx_base_bxcrudservice_soft_delete", "target": "bool", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L108", "weight": 1.0}, {"source": "bx_base_bxcrudservice_soft_delete", "target": "bool", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L108", "weight": 1.0}, {"source": "bx_base_bxcrudservice_update", "target": "bx_base_bxcrudservice_get_by_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L95", "weight": 1.0}, {"source": "bx_base_bxcrudservice_soft_delete", "target": "bx_base_bxcrudservice_get_by_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L118", "weight": 1.0}, {"source": "bx_base_rationale_1", "target": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_base_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "bx_base_bxcrudservice_get_by_id", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L29"}, {"caller_nid": "bx_base_bxcrudservice_get_by_id", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L32"}, {"caller_nid": "bx_base_bxcrudservice_get_by_id", "callee": "assert_bx_row_in_scope", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L34"}, {"caller_nid": "bx_base_bxcrudservice_get_paged", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L48"}, {"caller_nid": "bx_base_bxcrudservice_get_paged", "callee": "apply_bx_scope", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L54"}, {"caller_nid": "bx_base_bxcrudservice_get_paged", "callee": "count", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L55"}, {"caller_nid": "bx_base_bxcrudservice_get_paged", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L57"}, {"caller_nid": "bx_base_bxcrudservice_get_paged", "callee": "asc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L57"}, {"caller_nid": "bx_base_bxcrudservice_get_paged", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L57"}, {"caller_nid": "bx_base_bxcrudservice_get_paged", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L59"}, {"caller_nid": "bx_base_bxcrudservice_get_paged", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L59"}, {"caller_nid": "bx_base_bxcrudservice_get_paged", "callee": "limit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L60"}, {"caller_nid": "bx_base_bxcrudservice_get_paged", "callee": "offset", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L60"}, {"caller_nid": "bx_base_bxcrudservice_create", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L74"}, {"caller_nid": "bx_base_bxcrudservice_create", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L74"}, {"caller_nid": "bx_base_bxcrudservice_create", "callee": "model", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L78"}, {"caller_nid": "bx_base_bxcrudservice_create", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L79"}, {"caller_nid": "bx_base_bxcrudservice_create", "callee": "flush", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L80"}, {"caller_nid": "bx_base_bxcrudservice_update", "callee": "items", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L100"}, {"caller_nid": "bx_base_bxcrudservice_update", "callee": "flush", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L104"}, {"caller_nid": "bx_base_bxcrudservice_soft_delete", "callee": "assert_row_deletable_by_creator", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L124"}, {"caller_nid": "bx_base_bxcrudservice_soft_delete", "callee": "user_info_from_context", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L124"}, {"caller_nid": "bx_base_bxcrudservice_soft_delete", "callee": "assert_row_deletable_by_creator", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L126"}, {"caller_nid": "bx_base_bxcrudservice_soft_delete", "callee": "flush", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py", "source_location": "L130"}]}
|