| 1 |
- {"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_crm_customer_py", "label": "customer.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L1"}, {"id": "crm_customer_customeroptionsbody", "label": "CustomerOptionsBody", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L12"}, {"id": "basemodel", "label": "BaseModel", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "crm_customer_customercolumnfiltermixin", "label": "CustomerColumnFilterMixin", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L27"}, {"id": "crm_customer_customercolumnfiltermixin_column_filter_kwargs", "label": ".column_filter_kwargs()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L120"}, {"id": "crm_customer_customerlistbody", "label": "CustomerListBody", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L200"}, {"id": "crm_customer_customerlistbody_to_list_kwargs", "label": ".to_list_kwargs()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L220"}, {"id": "crm_customer_customercreatebody", "label": "CustomerCreateBody", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L243"}, {"id": "crm_customer_forbid_legacy_invoice_fields", "label": "_forbid_legacy_invoice_fields()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L284"}, {"id": "crm_customer_customerupdatebody", "label": "CustomerUpdateBody", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L309"}, {"id": "crm_customer_customerdeletebody", "label": "CustomerDeleteBody", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L376"}, {"id": "crm_customer_customerdetailbody", "label": "CustomerDetailBody", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L384"}, {"id": "crm_customer_customertransferbody", "label": "CustomerTransferBody", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L391"}, {"id": "crm_customer_customerintopoolbody", "label": "CustomerIntoPoolBody", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L403"}, {"id": "crm_customer_customerdealbody", "label": "CustomerDealBody", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L413"}, {"id": "crm_customer_customerclaimbody", "label": "CustomerClaimBody", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L425"}, {"id": "crm_customer_customerassignpoolbody", "label": "CustomerAssignPoolBody", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L434"}, {"id": "crm_customer_customercheckduplicatebody", "label": "CustomerCheckDuplicateBody", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L445"}, {"id": "crm_customer_customercolumnfacetbody", "label": "CustomerColumnFacetBody", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L452"}, {"id": "crm_customer_rationale_1", "label": "CRM \u5ba2\u6237\u7ba1\u7406 Pydantic Schemas", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L1"}, {"id": "crm_customer_rationale_13", "label": "\u5ba2\u6237\u4e0b\u62c9\u9009\u9879\u8bf7\u6c42\u4f53\uff08\u79df\u6237\u5185\u53ea\u8bfb\u641c\u7d22\uff0c\u4e0d\u505a owner \u6570\u636e\u6743\u9650\uff09", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L13"}, {"id": "crm_customer_rationale_28", "label": "\u5217\u5934\u6f0f\u6597\u53c2\u6570\uff1a\u524d\u7aef camelCase \u2194 \u540e\u7aef snake_case\uff0c\u4f9b build_customer_column_filters\u3002", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L28"}, {"id": "crm_customer_rationale_121", "label": "snake_case \u5217\u7b5b\u53c2\u6570\uff0c\u4f9b CRUD / build_customer_column_filters\u3002", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L121"}, {"id": "crm_customer_rationale_221", "label": "\u89e3\u6790\u5217\u8868\u67e5\u8be2\u53c2\u6570\uff0c\u4f9b API \u4e0e CRUD \u5171\u7528\u3002", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L221"}, {"id": "crm_customer_rationale_453", "label": "\u5ba2\u6237\u5217\u8868\u5217\u5934\u53ef\u9009\u503c\uff08\u53bb\u91cd\uff1b\u7ee7\u627f\u5217\u7b5b Mixin \u4ee5\u652f\u6301 Excel \u7ea7\u8054\u4e0a\u4e0b\u6587\uff09", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L453"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_crm_customer_py", "target": "decimal", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L3", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_crm_customer_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L4", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_crm_customer_py", "target": "pydantic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L6", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_crm_customer_py", "target": "crm_customer_customeroptionsbody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L12", "weight": 1.0}, {"source": "crm_customer_customeroptionsbody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L12", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_crm_customer_py", "target": "crm_customer_customercolumnfiltermixin", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L27", "weight": 1.0}, {"source": "crm_customer_customercolumnfiltermixin", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L27", "weight": 1.0}, {"source": "crm_customer_customercolumnfiltermixin", "target": "crm_customer_customercolumnfiltermixin_column_filter_kwargs", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L120", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_crm_customer_py", "target": "crm_customer_customerlistbody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L200", "weight": 1.0}, {"source": "crm_customer_customerlistbody", "target": "crm_customer_customercolumnfiltermixin", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L200", "weight": 1.0}, {"source": "crm_customer_customerlistbody", "target": "crm_customer_customerlistbody_to_list_kwargs", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L220", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_crm_customer_py", "target": "crm_customer_customercreatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L243", "weight": 1.0}, {"source": "crm_customer_customercreatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L243", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_crm_customer_py", "target": "crm_customer_forbid_legacy_invoice_fields", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L284", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_crm_customer_py", "target": "crm_customer_customerupdatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L309", "weight": 1.0}, {"source": "crm_customer_customerupdatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L309", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_crm_customer_py", "target": "crm_customer_forbid_legacy_invoice_fields", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L351", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_crm_customer_py", "target": "crm_customer_customerdeletebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L376", "weight": 1.0}, {"source": "crm_customer_customerdeletebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L376", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_crm_customer_py", "target": "crm_customer_customerdetailbody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L384", "weight": 1.0}, {"source": "crm_customer_customerdetailbody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L384", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_crm_customer_py", "target": "crm_customer_customertransferbody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L391", "weight": 1.0}, {"source": "crm_customer_customertransferbody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L391", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_crm_customer_py", "target": "crm_customer_customerintopoolbody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L403", "weight": 1.0}, {"source": "crm_customer_customerintopoolbody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L403", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_crm_customer_py", "target": "crm_customer_customerdealbody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L413", "weight": 1.0}, {"source": "crm_customer_customerdealbody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L413", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_crm_customer_py", "target": "crm_customer_customerclaimbody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L425", "weight": 1.0}, {"source": "crm_customer_customerclaimbody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L425", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_crm_customer_py", "target": "crm_customer_customerassignpoolbody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L434", "weight": 1.0}, {"source": "crm_customer_customerassignpoolbody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L434", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_crm_customer_py", "target": "crm_customer_customercheckduplicatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L445", "weight": 1.0}, {"source": "crm_customer_customercheckduplicatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L445", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_crm_customer_py", "target": "crm_customer_customercolumnfacetbody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L452", "weight": 1.0}, {"source": "crm_customer_customercolumnfacetbody", "target": "crm_customer_customercolumnfiltermixin", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L452", "weight": 1.0}, {"source": "crm_customer_customerlistbody_to_list_kwargs", "target": "crm_customer_customercolumnfiltermixin_column_filter_kwargs", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L229", "weight": 1.0}, {"source": "crm_customer_rationale_1", "target": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_crm_customer_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L1", "weight": 1.0}, {"source": "crm_customer_rationale_13", "target": "crm_customer_customeroptionsbody", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L13", "weight": 1.0}, {"source": "crm_customer_rationale_28", "target": "crm_customer_customercolumnfiltermixin", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L28", "weight": 1.0}, {"source": "crm_customer_rationale_121", "target": "crm_customer_customercolumnfiltermixin_column_filter_kwargs", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L121", "weight": 1.0}, {"source": "crm_customer_rationale_221", "target": "crm_customer_customerlistbody_to_list_kwargs", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L221", "weight": 1.0}, {"source": "crm_customer_rationale_453", "target": "crm_customer_customercolumnfacetbody", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L453", "weight": 1.0}], "raw_calls": [{"caller_nid": "crm_customer_customerlistbody_to_list_kwargs", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L222"}, {"caller_nid": "crm_customer_customerlistbody_to_list_kwargs", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L227"}, {"caller_nid": "crm_customer_customerlistbody_to_list_kwargs", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L228"}, {"caller_nid": "crm_customer_customerlistbody_to_list_kwargs", "callee": "len", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L232"}, {"caller_nid": "crm_customer_forbid_legacy_invoice_fields", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L285"}, {"caller_nid": "crm_customer_forbid_legacy_invoice_fields", "callee": "any", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L301"}, {"caller_nid": "crm_customer_forbid_legacy_invoice_fields", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L302"}, {"caller_nid": "crm_customer_forbid_legacy_invoice_fields", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L352"}, {"caller_nid": "crm_customer_forbid_legacy_invoice_fields", "callee": "any", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L368"}, {"caller_nid": "crm_customer_forbid_legacy_invoice_fields", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py", "source_location": "L369"}]}
|