Add clear queue to server
This commit is contained in:
parent
e71398d243
commit
18671683ff
|
|
@ -18,7 +18,7 @@ service CrabidyService {
|
||||||
rpc ToggleShuffle(ToggleShuffleRequest) returns (ToggleShuffleResponse);
|
rpc ToggleShuffle(ToggleShuffleRequest) returns (ToggleShuffleResponse);
|
||||||
rpc ToggleRepeat(ToggleRepeatRequest) returns (ToggleRepeatResponse);
|
rpc ToggleRepeat(ToggleRepeatRequest) returns (ToggleRepeatResponse);
|
||||||
rpc GetUpdateStream(GetUpdateStreamRequest) returns (stream GetUpdateStreamResponse);
|
rpc GetUpdateStream(GetUpdateStreamRequest) returns (stream GetUpdateStreamResponse);
|
||||||
rpc ClearQueue(ClearQueueRequest) returns (ClearQueueRequest);
|
rpc ClearQueue(ClearQueueRequest) returns (ClearQueueResponse);
|
||||||
rpc SaveQueue(SaveQueueRequest) returns (SaveQueueResponse);
|
rpc SaveQueue(SaveQueueRequest) returns (SaveQueueResponse);
|
||||||
|
|
||||||
// Playback
|
// Playback
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,13 @@
|
||||||
use crate::{PlaybackMessage, ProviderMessage};
|
use crate::{PlaybackMessage, ProviderMessage};
|
||||||
use crabidy_core::proto::crabidy::{
|
use crabidy_core::proto::crabidy::{
|
||||||
crabidy_service_server::CrabidyService, get_update_stream_response::Update as StreamUpdate,
|
crabidy_service_server::CrabidyService, get_update_stream_response::Update as StreamUpdate,
|
||||||
AppendRequest, AppendResponse, ChangeVolumeRequest, ChangeVolumeResponse,
|
AppendRequest, AppendResponse, ChangeVolumeRequest, ChangeVolumeResponse, ClearQueueRequest,
|
||||||
GetLibraryNodeRequest, GetLibraryNodeResponse, GetUpdateStreamRequest, GetUpdateStreamResponse,
|
ClearQueueResponse, GetLibraryNodeRequest, GetLibraryNodeResponse, GetUpdateStreamRequest,
|
||||||
InitRequest, InitResponse, InsertRequest, InsertResponse, NextRequest, NextResponse,
|
GetUpdateStreamResponse, InitRequest, InitResponse, InsertRequest, InsertResponse, NextRequest,
|
||||||
PrevRequest, PrevResponse, QueueRequest, QueueResponse, RemoveRequest, RemoveResponse,
|
NextResponse, PrevRequest, PrevResponse, QueueRequest, QueueResponse, RemoveRequest,
|
||||||
ReplaceRequest, ReplaceResponse, RestartTrackRequest, RestartTrackResponse, SaveQueueRequest,
|
RemoveResponse, ReplaceRequest, ReplaceResponse, RestartTrackRequest, RestartTrackResponse,
|
||||||
SaveQueueResponse, SetCurrentRequest, SetCurrentResponse, StopRequest, StopResponse,
|
SaveQueueRequest, SaveQueueResponse, SetCurrentRequest, SetCurrentResponse, StopRequest,
|
||||||
ToggleMuteRequest, ToggleMuteResponse, TogglePlayRequest, TogglePlayResponse,
|
StopResponse, ToggleMuteRequest, ToggleMuteResponse, TogglePlayRequest, TogglePlayResponse,
|
||||||
ToggleRepeatRequest, ToggleRepeatResponse, ToggleShuffleRequest, ToggleShuffleResponse,
|
ToggleRepeatRequest, ToggleRepeatResponse, ToggleShuffleRequest, ToggleShuffleResponse,
|
||||||
};
|
};
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
|
|
@ -278,6 +278,25 @@ impl CrabidyService for RpcService {
|
||||||
|
|
||||||
Ok(Response::new(Box::pin(output_stream)))
|
Ok(Response::new(Box::pin(output_stream)))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[instrument(skip(self, _request))]
|
||||||
|
async fn clear_queue(
|
||||||
|
&self,
|
||||||
|
_request: tonic::Request<ClearQueueRequest>,
|
||||||
|
) -> std::result::Result<tonic::Response<ClearQueueResponse>, tonic::Status> {
|
||||||
|
debug!("Received clear_queue request");
|
||||||
|
let playback_tx = self.playback_tx.clone();
|
||||||
|
let span = debug_span!("play-chan");
|
||||||
|
let uuids = Vec::new();
|
||||||
|
playback_tx
|
||||||
|
.send_async(PlaybackMessage::Replace { uuids, span })
|
||||||
|
.in_current_span()
|
||||||
|
.await
|
||||||
|
.map_err(|_| Status::internal("Failed to send request via channel"))?;
|
||||||
|
let reply = ClearQueueResponse {};
|
||||||
|
Ok(Response::new(reply))
|
||||||
|
}
|
||||||
|
|
||||||
#[instrument(skip(self, _request))]
|
#[instrument(skip(self, _request))]
|
||||||
async fn save_queue(
|
async fn save_queue(
|
||||||
&self,
|
&self,
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue