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.
This commit is contained in:
@@ -0,0 +1,231 @@
|
||||
# Playlist
|
||||
|
||||
> God node · 33 connections · [/home/scheianu/digiserver-v2/app/models/playlist.py](file:///home/scheianu/digiserver-v2/app/models/playlist.py#L19)
|
||||
|
||||
## Call Trace Diagram
|
||||
|
||||
```mermaid
|
||||
sequenceDiagram
|
||||
participant P0 as Playlist
|
||||
participant P1 as Content
|
||||
participant P2 as Models package for digiserver-v2.
|
||||
participant P3 as PlayerEdit
|
||||
participant P4 as PlayerUser
|
||||
participant P5 as HTTPSConfig
|
||||
participant P6 as User
|
||||
participant P7 as Player
|
||||
participant P8 as ServerLog
|
||||
participant P9 as Group
|
||||
participant P10 as PlayerFeedback
|
||||
participant P11 as upload_media()
|
||||
participant P12 as log_action()
|
||||
participant P13 as .increment_version()
|
||||
participant P14 as process_presentation_file()
|
||||
participant P15 as process_video_file_extended()
|
||||
participant P16 as process_pdf_file()
|
||||
participant P17 as process_image_file()
|
||||
participant P18 as process_file_in_background()
|
||||
participant P19 as upload_content()
|
||||
participant P20 as add_weblink()
|
||||
participant P21 as add_weblink_to_playlist()
|
||||
participant P22 as Main Blueprint - Dashboard and Home Routes
|
||||
participant P23 as Health check endpoint
|
||||
participant P24 as Playlist model for managing content collections.
|
||||
participant P25 as Playlist model representing a collection of content. Attributes:
|
||||
participant P26 as String representation of Playlist.
|
||||
participant P27 as Increment playlist version for sync detection.
|
||||
participant P28 as Get content items ordered by position.
|
||||
participant P29 as Get number of players assigned to this playlist.
|
||||
participant P30 as Get number of content items in this playlist.
|
||||
participant P31 as Calculate total duration of all content in seconds.
|
||||
participant P32 as API blueprint for REST endpoints and player communication.
|
||||
participant P33 as Rate limiting decorator. Args: max_requests: Maximum number of
|
||||
participant P34 as Decorator to verify player authentication via auth code.
|
||||
participant P35 as API health check endpoint.
|
||||
participant P36 as Get server SSL certificate.
|
||||
participant P37 as Authenticate a player and return auth code and configuration. Request J
|
||||
participant P38 as Verify an auth code and return player information. Request JSON:
|
||||
participant P39 as Get playlist using hostname and quickconnect code (Kivy player compatible).
|
||||
participant P40 as Get playlist for a specific player. Requires player authentication via
|
||||
participant P41 as Get current playlist version for a player. Lightweight endpoint for pla
|
||||
participant P42 as Get cached playlist for a player based on assigned playlist.
|
||||
participant P43 as Receive feedback/status updates from players (Kivy player compatible).
|
||||
participant P44 as Get current status of a player (public endpoint for monitoring).
|
||||
participant P45 as Get progress of a file upload.
|
||||
participant P46 as Get system information and statistics.
|
||||
participant P47 as List all content with basic information.
|
||||
participant P48 as Get recent server logs. Query parameters: limit: Number of logs
|
||||
participant P49 as Receive edited media from player. Expected multipart/form-data: - i
|
||||
participant P50 as Test SSH connection to a remote host. Request JSON: hostname: T
|
||||
participant P51 as Deploy player code to a remote host via SSH. Request JSON: host
|
||||
participant P52 as Handle 404 errors in API.
|
||||
participant P53 as Handle 405 errors in API.
|
||||
participant P54 as Handle 500 errors in API.
|
||||
participant P55 as create_playlist()
|
||||
P0->>+ P1: uses
|
||||
P1-->>- P0: return
|
||||
P1->>+ P0: uses
|
||||
P0-->>- P1: return
|
||||
P1->>+ P2: uses
|
||||
P2-->>- P1: return
|
||||
P2->>+ P3: uses
|
||||
P3-->>- P2: return
|
||||
P2->>+ P4: uses
|
||||
P4-->>- P2: return
|
||||
P2->>+ P0: uses
|
||||
P0-->>- P2: return
|
||||
P2->>+ P5: uses
|
||||
P5-->>- P2: return
|
||||
P2->>+ P1: uses
|
||||
P1-->>- P2: return
|
||||
P2->>+ P6: uses
|
||||
P6-->>- P2: return
|
||||
P2->>+ P7: uses
|
||||
P7-->>- P2: return
|
||||
P2->>+ P8: uses
|
||||
P8-->>- P2: return
|
||||
P2->>+ P9: uses
|
||||
P9-->>- P2: return
|
||||
P2->>+ P10: uses
|
||||
P10-->>- P2: return
|
||||
P1->>+ P11: calls
|
||||
P11-->>- P1: return
|
||||
P11->>+ P12: calls
|
||||
P12-->>- P11: return
|
||||
P11->>+ P1: calls
|
||||
P1-->>- P11: return
|
||||
P11->>+ P13: calls
|
||||
P13-->>- P11: return
|
||||
P11->>+ P14: calls
|
||||
P14-->>- P11: return
|
||||
P11->>+ P15: calls
|
||||
P15-->>- P11: return
|
||||
P11->>+ P16: calls
|
||||
P16-->>- P11: return
|
||||
P11->>+ P17: calls
|
||||
P17-->>- P11: return
|
||||
P1->>+ P18: calls
|
||||
P18-->>- P1: return
|
||||
P1->>+ P19: calls
|
||||
P19-->>- P1: return
|
||||
P1->>+ P20: calls
|
||||
P20-->>- P1: return
|
||||
P1->>+ P21: calls
|
||||
P21-->>- P1: return
|
||||
P1->>+ P22: uses
|
||||
P22-->>- P1: return
|
||||
P1->>+ P23: uses
|
||||
P23-->>- P1: return
|
||||
P1->>+ P24: uses
|
||||
P24-->>- P1: return
|
||||
P1->>+ P25: uses
|
||||
P25-->>- P1: return
|
||||
P1->>+ P26: uses
|
||||
P26-->>- P1: return
|
||||
P1->>+ P27: uses
|
||||
P27-->>- P1: return
|
||||
P1->>+ P28: uses
|
||||
P28-->>- P1: return
|
||||
P1->>+ P29: uses
|
||||
P29-->>- P1: return
|
||||
P1->>+ P30: uses
|
||||
P30-->>- P1: return
|
||||
P1->>+ P31: uses
|
||||
P31-->>- P1: return
|
||||
P0->>+ P2: uses
|
||||
P2-->>- P0: return
|
||||
P0->>+ P32: uses
|
||||
P32-->>- P0: return
|
||||
P0->>+ P33: uses
|
||||
P33-->>- P0: return
|
||||
P0->>+ P34: uses
|
||||
P34-->>- P0: return
|
||||
P0->>+ P35: uses
|
||||
P35-->>- P0: return
|
||||
P0->>+ P36: uses
|
||||
P36-->>- P0: return
|
||||
P0->>+ P37: uses
|
||||
P37-->>- P0: return
|
||||
P0->>+ P38: uses
|
||||
P38-->>- P0: return
|
||||
P0->>+ P39: uses
|
||||
P39-->>- P0: return
|
||||
P0->>+ P40: uses
|
||||
P40-->>- P0: return
|
||||
P0->>+ P41: uses
|
||||
P41-->>- P0: return
|
||||
P0->>+ P42: uses
|
||||
P42-->>- P0: return
|
||||
P0->>+ P43: uses
|
||||
P43-->>- P0: return
|
||||
P0->>+ P44: uses
|
||||
P44-->>- P0: return
|
||||
P0->>+ P45: uses
|
||||
P45-->>- P0: return
|
||||
P0->>+ P46: uses
|
||||
P46-->>- P0: return
|
||||
P0->>+ P47: uses
|
||||
P47-->>- P0: return
|
||||
P0->>+ P48: uses
|
||||
P48-->>- P0: return
|
||||
P0->>+ P49: uses
|
||||
P49-->>- P0: return
|
||||
P0->>+ P50: uses
|
||||
P50-->>- P0: return
|
||||
P0->>+ P51: uses
|
||||
P51-->>- P0: return
|
||||
P0->>+ P52: uses
|
||||
P52-->>- P0: return
|
||||
P0->>+ P53: uses
|
||||
P53-->>- P0: return
|
||||
P0->>+ P54: uses
|
||||
P54-->>- P0: return
|
||||
P0->>+ P22: uses
|
||||
P22-->>- P0: return
|
||||
P0->>+ P23: uses
|
||||
P23-->>- P0: return
|
||||
P0->>+ P55: calls
|
||||
P55-->>- P0: return
|
||||
```
|
||||
|
||||
## Connections by Relation
|
||||
|
||||
### calls
|
||||
- [[create_playlist()]] `INFERRED`
|
||||
|
||||
### contains
|
||||
- [[playlist.py]] `EXTRACTED`
|
||||
|
||||
### method
|
||||
- [[.increment_version()]] `EXTRACTED`
|
||||
- [[.get_content_ordered()]] `EXTRACTED`
|
||||
- [[.__repr__()]] `EXTRACTED`
|
||||
|
||||
### rationale_for
|
||||
- [[Playlist model representing a collection of content. Attributes:]] `EXTRACTED`
|
||||
|
||||
### uses
|
||||
- [[Content]] `INFERRED`
|
||||
- [[Models package for digiserver-v2.]] `INFERRED`
|
||||
- [[API blueprint for REST endpoints and player communication.]] `INFERRED`
|
||||
- [[Rate limiting decorator. Args: max_requests: Maximum number of]] `INFERRED`
|
||||
- [[Decorator to verify player authentication via auth code.]] `INFERRED`
|
||||
- [[API health check endpoint.]] `INFERRED`
|
||||
- [[Get server SSL certificate.]] `INFERRED`
|
||||
- [[Authenticate a player and return auth code and configuration. Request J]] `INFERRED`
|
||||
- [[Verify an auth code and return player information. Request JSON:]] `INFERRED`
|
||||
- [[Get playlist using hostname and quickconnect code (Kivy player compatible).]] `INFERRED`
|
||||
- [[Get playlist for a specific player. Requires player authentication via]] `INFERRED`
|
||||
- [[Get current playlist version for a player. Lightweight endpoint for pla]] `INFERRED`
|
||||
- [[Get cached playlist for a player based on assigned playlist.]] `INFERRED`
|
||||
- [[Receive feedback/status updates from players (Kivy player compatible).]] `INFERRED`
|
||||
- [[Get current status of a player (public endpoint for monitoring).]] `INFERRED`
|
||||
- [[Get progress of a file upload.]] `INFERRED`
|
||||
- [[Get system information and statistics.]] `INFERRED`
|
||||
- [[List all content with basic information.]] `INFERRED`
|
||||
- [[Get recent server logs. Query parameters: limit: Number of logs]] `INFERRED`
|
||||
- [[Receive edited media from player. Expected multipart/form-data: - i]] `INFERRED`
|
||||
|
||||
---
|
||||
|
||||
*Part of the graphify knowledge wiki. See [[index]] to navigate.*
|
||||
Reference in New Issue
Block a user