Documentation ¶
Index ¶
- Constants
- type AddAlbumInput
- type AddAlbumInputRelease
- type Album
- type AlbumAddOptions
- type AlbumType
- type Artist
- type ArtistAddOptions
- type ArtistTitleInfo
- type AudioCountry
- type AudioMediaInfo
- type AudioTags
- type CommandRequest
- type CommandResponse
- type History
- type HistoryRecord
- type Lidarr
- func (l *Lidarr) AddAlbum(album *AddAlbumInput) (*Album, error)
- func (l *Lidarr) AddAlbumContext(ctx context.Context, album *AddAlbumInput) (*Album, error)
- func (l *Lidarr) AddArtist(artist *Artist) (*Artist, error)
- func (l *Lidarr) AddArtistContext(ctx context.Context, artist *Artist) (*Artist, error)
- func (l *Lidarr) AddQualityProfile(profile *QualityProfile) (int64, error)
- func (l *Lidarr) AddQualityProfileContext(ctx context.Context, profile *QualityProfile) (int64, error)
- func (l *Lidarr) AddTag(tag *starr.Tag) (*starr.Tag, error)
- func (l *Lidarr) AddTagContext(ctx context.Context, tag *starr.Tag) (*starr.Tag, error)
- func (l *Lidarr) DeleteQualityProfile(profileID int64) error
- func (l *Lidarr) DeleteQualityProfileContext(ctx context.Context, profileID int64) error
- func (l *Lidarr) DeleteTag(tagID int) error
- func (l *Lidarr) DeleteTagContext(ctx context.Context, tagID int) error
- func (l *Lidarr) DeleteTrackFile(trackFileID int64) error
- func (l *Lidarr) DeleteTrackFileContext(ctx context.Context, trackFileID int64) error
- func (l *Lidarr) DeleteTrackFiles(trackFileIDs []int64) error
- func (l *Lidarr) DeleteTrackFilesContext(ctx context.Context, trackFileIDs []int64) error
- func (l *Lidarr) Fail(historyID int64) error
- func (l *Lidarr) FailContext(ctx context.Context, historyID int64) error
- func (l *Lidarr) GetAlbum(mbID string) ([]*Album, error)
- func (l *Lidarr) GetAlbumByID(albumID int64) (*Album, error)
- func (l *Lidarr) GetAlbumByIDContext(ctx context.Context, albumID int64) (*Album, error)
- func (l *Lidarr) GetAlbumContext(ctx context.Context, mbID string) ([]*Album, error)
- func (l *Lidarr) GetArtist(mbID string) ([]*Artist, error)
- func (l *Lidarr) GetArtistByID(artistID int64) (*Artist, error)
- func (l *Lidarr) GetArtistByIDContext(ctx context.Context, artistID int64) (*Artist, error)
- func (l *Lidarr) GetArtistContext(ctx context.Context, mbID string) ([]*Artist, error)
- func (l *Lidarr) GetBackupFiles() ([]*starr.BackupFile, error)
- func (l *Lidarr) GetBackupFilesContext(ctx context.Context) ([]*starr.BackupFile, error)
- func (l *Lidarr) GetCommandStatus(commandID int64) (*CommandResponse, error)
- func (l *Lidarr) GetCommandStatusContext(ctx context.Context, commandID int64) (*CommandResponse, error)
- func (l *Lidarr) GetCommands() ([]*CommandResponse, error)
- func (l *Lidarr) GetCommandsContext(ctx context.Context) ([]*CommandResponse, error)
- func (l *Lidarr) GetHistory(records, perPage int) (*History, error)
- func (l *Lidarr) GetHistoryContext(ctx context.Context, records, perPage int) (*History, error)
- func (l *Lidarr) GetHistoryPage(params *starr.PageReq) (*History, error)
- func (l *Lidarr) GetHistoryPageContext(ctx context.Context, params *starr.PageReq) (*History, error)
- func (l *Lidarr) GetMetadataProfiles() ([]*MetadataProfile, error)
- func (l *Lidarr) GetMetadataProfilesContext(ctx context.Context) ([]*MetadataProfile, error)
- func (l *Lidarr) GetQualityDefinition() ([]*QualityDefinition, error)
- func (l *Lidarr) GetQualityDefinitionContext(ctx context.Context) ([]*QualityDefinition, error)
- func (l *Lidarr) GetQualityProfiles() ([]*QualityProfile, error)
- func (l *Lidarr) GetQualityProfilesContext(ctx context.Context) ([]*QualityProfile, error)
- func (l *Lidarr) GetQueue(records, perPage int) (*Queue, error)
- func (l *Lidarr) GetQueueContext(ctx context.Context, records, perPage int) (*Queue, error)
- func (l *Lidarr) GetQueuePage(params *starr.PageReq) (*Queue, error)
- func (l *Lidarr) GetQueuePageContext(ctx context.Context, params *starr.PageReq) (*Queue, error)
- func (l *Lidarr) GetRootFolders() ([]*RootFolder, error)
- func (l *Lidarr) GetRootFoldersContext(ctx context.Context) ([]*RootFolder, error)
- func (l *Lidarr) GetSystemStatus() (*SystemStatus, error)
- func (l *Lidarr) GetSystemStatusContext(ctx context.Context) (*SystemStatus, error)
- func (l *Lidarr) GetTag(tagID int) (*starr.Tag, error)
- func (l *Lidarr) GetTagContext(ctx context.Context, tagID int) (*starr.Tag, error)
- func (l *Lidarr) GetTags() ([]*starr.Tag, error)
- func (l *Lidarr) GetTagsContext(ctx context.Context) ([]*starr.Tag, error)
- func (l *Lidarr) GetTrackFiles(trackFileIDs []int64) ([]*TrackFile, error)
- func (l *Lidarr) GetTrackFilesContext(ctx context.Context, trackFileIDs []int64) ([]*TrackFile, error)
- func (l *Lidarr) GetTrackFilesForAlbum(albumID int64) ([]*TrackFile, error)
- func (l *Lidarr) GetTrackFilesForAlbumContext(ctx context.Context, albumID int64) ([]*TrackFile, error)
- func (l *Lidarr) GetTrackFilesForArtist(artistID int64) ([]*TrackFile, error)
- func (l *Lidarr) GetTrackFilesForArtistContext(ctx context.Context, artistID int64) ([]*TrackFile, error)
- func (l *Lidarr) Lookup(term string) ([]*Album, error)
- func (l *Lidarr) LookupContext(ctx context.Context, term string) ([]*Album, error)
- func (l *Lidarr) SendCommand(cmd *CommandRequest) (*CommandResponse, error)
- func (l *Lidarr) SendCommandContext(ctx context.Context, cmd *CommandRequest) (*CommandResponse, error)
- func (l *Lidarr) UpdateAlbum(albumID int64, album *Album) (*Album, error)
- func (l *Lidarr) UpdateAlbumContext(ctx context.Context, albumID int64, album *Album) (*Album, error)
- func (l *Lidarr) UpdateArtist(artist *Artist) (*Artist, error)
- func (l *Lidarr) UpdateArtistContext(ctx context.Context, artist *Artist) (*Artist, error)
- func (l *Lidarr) UpdateQualityProfile(profile *QualityProfile) error
- func (l *Lidarr) UpdateQualityProfileContext(ctx context.Context, profile *QualityProfile) error
- func (l *Lidarr) UpdateTag(tag *starr.Tag) (*starr.Tag, error)
- func (l *Lidarr) UpdateTagContext(ctx context.Context, tag *starr.Tag) (*starr.Tag, error)
- func (l *Lidarr) UpdateTrackFile(trackFile *TrackFile) (*TrackFile, error)
- func (l *Lidarr) UpdateTrackFileContext(ctx context.Context, trackFile *TrackFile) (*TrackFile, error)
- type Media
- type MediaInfo
- type MetadataProfile
- type QualityDefinition
- type QualityProfile
- type Queue
- type QueueRecord
- type Release
- type ReleaseStatus
- type RootFolder
- type Statistics
- type SystemStatus
- type TrackDuration
- type TrackFile
Constants ¶
const ( FilterUnknown starr.Filtering = iota FilterGrabbed FilterArtistFolderImported FilterTrackFileImported FilterDownloadFailed FilterDeleted FilterRenamed FilterImportFailed FilterDownloadImported FilterRetagged FilterIgnored )
Filter values are integers. Given names for ease of discovery. https://github.com/Lidarr/Lidarr/blob/c2adf078345f81012ddb5d2f384e2ee45ff7f1af/src/NzbDrone.Core/History/History.cs#L35-L45
const APIver = "v1"
APIver is the Lidarr API version supported by this library.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AddAlbumInput ¶
type AddAlbumInput struct { ForeignAlbumID string `json:"foreignAlbumId"` Monitored bool `json:"monitored"` Releases []*AddAlbumInputRelease `json:"releases"` AddOptions *AlbumAddOptions `json:"addOptions"` Artist *Artist `json:"artist"` }
AddAlbumInput is currently unknown.
type AddAlbumInputRelease ¶
type AddAlbumInputRelease struct { ForeignReleaseID string `json:"foreignReleaseId"` Title string `json:"title"` Media []*Media `json:"media"` Monitored bool `json:"monitored"` }
AddAlbumInputRelease is part of AddAlbumInput.
type Album ¶
type Album struct { ID int64 `json:"id,omitempty"` Title string `json:"title"` Disambiguation string `json:"disambiguation"` Overview string `json:"overview"` ArtistID int64 `json:"artistId"` ForeignAlbumID string `json:"foreignAlbumId"` ProfileID int64 `json:"profileId"` Duration int `json:"duration"` AlbumType string `json:"albumType"` SecondaryTypes []interface{} `json:"secondaryTypes"` MediumCount int `json:"mediumCount"` Ratings *starr.Ratings `json:"ratings"` ReleaseDate time.Time `json:"releaseDate"` Releases []*Release `json:"releases"` Genres []interface{} `json:"genres"` Media []*Media `json:"media"` Artist *Artist `json:"artist"` Links []*starr.Link `json:"links"` Images []*starr.Image `json:"images"` Statistics *Statistics `json:"statistics"` RemoteCover string `json:"remoteCover,omitempty"` AddOptions *AlbumAddOptions `json:"addOptions,omitempty"` Monitored bool `json:"monitored"` AnyReleaseOk bool `json:"anyReleaseOk"` Grabbed bool `json:"grabbed"` }
Album is the /api/v1/album endpoint.
type AlbumAddOptions ¶
type AlbumAddOptions struct {
SearchForNewAlbum bool `json:"searchForNewAlbum,omitempty"`
}
AlbumAddOptions is part of an Album.
type Artist ¶
type Artist struct { ID int64 `json:"id"` Status string `json:"status,omitempty"` LastInfoSync time.Time `json:"lastInfoSync,omitempty"` ArtistName string `json:"artistName,omitempty"` ForeignArtistID string `json:"foreignArtistId,omitempty"` TadbID int64 `json:"tadbId,omitempty"` DiscogsID int64 `json:"discogsId,omitempty"` QualityProfileID int64 `json:"qualityProfileId,omitempty"` MetadataProfileID int64 `json:"metadataProfileId,omitempty"` Overview string `json:"overview,omitempty"` ArtistType string `json:"artistType,omitempty"` Disambiguation string `json:"disambiguation,omitempty"` RootFolderPath string `json:"rootFolderPath,omitempty"` Path string `json:"path,omitempty"` CleanName string `json:"cleanName,omitempty"` SortName string `json:"sortName,omitempty"` Links []*starr.Link `json:"links,omitempty"` Images []*starr.Image `json:"images,omitempty"` Genres []string `json:"genres,omitempty"` Tags []int `json:"tags,omitempty"` Added time.Time `json:"added,omitempty"` Ratings *starr.Ratings `json:"ratings,omitempty"` Statistics *Statistics `json:"statistics,omitempty"` LastAlbum *Album `json:"lastAlbum,omitempty"` NextAlbum *Album `json:"nextAlbum,omitempty"` AddOptions *ArtistAddOptions `json:"addOptions,omitempty"` AlbumFolder bool `json:"albumFolder,omitempty"` Monitored bool `json:"monitored"` Ended bool `json:"ended,omitempty"` }
Artist represents the /api/v1/artist endpoint, and it's part of an Album.
type ArtistAddOptions ¶
type ArtistAddOptions struct { Monitor string `json:"monitor,omitempty"` Monitored bool `json:"monitored,omitempty"` SearchForMissingAlbums bool `json:"searchForMissingAlbums,omitempty"` }
ArtistAddOptions is part of an artist and an album.
type ArtistTitleInfo ¶
type ArtistTitleInfo struct { Title string `json:"title"` TitleWithoutYear string `json:"titleWithoutYear"` Year int `json:"year"` }
ArtistTitleInfo is part of AudioTags.
type AudioCountry ¶
AudioCountry is part of AudioTags.
type AudioMediaInfo ¶
type AudioMediaInfo struct { AudioFormat string `json:"audioFormat"` AudioBitrate int64 `json:"audioBitrate"` AudioChannels int `json:"audioChannels"` AudioBits int `json:"audioBits"` AudioSampleRate int `json:"audioSampleRate"` }
AudioMediaInfo is part of AudioTags.
type AudioTags ¶
type AudioTags struct { Title string `json:"title"` CleanTitle string `json:"cleanTitle"` ArtistTitle string `json:"artistTitle"` AlbumTitle string `json:"albumTitle"` ArtistTitleInfo *ArtistTitleInfo `json:"artistTitleInfo"` ArtistMBID string `json:"artistMBId"` AlbumMBID string `json:"albumMBId"` ReleaseMBID string `json:"releaseMBId"` RecordingMBID string `json:"recordingMBId"` TrackMBID string `json:"trackMBId"` DiscNumber int `json:"discNumber"` DiscCount int `json:"discCount"` Country *AudioCountry `json:"country"` Year int `json:"year"` Label string `json:"label"` CatalogNumber string `json:"catalogNumber"` Disambiguation string `json:"disambiguation"` Duration *TrackDuration `json:"duration"` Quality *starr.Quality `json:"quality"` MediaInfo *AudioMediaInfo `json:"mediaInfo"` TrackNumbers []int `json:"trackNumbers"` ReleaseGroup string `json:"releaseGroup"` ReleaseHash string `json:"releaseHash"` }
AudioTags is (optionally) part of a TrackFile.
type CommandRequest ¶
type CommandRequest struct { Name string `json:"name"` AlbumIDs []int64 `json:"albumIds,omitempty"` AlbumID int64 `json:"albumId,omitempty"` Folders []string `json:"folders,omitempty"` ArtistID int64 `json:"artistId,omitempty"` }
CommandRequest goes into the /api/v1/command endpoint. This was created from the search command and may not support other commands yet.
type CommandResponse ¶
type CommandResponse struct { ID int64 `json:"id"` Name string `json:"name"` CommandName string `json:"commandName"` Message string `json:"message,omitempty"` Priority string `json:"priority"` Status string `json:"status"` Queued time.Time `json:"queued"` Started time.Time `json:"started,omitempty"` Ended time.Time `json:"ended,omitempty"` StateChangeTime time.Time `json:"stateChangeTime,omitempty"` LastExecutionTime time.Time `json:"lastExecutionTime,omitempty"` Duration string `json:"duration,omitempty"` Trigger string `json:"trigger"` SendUpdatesToClient bool `json:"sendUpdatesToClient"` UpdateScheduledTask bool `json:"updateScheduledTask"` Body map[string]interface{} `json:"body"` }
CommandResponse comes from the /api/v1/command endpoint.
type History ¶
type History struct { Page int `json:"page"` PageSize int `json:"pageSize"` SortKey string `json:"sortKey"` SortDirection string `json:"sortDirection"` TotalRecords int `json:"totalRecords"` Records []*HistoryRecord `json:"records"` }
History represents the /api/v1/history endpoint.
type HistoryRecord ¶
type HistoryRecord struct { ID int64 `json:"id"` AlbumID int64 `json:"albumId"` ArtistID int64 `json:"artistId"` TrackID int64 `json:"trackId"` SourceTitle string `json:"sourceTitle"` Quality *starr.Quality `json:"quality"` QualityCutoffNotMet bool `json:"qualityCutoffNotMet"` Date time.Time `json:"date"` DownloadID string `json:"downloadId"` EventType string `json:"eventType"` Data struct { Age string `json:"age"` AgeHours string `json:"ageHours"` AgeMinutes string `json:"ageMinutes"` DownloadClient string `json:"downloadClient"` DownloadForced string `json:"downloadForced"` DownloadURL string `json:"downloadUrl"` DroppedPath string `json:"droppedPath"` GUID string `json:"guid"` ImportedPath string `json:"importedPath"` Indexer string `json:"indexer"` Message string `json:"message"` NzbInfoURL string `json:"nzbInfoUrl"` Protocol string `json:"protocol"` PublishedDate time.Time `json:"publishedDate"` Reason string `json:"reason"` ReleaseGroup string `json:"releaseGroup"` Size string `json:"size"` StatusMessages string `json:"statusMessages"` TorrentInfoHash string `json:"torrentInfoHash"` } `json:"data"` }
HistoryRecord is part of the history. Not all items have all Data members. Check EventType for events you need.
type Lidarr ¶
Lidarr contains all the methods to interact with a Lidarr server.
func (*Lidarr) AddAlbum ¶
func (l *Lidarr) AddAlbum(album *AddAlbumInput) (*Album, error)
AddAlbum adds a new album to Lidarr, and probably does not yet work.
func (*Lidarr) AddAlbumContext ¶
AddAlbumContext adds a new album to Lidarr, and probably does not yet work.
func (*Lidarr) AddArtistContext ¶
AddArtistContext adds a new artist to Lidarr, and probably does not yet work.
func (*Lidarr) AddQualityProfile ¶
func (l *Lidarr) AddQualityProfile(profile *QualityProfile) (int64, error)
AddQualityProfile updates a quality profile in place.
func (*Lidarr) AddQualityProfileContext ¶
func (l *Lidarr) AddQualityProfileContext(ctx context.Context, profile *QualityProfile) (int64, error)
AddQualityProfileContext updates a quality profile in place.
func (*Lidarr) AddTagContext ¶
AddTagContext creates a tag.
func (*Lidarr) DeleteQualityProfile ¶
DeleteQualityProfile deletes a quality profile.
func (*Lidarr) DeleteQualityProfileContext ¶
DeleteQualityProfileContext deletes a quality profile.
func (*Lidarr) DeleteTagContext ¶
DeleteTagContext removes a single tag.
func (*Lidarr) DeleteTrackFile ¶
DeleteTrackFile deletes a track file.
func (*Lidarr) DeleteTrackFileContext ¶
DeleteTrackFileContext deletes a track file.
func (*Lidarr) DeleteTrackFiles ¶
DeleteTrackFiles bulk deletes track files by their IDs.
func (*Lidarr) DeleteTrackFilesContext ¶
DeleteTrackFilesContext bulk deletes track files by their IDs.
func (*Lidarr) FailContext ¶
FailContext marks the given history item as failed by id.
func (*Lidarr) GetAlbum ¶
GetAlbum returns an album or all albums if mbID is "" (empty). mbID is the music brainz UUID for a "release-group".
func (*Lidarr) GetAlbumByID ¶
GetAlbumByID returns an album by DB ID.
func (*Lidarr) GetAlbumByIDContext ¶
GetAlbumByIDContext returns an album by DB ID.
func (*Lidarr) GetAlbumContext ¶
GetAlbumContext returns an album or all albums if mbID is "" (empty). mbID is the music brainz UUID for a "release-group".
func (*Lidarr) GetArtistByID ¶
GetArtistByID returns an artist from an ID.
func (*Lidarr) GetArtistByIDContext ¶
GetArtistByIDContext returns an artist from an ID.
func (*Lidarr) GetArtistContext ¶
GetArtistContext returns an artist or all artists.
func (*Lidarr) GetBackupFiles ¶
func (l *Lidarr) GetBackupFiles() ([]*starr.BackupFile, error)
GetBackupFiles returns all available Lidarr backup files. Use GetBody to download a file using BackupFile.Path.
func (*Lidarr) GetBackupFilesContext ¶
GetBackupFilesContext returns all available Lidarr backup files. Use GetBody to download a file using BackupFile.Path.
func (*Lidarr) GetCommandStatus ¶
func (l *Lidarr) GetCommandStatus(commandID int64) (*CommandResponse, error)
GetCommandStatus returns the status of an already started command.
func (*Lidarr) GetCommandStatusContext ¶
func (l *Lidarr) GetCommandStatusContext(ctx context.Context, commandID int64) (*CommandResponse, error)
GetCommandStatusContext returns the status of an already started command.
func (*Lidarr) GetCommands ¶
func (l *Lidarr) GetCommands() ([]*CommandResponse, error)
GetCommands returns all available Lidarr commands.
func (*Lidarr) GetCommandsContext ¶
func (l *Lidarr) GetCommandsContext(ctx context.Context) ([]*CommandResponse, error)
GetCommandsContext returns all available Lidarr commands.
func (*Lidarr) GetHistory ¶
GetHistory returns the Lidarr History (grabs/failures/completed). WARNING: 12/30/2021 - this method changed. If you need control over the page, use lidarr.GetHistoryPage(). This function simply returns the number of history records desired, up to the number of records present in the application. It grabs records in (paginated) batches of perPage, and concatenates them into one list. Passing zero for records will return all of them.
func (*Lidarr) GetHistoryContext ¶
GetHistoryContext returns the Lidarr History (grabs/failures/completed).
func (*Lidarr) GetHistoryPage ¶
GetHistoryPage returns a single page from the Lidarr History (grabs/failures/completed). The page size and number is configurable with the input request parameters.
func (*Lidarr) GetHistoryPageContext ¶
func (l *Lidarr) GetHistoryPageContext(ctx context.Context, params *starr.PageReq) (*History, error)
GetHistoryPageContext returns a single page from the Lidarr History (grabs/failures/completed). The page size and number is configurable with the input request parameters.
func (*Lidarr) GetMetadataProfiles ¶
func (l *Lidarr) GetMetadataProfiles() ([]*MetadataProfile, error)
GetMetadataProfiles returns the metadata profiles.
func (*Lidarr) GetMetadataProfilesContext ¶
func (l *Lidarr) GetMetadataProfilesContext(ctx context.Context) ([]*MetadataProfile, error)
GetMetadataProfilesContext returns the metadata profiles.
func (*Lidarr) GetQualityDefinition ¶
func (l *Lidarr) GetQualityDefinition() ([]*QualityDefinition, error)
GetQualityDefinition returns the Quality Definitions.
func (*Lidarr) GetQualityDefinitionContext ¶
func (l *Lidarr) GetQualityDefinitionContext(ctx context.Context) ([]*QualityDefinition, error)
GetQualityDefinitionContext returns the Quality Definitions.
func (*Lidarr) GetQualityProfiles ¶
func (l *Lidarr) GetQualityProfiles() ([]*QualityProfile, error)
GetQualityProfiles returns the quality profiles.
func (*Lidarr) GetQualityProfilesContext ¶
func (l *Lidarr) GetQualityProfilesContext(ctx context.Context) ([]*QualityProfile, error)
GetQualityProfilesContext returns the quality profiles.
func (*Lidarr) GetQueue ¶
GetQueue returns a single page from the Lidarr Queue (processing, but not yet imported). WARNING: 12/30/2021 - this method changed. If you need control over the page, use lidarr.GetQueuePage(). This function simply returns the number of queue records desired, up to the number of records present in the application. It grabs records in (paginated) batches of perPage, and concatenates them into one list. Passing zero for records will return all of them.
func (*Lidarr) GetQueueContext ¶
GetQueueContext returns a single page from the Lidarr Queue (processing, but not yet imported).
func (*Lidarr) GetQueuePage ¶
GetQueuePage returns a single page from the Lidarr Queue. The page size and number is configurable with the input request parameters.
func (*Lidarr) GetQueuePageContext ¶
GetQueuePageContext returns a single page from the Lidarr Queue. The page size and number is configurable with the input request parameters.
func (*Lidarr) GetRootFolders ¶
func (l *Lidarr) GetRootFolders() ([]*RootFolder, error)
GetRootFolders returns all configured root folders.
func (*Lidarr) GetRootFoldersContext ¶
func (l *Lidarr) GetRootFoldersContext(ctx context.Context) ([]*RootFolder, error)
GetRootFoldersContext returns all configured root folders.
func (*Lidarr) GetSystemStatus ¶
func (l *Lidarr) GetSystemStatus() (*SystemStatus, error)
GetSystemStatus returns system status.
func (*Lidarr) GetSystemStatusContext ¶
func (l *Lidarr) GetSystemStatusContext(ctx context.Context) (*SystemStatus, error)
GetSystemStatusContext returns system status.
func (*Lidarr) GetTagContext ¶
GetTagContext returns a single tag.
func (*Lidarr) GetTagsContext ¶
GetTagsContext returns all configured tags.
func (*Lidarr) GetTrackFiles ¶
GetTrackFiles returns the requested track files by ID.
func (*Lidarr) GetTrackFilesContext ¶
func (l *Lidarr) GetTrackFilesContext(ctx context.Context, trackFileIDs []int64) ([]*TrackFile, error)
GetTrackFilesContext returns the requested track files by their IDs.
func (*Lidarr) GetTrackFilesForAlbum ¶
GetTrackFilesForAlbum returns the track files for an album.
func (*Lidarr) GetTrackFilesForAlbumContext ¶
func (l *Lidarr) GetTrackFilesForAlbumContext(ctx context.Context, albumID int64) ([]*TrackFile, error)
GetTrackFilesForAlbumContext returns the track files for an album.
func (*Lidarr) GetTrackFilesForArtist ¶
GetTrackFilesForArtist returns the track files for an artist.
func (*Lidarr) GetTrackFilesForArtistContext ¶
func (l *Lidarr) GetTrackFilesForArtistContext(ctx context.Context, artistID int64) ([]*TrackFile, error)
GetTrackFilesForArtistContext returns the track files for an artist.
func (*Lidarr) LookupContext ¶
LookupContext will search for albums matching the specified search term.
func (*Lidarr) SendCommand ¶
func (l *Lidarr) SendCommand(cmd *CommandRequest) (*CommandResponse, error)
SendCommand sends a command to Lidarr.
func (*Lidarr) SendCommandContext ¶
func (l *Lidarr) SendCommandContext(ctx context.Context, cmd *CommandRequest) (*CommandResponse, error)
SendCommandContext sends a command to Lidarr.
func (*Lidarr) UpdateAlbum ¶
UpdateAlbum updates an album in place; the output of this is currently unknown!!!!
func (*Lidarr) UpdateAlbumContext ¶
func (l *Lidarr) UpdateAlbumContext(ctx context.Context, albumID int64, album *Album) (*Album, error)
UpdateAlbumContext updates an album in place; the output of this is currently unknown!!!!
func (*Lidarr) UpdateArtist ¶
UpdateArtist updates an artist in place.
func (*Lidarr) UpdateArtistContext ¶
UpdateArtistContext updates an artist in place.
func (*Lidarr) UpdateQualityProfile ¶
func (l *Lidarr) UpdateQualityProfile(profile *QualityProfile) error
UpdateQualityProfile updates a quality profile in place.
func (*Lidarr) UpdateQualityProfileContext ¶
func (l *Lidarr) UpdateQualityProfileContext(ctx context.Context, profile *QualityProfile) error
UpdateQualityProfileContext updates a quality profile in place.
func (*Lidarr) UpdateTagContext ¶
UpdateTagContext updates a tag.
func (*Lidarr) UpdateTrackFile ¶
UpdateTrackFile updates a track file.
type Media ¶
type Media struct { MediumNumber int64 `json:"mediumNumber"` MediumName string `json:"mediumName"` MediumFormat string `json:"mediumFormat"` }
Media is part of an Album.
type MediaInfo ¶
type MediaInfo struct { ID int64 `json:"id"` AudioChannels int `json:"audioChannels"` AudioBitRate string `json:"audioBitRate"` AudioCodec string `json:"audioCodec"` AudioBits string `json:"audioBits"` AudioSampleRate string `json:"audioSampleRate"` }
MediaInfo is part of a TrackFile.
type MetadataProfile ¶
type MetadataProfile struct { Name string `json:"name"` ID int64 `json:"id"` PrimaryAlbumTypes []*AlbumType `json:"primaryAlbumTypes"` SecondaryAlbumTypes []*AlbumType `json:"secondaryAlbumTypes"` ReleaseStatuses []*ReleaseStatus `json:"releaseStatuses"` }
MetadataProfile is the /api/v1/metadataprofile endpoint.
type QualityDefinition ¶
type QualityDefinition struct { ID int64 `json:"id"` Quality *starr.Value `json:"quality"` Title string `json:"title"` Weight int64 `json:"weight"` MinSize float64 `json:"minSize"` MaxSize float64 `json:"maxSize,omitempty"` }
QualityDefinition is the /api/v1/qualitydefinition endpoint.
type QualityProfile ¶
type QualityProfile struct { ID int64 `json:"id"` Name string `json:"name"` UpgradeAllowed bool `json:"upgradeAllowed"` Cutoff int64 `json:"cutoff"` Qualities []*starr.Quality `json:"items"` }
QualityProfile is the /api/v1/qualityprofile endpoint.
type Queue ¶
type Queue struct { Page int `json:"page"` PageSize int `json:"pageSize"` SortKey string `json:"sortKey"` SortDirection string `json:"sortDirection"` TotalRecords int `json:"totalRecords"` Records []*QueueRecord `json:"records"` }
Queue is the /api/v1/queue endpoint.
type QueueRecord ¶
type QueueRecord struct { ArtistID int64 `json:"artistId"` AlbumID int64 `json:"albumId"` Quality *starr.Quality `json:"quality"` Size float64 `json:"size"` Title string `json:"title"` Sizeleft float64 `json:"sizeleft"` Timeleft string `json:"timeleft"` EstimatedCompletionTime time.Time `json:"estimatedCompletionTime"` Status string `json:"status"` TrackedDownloadStatus string `json:"trackedDownloadStatus"` StatusMessages []*starr.StatusMessage `json:"statusMessages"` DownloadID string `json:"downloadId"` Protocol string `json:"protocol"` DownloadClient string `json:"downloadClient"` Indexer string `json:"indexer"` OutputPath string `json:"outputPath"` DownloadForced bool `json:"downloadForced"` ID int64 `json:"id"` ErrorMessage string `json:"errorMessage"` }
QueueRecord represents the records returns by the /api/v1/queue endpoint.
type Release ¶
type Release struct { ID int64 `json:"id"` AlbumID int64 `json:"albumId"` ForeignReleaseID string `json:"foreignReleaseId"` Title string `json:"title"` Status string `json:"status"` Duration int `json:"duration"` TrackCount int `json:"trackCount"` Media []*Media `json:"media"` MediumCount int `json:"mediumCount"` Disambiguation string `json:"disambiguation"` Country []string `json:"country"` Label []string `json:"label"` Format string `json:"format"` Monitored bool `json:"monitored"` }
Release is part of an Album.
type ReleaseStatus ¶
type ReleaseStatus struct { ReleaseStatus *starr.Value `json:"releaseStatus"` Allowed bool `json:"allowed"` }
ReleaseStatus is part of MetadataProfile.
type RootFolder ¶
type RootFolder struct { ID int64 `json:"id"` Path string `json:"path"` FreeSpace int64 `json:"freeSpace"` TotalSpace int64 `json:"totalSpace"` UnmappedFolders []*starr.Path `json:"unmappedFolders"` }
RootFolder is the /api/v1/rootfolder endpoint.
type Statistics ¶
type Statistics struct { AlbumCount int `json:"albumCount,omitempty"` TrackFileCount int `json:"trackFileCount"` TrackCount int `json:"trackCount"` TotalTrackCount int `json:"totalTrackCount"` SizeOnDisk int `json:"sizeOnDisk"` PercentOfTracks float64 `json:"percentOfTracks"` }
Statistics is part of Artist and Album.
type SystemStatus ¶
type SystemStatus struct { AppData string `json:"appData"` AppName string `json:"appName"` Authentication string `json:"authentication"` Branch string `json:"branch"` BuildTime time.Time `json:"buildTime"` InstanceName string `json:"instanceName"` IsAdmin bool `json:"isAdmin"` IsDebug bool `json:"isDebug"` IsDocker bool `json:"isDocker"` IsLinux bool `json:"isLinux"` IsNetCore bool `json:"isNetCore"` IsOsx bool `json:"isOsx"` IsProduction bool `json:"isProduction"` IsUserInteractive bool `json:"isUserInteractive"` IsWindows bool `json:"isWindows"` MigrationVersion int64 `json:"migrationVersion"` Mode string `json:"mode"` OsName string `json:"osName"` PackageAuthor string `json:"packageAuthor"` PackageUpdateMechanism string `json:"packageUpdateMechanism"` PackageVersion string `json:"packageVersion"` RuntimeName string `json:"runtimeName"` RuntimeVersion string `json:"runtimeVersion"` SqliteVersion string `json:"sqliteVersion"` StartTime time.Time `json:"startTime"` StartupPath string `json:"startupPath"` URLBase string `json:"urlBase"` Version string `json:"version"` }
SystemStatus is the /api/v1/system/status endpoint.
type TrackDuration ¶
type TrackDuration struct { Ticks int64 `json:"ticks"` Days int64 `json:"days"` Hours int64 `json:"hours"` Milliseconds int64 `json:"milliseconds"` Minutes int64 `json:"minutes"` Seconds int64 `json:"seconds"` TotalDays int64 `json:"totalDays"` TotalHours int64 `json:"totalHours"` TotalMilliseconds int64 `json:"totalMilliseconds"` TotalMinutes int64 `json:"totalMinutes"` TotalSeconds int64 `json:"totalSeconds"` }
TrackDuration is part of AudioTags.
type TrackFile ¶
type TrackFile struct { ID int64 `json:"id"` ArtistID int64 `json:"artistId"` AlbumID int64 `json:"albumId"` Path string `json:"path"` Size int64 `json:"size"` DateAdded time.Time `json:"dateAdded"` Quality *starr.Quality `json:"quality"` QualityWeight int `json:"qualityWeight"` MediaInfo MediaInfo `json:"mediaInfo"` CutoffNotMet bool `json:"qualityCutoffNotMet"` AudioTags *AudioTags `json:"audioTags"` }
TrackFile represents the data sent to and returned from the trackfile endpoint.