# Models package for digiserver-v2. > God node · 13 connections · [/home/scheianu/digiserver-v2/app/models/__init__.py](file:///home/scheianu/digiserver-v2/app/models/__init__.py#L1) ## Call Trace Diagram ```mermaid sequenceDiagram participant P0 as Models package for digiserver-v2. participant P1 as PlayerEdit participant P2 as receive_edited_media() participant P3 as log_action() participant P4 as PlayerUser participant P5 as Group participant P6 as Admin blueprint for user management and system settings. participant P7 as CaddyConfigGenerator participant P8 as Decorator to require admin role for route access. participant P9 as Display admin panel with system overview. participant P10 as Create a new user account. participant P11 as Change user role between user and admin. participant P12 as Delete a user account. participant P13 as Change application theme. participant P14 as Upload custom logo for application. participant P15 as Clear all server logs. participant P16 as Display user management page. participant P17 as Get system information as JSON. participant P18 as Display leftover media files not assigned to any playlist. participant P19 as Delete all leftover images that are not part of any playlist participant P20 as Delete all leftover videos that are not part of any playlist participant P21 as Delete a single leftover content file participant P22 as Show system dependencies status. participant P23 as Install LibreOffice for PPTX conversion. participant P24 as Install Emoji Fonts for better UI display. participant P25 as Logo customization page. participant P26 as Upload login page logo. participant P27 as Display and manage users that edit images on players. participant P28 as Update editing user name. participant P29 as Display HTTPS configuration management page. participant P30 as Update HTTPS configuration. participant P31 as Get current HTTPS configuration status as JSON. participant P32 as Path to the persisted player-build settings (in the instance folder). participant P33 as Display the 'Build player files for deployment' admin page. participant P34 as Build/refresh the staged player code and/or write its base config. participant P35 as API blueprint for REST endpoints and player communication. participant P36 as Rate limiting decorator. Args: max_requests: Maximum number of participant P37 as Decorator to verify player authentication via auth code. participant P38 as API health check endpoint. participant P39 as Get server SSL certificate. participant P40 as Authenticate a player and return auth code and configuration. Request J participant P41 as Verify an auth code and return player information. Request JSON: participant P42 as Get playlist using hostname and quickconnect code (Kivy player compatible). participant P43 as Get playlist for a specific player. Requires player authentication via participant P44 as Get current playlist version for a player. Lightweight endpoint for pla participant P45 as Get cached playlist for a player based on assigned playlist. participant P46 as Receive feedback/status updates from players (Kivy player compatible). participant P47 as Get current status of a player (public endpoint for monitoring). participant P48 as Get progress of a file upload. participant P49 as Get system information and statistics. participant P50 as List all content with basic information. participant P51 as Get recent server logs. Query parameters: limit: Number of logs participant P52 as Receive edited media from player. Expected multipart/form-data: - i participant P53 as Test SSH connection to a remote host. Request JSON: hostname: T participant P54 as Deploy player code to a remote host via SSH. Request JSON: host participant P55 as Handle 404 errors in API. participant P56 as Handle 405 errors in API. participant P57 as Handle 500 errors in API. participant P58 as Players blueprint for player management and display. participant P59 as Display list of all players. participant P60 as Add a new player with optional SSH deployment. participant P61 as Regenerate authentication code for a player. participant P62 as Redirect to manage player page (combined view). participant P63 as Manage player - edit credentials, assign playlist, view logs. participant P64 as Display all edited media files from this player. participant P65 as Display a tabular report of all edited media from this player. participant P66 as Display player fullscreen view (no authentication required for players). participant P67 as Get playlist for a player based on their assigned playlist. Args: participant P68 as Legacy endpoint - Content reordering now handled in playlist management. participant P69 as Delete multiple players at once. participant P70 as Assign multiple players to a playlist. participant P71 as Return deployment status for all players (used by polling JS). participant P72 as Reorder items in player's playlist. participant P73 as Remove content from player's playlist. participant P74 as Content model for media files. participant P75 as Main playlist management page. participant P76 as View all media files in the library. participant P77 as Delete a media file and remove it from all playlists. participant P78 as Create a new playlist. participant P79 as Manage content in a specific playlist. participant P80 as Add content to playlist. participant P81 as Create a web link content item from the Upload Media page. Optionally adds participant P82 as Create a web link content item and add it to the playlist. participant P83 as Remove content from playlist. participant P84 as Remove multiple content items from playlist. participant P85 as Reorder content in playlist. participant P86 as Update content muted setting in playlist. participant P87 as Update content edit_on_player_enabled setting in playlist. participant P88 as Update content duration in playlist. participant P89 as Display upload media page. participant P90 as Process and optimize image files. participant P91 as Process and optimize video files for Raspberry Pi playback. participant P92 as Process PDF files by converting each page to PNG images. participant P93 as Process large files (PDF, PPTX, Video) in background thread. participant P94 as Process PowerPoint presentation files by converting slides to images. participant P95 as Create a Full HD (1920x1080) image from PIL Image object, centered on white back participant P96 as Resize image to exactly Full HD (1920x1080) maintaining aspect ratio with center participant P97 as Optimize and resize image file to Full HD (1920x1080) maintaining aspect ratio. participant P98 as Upload media files to library with type-specific processing. participant P99 as Assign a player to a playlist. participant P100 as Playlist participant P101 as HTTPSConfig participant P102 as Content participant P103 as User participant P104 as Player participant P105 as ServerLog participant P106 as PlayerFeedback P0->>+ P1: uses P1-->>- P0: return P1->>+ P0: uses P0-->>- P1: return P1->>+ P2: calls P2-->>- P1: return P2->>+ P3: calls P3-->>- P2: return P2->>+ P1: calls P1-->>- P2: return P2->>+ P4: calls P4-->>- P2: return P2->>+ P5: calls P5-->>- P2: return P1->>+ P6: uses P6-->>- P1: return P6->>+ P1: uses P1-->>- P6: return P6->>+ P4: uses P4-->>- P6: return P6->>+ P7: uses P7-->>- P6: return P1->>+ P8: uses P8-->>- P1: return P8->>+ P1: uses P1-->>- P8: return P8->>+ P4: uses P4-->>- P8: return P8->>+ P7: uses P7-->>- P8: return P1->>+ P9: uses P9-->>- P1: return P1->>+ P10: uses P10-->>- P1: return P1->>+ P11: uses P11-->>- P1: 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: uses P36-->>- P1: return P1->>+ P37: uses P37-->>- P1: return P1->>+ P38: uses P38-->>- P1: return P1->>+ P39: uses P39-->>- P1: return P1->>+ P40: uses P40-->>- P1: return P1->>+ P41: uses P41-->>- P1: return P1->>+ P42: uses P42-->>- P1: return P1->>+ P43: uses P43-->>- P1: return P1->>+ P44: uses P44-->>- P1: return P1->>+ P45: uses P45-->>- P1: return P1->>+ P46: uses P46-->>- P1: return P1->>+ P47: uses P47-->>- P1: return P1->>+ P48: uses P48-->>- P1: return P1->>+ P49: uses P49-->>- P1: return P1->>+ P50: uses P50-->>- P1: return P1->>+ P51: uses P51-->>- P1: return P1->>+ P52: uses P52-->>- P1: return P1->>+ P53: uses P53-->>- P1: return P1->>+ P54: uses P54-->>- P1: return P1->>+ P55: uses P55-->>- P1: return P1->>+ P56: uses P56-->>- P1: return P1->>+ P57: uses P57-->>- P1: return P1->>+ P58: uses P58-->>- P1: return P1->>+ P59: uses P59-->>- P1: return P1->>+ P60: uses P60-->>- P1: return P1->>+ P61: uses P61-->>- P1: return P1->>+ P62: uses P62-->>- P1: return P1->>+ P63: uses P63-->>- P1: return P1->>+ P64: uses P64-->>- P1: return P1->>+ P65: uses P65-->>- P1: return P1->>+ P66: uses P66-->>- P1: return P1->>+ P67: uses P67-->>- P1: return P1->>+ P68: uses P68-->>- P1: return P1->>+ P69: uses P69-->>- P1: return P1->>+ P70: uses P70-->>- P1: return P1->>+ P71: uses P71-->>- P1: return P1->>+ P72: uses P72-->>- P1: return P1->>+ P73: uses P73-->>- P1: return P1->>+ P74: uses P74-->>- P1: return P1->>+ P75: uses P75-->>- P1: return P1->>+ P76: uses P76-->>- P1: return P1->>+ P77: uses P77-->>- P1: return P1->>+ P78: uses P78-->>- P1: return P1->>+ P79: uses P79-->>- P1: return P1->>+ P80: uses P80-->>- P1: return P1->>+ P81: uses P81-->>- P1: return P1->>+ P82: uses P82-->>- P1: return P1->>+ P83: uses P83-->>- P1: return P1->>+ P84: uses P84-->>- P1: return P1->>+ P85: uses P85-->>- P1: return P1->>+ P86: uses P86-->>- P1: return P1->>+ P87: uses P87-->>- P1: return P1->>+ P88: uses P88-->>- P1: return P1->>+ P89: uses P89-->>- P1: return P1->>+ P90: uses P90-->>- P1: return P1->>+ P91: uses P91-->>- P1: return P1->>+ P92: uses P92-->>- P1: return P1->>+ P93: uses P93-->>- P1: return P1->>+ P94: uses P94-->>- P1: return P1->>+ P95: uses P95-->>- P1: return P1->>+ P96: uses P96-->>- P1: return P1->>+ P97: uses P97-->>- P1: return P1->>+ P98: uses P98-->>- P1: return P1->>+ P99: uses P99-->>- P1: return P0->>+ P4: uses P4-->>- P0: return P0->>+ P100: uses P100-->>- P0: return P0->>+ P101: uses P101-->>- P0: return P0->>+ P102: uses P102-->>- P0: return P0->>+ P103: uses P103-->>- P0: return P0->>+ P104: uses P104-->>- P0: return P0->>+ P105: uses P105-->>- P0: return P0->>+ P5: uses P5-->>- P0: return P0->>+ P106: uses P106-->>- P0: return ``` ## Connections by Relation ### rationale_for - [[__init__.py]] `EXTRACTED` - [[__init__.py]] `EXTRACTED` - [[__init__.py]] `EXTRACTED` ### uses - [[PlayerEdit]] `INFERRED` - [[PlayerUser]] `INFERRED` - [[Playlist]] `INFERRED` - [[HTTPSConfig]] `INFERRED` - [[Content]] `INFERRED` - [[User]] `INFERRED` - [[Player]] `INFERRED` - [[ServerLog]] `INFERRED` - [[Group]] `INFERRED` - [[PlayerFeedback]] `INFERRED` --- *Part of the graphify knowledge wiki. See [[index]] to navigate.*