提交
This commit is contained in:
1 parent
9345cf4ad8
commit
c3bd2c00ae
51 files changed
+14486
-15765
No files matched your search
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_duty_py", "label": "duty.py", "file_type": "code", "source_file": "app/api/duty.py", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_duty_enrich_assign_names", "label": "_enrich_assign_names()", "file_type": "code", "source_file": "app/api/duty.py", "source_location": "L21"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/duty.py"}, {"id": "dutydaysavebody", "label": "DutyDaySaveBody", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/duty.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_duty_month_summary", "label": "month_summary()", "file_type": "code", "source_file": "app/api/duty.py", "source_location": "L39"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_duty_day_detail", "label": "day_detail()", "file_type": "code", "source_file": "app/api/duty.py", "source_location": "L51"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_duty_duty_user_options", "label": "duty_user_options()", "file_type": "code", "source_file": "app/api/duty.py", "source_location": "L65"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_duty_save_day", "label": "save_day()", "file_type": "code", "source_file": "app/api/duty.py", "source_location": "L77"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_duty_set_link", "label": "set_link()", "file_type": "code", "source_file": "app/api/duty.py", "source_location": "L92"}, {"id": "dutylinkbody", "label": "DutyLinkBody", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/duty.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_duty_delete_assignment", "label": "delete_assignment()", "file_type": "code", "source_file": "app/api/duty.py", "source_location": "L108"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_duty_rationale_22", "label": "\u6307\u5b9a\u7528\u6237\u65f6\u8865\u5168 personName\uff08\u7528 nick_name\uff09\u3002", "file_type": "rationale", "source_file": "app/api/duty.py", "source_location": "L22"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_duty_rationale_69", "label": "\u503c\u73ed\u53ef\u5b89\u6392\u4eba\u5458\uff1a\u4ec5\u300c\u503c\u73ed\u4eba\u5458\u300d\u89d2\u8272\u4e0b\u7684\u542f\u7528\u7528\u6237\u3002", "file_type": "rationale", "source_file": "app/api/duty.py", "source_location": "L69"}], "edges": [{"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_duty_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/duty.py", "source_location": "L4", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_duty_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/duty.py", "source_location": "L5", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_duty_py", "target": "fastapi", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/duty.py", "source_location": "L7", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_duty_py", "target": "sqlalchemy_orm", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/duty.py", "source_location": "L8", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_duty_py", "target": "app_core_database", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/duty.py", "source_location": "L10", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_duty_py", "target": "app_core_menu_guard", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/duty.py", "source_location": "L11", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_duty_py", "target": "app_core_response", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/duty.py", "source_location": "L12", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_duty_py", "target": "app_crud", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/duty.py", "source_location": "L13", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_duty_py", "target": "app_schemas_duty", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/duty.py", "source_location": "L14", "weight":Line truncated
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_py", "label": "duty_models.py", "file_type": "code", "source_file": "app/models/duty_models.py", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_dutyday", "label": "DutyDay", "file_type": "code", "source_file": "app/models/duty_models.py", "source_location": "L25"}, {"id": "base", "label": "Base", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_dutyslot", "label": "DutySlot", "file_type": "code", "source_file": "app/models/duty_models.py", "source_location": "L45"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_dutyassignment", "label": "DutyAssignment", "file_type": "code", "source_file": "app/models/duty_models.py", "source_location": "L65"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_rationale_1", "label": "\u503c\u73ed\u6392\u73ed\u6a21\u578b \u2014 docs/superpowers/specs/2026-08-14-duty-schedule-design.md", "file_type": "rationale", "source_file": "app/models/duty_models.py", "source_location": "L1"}], "edges": [{"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/models/duty_models.py", "source_location": "L2", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_py", "target": "sqlalchemy", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/models/duty_models.py", "source_location": "L4", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_py", "target": "app_core_database", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/models/duty_models.py", "source_location": "L6", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_dutyday", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/models/duty_models.py", "source_location": "L25", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_dutyday", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "app/models/duty_models.py", "source_location": "L25", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_dutyslot", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/models/duty_models.py", "source_location": "L45", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_dutyslot", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "app/models/duty_models.py", "source_location": "L45", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_dutyassignment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/models/duty_models.py", "source_location": "L65", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_dutyassignment", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "app/models/duty_models.py", "source_location": "L65", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_rationale_1", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/models/duty_models.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [], "callable_nids": ["users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_dutyassignment", "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_dutyday", "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_dutyslot"]}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_duty_schedule_py", "label": "test_duty_schedule.py", "file_type": "code", "source_file": "tests/test_duty_schedule.py", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_duty_schedule_test_normalize_person_name_ok", "label": "test_normalize_person_name_ok()", "file_type": "code", "source_file": "tests/test_duty_schedule.py", "source_location": "L31"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_duty_schedule_test_normalize_person_name_empty", "label": "test_normalize_person_name_empty()", "file_type": "code", "source_file": "tests/test_duty_schedule.py", "source_location": "L35"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_duty_schedule_test_normalize_person_name_too_long", "label": "test_normalize_person_name_too_long()", "file_type": "code", "source_file": "tests/test_duty_schedule.py", "source_location": "L40"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_duty_schedule_test_shift_labels", "label": "test_shift_labels()", "file_type": "code", "source_file": "tests/test_duty_schedule.py", "source_location": "L45"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_duty_schedule_test_grab_rejects_when_full", "label": "test_grab_rejects_when_full()", "file_type": "code", "source_file": "tests/test_duty_schedule.py", "source_location": "L49"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_duty_schedule_test_grab_rejects_when_closed", "label": "test_grab_rejects_when_closed()", "file_type": "code", "source_file": "tests/test_duty_schedule.py", "source_location": "L111"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_duty_schedule_test_grab_rejects_invalid_user", "label": "test_grab_rejects_invalid_user()", "file_type": "code", "source_file": "tests/test_duty_schedule.py", "source_location": "L129"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_duty_schedule_test_grab_rejects_duplicate_same_shift", "label": "test_grab_rejects_duplicate_same_shift()", "file_type": "code", "source_file": "tests/test_duty_schedule.py", "source_location": "L158"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_duty_schedule_test_save_day_rejects_shrink_below_grab_count", "label": "test_save_day_rejects_shrink_below_grab_count()", "file_type": "code", "source_file": "tests/test_duty_schedule.py", "source_location": "L224"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_duty_schedule_test_resolve_duty_staff_role_id_by_fixed_id", "label": "test_resolve_duty_staff_role_id_by_fixed_id()", "file_type": "code", "source_file": "tests/test_duty_schedule.py", "source_location": "L298"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_duty_schedule_test_list_duty_staff_users_empty_when_no_role", "label": "test_list_duty_staff_users_empty_when_no_role()", "file_type": "code", "source_file": "tests/test_duty_schedule.py", "source_location": "L307"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_duty_schedule_test_assert_user_is_duty_staff_rejects_without_role", "label": "test_assert_user_is_duty_staff_rejects_without_role()", "file_type": "code", "source_file": "tests/test_duty_schedule.py", "source_location": "L315"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_duty_schedule_test_grab_rejects_non_duty_staff", "label": "test_grab_rejects_non_duty_staff()", "file_type": "code", "source_file": "tests/test_duty_schedule.py", "source_location": "L336"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_duty_schedule_test_save_day_grandfathers_existing_assign_without_role", "label": "test_save_day_grandfathers_existing_assign_without_role()", "file_type": "code", "source_file": "tests/test_duty_schedule.py", "source_location": "L381"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_duty_schedule_test_save_day_rejects_new_assign_without_role", "label": "test_save_day_rejects_new_assign_without_role()", "file_type": "code", "source_file": "tests/test_duty_schedule.py", "source_location": "L469"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_duty_schedule_rationale_225", "label": "\u7f29\u5bb9\uff1a\u5df2\u6709 1 \u4eba\u62a2\u73ed\u65f6 capacity=1 \u4e14\u518d\u6307\u5b9a 1 \u4eba\u5e94\u5931\u8d25\u3002", "file_type": "rationale", "source_file": "tests/test_duty_schedule.py", "source_location": "L225"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_duty_schedule_rationale_382", "label": "\u5386\u53f2\u6307\u5b9a\u7528\u6237\u65e0\u503c\u73ed\u4eba\u5458\u89d2\u8272\u65f6\uff0c\u539f\u6837\u518d\u4fdd\u5b58\u4e0d\u5f97\u56e0\u89d2\u8272\u6821\u9a8c\u5931\u8d25\u3002", "file_type": "rationale", "source_file": "tests/test_duty_schedule.py", "source_location": "L382"}], "edges": [{"source": "users_wuzilong_work_00code_shanxia2_0_backend_testsLine truncated
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_duty_py", "label": "duty.py", "file_type": "code", "source_file": "app/schemas/duty.py", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_duty_dutyassignmentin", "label": "DutyAssignmentIn", "file_type": "code", "source_file": "app/schemas/duty.py", "source_location": "L14"}, {"id": "basemodel", "label": "BaseModel", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_duty_dutyslotsavein", "label": "DutySlotSaveIn", "file_type": "code", "source_file": "app/schemas/duty.py", "source_location": "L20"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_duty_dutydaysavebody", "label": "DutyDaySaveBody", "file_type": "code", "source_file": "app/schemas/duty.py", "source_location": "L27"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_duty_dutylinkbody", "label": "DutyLinkBody", "file_type": "code", "source_file": "app/schemas/duty.py", "source_location": "L33"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_duty_dutygrabbody", "label": "DutyGrabBody", "file_type": "code", "source_file": "app/schemas/duty.py", "source_location": "L37"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_duty_rationale_1", "label": "\u503c\u73ed\u6392\u73ed Pydantic schemas", "file_type": "rationale", "source_file": "app/schemas/duty.py", "source_location": "L1"}], "edges": [{"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_duty_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/schemas/duty.py", "source_location": "L4", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_duty_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/schemas/duty.py", "source_location": "L5", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_duty_py", "target": "pydantic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/schemas/duty.py", "source_location": "L7", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_duty_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_duty_dutyassignmentin", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/schemas/duty.py", "source_location": "L14", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_duty_dutyassignmentin", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "app/schemas/duty.py", "source_location": "L14", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_duty_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_duty_dutyslotsavein", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/schemas/duty.py", "source_location": "L20", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_duty_dutyslotsavein", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "app/schemas/duty.py", "source_location": "L20", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_duty_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_duty_dutydaysavebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/schemas/duty.py", "source_location": "L27", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_duty_dutydaysavebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "app/schemas/duty.py", "source_location": "L27", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_duty_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_duty_dutylinkbody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/schemas/duty.py", "source_location": "L33", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_duty_dutylinkbody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "app/schemas/duty.py", "source_location": "L33", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_duty_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_duty_dutygrabbody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/schemas/duty.py", "source_location": "L37", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_duty_dutygrabbody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "app/schemas/dutLine truncated
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_duty_schedule_py", "label": "duty_schedule.py", "file_type": "code", "source_file": "app/services/duty_schedule.py", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_duty_schedule_dutybizerror", "label": "DutyBizError", "file_type": "code", "source_file": "app/services/duty_schedule.py", "source_location": "L32"}, {"id": "valueerror", "label": "ValueError", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_duty_schedule_normalize_person_name", "label": "normalize_person_name()", "file_type": "code", "source_file": "app/services/duty_schedule.py", "source_location": "L36"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_duty_schedule_new_access_token", "label": "new_access_token()", "file_type": "code", "source_file": "app/services/duty_schedule.py", "source_location": "L45"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_duty_schedule_build_public_url", "label": "build_public_url()", "file_type": "code", "source_file": "app/services/duty_schedule.py", "source_location": "L49"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_duty_schedule_assignment_dict", "label": "_assignment_dict()", "file_type": "code", "source_file": "app/services/duty_schedule.py", "source_location": "L54"}, {"id": "dutyassignment", "label": "DutyAssignment", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/duty_schedule.py"}, {"id": "any", "label": "Any", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/duty_schedule.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_duty_schedule_slot_dict", "label": "_slot_dict()", "file_type": "code", "source_file": "app/services/duty_schedule.py", "source_location": "L63"}, {"id": "dutyslot", "label": "DutySlot", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/duty_schedule.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_duty_schedule_day_dict", "label": "_day_dict()", "file_type": "code", "source_file": "app/services/duty_schedule.py", "source_location": "L75"}, {"id": "dutyday", "label": "DutyDay", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/duty_schedule.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_duty_schedule_load_day_by_date", "label": "_load_day_by_date()", "file_type": "code", "source_file": "app/services/duty_schedule.py", "source_location": "L95"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/duty_schedule.py"}, {"id": "date", "label": "date", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/duty_schedule.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_duty_schedule_load_day_by_id", "label": "_load_day_by_id()", "file_type": "code", "source_file": "app/services/duty_schedule.py", "source_location": "L107"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_duty_schedule_load_slots", "label": "_load_slots()", "file_type": "code", "source_file": "app/services/duty_schedule.py", "source_location": "L115"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_duty_schedule_load_assignments_for_slots", "label": "_load_assignments_for_slots()", "file_type": "code", "source_file": "app/services/duty_schedule.py", "source_location": "L123"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_duty_schedule_serialize_day", "label": "_serialize_day()", "file_type": "code", "source_file": "app/services/duty_schedule.py", "source_location": "L139"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_duty_schedule_empty_day_skeleton", "label": "empty_day_skeleton()", "file_type": "code", "source_file": "app/services/duty_schedule.py", "source_location": "L145"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_duty_schedule_get_month_summary", "label": "get_month_summary()", "file_type": "code", "source_file": "app/services/duty_schedule.py", "source_location": "L156"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_duty_schedule_get_day_detail", "label": "get_day_detail()", "file_type": "code", "source_file": "app/services/duty_schedule.py", "source_location": "L179"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_duty_schedule_soft_delete_assigLine truncated
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_py", "label": "duty_models.py", "file_type": "code", "source_file": "app/models/duty_models.py", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_dutyday", "label": "DutyDay", "file_type": "code", "source_file": "app/models/duty_models.py", "source_location": "L25"}, {"id": "base", "label": "Base", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_dutyslot", "label": "DutySlot", "file_type": "code", "source_file": "app/models/duty_models.py", "source_location": "L45"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_dutyassignment", "label": "DutyAssignment", "file_type": "code", "source_file": "app/models/duty_models.py", "source_location": "L65"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_rationale_1", "label": "\u503c\u73ed\u6392\u73ed\u6a21\u578b \u2014 docs/superpowers/specs/2026-08-14-duty-schedule-design.md", "file_type": "rationale", "source_file": "app/models/duty_models.py", "source_location": "L1"}], "edges": [{"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/models/duty_models.py", "source_location": "L2", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_py", "target": "sqlalchemy", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/models/duty_models.py", "source_location": "L4", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_py", "target": "app_core_database", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/models/duty_models.py", "source_location": "L6", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_dutyday", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/models/duty_models.py", "source_location": "L25", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_dutyday", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "app/models/duty_models.py", "source_location": "L25", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_dutyslot", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/models/duty_models.py", "source_location": "L45", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_dutyslot", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "app/models/duty_models.py", "source_location": "L45", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_dutyassignment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/models/duty_models.py", "source_location": "L65", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_dutyassignment", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "app/models/duty_models.py", "source_location": "L65", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_rationale_1", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/models/duty_models.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [], "callable_nids": ["users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_dutyassignment", "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_dutyday", "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_dutyslot"]}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_py", "label": "duty_models.py", "file_type": "code", "source_file": "app/models/duty_models.py", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_dutyday", "label": "DutyDay", "file_type": "code", "source_file": "app/models/duty_models.py", "source_location": "L25"}, {"id": "base", "label": "Base", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_dutyslot", "label": "DutySlot", "file_type": "code", "source_file": "app/models/duty_models.py", "source_location": "L45"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_dutyassignment", "label": "DutyAssignment", "file_type": "code", "source_file": "app/models/duty_models.py", "source_location": "L65"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_rationale_1", "label": "\u503c\u73ed\u6392\u73ed\u6a21\u578b \u2014 docs/superpowers/specs/2026-08-14-duty-schedule-design.md", "file_type": "rationale", "source_file": "app/models/duty_models.py", "source_location": "L1"}], "edges": [{"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/models/duty_models.py", "source_location": "L2", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_py", "target": "sqlalchemy", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/models/duty_models.py", "source_location": "L4", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_py", "target": "app_core_database", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/models/duty_models.py", "source_location": "L6", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_dutyday", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/models/duty_models.py", "source_location": "L25", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_dutyday", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "app/models/duty_models.py", "source_location": "L25", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_dutyslot", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/models/duty_models.py", "source_location": "L45", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_dutyslot", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "app/models/duty_models.py", "source_location": "L45", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_dutyassignment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/models/duty_models.py", "source_location": "L65", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_dutyassignment", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "app/models/duty_models.py", "source_location": "L65", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_rationale_1", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/models/duty_models.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [], "callable_nids": ["users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_dutyassignment", "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_dutyday", "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_dutyslot"]}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_duty_py", "label": "duty.py", "file_type": "code", "source_file": "app/schemas/duty.py", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_duty_dutyassignmentin", "label": "DutyAssignmentIn", "file_type": "code", "source_file": "app/schemas/duty.py", "source_location": "L14"}, {"id": "basemodel", "label": "BaseModel", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_duty_dutyslotsavein", "label": "DutySlotSaveIn", "file_type": "code", "source_file": "app/schemas/duty.py", "source_location": "L20"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_duty_dutydaysavebody", "label": "DutyDaySaveBody", "file_type": "code", "source_file": "app/schemas/duty.py", "source_location": "L26"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_duty_dutylinkbody", "label": "DutyLinkBody", "file_type": "code", "source_file": "app/schemas/duty.py", "source_location": "L34"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_duty_dutygrabbody", "label": "DutyGrabBody", "file_type": "code", "source_file": "app/schemas/duty.py", "source_location": "L38"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_duty_rationale_1", "label": "\u503c\u73ed\u6392\u73ed Pydantic schemas", "file_type": "rationale", "source_file": "app/schemas/duty.py", "source_location": "L1"}], "edges": [{"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_duty_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/schemas/duty.py", "source_location": "L4", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_duty_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/schemas/duty.py", "source_location": "L5", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_duty_py", "target": "pydantic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/schemas/duty.py", "source_location": "L7", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_duty_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_duty_dutyassignmentin", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/schemas/duty.py", "source_location": "L14", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_duty_dutyassignmentin", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "app/schemas/duty.py", "source_location": "L14", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_duty_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_duty_dutyslotsavein", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/schemas/duty.py", "source_location": "L20", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_duty_dutyslotsavein", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "app/schemas/duty.py", "source_location": "L20", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_duty_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_duty_dutydaysavebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/schemas/duty.py", "source_location": "L26", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_duty_dutydaysavebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "app/schemas/duty.py", "source_location": "L26", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_duty_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_duty_dutylinkbody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/schemas/duty.py", "source_location": "L34", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_duty_dutylinkbody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "app/schemas/duty.py", "source_location": "L34", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_duty_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_duty_dutygrabbody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/schemas/duty.py", "source_location": "L38", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_duty_dutygrabbody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "app/schemas/dutLine truncated
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_duty_schedule_py", "label": "duty_schedule.py", "file_type": "code", "source_file": "app/services/duty_schedule.py", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_duty_schedule_dutybizerror", "label": "DutyBizError", "file_type": "code", "source_file": "app/services/duty_schedule.py", "source_location": "L32"}, {"id": "valueerror", "label": "ValueError", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_duty_schedule_normalize_person_name", "label": "normalize_person_name()", "file_type": "code", "source_file": "app/services/duty_schedule.py", "source_location": "L36"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_duty_schedule_new_access_token", "label": "new_access_token()", "file_type": "code", "source_file": "app/services/duty_schedule.py", "source_location": "L45"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_duty_schedule_build_public_url", "label": "build_public_url()", "file_type": "code", "source_file": "app/services/duty_schedule.py", "source_location": "L49"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_duty_schedule_assignment_dict", "label": "_assignment_dict()", "file_type": "code", "source_file": "app/services/duty_schedule.py", "source_location": "L54"}, {"id": "dutyassignment", "label": "DutyAssignment", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/duty_schedule.py"}, {"id": "any", "label": "Any", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/duty_schedule.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_duty_schedule_slot_dict", "label": "_slot_dict()", "file_type": "code", "source_file": "app/services/duty_schedule.py", "source_location": "L63"}, {"id": "dutyslot", "label": "DutySlot", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/duty_schedule.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_duty_schedule_day_dict", "label": "_day_dict()", "file_type": "code", "source_file": "app/services/duty_schedule.py", "source_location": "L76"}, {"id": "dutyday", "label": "DutyDay", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/duty_schedule.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_duty_schedule_load_day_by_date", "label": "_load_day_by_date()", "file_type": "code", "source_file": "app/services/duty_schedule.py", "source_location": "L96"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/duty_schedule.py"}, {"id": "date", "label": "date", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/duty_schedule.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_duty_schedule_load_day_by_id", "label": "_load_day_by_id()", "file_type": "code", "source_file": "app/services/duty_schedule.py", "source_location": "L108"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_duty_schedule_load_slots", "label": "_load_slots()", "file_type": "code", "source_file": "app/services/duty_schedule.py", "source_location": "L116"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_duty_schedule_load_assignments_for_slots", "label": "_load_assignments_for_slots()", "file_type": "code", "source_file": "app/services/duty_schedule.py", "source_location": "L124"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_duty_schedule_serialize_day", "label": "_serialize_day()", "file_type": "code", "source_file": "app/services/duty_schedule.py", "source_location": "L140"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_duty_schedule_empty_day_skeleton", "label": "empty_day_skeleton()", "file_type": "code", "source_file": "app/services/duty_schedule.py", "source_location": "L146"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_duty_schedule_get_month_summary", "label": "get_month_summary()", "file_type": "code", "source_file": "app/services/duty_schedule.py", "source_location": "L157"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_duty_schedule_get_day_detail", "label": "get_day_detail()", "file_type": "code", "source_file": "app/services/duty_schedule.py", "source_location": "L180"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_duty_schedule_soft_delete_assigLine truncated
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_duty_schedule_py", "label": "duty_schedule.py", "file_type": "code", "source_file": "app/services/duty_schedule.py", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_duty_schedule_dutybizerror", "label": "DutyBizError", "file_type": "code", "source_file": "app/services/duty_schedule.py", "source_location": "L32"}, {"id": "valueerror", "label": "ValueError", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_duty_schedule_normalize_person_name", "label": "normalize_person_name()", "file_type": "code", "source_file": "app/services/duty_schedule.py", "source_location": "L36"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_duty_schedule_new_access_token", "label": "new_access_token()", "file_type": "code", "source_file": "app/services/duty_schedule.py", "source_location": "L45"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_duty_schedule_build_public_url", "label": "build_public_url()", "file_type": "code", "source_file": "app/services/duty_schedule.py", "source_location": "L49"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_duty_schedule_assignment_dict", "label": "_assignment_dict()", "file_type": "code", "source_file": "app/services/duty_schedule.py", "source_location": "L54"}, {"id": "dutyassignment", "label": "DutyAssignment", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/duty_schedule.py"}, {"id": "any", "label": "Any", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/duty_schedule.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_duty_schedule_slot_dict", "label": "_slot_dict()", "file_type": "code", "source_file": "app/services/duty_schedule.py", "source_location": "L63"}, {"id": "dutyslot", "label": "DutySlot", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/duty_schedule.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_duty_schedule_day_dict", "label": "_day_dict()", "file_type": "code", "source_file": "app/services/duty_schedule.py", "source_location": "L75"}, {"id": "dutyday", "label": "DutyDay", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/duty_schedule.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_duty_schedule_load_day_by_date", "label": "_load_day_by_date()", "file_type": "code", "source_file": "app/services/duty_schedule.py", "source_location": "L96"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/duty_schedule.py"}, {"id": "date", "label": "date", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/duty_schedule.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_duty_schedule_load_day_by_id", "label": "_load_day_by_id()", "file_type": "code", "source_file": "app/services/duty_schedule.py", "source_location": "L108"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_duty_schedule_load_slots", "label": "_load_slots()", "file_type": "code", "source_file": "app/services/duty_schedule.py", "source_location": "L116"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_duty_schedule_load_assignments_for_slots", "label": "_load_assignments_for_slots()", "file_type": "code", "source_file": "app/services/duty_schedule.py", "source_location": "L124"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_duty_schedule_serialize_day", "label": "_serialize_day()", "file_type": "code", "source_file": "app/services/duty_schedule.py", "source_location": "L140"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_duty_schedule_empty_day_skeleton", "label": "empty_day_skeleton()", "file_type": "code", "source_file": "app/services/duty_schedule.py", "source_location": "L146"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_duty_schedule_get_month_summary", "label": "get_month_summary()", "file_type": "code", "source_file": "app/services/duty_schedule.py", "source_location": "L158"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_duty_schedule_get_day_detail", "label": "get_day_detail()", "file_type": "code", "source_file": "app/services/duty_schedule.py", "source_location": "L181"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_duty_schedule_soft_delete_assigLine truncated
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_db_plans_py", "label": "plans.py", "file_type": "code", "source_file": "app/api/db/plans.py", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_db_plans_base_query", "label": "_base_query()", "file_type": "code", "source_file": "app/api/db/plans.py", "source_location": "L47"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/db/plans.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_db_plans_list_plans", "label": "list_plans()", "file_type": "code", "source_file": "app/api/db/plans.py", "source_location": "L55"}, {"id": "dbusercontext", "label": "DbUserContext", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/db/plans.py"}, {"id": "purchaseplanwithfilllink", "label": "PurchasePlanWithFillLink", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/db/plans.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_db_plans_generate_plan_no", "label": "_generate_plan_no()", "file_type": "code", "source_file": "app/api/db/plans.py", "source_location": "L202"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_db_plans_create_plan", "label": "create_plan()", "file_type": "code", "source_file": "app/api/db/plans.py", "source_location": "L209"}, {"id": "purchaseplancreate", "label": "PurchasePlanCreate", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/db/plans.py"}, {"id": "purchaseplanread", "label": "PurchasePlanRead", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/db/plans.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_db_plans_autogeneratemonthlyresult", "label": "AutoGenerateMonthlyResult", "file_type": "code", "source_file": "app/api/db/plans.py", "source_location": "L252"}, {"id": "basemodel", "label": "BaseModel", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_db_plans_run_auto_generate_monthly", "label": "run_auto_generate_monthly()", "file_type": "code", "source_file": "app/api/db/plans.py", "source_location": "L259"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_db_plans_get_plan", "label": "get_plan()", "file_type": "code", "source_file": "app/api/db/plans.py", "source_location": "L273"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_db_plans_update_plan", "label": "update_plan()", "file_type": "code", "source_file": "app/api/db/plans.py", "source_location": "L284"}, {"id": "purchaseplanupdate", "label": "PurchasePlanUpdate", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/db/plans.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_db_plans_delete_plan", "label": "delete_plan()", "file_type": "code", "source_file": "app/api/db/plans.py", "source_location": "L302"}, {"id": "dbpurchaseplan", "label": "DbPurchasePlan", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/db/plans.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_db_plans_get_plan_by_id_only", "label": "_get_plan_by_id_only()", "file_type": "code", "source_file": "app/api/db/plans.py", "source_location": "L339"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_db_plans_apply_plan_product_update", "label": "_apply_plan_product_update()", "file_type": "code", "source_file": "app/api/db/plans.py", "source_location": "L353"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_db_plans_apply_plan_update", "label": "_apply_plan_update()", "file_type": "code", "source_file": "app/api/db/plans.py", "source_location": "L369"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_db_plans_planrelateddata", "label": "PlanRelatedData", "file_type": "code", "source_file": "app/api/db/plans.py", "source_location": "L390"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_db_plans_get_plan_related", "label": "get_plan_related()", "file_type": "code", "source_file": "app/api/db/plans.py", "source_location": "L396"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_db_plans_thirdpartyplanpagedata", "label": "ThirdPartyPlanPageData", "file_type": "code", "source_file": "app/api/db/plans.py", "source_location": "L441"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_db_plans_get_third_party_plan_page", "label": "get_third_party_plan_page()", "file_type"Line truncated
|
||||
+1
-1
@@ -1 +1 @@
|
||||
{"/Users/zlwu/work/00code/shanxia2.0/backend/start-prod.sh":{"size":7357,"mtime_ns":1782639355476060453,"hash":"ca89869446be74a2bf2367b3b28f448580220859a39a84ad9613ac5fe35a8433"},"/Users/zlwu/work/00code/shanxia2.0/backend/start.sh":{"size":9548,"mtime_ns":1780114661446983244,"hash":"4d632863e8a0cd81194b491d83a0218a4157435ae812dec76a6f6197b4d48e57"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/__init__.py":{"size":21,"mtime_ns":1780113982281973984,"hash":"60a04ff08fd97084e83ea809fd13feda6d2848be20ebf309e31fc1dad7523230"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py":{"size":6280,"mtime_ns":1782790852770448643,"hash":"8f9da799977bee7134d87a26ff8434ac5ef8eabb0b7368dd537eee49ad7fd00b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/tasks/__init__.py":{"size":2207,"mtime_ns":1783208067881286091,"hash":"313e6da0e91d743ce891dd283458c79b50b24c4d909dc96ca7b3fd9d2bfa5013"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/auth.py":{"size":7457,"mtime_ns":1782790841500516545,"hash":"34bac56e1c2cb6215f4b5fa2dc32d77d4b4abca51428819eebf4afd269cc51cf"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/api_crypto.py":{"size":1870,"mtime_ns":1780108930724444498,"hash":"c04b748aea86890a5971f749523c7b17dbad1ddd6f9f7f07a5679d159c984e33"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/login_crypto.py":{"size":3858,"mtime_ns":1780108930725155710,"hash":"b82d51afabf2293a9cb1fb2e5f994c383948e7f47ea95fe674686b4f3f3342b1"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/config.py":{"size":6958,"mtime_ns":1784032424448146538,"hash":"c2fb44aedb880733de28afa7f92d2c1c681eb600f821bbeba2bcda3933e5bc37"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/wechat_pay.py":{"size":23585,"mtime_ns":1780108930725768130,"hash":"3d52265ce65d21e7103f94afa1e8547aee0823b5ea6d65c50317436ac81fb4fc"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/api_request_log_middleware.py":{"size":11971,"mtime_ns":1782701669198208175,"hash":"0b84c32828939e6102bb3647691fa8f04b1f68e0e0e9f28127374cc44e19a11c"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/database.py":{"size":1510,"mtime_ns":1782790847265601586,"hash":"8bc9c8ae62e2be2c6920036582ba448dfcd1711c41cebb62274ff6bc6ee14b0b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/security.py":{"size":728,"mtime_ns":1780108930725470004,"hash":"df0f01115064f7b8de1c81dbe9a6db39360c236610b68c33b3234a51d7f0025b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/request_payload.py":{"size":2842,"mtime_ns":1780108930725350836,"hash":"e9937151530ab1417ef297aef59111977725cf90be2a8fa76c00a0618789aba0"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/__init__.py":{"size":61,"mtime_ns":1780108930724312414,"hash":"3dd1842ee59b0c804176b03b4b8a323bd4a252b7feb1bbc32db64f3a8928570e"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/response.py":{"size":1824,"mtime_ns":1780108930725412462,"hash":"f1739352d65ea8287d76e282a59553aa8d63c97e35764c64ac378aa5bd9c347e"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/menu_guard.py":{"size":1611,"mtime_ns":1780108930725223002,"hash":"3e26077288c3620a4780038b891a326206b45bffe00aca545bdae30172487235"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_collation.py":{"size":548,"mtime_ns":1780108930725025043,"hash":"0c680e25a18244ca839a7de6ed1f4313b33bc8da118d89c463aee1b6af00c6f9"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/context.py":{"size":421,"mtime_ns":1780108930724824458,"hash":"83a10aee67162374993c10a30bf8bb8bd9c4b35cf48f42c832415ccebd91660f"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/utils.py":{"size":1498,"mtime_ns":1780108930725607296,"hash":"09323693661c1d4560458b86a954128ccff82bbaf6522da0b44f24da99ddf9ea"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/storage.py":{"size":14141,"mtime_ns":1782855136810943216,"hash":"3ae2c413c10898a8adb3d6773870bafbfbc18c739c10e0e8b4f765b4b5ca6c08"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/order_status_compat.py":{"size":2828,"mtime_ns":1780108930725284669,"hash":"5349e5a0745ee6734c4a995337779307adefc46f453906171988a77de2081540"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/exceptions.py":{"size":4946,"mtime_ns":1780108930725084335,"hash":"79c997d964bca1a4f12f2b92fb1f181fdb9e2b3cf72eae39f4cc164d23794fd7"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py":{"size":8043,"mtime_ns":1782648925694296304,"hash":"626dff86937e5cacec634ecbc61cd53d3763d760223a1d4ec7cd11f64e59a220"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/admin_request_json.py":{"size":2669,"mtime_ns":1780108930724378914,"hash":"4f68b3cf84291e7bddad6ecf4bb4d29ca5e1ec246a9f7f9c4cf5909d0ec1174a"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/api_crypto_middleware.py":{"size":10876,"mtime_ns":1782790001926627098,"hash":"b39f128b6612589ea6ac5babd30752e9585b3af07b82bb1ad53c9e3c0d90816f"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/wechat_message.py":{"size":11194,"mtime_ns":1780108930725684255,"hash":"5086070deb14d99d1a69e419b2299ec4Line truncated
|
||||
{"/Users/zlwu/work/00code/shanxia2.0/backend/start-prod.sh":{"size":7357,"mtime_ns":1782639355476060453,"hash":"ca89869446be74a2bf2367b3b28f448580220859a39a84ad9613ac5fe35a8433"},"/Users/zlwu/work/00code/shanxia2.0/backend/start.sh":{"size":9548,"mtime_ns":1780114661446983244,"hash":"4d632863e8a0cd81194b491d83a0218a4157435ae812dec76a6f6197b4d48e57"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/__init__.py":{"size":21,"mtime_ns":1780113982281973984,"hash":"60a04ff08fd97084e83ea809fd13feda6d2848be20ebf309e31fc1dad7523230"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py":{"size":6280,"mtime_ns":1782790852770448643,"hash":"8f9da799977bee7134d87a26ff8434ac5ef8eabb0b7368dd537eee49ad7fd00b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/tasks/__init__.py":{"size":2207,"mtime_ns":1783208067881286091,"hash":"313e6da0e91d743ce891dd283458c79b50b24c4d909dc96ca7b3fd9d2bfa5013"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/auth.py":{"size":7457,"mtime_ns":1782790841500516545,"hash":"34bac56e1c2cb6215f4b5fa2dc32d77d4b4abca51428819eebf4afd269cc51cf"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/api_crypto.py":{"size":1870,"mtime_ns":1780108930724444498,"hash":"c04b748aea86890a5971f749523c7b17dbad1ddd6f9f7f07a5679d159c984e33"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/login_crypto.py":{"size":3858,"mtime_ns":1780108930725155710,"hash":"b82d51afabf2293a9cb1fb2e5f994c383948e7f47ea95fe674686b4f3f3342b1"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/config.py":{"size":6958,"mtime_ns":1784032424448146538,"hash":"c2fb44aedb880733de28afa7f92d2c1c681eb600f821bbeba2bcda3933e5bc37"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/wechat_pay.py":{"size":23585,"mtime_ns":1780108930725768130,"hash":"3d52265ce65d21e7103f94afa1e8547aee0823b5ea6d65c50317436ac81fb4fc"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/api_request_log_middleware.py":{"size":11971,"mtime_ns":1782701669198208175,"hash":"0b84c32828939e6102bb3647691fa8f04b1f68e0e0e9f28127374cc44e19a11c"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/database.py":{"size":1510,"mtime_ns":1782790847265601586,"hash":"8bc9c8ae62e2be2c6920036582ba448dfcd1711c41cebb62274ff6bc6ee14b0b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/security.py":{"size":728,"mtime_ns":1780108930725470004,"hash":"df0f01115064f7b8de1c81dbe9a6db39360c236610b68c33b3234a51d7f0025b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/request_payload.py":{"size":2842,"mtime_ns":1780108930725350836,"hash":"e9937151530ab1417ef297aef59111977725cf90be2a8fa76c00a0618789aba0"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/__init__.py":{"size":61,"mtime_ns":1780108930724312414,"hash":"3dd1842ee59b0c804176b03b4b8a323bd4a252b7feb1bbc32db64f3a8928570e"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/response.py":{"size":1824,"mtime_ns":1780108930725412462,"hash":"f1739352d65ea8287d76e282a59553aa8d63c97e35764c64ac378aa5bd9c347e"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/menu_guard.py":{"size":1611,"mtime_ns":1780108930725223002,"hash":"3e26077288c3620a4780038b891a326206b45bffe00aca545bdae30172487235"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_collation.py":{"size":548,"mtime_ns":1780108930725025043,"hash":"0c680e25a18244ca839a7de6ed1f4313b33bc8da118d89c463aee1b6af00c6f9"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/context.py":{"size":421,"mtime_ns":1780108930724824458,"hash":"83a10aee67162374993c10a30bf8bb8bd9c4b35cf48f42c832415ccebd91660f"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/utils.py":{"size":1498,"mtime_ns":1780108930725607296,"hash":"09323693661c1d4560458b86a954128ccff82bbaf6522da0b44f24da99ddf9ea"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/storage.py":{"size":14141,"mtime_ns":1782855136810943216,"hash":"3ae2c413c10898a8adb3d6773870bafbfbc18c739c10e0e8b4f765b4b5ca6c08"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/order_status_compat.py":{"size":2828,"mtime_ns":1780108930725284669,"hash":"5349e5a0745ee6734c4a995337779307adefc46f453906171988a77de2081540"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/exceptions.py":{"size":4946,"mtime_ns":1780108930725084335,"hash":"79c997d964bca1a4f12f2b92fb1f181fdb9e2b3cf72eae39f4cc164d23794fd7"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py":{"size":8043,"mtime_ns":1782648925694296304,"hash":"626dff86937e5cacec634ecbc61cd53d3763d760223a1d4ec7cd11f64e59a220"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/admin_request_json.py":{"size":2669,"mtime_ns":1780108930724378914,"hash":"4f68b3cf84291e7bddad6ecf4bb4d29ca5e1ec246a9f7f9c4cf5909d0ec1174a"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/api_crypto_middleware.py":{"size":10876,"mtime_ns":1782790001926627098,"hash":"b39f128b6612589ea6ac5babd30752e9585b3af07b82bb1ad53c9e3c0d90816f"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/wechat_message.py":{"size":11194,"mtime_ns":1780108930725684255,"hash":"5086070deb14d99d1a69e419b2299ec4Line truncated
|
||||
Reference in new issue
Block a user