提交
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
|
||||
Reference in new issue
Block a user