1 line
11 KiB
JSON
1 line
11 KiB
JSON
{"nodes": [{"id": "backend_services_image_storage_py", "label": "image_storage.py", "file_type": "code", "source_file": "backend/services/image_storage.py", "source_location": "L1"}, {"id": "image_storage_sanitize_filename", "label": "sanitize_filename()", "file_type": "code", "source_file": "backend/services/image_storage.py", "source_location": "L12"}, {"id": "image_storage_get_unique_filename", "label": "get_unique_filename()", "file_type": "code", "source_file": "backend/services/image_storage.py", "source_location": "L60"}, {"id": "image_storage_ensure_image_directories", "label": "ensure_image_directories()", "file_type": "code", "source_file": "backend/services/image_storage.py", "source_location": "L101"}, {"id": "image_storage_save_image", "label": "save_image()", "file_type": "code", "source_file": "backend/services/image_storage.py", "source_location": "L122"}, {"id": "image_storage_get_categories", "label": "get_categories()", "file_type": "code", "source_file": "backend/services/image_storage.py", "source_location": "L179"}, {"id": "image_storage_rationale_1", "label": "Image storage utilities for managing image files and directory structure.", "file_type": "rationale", "source_file": "backend/services/image_storage.py", "source_location": "L1"}, {"id": "image_storage_rationale_13", "label": "Sanitize a filename by removing unsafe characters and limiting length. Args", "file_type": "rationale", "source_file": "backend/services/image_storage.py", "source_location": "L13"}, {"id": "image_storage_rationale_66", "label": "Generate a unique filename with collision handling. If a file with the sani", "file_type": "rationale", "source_file": "backend/services/image_storage.py", "source_location": "L66"}, {"id": "image_storage_rationale_102", "label": "Ensure image storage directories exist on startup. Creates /images/ root an", "file_type": "rationale", "source_file": "backend/services/image_storage.py", "source_location": "L102"}, {"id": "image_storage_rationale_128", "label": "Save an image file to the storage directory. Creates category directory if", "file_type": "rationale", "source_file": "backend/services/image_storage.py", "source_location": "L128"}, {"id": "image_storage_rationale_180", "label": "Get list of categories from the database. This is a stub that will be calle", "file_type": "rationale", "source_file": "backend/services/image_storage.py", "source_location": "L180"}], "edges": [{"source": "backend_services_image_storage_py", "target": "logging", "relation": "imports", "confidence": "EXTRACTED", "source_file": "backend/services/image_storage.py", "source_location": "L2", "weight": 1.0}, {"source": "backend_services_image_storage_py", "target": "re", "relation": "imports", "confidence": "EXTRACTED", "source_file": "backend/services/image_storage.py", "source_location": "L3", "weight": 1.0}, {"source": "backend_services_image_storage_py", "target": "uuid", "relation": "imports", "confidence": "EXTRACTED", "source_file": "backend/services/image_storage.py", "source_location": "L4", "weight": 1.0}, {"source": "backend_services_image_storage_py", "target": "pathlib", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/services/image_storage.py", "source_location": "L5", "weight": 1.0}, {"source": "backend_services_image_storage_py", "target": "typing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/services/image_storage.py", "source_location": "L6", "weight": 1.0}, {"source": "backend_services_image_storage_py", "target": "image_storage_sanitize_filename", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/services/image_storage.py", "source_location": "L12", "weight": 1.0}, {"source": "backend_services_image_storage_py", "target": "image_storage_get_unique_filename", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/services/image_storage.py", "source_location": "L60", "weight": 1.0}, {"source": "backend_services_image_storage_py", "target": "image_storage_ensure_image_directories", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/services/image_storage.py", "source_location": "L101", "weight": 1.0}, {"source": "backend_services_image_storage_py", "target": "image_storage_save_image", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/services/image_storage.py", "source_location": "L122", "weight": 1.0}, {"source": "backend_services_image_storage_py", "target": "image_storage_get_categories", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/services/image_storage.py", "source_location": "L179", "weight": 1.0}, {"source": "image_storage_get_unique_filename", "target": "image_storage_sanitize_filename", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/services/image_storage.py", "source_location": "L82", "weight": 1.0}, {"source": "image_storage_ensure_image_directories", "target": "image_storage_get_categories", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/services/image_storage.py", "source_location": "L112", "weight": 1.0}, {"source": "image_storage_save_image", "target": "image_storage_sanitize_filename", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/services/image_storage.py", "source_location": "L152", "weight": 1.0}, {"source": "image_storage_save_image", "target": "image_storage_get_unique_filename", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/services/image_storage.py", "source_location": "L165", "weight": 1.0}, {"source": "image_storage_rationale_1", "target": "backend_services_image_storage_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/services/image_storage.py", "source_location": "L1", "weight": 1.0}, {"source": "image_storage_rationale_13", "target": "image_storage_sanitize_filename", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/services/image_storage.py", "source_location": "L13", "weight": 1.0}, {"source": "image_storage_rationale_66", "target": "image_storage_get_unique_filename", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/services/image_storage.py", "source_location": "L66", "weight": 1.0}, {"source": "image_storage_rationale_102", "target": "image_storage_ensure_image_directories", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/services/image_storage.py", "source_location": "L102", "weight": 1.0}, {"source": "image_storage_rationale_128", "target": "image_storage_save_image", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/services/image_storage.py", "source_location": "L128", "weight": 1.0}, {"source": "image_storage_rationale_180", "target": "image_storage_get_categories", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/services/image_storage.py", "source_location": "L180", "weight": 1.0}], "raw_calls": [{"caller_nid": "image_storage_sanitize_filename", "callee": "strip", "source_file": "backend/services/image_storage.py", "source_location": "L25"}, {"caller_nid": "image_storage_sanitize_filename", "callee": "ValueError", "source_file": "backend/services/image_storage.py", "source_location": "L26"}, {"caller_nid": "image_storage_sanitize_filename", "callee": "sub", "source_file": "backend/services/image_storage.py", "source_location": "L29"}, {"caller_nid": "image_storage_sanitize_filename", "callee": "replace", "source_file": "backend/services/image_storage.py", "source_location": "L30"}, {"caller_nid": "image_storage_sanitize_filename", "callee": "sub", "source_file": "backend/services/image_storage.py", "source_location": "L33"}, {"caller_nid": "image_storage_sanitize_filename", "callee": "sub", "source_file": "backend/services/image_storage.py", "source_location": "L37"}, {"caller_nid": "image_storage_sanitize_filename", "callee": "lower", "source_file": "backend/services/image_storage.py", "source_location": "L40"}, {"caller_nid": "image_storage_sanitize_filename", "callee": "match", "source_file": "backend/services/image_storage.py", "source_location": "L43"}, {"caller_nid": "image_storage_sanitize_filename", "callee": "ValueError", "source_file": "backend/services/image_storage.py", "source_location": "L44"}, {"caller_nid": "image_storage_sanitize_filename", "callee": "len", "source_file": "backend/services/image_storage.py", "source_location": "L47"}, {"caller_nid": "image_storage_sanitize_filename", "callee": "rsplit", "source_file": "backend/services/image_storage.py", "source_location": "L50"}, {"caller_nid": "image_storage_get_unique_filename", "callee": "lower", "source_file": "backend/services/image_storage.py", "source_location": "L89"}, {"caller_nid": "image_storage_get_unique_filename", "callee": "lower", "source_file": "backend/services/image_storage.py", "source_location": "L90"}, {"caller_nid": "image_storage_get_unique_filename", "callee": "replace", "source_file": "backend/services/image_storage.py", "source_location": "L95"}, {"caller_nid": "image_storage_get_unique_filename", "callee": "str", "source_file": "backend/services/image_storage.py", "source_location": "L95"}, {"caller_nid": "image_storage_get_unique_filename", "callee": "uuid4", "source_file": "backend/services/image_storage.py", "source_location": "L95"}, {"caller_nid": "image_storage_ensure_image_directories", "callee": "mkdir", "source_file": "backend/services/image_storage.py", "source_location": "L108"}, {"caller_nid": "image_storage_ensure_image_directories", "callee": "mkdir", "source_file": "backend/services/image_storage.py", "source_location": "L115"}, {"caller_nid": "image_storage_ensure_image_directories", "callee": "exception", "source_file": "backend/services/image_storage.py", "source_location": "L119"}, {"caller_nid": "image_storage_save_image", "callee": "strip", "source_file": "backend/services/image_storage.py", "source_location": "L145"}, {"caller_nid": "image_storage_save_image", "callee": "ValueError", "source_file": "backend/services/image_storage.py", "source_location": "L146"}, {"caller_nid": "image_storage_save_image", "callee": "strip", "source_file": "backend/services/image_storage.py", "source_location": "L148"}, {"caller_nid": "image_storage_save_image", "callee": "ValueError", "source_file": "backend/services/image_storage.py", "source_location": "L149"}, {"caller_nid": "image_storage_save_image", "callee": "mkdir", "source_file": "backend/services/image_storage.py", "source_location": "L156"}, {"caller_nid": "image_storage_save_image", "callee": "iterdir", "source_file": "backend/services/image_storage.py", "source_location": "L159"}, {"caller_nid": "image_storage_save_image", "callee": "is_file", "source_file": "backend/services/image_storage.py", "source_location": "L159"}, {"caller_nid": "image_storage_save_image", "callee": "lower", "source_file": "backend/services/image_storage.py", "source_location": "L162"}, {"caller_nid": "image_storage_save_image", "callee": "write_bytes", "source_file": "backend/services/image_storage.py", "source_location": "L170"}, {"caller_nid": "image_storage_save_image", "callee": "IOError", "source_file": "backend/services/image_storage.py", "source_location": "L172"}, {"caller_nid": "image_storage_save_image", "callee": "str", "source_file": "backend/services/image_storage.py", "source_location": "L172"}]} |