From 7e187325976f1a1ef0ea73773bdf6c19fe3edea8 Mon Sep 17 00:00:00 2001 From: Marcus Pasell <3690498+rickyrombo@users.noreply.github.com> Date: Tue, 3 Mar 2026 15:36:36 -0800 Subject: [PATCH 1/2] Correct cover art field names --- api/swagger/swagger-v1.yaml | 18 +++----- api/v1_playlist.go | 90 ++++++++++++++++++------------------- api/v1_track.go | 4 +- 3 files changed, 53 insertions(+), 59 deletions(-) diff --git a/api/swagger/swagger-v1.yaml b/api/swagger/swagger-v1.yaml index 61f49cdf..78959e80 100644 --- a/api/swagger/swagger-v1.yaml +++ b/api/swagger/swagger-v1.yaml @@ -9373,9 +9373,9 @@ components: type: string format: date description: Release date - cover_art_cid: + playlist_image_sizes_multihash: type: string - description: IPFS CID for cover art + description: IPFS CID for playlist cover art sizes directory playlist_contents: type: array description: Array of tracks in the playlist @@ -9777,12 +9777,9 @@ components: orig_filename: type: string description: Original filename of the track - cover_art_cid: - type: string - description: IPFS CID for cover art cover_art_sizes: type: string - description: Cover art sizes metadata + description: IPFS CID for cover art sizes directory preview_cid: type: string description: IPFS CID for the track preview @@ -10005,12 +10002,9 @@ components: orig_filename: type: string description: Original filename of the track - cover_art_cid: - type: string - description: IPFS CID for cover art cover_art_sizes: type: string - description: Cover art sizes metadata + description: IPFS CID for cover art sizes directory preview_cid: type: string description: IPFS CID for the track preview @@ -13362,9 +13356,9 @@ components: type: string format: date description: Release date - cover_art_cid: + playlist_image_sizes_multihash: type: string - description: IPFS CID for cover art + description: IPFS CID for playlist cover art sizes directory playlist_contents: type: array description: Array of track IDs to include in the playlist diff --git a/api/v1_playlist.go b/api/v1_playlist.go index b33f1edf..8c624271 100644 --- a/api/v1_playlist.go +++ b/api/v1_playlist.go @@ -22,54 +22,54 @@ type PlaylistTrackInfo struct { } type CreatePlaylistRequest struct { - PlaylistId *trashid.HashId `json:"playlist_id,omitempty" validate:"omitempty,min=1"` - PlaylistName string `json:"playlist_name" validate:"required,min=1"` - Description *string `json:"description,omitempty" validate:"omitempty,max=1000"` - IsPrivate *bool `json:"is_private,omitempty"` - IsAlbum *bool `json:"is_album,omitempty"` - Genre *string `json:"genre,omitempty" validate:"omitempty,min=1"` - Mood *string `json:"mood,omitempty"` - Tags *string `json:"tags,omitempty"` - License *string `json:"license,omitempty"` - Upc *string `json:"upc,omitempty"` - ReleaseDate *string `json:"release_date,omitempty"` - CoverArtCid *string `json:"cover_art_cid,omitempty"` - PlaylistContents *[]PlaylistTrackInfo `json:"playlist_contents,omitempty" validate:"omitempty,dive"` - DdexApp *string `json:"ddex_app,omitempty"` - DdexReleaseIds *map[string]string `json:"ddex_release_ids,omitempty"` - Artists *[]DDEXResourceContributor `json:"artists,omitempty" validate:"omitempty,dive"` - CopyrightLine *DDEXCopyright `json:"copyright_line,omitempty" validate:"omitempty"` - ProducerCopyrightLine *DDEXCopyright `json:"producer_copyright_line,omitempty" validate:"omitempty"` - ParentalWarningType *string `json:"parental_warning_type,omitempty"` - IsImageAutogenerated *bool `json:"is_image_autogenerated,omitempty"` - IsStreamGated *bool `json:"is_stream_gated,omitempty"` - StreamConditions *AccessConditions `json:"stream_conditions,omitempty" validate:"omitempty"` - IsScheduledRelease *bool `json:"is_scheduled_release,omitempty"` + PlaylistId *trashid.HashId `json:"playlist_id,omitempty" validate:"omitempty,min=1"` + PlaylistName string `json:"playlist_name" validate:"required,min=1"` + Description *string `json:"description,omitempty" validate:"omitempty,max=1000"` + IsPrivate *bool `json:"is_private,omitempty"` + IsAlbum *bool `json:"is_album,omitempty"` + Genre *string `json:"genre,omitempty" validate:"omitempty,min=1"` + Mood *string `json:"mood,omitempty"` + Tags *string `json:"tags,omitempty"` + License *string `json:"license,omitempty"` + Upc *string `json:"upc,omitempty"` + ReleaseDate *string `json:"release_date,omitempty"` + PlaylistImageSizesMultihash *string `json:"playlist_image_sizes_multihash,omitempty"` + PlaylistContents *[]PlaylistTrackInfo `json:"playlist_contents,omitempty" validate:"omitempty,dive"` + DdexApp *string `json:"ddex_app,omitempty"` + DdexReleaseIds *map[string]string `json:"ddex_release_ids,omitempty"` + Artists *[]DDEXResourceContributor `json:"artists,omitempty" validate:"omitempty,dive"` + CopyrightLine *DDEXCopyright `json:"copyright_line,omitempty" validate:"omitempty"` + ProducerCopyrightLine *DDEXCopyright `json:"producer_copyright_line,omitempty" validate:"omitempty"` + ParentalWarningType *string `json:"parental_warning_type,omitempty"` + IsImageAutogenerated *bool `json:"is_image_autogenerated,omitempty"` + IsStreamGated *bool `json:"is_stream_gated,omitempty"` + StreamConditions *AccessConditions `json:"stream_conditions,omitempty" validate:"omitempty"` + IsScheduledRelease *bool `json:"is_scheduled_release,omitempty"` } type UpdatePlaylistRequest struct { - PlaylistName *string `json:"playlist_name,omitempty" validate:"omitempty,min=1"` - Description *string `json:"description,omitempty" validate:"omitempty,max=1000"` - IsPrivate *bool `json:"is_private,omitempty"` - IsAlbum *bool `json:"is_album,omitempty"` - Genre *string `json:"genre,omitempty" validate:"omitempty,min=1"` - Mood *string `json:"mood,omitempty"` - Tags *string `json:"tags,omitempty"` - License *string `json:"license,omitempty"` - Upc *string `json:"upc,omitempty"` - ReleaseDate *string `json:"release_date,omitempty"` - CoverArtCid *string `json:"cover_art_cid,omitempty"` - PlaylistContents *[]PlaylistTrackInfo `json:"playlist_contents,omitempty" validate:"omitempty,dive"` - DdexApp *string `json:"ddex_app,omitempty"` - DdexReleaseIds *map[string]string `json:"ddex_release_ids,omitempty"` - Artists *[]DDEXResourceContributor `json:"artists,omitempty" validate:"omitempty,dive"` - CopyrightLine *DDEXCopyright `json:"copyright_line,omitempty" validate:"omitempty"` - ProducerCopyrightLine *DDEXCopyright `json:"producer_copyright_line,omitempty" validate:"omitempty"` - ParentalWarningType *string `json:"parental_warning_type,omitempty"` - IsImageAutogenerated *bool `json:"is_image_autogenerated,omitempty"` - IsStreamGated *bool `json:"is_stream_gated,omitempty"` - StreamConditions *AccessConditions `json:"stream_conditions,omitempty" validate:"omitempty"` - IsScheduledRelease *bool `json:"is_scheduled_release,omitempty"` + PlaylistName *string `json:"playlist_name,omitempty" validate:"omitempty,min=1"` + Description *string `json:"description,omitempty" validate:"omitempty,max=1000"` + IsPrivate *bool `json:"is_private,omitempty"` + IsAlbum *bool `json:"is_album,omitempty"` + Genre *string `json:"genre,omitempty" validate:"omitempty,min=1"` + Mood *string `json:"mood,omitempty"` + Tags *string `json:"tags,omitempty"` + License *string `json:"license,omitempty"` + Upc *string `json:"upc,omitempty"` + ReleaseDate *string `json:"release_date,omitempty"` + PlaylistImageSizesMultihash *string `json:"playlist_image_sizes_multihash,omitempty"` + PlaylistContents *[]PlaylistTrackInfo `json:"playlist_contents,omitempty" validate:"omitempty,dive"` + DdexApp *string `json:"ddex_app,omitempty"` + DdexReleaseIds *map[string]string `json:"ddex_release_ids,omitempty"` + Artists *[]DDEXResourceContributor `json:"artists,omitempty" validate:"omitempty,dive"` + CopyrightLine *DDEXCopyright `json:"copyright_line,omitempty" validate:"omitempty"` + ProducerCopyrightLine *DDEXCopyright `json:"producer_copyright_line,omitempty" validate:"omitempty"` + ParentalWarningType *string `json:"parental_warning_type,omitempty"` + IsImageAutogenerated *bool `json:"is_image_autogenerated,omitempty"` + IsStreamGated *bool `json:"is_stream_gated,omitempty"` + StreamConditions *AccessConditions `json:"stream_conditions,omitempty" validate:"omitempty"` + IsScheduledRelease *bool `json:"is_scheduled_release,omitempty"` } func (app *ApiServer) v1Playlist(c *fiber.Ctx) error { diff --git a/api/v1_track.go b/api/v1_track.go index c3257da3..75b63ea4 100644 --- a/api/v1_track.go +++ b/api/v1_track.go @@ -125,7 +125,7 @@ type CreateTrackRequest struct { Iswc *string `json:"iswc,omitempty"` ReleaseDate *string `json:"release_date,omitempty"` TrackCid string `json:"track_cid" validate:"required"` - CoverArtCid *string `json:"cover_art_cid,omitempty"` + CoverArtSizes *string `json:"cover_art_sizes,omitempty"` PreviewCid *string `json:"preview_cid,omitempty"` PreviewStartSeconds *float64 `json:"preview_start_seconds,omitempty" validate:"omitempty,min=0"` Duration *float64 `json:"duration,omitempty" validate:"omitempty,min=0"` @@ -168,7 +168,7 @@ type UpdateTrackRequest struct { ReleaseDate *string `json:"release_date,omitempty"` Artwork *map[string]interface{} `json:"artwork,omitempty"` TrackCid *string `json:"track_cid,omitempty"` - CoverArtCid *string `json:"cover_art_cid,omitempty"` + CoverArtSizes *string `json:"cover_art_sizes,omitempty"` PreviewCid *string `json:"preview_cid,omitempty"` PreviewStartSeconds *float64 `json:"preview_start_seconds,omitempty" validate:"omitempty,min=0"` IsDownloadable *bool `json:"is_downloadable,omitempty"` From 8ab5a52ca344677bdea71ac5cf61de14a90cccc4 Mon Sep 17 00:00:00 2001 From: Marcus Pasell <3690498+rickyrombo@users.noreply.github.com> Date: Tue, 3 Mar 2026 15:40:09 -0800 Subject: [PATCH 2/2] remove ipfs, directory references from docs --- api/swagger/swagger-v1.yaml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/api/swagger/swagger-v1.yaml b/api/swagger/swagger-v1.yaml index 78959e80..ce8141e6 100644 --- a/api/swagger/swagger-v1.yaml +++ b/api/swagger/swagger-v1.yaml @@ -9375,7 +9375,7 @@ components: description: Release date playlist_image_sizes_multihash: type: string - description: IPFS CID for playlist cover art sizes directory + description: CID for the playlist cover art playlist_contents: type: array description: Array of tracks in the playlist @@ -9770,19 +9770,19 @@ components: description: Release date track_cid: type: string - description: IPFS CID for the track audio file (required) + description: CID for the track audio file (required) orig_file_cid: type: string - description: IPFS CID for the original track file + description: CID for the original track file orig_filename: type: string description: Original filename of the track cover_art_sizes: type: string - description: IPFS CID for cover art sizes directory + description: CID for the track cover art preview_cid: type: string - description: IPFS CID for the track preview + description: CID for the track preview preview_start_seconds: type: number format: float @@ -9995,19 +9995,19 @@ components: description: Release date track_cid: type: string - description: IPFS CID for the track audio file + description: CID for the track audio file orig_file_cid: type: string - description: IPFS CID for the original track file + description: CID for the original track file orig_filename: type: string description: Original filename of the track cover_art_sizes: type: string - description: IPFS CID for cover art sizes directory + description: CID for the track cover art preview_cid: type: string - description: IPFS CID for the track preview + description: CID for the track preview preview_start_seconds: type: number format: float @@ -13358,7 +13358,7 @@ components: description: Release date playlist_image_sizes_multihash: type: string - description: IPFS CID for playlist cover art sizes directory + description: CID for the playlist cover art playlist_contents: type: array description: Array of track IDs to include in the playlist