commands: implement common traits for responses

This commit is contained in:
2025-11-21 14:18:44 +09:00
parent e932b62195
commit 2b1e99445a
13 changed files with 39 additions and 0 deletions

View File

@@ -1,5 +1,7 @@
use std::collections::HashMap;
use serde::{Deserialize, Serialize};
use crate::{
commands::{
Command, Request, RequestParserError, RequestParserResult, ResponseAttributes,
@@ -10,6 +12,7 @@ use crate::{
pub struct AlbumArt;
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct AlbumArtResponse {
pub size: usize,
pub binary: Vec<u8>,

View File

@@ -1,5 +1,7 @@
use std::collections::HashMap;
use serde::{Deserialize, Serialize};
use crate::{
commands::{
Command, Request, RequestParserError, RequestParserResult, ResponseAttributes,
@@ -10,6 +12,7 @@ use crate::{
pub struct Count;
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct CountResponse {
pub songs: usize,
pub playtime: u64,

View File

@@ -1,3 +1,5 @@
use serde::{Deserialize, Serialize};
use crate::{
commands::{
Command, Request, RequestParserError, RequestParserResult, ResponseAttributes,
@@ -8,6 +10,7 @@ use crate::{
pub struct Find;
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct FindResponse {}
impl Command for Find {

View File

@@ -1,5 +1,7 @@
use std::collections::HashMap;
use serde::{Deserialize, Serialize};
use crate::commands::{
Command, Request, RequestParserError, RequestParserResult, ResponseAttributes,
ResponseParserError, get_and_parse_property,
@@ -7,6 +9,7 @@ use crate::commands::{
pub struct GetFingerprint;
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct GetFingerprintResponse {
pub chromaprint: String,
}

View File

@@ -1,5 +1,7 @@
use std::collections::HashMap;
use serde::{Deserialize, Serialize};
use crate::{
commands::{
Command, Request, RequestParserError, RequestParserResult, ResponseAttributes,
@@ -10,6 +12,7 @@ use crate::{
pub struct ReadPicture;
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct ReadPictureResponse {
pub size: usize,
pub binary: Vec<u8>,

View File

@@ -1,5 +1,7 @@
use std::collections::HashMap;
use serde::{Deserialize, Serialize};
use crate::commands::{
Command, Request, RequestParserResult, ResponseAttributes, ResponseParserError,
get_and_parse_property,
@@ -7,6 +9,7 @@ use crate::commands::{
pub struct Rescan;
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct RescanResponse {
pub updating_db: usize,
}

View File

@@ -1,3 +1,5 @@
use serde::{Deserialize, Serialize};
use crate::{
commands::{
Command, Request, RequestParserError, RequestParserResult, ResponseAttributes,
@@ -8,6 +10,7 @@ use crate::{
pub struct Search;
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct SearchResponse {}
impl Command for Search {

View File

@@ -1,5 +1,7 @@
use std::collections::HashMap;
use serde::{Deserialize, Serialize};
use crate::{
commands::{
Command, Request, RequestParserError, RequestParserResult, ResponseAttributes,
@@ -10,6 +12,7 @@ use crate::{
pub struct SearchCount;
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct SearchCountResponse {
pub songs: usize,
pub playtime: u64,

View File

@@ -1,5 +1,7 @@
use std::collections::HashMap;
use serde::{Deserialize, Serialize};
use crate::commands::{
Command, Request, RequestParserResult, ResponseAttributes, ResponseParserError,
get_and_parse_property,
@@ -7,6 +9,7 @@ use crate::commands::{
pub struct Update;
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct UpdateResponse {
updating_db: usize,
}

View File

@@ -1,3 +1,5 @@
use serde::{Deserialize, Serialize};
use crate::{
commands::{
Command, Request, RequestParserError, RequestParserResult, ResponseAttributes,
@@ -8,6 +10,7 @@ use crate::{
pub struct AddId;
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct AddIdResponse {
pub id: SongId,
}

View File

@@ -1,5 +1,7 @@
use std::collections::HashMap;
use serde::{Deserialize, Serialize};
use crate::commands::{
Command, Request, RequestParserResult, ResponseAttributes, ResponseParserError,
get_and_parse_property, get_property,
@@ -7,6 +9,7 @@ use crate::commands::{
pub struct Config;
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct ConfigResponse {
pub music_directory: String,
pub playlist_directory: String,

View File

@@ -1,3 +1,5 @@
use serde::{Deserialize, Serialize};
use crate::commands::{
Command, GenericResponseValue, Request, RequestParserError, RequestParserResult,
ResponseAttributes, ResponseParserError,
@@ -5,6 +7,7 @@ use crate::commands::{
pub struct StickerFind;
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct StickerFindResponseEntry {
pub uri: String,
pub name: String,

View File

@@ -1,5 +1,7 @@
use std::collections::HashMap;
use serde::{Deserialize, Serialize};
use crate::commands::{
Command, Request, RequestParserError, RequestParserResult, ResponseAttributes,
ResponseParserError, get_and_parse_property,
@@ -7,6 +9,7 @@ use crate::commands::{
pub struct PlaylistLength;
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct PlaylistLengthResponse {
pub songs: u64,
pub playtime: u64,