Files
digiserver-v2/docs/graphify-out/cache/eb1a7845d5c86e98e5d26d1cc50eef375eb00ceba72338a37beff6b47688835c.json
ske087 46602f1933 Sanitize codebase, reorganize docs, and add missing deploy files
Remove dead code identified in docs/SANITIZATION-REVIEW.md:
- app/blueprints/content_old.py and app/blueprints/playlist.py
- app/models/group.py, app/utils/nginx_config_reader.py
- orphaned templates (content_list, edit_content, upload_content,
  player_page) and the related group/Template references

Result: 6 blueprints, 82 routes, no dead modules or orphan templates.

Add files that deploy.sh and docker-entrypoint.sh already require but
which were never tracked:
- https_manager.py       (referenced by deploy.sh, migrate_network.sh,
                          docker-entrypoint.sh)
- Caddyfile.example      (seeded by deploy.sh; its absence aborts deploy)

Relocate generated Graphify artifacts from graphify-out/ to
docs/graphify-out/ (110 files, no content change) and archive the
superseded docs under docs/.

Ignore hygiene:
- ignore ad-hoc .env backups (.env.bak*) — they contain live secrets
- keep the pre-sanitization snapshots (docs/legacy code/,
  docs/old_code_documentation/) on disk but out of the repo

Fix .env.example: drop a duplicated config block, genericize the
hardcoded host IP, and document HOSTNAME_INTERNAL.
2026-09-11 12:18:34 +03:00

1 line
10 KiB
JSON

