pub struct ReleaseRequest {
pub release_id: String,
pub release_reference: Option<String>,
pub title: Vec<LocalizedStringRequest>,
pub artist: String,
pub label: Option<String>,
pub release_date: Option<String>,
pub upc: Option<String>,
pub tracks: Vec<TrackRequest>,
pub resource_references: Option<Vec<String>>,
}
Expand description
Release information request
Represents a music release (album, single, EP, etc.) with all its metadata, tracks, and identifiers. This is the core content of most DDEX messages.
§Example
use ddex_builder::builder::{ReleaseRequest, LocalizedStringRequest, TrackRequest};
let release = ReleaseRequest {
release_id: "GRid:A1-12345678901234567890123456789012".to_string(),
release_reference: Some("REL_001".to_string()),
title: vec![LocalizedStringRequest {
text: "Greatest Hits".to_string(),
language_code: Some("en".to_string()),
}],
artist: "The Beatles".to_string(),
label: Some("Apple Records".to_string()),
release_date: Some("2024-01-15".to_string()),
upc: Some("123456789012".to_string()),
tracks: vec![
TrackRequest {
track_id: "T001".to_string(),
resource_reference: Some("RES_001".to_string()),
isrc: "GBUM71505078".to_string(),
title: "Here Comes The Sun".to_string(),
duration: "PT3M5S".to_string(),
artist: "The Beatles".to_string(),
}
],
resource_references: Some(vec!["RES_001".to_string()]),
};
Fields§
§release_id: String
Release identifier (e.g., GRid, Proprietary ID)
release_reference: Option<String>
Internal reference for this release within the message
title: Vec<LocalizedStringRequest>
Release titles in multiple languages
artist: String
Main artist name for the release
label: Option<String>
Record label name
release_date: Option<String>
Release date in YYYY-MM-DD format
upc: Option<String>
Universal Product Code for the release (12-digit barcode)
tracks: Vec<TrackRequest>
List of tracks/resources in this release
resource_references: Option<Vec<String>>
References to resources for linking purposes
Trait Implementations§
Source§impl Clone for ReleaseRequest
impl Clone for ReleaseRequest
Source§fn clone(&self) -> ReleaseRequest
fn clone(&self) -> ReleaseRequest
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for ReleaseRequest
impl Debug for ReleaseRequest
Source§impl<'de> Deserialize<'de> for ReleaseRequest
impl<'de> Deserialize<'de> for ReleaseRequest
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for ReleaseRequest
impl RefUnwindSafe for ReleaseRequest
impl Send for ReleaseRequest
impl Sync for ReleaseRequest
impl Unpin for ReleaseRequest
impl UnwindSafe for ReleaseRequest
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more