Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 12 additions & 18 deletions api/swagger/swagger-v1.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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: CID for the playlist cover art
playlist_contents:
type: array
description: Array of tracks in the playlist
Expand Down Expand Up @@ -9770,22 +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_cid:
type: string
description: IPFS CID for cover art
cover_art_sizes:
type: string
description: Cover art sizes metadata
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
Expand Down Expand Up @@ -9998,22 +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_cid:
type: string
description: IPFS CID for cover art
cover_art_sizes:
type: string
description: Cover art sizes metadata
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
Expand Down Expand Up @@ -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: CID for the playlist cover art
playlist_contents:
type: array
description: Array of track IDs to include in the playlist
Expand Down
90 changes: 45 additions & 45 deletions api/v1_playlist.go
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down
4 changes: 2 additions & 2 deletions api/v1_track.go
Original file line number Diff line number Diff line change
Expand Up @@ -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"`
Expand Down Expand Up @@ -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"`
Expand Down