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