Add some more proto messages
This commit is contained in:
parent
f76ba00ce4
commit
81229ce757
|
|
@ -5,25 +5,32 @@ service Library {
|
|||
rpc GetLibraryNode (LibraryNodeRequest) returns (LibraryNodeResponse);
|
||||
}
|
||||
|
||||
// To signal whether it's loading data (for frontend only probably)
|
||||
// To signal whether it's loading data (for frontend only probably -
|
||||
// could also be used for clients?)
|
||||
enum LibraryNodeState {
|
||||
LIBRARY_NODE_STATE_UNSPECIFIED = 0;
|
||||
LIBRARY_NODE_STATE_PENDING = 1;
|
||||
LIBRARY_NODE_STATE_DONE = 2;
|
||||
}
|
||||
|
||||
message Album {
|
||||
string title = 1;
|
||||
optional string release_date = 2;
|
||||
}
|
||||
|
||||
message Artist {
|
||||
string name = 1;
|
||||
}
|
||||
|
||||
message Track {
|
||||
// Including provider
|
||||
string uuid = 1;
|
||||
string artist = 2;
|
||||
string title = 3;
|
||||
optional uint32 duration = 4;
|
||||
}
|
||||
|
||||
message LibraryNodeRequest {
|
||||
string uuid = 1;
|
||||
}
|
||||
|
||||
message LibraryNodeResponse {
|
||||
message LibraryNode {
|
||||
// Including provider
|
||||
string uuid = 1;
|
||||
string name = 2;
|
||||
|
|
@ -33,3 +40,11 @@ message LibraryNodeResponse {
|
|||
repeated Track tracks = 6;
|
||||
bool is_queable = 7;
|
||||
}
|
||||
|
||||
message LibraryNodeRequest {
|
||||
string uuid = 1;
|
||||
}
|
||||
|
||||
message LibraryNodeResponse {
|
||||
LibraryNode node = 1;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,6 +2,8 @@ pub mod proto;
|
|||
|
||||
use async_trait::async_trait;
|
||||
|
||||
use proto::crabidy::LibraryNode;
|
||||
|
||||
#[async_trait]
|
||||
pub trait ProviderClient: std::fmt::Debug + Send + Sync {
|
||||
async fn get_urls_for_track(&self, track_uuid: &str) -> Result<Vec<String>, ProviderError>;
|
||||
|
|
|
|||
Loading…
Reference in New Issue