{"nodes": [{"id": "home_scheianu_digiserver_v2_app_models_playlist_py", "label": "playlist.py", "file_type": "code", "type": "FUNCTION", "source_file": "/home/scheianu/digiserver-v2/app/models/playlist.py", "source_location": "L1", "complexity": 1, "loc": 1}, {"id": "playlist_playlist", "label": "Playlist", "file_type": "code", "type": "CLASS", "source_file": "/home/scheianu/digiserver-v2/app/models/playlist.py", "source_location": "L19", "complexity": 6, "loc": 81}, {"id": "playlist_playlist_repr", "label": ".__repr__()", "file_type": "code", "type": "FUNCTION", "source_file": "/home/scheianu/digiserver-v2/app/models/playlist.py", "source_location": "L48", "complexity": 1, "loc": 3}, {"id": "playlist_player_count", "label": "player_count()", "file_type": "code", "type": "FUNCTION", "source_file": "/home/scheianu/digiserver-v2/app/models/playlist.py", "source_location": "L53", "complexity": 1, "loc": 3}, {"id": "playlist_content_count", "label": "content_count()", "file_type": "code", "type": "FUNCTION", "source_file": "/home/scheianu/digiserver-v2/app/models/playlist.py", "source_location": "L58", "complexity": 1, "loc": 3}, {"id": "playlist_total_duration", "label": "total_duration()", "file_type": "code", "type": "FUNCTION", "source_file": "/home/scheianu/digiserver-v2/app/models/playlist.py", "source_location": "L63", "complexity": 2, "loc": 6}, {"id": "playlist_playlist_increment_version", "label": ".increment_version()", "file_type": "code", "type": "FUNCTION", "source_file": "/home/scheianu/digiserver-v2/app/models/playlist.py", "source_location": "L70", "complexity": 1, "loc": 4}, {"id": "playlist_playlist_get_content_ordered", "label": ".get_content_ordered()", "file_type": "code", "type": "FUNCTION", "source_file": "/home/scheianu/digiserver-v2/app/models/playlist.py", "source_location": "L75", "complexity": 5, "loc": 25}, {"id": "playlist_rationale_1", "label": "Playlist model for managing content collections.", "file_type": "rationale", "source_file": "/home/scheianu/digiserver-v2/app/models/playlist.py", "source_location": "L1"}, {"id": "playlist_rationale_20", "label": "Playlist model representing a collection of content. Attributes:", "file_type": "rationale", "source_file": "/home/scheianu/digiserver-v2/app/models/playlist.py", "source_location": "L20"}, {"id": "playlist_rationale_49", "label": "String representation of Playlist.", "file_type": "rationale", "source_file": "/home/scheianu/digiserver-v2/app/models/playlist.py", "source_location": "L49"}, {"id": "playlist_rationale_54", "label": "Get number of players assigned to this playlist.", "file_type": "rationale", "source_file": "/home/scheianu/digiserver-v2/app/models/playlist.py", "source_location": "L54"}, {"id": "playlist_rationale_59", "label": "Get number of content items in this playlist.", "file_type": "rationale", "source_file": "/home/scheianu/digiserver-v2/app/models/playlist.py", "source_location": "L59"}, {"id": "playlist_rationale_64", "label": "Calculate total duration of all content in seconds.", "file_type": "rationale", "source_file": "/home/scheianu/digiserver-v2/app/models/playlist.py", "source_location": "L64"}, {"id": "playlist_rationale_71", "label": "Increment playlist version for sync detection.", "file_type": "rationale", "source_file": "/home/scheianu/digiserver-v2/app/models/playlist.py", "source_location": "L71"}, {"id": "playlist_rationale_76", "label": "Get content items ordered by position.", "file_type": "rationale", "source_file": "/home/scheianu/digiserver-v2/app/models/playlist.py", "source_location": "L76"}], "edges": [{"source": "home_scheianu_digiserver_v2_app_models_playlist_py", "target": "datetime", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/home/scheianu/digiserver-v2/app/models/playlist.py", "source_location": "L2", "weight": 1.0}, {"source": "home_scheianu_digiserver_v2_app_models_playlist_py", "target": "typing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/home/scheianu/digiserver-v2/app/models/playlist.py", "source_location": "L3", "weight": 1.0}, {"source": "home_scheianu_digiserver_v2_app_models_playlist_py", "target": "app_extensions", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/home/scheianu/digiserver-v2/app/models/playlist.py", "source_location": "L5", "weight": 1.0}, {"source": "home_scheianu_digiserver_v2_app_models_playlist_py", "target": "playlist_playlist", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/home/scheianu/digiserver-v2/app/models/playlist.py", "source_location": "L19", "weight": 1.0}, {"source": "playlist_playlist", "target": "playlist_playlist_repr", "relation": "method", "confidence": "EXTRACTED", "source_file": "/home/scheianu/digiserver-v2/app/models/playlist.py", "source_location": "L48", "weight": 1.0}, {"source": "home_scheianu_digiserver_v2_app_models_playlist_py", "target": "playlist_player_count", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/home/scheianu/digiserver-v2/app/models/playlist.py", "source_location": "L53", "weight": 1.0}, {"source": "home_scheianu_digiserver_v2_app_models_playlist_py", "target": "playlist_content_count", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/home/scheianu/digiserver-v2/app/models/playlist.py", "source_location": "L58", "weight": 1.0}, {"source": "home_scheianu_digiserver_v2_app_models_playlist_py", "target": "playlist_total_duration", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/home/scheianu/digiserver-v2/app/models/playlist.py", "source_location": "L63", "weight": 1.0}, {"source": "playlist_playlist", "target": "playlist_playlist_increment_version", "relation": "method", "confidence": "EXTRACTED", "source_file": "/home/scheianu/digiserver-v2/app/models/playlist.py", "source_location": "L70", "weight": 1.0}, {"source": "playlist_playlist", "target": "playlist_playlist_get_content_ordered", "relation": "method", "confidence": "EXTRACTED", "source_file": "/home/scheianu/digiserver-v2/app/models/playlist.py", "source_location": "L75", "weight": 1.0}, {"source": "home_scheianu_digiserver_v2_app_models_playlist_py", "target": "app_models_content", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/home/scheianu/digiserver-v2/app/models/playlist.py", "source_location": "L103", "weight": 1.0}, {"source": "playlist_rationale_1", "target": "home_scheianu_digiserver_v2_app_models_playlist_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/home/scheianu/digiserver-v2/app/models/playlist.py", "source_location": "L1", "weight": 1.0}, {"source": "playlist_rationale_20", "target": "playlist_playlist", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/home/scheianu/digiserver-v2/app/models/playlist.py", "source_location": "L20", "weight": 1.0}, {"source": "playlist_rationale_49", "target": "playlist_playlist_repr", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/home/scheianu/digiserver-v2/app/models/playlist.py", "source_location": "L49", "weight": 1.0}, {"source": "playlist_rationale_54", "target": "playlist_playlist_player_count", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/home/scheianu/digiserver-v2/app/models/playlist.py", "source_location": "L54", "weight": 1.0}, {"source": "playlist_rationale_59", "target": "playlist_playlist_content_count", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/home/scheianu/digiserver-v2/app/models/playlist.py", "source_location": "L59", "weight": 1.0}, {"source": "playlist_rationale_64", "target": "playlist_playlist_total_duration", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/home/scheianu/digiserver-v2/app/models/playlist.py", "source_location": "L64", "weight": 1.0}, {"source": "playlist_rationale_71", "target": "playlist_playlist_increment_version", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/home/scheianu/digiserver-v2/app/models/playlist.py", "source_location": "L71", "weight": 1.0}, {"source": "playlist_rationale_76", "target": "playlist_playlist_get_content_ordered", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/home/scheianu/digiserver-v2/app/models/playlist.py", "source_location": "L76", "weight": 1.0}], "raw_calls": [{"caller_nid": "playlist_player_count", "callee": "count", "source_file": "/home/scheianu/digiserver-v2/app/models/playlist.py", "source_location": "L55"}, {"caller_nid": "playlist_content_count", "callee": "count", "source_file": "/home/scheianu/digiserver-v2/app/models/playlist.py", "source_location": "L60"}, {"caller_nid": "playlist_playlist_increment_version", "callee": "utcnow", "source_file": "/home/scheianu/digiserver-v2/app/models/playlist.py", "source_location": "L73"}, {"caller_nid": "playlist_playlist_get_content_ordered", "callee": "order_by", "source_file": "/home/scheianu/digiserver-v2/app/models/playlist.py", "source_location": "L79"}, {"caller_nid": "playlist_playlist_get_content_ordered", "callee": "where", "source_file": "/home/scheianu/digiserver-v2/app/models/playlist.py", "source_location": "L79"}, {"caller_nid": "playlist_playlist_get_content_ordered", "callee": "select", "source_file": "/home/scheianu/digiserver-v2/app/models/playlist.py", "source_location": "L79"}, {"caller_nid": "playlist_playlist_get_content_ordered", "callee": "fetchall", "source_file": "/home/scheianu/digiserver-v2/app/models/playlist.py", "source_location": "L87"}, {"caller_nid": "playlist_playlist_get_content_ordered", "callee": "execute", "source_file": "/home/scheianu/digiserver-v2/app/models/playlist.py", "source_location": "L87"}, {"caller_nid": "playlist_playlist_get_content_ordered", "callee": "get", "source_file": "/home/scheianu/digiserver-v2/app/models/playlist.py", "source_location": "L91"}, {"caller_nid": "playlist_playlist_get_content_ordered", "callee": "len", "source_file": "/home/scheianu/digiserver-v2/app/models/playlist.py", "source_location": "L95"}, {"caller_nid": "playlist_playlist_get_content_ordered", "callee": "len", "source_file": "/home/scheianu/digiserver-v2/app/models/playlist.py", "source_location": "L96"}, {"caller_nid": "playlist_playlist_get_content_ordered", "callee": "append", "source_file": "/home/scheianu/digiserver-v2/app/models/playlist.py", "source_location": "L97"}]}