Improve sequence diagram by breaking down Navidrome Core into specific components

This commit is contained in:
Deluan 2025-04-12 21:38:05 -04:00
parent 438fd93d8e
commit 67c4fa2c9d

View File

@ -113,30 +113,31 @@ The following diagram illustrates the interaction between Navidrome Core and Plu
```mermaid ```mermaid
sequenceDiagram sequenceDiagram
participant Core as Navidrome Core participant PM as Plugin Manager
participant HB as Host Bridge
participant PermMgr as Permission Manager participant PermMgr as Permission Manager
participant Plugin as Plugin (e.g., Last.fm) participant Plugin as Plugin (e.g., Last.fm)
participant External as External API participant External as External API
Note over Core,Plugin: Metadata Request Flow Note over PM,Plugin: Metadata Request Flow
Core->>Plugin: Request artist/album metadata PM->>Plugin: Request artist/album metadata
Note over Plugin,Core: Configuration Access Note over Plugin,HB: Configuration Access
Plugin->>Core: Request configuration (API keys) Plugin->>HB: Request configuration (API keys)
Core->>PermMgr: Verify permission to access config HB->>PermMgr: Verify permission to access config
PermMgr->>Core: Grant permission (if allowed) PermMgr->>HB: Grant permission (if allowed)
Core->>Plugin: Return configuration HB->>Plugin: Return configuration
Note over Plugin,External: External API Access Note over Plugin,External: External API Access
Plugin->>Core: Request HTTP call to external API Plugin->>HB: Request HTTP call to external API
Core->>PermMgr: Verify HTTP permission HB->>PermMgr: Verify HTTP permission
PermMgr->>Core: Grant permission (if method allowed) PermMgr->>HB: Grant permission (if method allowed)
Core->>External: Forward HTTP request HB->>External: Forward HTTP request
External->>Core: Return API response data External->>HB: Return API response data
Core->>Plugin: Forward API response HB->>Plugin: Forward API response
Note over Plugin,Core: Result Return Note over Plugin,PM: Result Return
Plugin->>Core: Return processed metadata Plugin->>PM: Return processed metadata
``` ```
## 3. Technical Design ## 3. Technical Design