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 BlockList
- type BlockListRecord
- type Calendar
- type CommandRequest
- type CommandResponse
- type DownloadClientConfig
- type DownloadClientInput
- type DownloadClientOutput
- type Exclusion
- type History
- type HistoryRecord
- type ImportListInput
- type ImportListOutput
- type IndexerConfig
- type IndexerInput
- type IndexerOutput
- 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) AddDownloadClient(downloadclient *DownloadClientInput) (*DownloadClientOutput, error)
- func (l *Lidarr) AddDownloadClientContext(ctx context.Context, client *DownloadClientInput) (*DownloadClientOutput, error)
- func (l *Lidarr) AddImportList(importList *ImportListInput) (*ImportListOutput, error)
- func (l *Lidarr) AddImportListContext(ctx context.Context, importList *ImportListInput) (*ImportListOutput, error)
- func (l *Lidarr) AddIndexer(indexer *IndexerInput) (*IndexerOutput, error)
- func (l *Lidarr) AddIndexerContext(ctx context.Context, indexer *IndexerInput) (*IndexerOutput, error)
- func (l *Lidarr) AddNotification(notification *NotificationInput) (*NotificationOutput, error)
- func (l *Lidarr) AddNotificationContext(ctx context.Context, client *NotificationInput) (*NotificationOutput, error)
- func (l *Lidarr) AddQualityProfile(profile *QualityProfile) (int64, error)
- func (l *Lidarr) AddQualityProfileContext(ctx context.Context, profile *QualityProfile) (int64, error)
- func (l *Lidarr) AddRemotePathMapping(mapping *starr.RemotePathMapping) (*starr.RemotePathMapping, error)
- func (l *Lidarr) AddRemotePathMappingContext(ctx context.Context, mapping *starr.RemotePathMapping) (*starr.RemotePathMapping, 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) DeleteAlbum(albumID int64, deleteFiles, addImportExclusion bool) error
- func (l *Lidarr) DeleteAlbumContext(ctx context.Context, albumID int64, deleteFiles, addImportExclusion bool) error
- func (l *Lidarr) DeleteArtist(artistID int64, deleteFiles, addImportExclusion bool) error
- func (l *Lidarr) DeleteArtistContext(ctx context.Context, artistID int64, deleteFiles, addImportExclusion bool) error
- func (l *Lidarr) DeleteBlockList(listID int64) error
- func (l *Lidarr) DeleteBlockListContext(ctx context.Context, listID int64) error
- func (l *Lidarr) DeleteBlockLists(ids []int64) error
- func (l *Lidarr) DeleteBlockListsContext(ctx context.Context, ids []int64) error
- func (l *Lidarr) DeleteDownloadClient(downloadclientID int64) error
- func (l *Lidarr) DeleteDownloadClientContext(ctx context.Context, downloadclientID int64) error
- func (l *Lidarr) DeleteExclusions(ids []int64) error
- func (l *Lidarr) DeleteExclusionsContext(ctx context.Context, ids []int64) error
- func (l *Lidarr) DeleteImportList(importListID int64) error
- func (l *Lidarr) DeleteImportListContext(ctx context.Context, importListID int64) error
- func (l *Lidarr) DeleteIndexer(indexerID int64) error
- func (l *Lidarr) DeleteIndexerContext(ctx context.Context, indexerID int64) error
- func (l *Lidarr) DeleteNotification(notificationID int64) error
- func (l *Lidarr) DeleteNotificationContext(ctx context.Context, notificationID int64) error
- func (l *Lidarr) DeleteQualityProfile(profileID int64) error
- func (l *Lidarr) DeleteQualityProfileContext(ctx context.Context, profileID int64) error
- func (l *Lidarr) DeleteQueue(queueID int64, opts *starr.QueueDeleteOpts) error
- func (l *Lidarr) DeleteQueueContext(ctx context.Context, queueID int64, opts *starr.QueueDeleteOpts) error
- func (l *Lidarr) DeleteRemotePathMapping(mappingID int64) error
- func (l *Lidarr) DeleteRemotePathMappingContext(ctx context.Context, mappingID 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) GetBlockList(count int) (*BlockList, error)
- func (l *Lidarr) GetBlockListContext(ctx context.Context, records int) (*BlockList, error)
- func (l *Lidarr) GetBlockListPage(params *starr.PageReq) (*BlockList, error)
- func (l *Lidarr) GetBlockListPageContext(ctx context.Context, params *starr.PageReq) (*BlockList, error)
- func (l *Lidarr) GetCalendar(filter Calendar) ([]*Album, error)
- func (l *Lidarr) GetCalendarContext(ctx context.Context, filter Calendar) ([]*Album, error)
- func (l *Lidarr) GetCalendarID(calendarID int64) (*Album, error)
- func (l *Lidarr) GetCalendarIDContext(ctx context.Context, calendarID int64) (*Album, 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) GetDownloadClient(downloadclientID int64) (*DownloadClientOutput, error)
- func (l *Lidarr) GetDownloadClientConfig() (*DownloadClientConfig, error)
- func (l *Lidarr) GetDownloadClientConfigContext(ctx context.Context) (*DownloadClientConfig, error)
- func (l *Lidarr) GetDownloadClientContext(ctx context.Context, downloadclientID int64) (*DownloadClientOutput, error)
- func (l *Lidarr) GetDownloadClients() ([]*DownloadClientOutput, error)
- func (l *Lidarr) GetDownloadClientsContext(ctx context.Context) ([]*DownloadClientOutput, error)
- func (l *Lidarr) GetExclusions() ([]*Exclusion, error)
- func (l *Lidarr) GetExclusionsContext(ctx context.Context) ([]*Exclusion, 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) GetImportList(importListID int64) (*ImportListOutput, error)
- func (l *Lidarr) GetImportListContext(ctx context.Context, importListID int64) (*ImportListOutput, error)
- func (l *Lidarr) GetImportLists() ([]*ImportListOutput, error)
- func (l *Lidarr) GetImportListsContext(ctx context.Context) ([]*ImportListOutput, error)
- func (l *Lidarr) GetIndexer(indexerID int64) (*IndexerOutput, error)
- func (l *Lidarr) GetIndexerConfig() (*IndexerConfig, error)
- func (l *Lidarr) GetIndexerConfigContext(ctx context.Context) (*IndexerConfig, error)
- func (l *Lidarr) GetIndexerContext(ctx context.Context, indexerID int64) (*IndexerOutput, error)
- func (l *Lidarr) GetIndexers() ([]*IndexerOutput, error)
- func (l *Lidarr) GetIndexersContext(ctx context.Context) ([]*IndexerOutput, error)
- func (l *Lidarr) GetMetadataProfiles() ([]*MetadataProfile, error)
- func (l *Lidarr) GetMetadataProfilesContext(ctx context.Context) ([]*MetadataProfile, error)
- func (l *Lidarr) GetNotification(notificationID int) (*NotificationOutput, error)
- func (l *Lidarr) GetNotificationContext(ctx context.Context, notificationID int) (*NotificationOutput, error)
- func (l *Lidarr) GetNotifications() ([]*NotificationOutput, error)
- func (l *Lidarr) GetNotificationsContext(ctx context.Context) ([]*NotificationOutput, 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) GetRemotePathMapping(mappingID int64) (*starr.RemotePathMapping, error)
- func (l *Lidarr) GetRemotePathMappingContext(ctx context.Context, mappingID int64) (*starr.RemotePathMapping, error)
- func (l *Lidarr) GetRemotePathMappings() ([]*starr.RemotePathMapping, error)
- func (l *Lidarr) GetRemotePathMappingsContext(ctx context.Context) ([]*starr.RemotePathMapping, 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) TestDownloadClient(client *DownloadClientInput) error
- func (l *Lidarr) TestDownloadClientContext(ctx context.Context, client *DownloadClientInput) error
- func (l *Lidarr) TestImportList(list *ImportListInput) error
- func (l *Lidarr) TestImportListContextt(ctx context.Context, list *ImportListInput) error
- func (l *Lidarr) TestIndexer(indexer *IndexerInput) error
- func (l *Lidarr) TestIndexerContext(ctx context.Context, indexer *IndexerInput) error
- func (l *Lidarr) UpdateAlbum(albumID int64, album *Album, moveFiles bool) (*Album, error)
- func (l *Lidarr) UpdateAlbumContext(ctx context.Context, albumID int64, album *Album, moveFiles bool) (*Album, error)
- func (l *Lidarr) UpdateArtist(artist *Artist, moveFiles bool) (*Artist, error)
- func (l *Lidarr) UpdateArtistContext(ctx context.Context, artist *Artist, moveFiles bool) (*Artist, error)
- func (l *Lidarr) UpdateDownloadClient(downloadclient *DownloadClientInput, force bool) (*DownloadClientOutput, error)
- func (l *Lidarr) UpdateDownloadClientConfig(downloadClientConfig *DownloadClientConfig) (*DownloadClientConfig, error)
- func (l *Lidarr) UpdateDownloadClientConfigContext(ctx context.Context, config *DownloadClientConfig) (*DownloadClientConfig, error)
- func (l *Lidarr) UpdateDownloadClientContext(ctx context.Context, client *DownloadClientInput, force bool) (*DownloadClientOutput, error)
- func (l *Lidarr) UpdateExclusion(exclusion *Exclusion) (*Exclusion, error)
- func (l *Lidarr) UpdateExclusionContext(ctx context.Context, exclusion *Exclusion) (*Exclusion, error)
- func (l *Lidarr) UpdateImportList(importList *ImportListInput, force bool) (*ImportListOutput, error)
- func (l *Lidarr) UpdateImportListContext(ctx context.Context, importList *ImportListInput, force bool) (*ImportListOutput, error)
- func (l *Lidarr) UpdateIndexer(indexer *IndexerInput, force bool) (*IndexerOutput, error)
- func (l *Lidarr) UpdateIndexerConfig(indexerConfig *IndexerConfig) (*IndexerConfig, error)
- func (l *Lidarr) UpdateIndexerConfigContext(ctx context.Context, indexerConfig *IndexerConfig) (*IndexerConfig, error)
- func (l *Lidarr) UpdateIndexerContext(ctx context.Context, indexer *IndexerInput, force bool) (*IndexerOutput, error)
- func (l *Lidarr) UpdateNotification(notification *NotificationInput) (*NotificationOutput, error)
- func (l *Lidarr) UpdateNotificationContext(ctx context.Context, client *NotificationInput) (*NotificationOutput, error)
- func (l *Lidarr) UpdateQualityProfile(profile *QualityProfile) (*QualityProfile, error)
- func (l *Lidarr) UpdateQualityProfileContext(ctx context.Context, profile *QualityProfile) (*QualityProfile, error)
- func (l *Lidarr) UpdateRemotePathMapping(mapping *starr.RemotePathMapping) (*starr.RemotePathMapping, error)
- func (l *Lidarr) UpdateRemotePathMappingContext(ctx context.Context, mapping *starr.RemotePathMapping) (*starr.RemotePathMapping, 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 NotificationInput
- type NotificationOutput
- 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 []string `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 BlockList ¶
type BlockList struct { Page int `json:"page"` PageSize int `json:"pageSize"` SortKey string `json:"sortKey"` SortDirection string `json:"sortDirection"` TotalRecords int `json:"totalRecords"` Records []*BlockListRecord `json:"records"` }
BlockList represents the /api/v1/blocklist endpoint.
type BlockListRecord ¶
type BlockListRecord struct { Artist *Artist `json:"artist"` Quality *starr.Quality `json:"quality"` CustomFormats []interface{} `json:"customFormats"` AlbumIDs []int64 `json:"albumIds"` ID int64 `json:"id"` ArtistID int64 `json:"artistId"` Date time.Time `json:"date"` SourceTitle string `json:"sourceTitle"` Protocol string `json:"protocol"` Indexer string `json:"indexer"` Message string `json:"message"` }
BlockListRecord represents a single block list item.
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 DownloadClientConfig ¶
type DownloadClientConfig struct { EnableCompletedDownloadHandling bool `json:"enableCompletedDownloadHandling"` AutoRedownloadFailed bool `json:"autoRedownloadFailed"` ID int64 `json:"id"` DownloadClientWorkingFolders string `json:"downloadClientWorkingFolders"` }
DownloadClientConfig is the /api/v1/config/downloadClientConfig endpoint.
type DownloadClientInput ¶
type DownloadClientInput struct { Enable bool `json:"enable"` RemoveCompletedDownloads bool `json:"removeCompletedDownloads"` RemoveFailedDownloads bool `json:"removeFailedDownloads"` Priority int `json:"priority"` ID int64 `json:"id,omitempty"` ConfigContract string `json:"configContract"` Implementation string `json:"implementation"` Name string `json:"name"` Protocol string `json:"protocol"` Tags []int `json:"tags"` Fields []*starr.FieldInput `json:"fields"` }
DownloadClientInput is the input for a new or updated download client.
type DownloadClientOutput ¶
type DownloadClientOutput struct { Enable bool `json:"enable"` RemoveCompletedDownloads bool `json:"removeCompletedDownloads"` RemoveFailedDownloads bool `json:"removeFailedDownloads"` Priority int `json:"priority"` ID int64 `json:"id,omitempty"` ConfigContract string `json:"configContract"` Implementation string `json:"implementation"` ImplementationName string `json:"implementationName"` InfoLink string `json:"infoLink"` Name string `json:"name"` Protocol string `json:"protocol"` Tags []int `json:"tags"` Fields []*starr.FieldOutput `json:"fields"` }
DownloadClientOutput is the output from the download client methods.
type Exclusion ¶
type Exclusion struct { ForeignID string `json:"foreignId"` ArtistName string `json:"artistName"` ID int64 `json:"id,omitempty"` }
Exclusion is a Lidarr excluded item.
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 ImportListInput ¶
type ImportListInput struct { EnableAutomaticAdd bool `json:"enableAutomaticAdd"` ShouldMonitorExisting bool `json:"shouldMonitorExisting"` ShouldSearch bool `json:"shouldSearch"` ListOrder int `json:"listOrder"` ID int64 `json:"id,omitempty"` // for update not add. QualityProfileID int64 `json:"qualityProfileId,omitempty"` MetadataProfileID int64 `json:"metadataProfileId,omitempty"` ConfigContract string `json:"configContract,omitempty"` Implementation string `json:"implementation,omitempty"` ListType string `json:"listType,omitempty"` MonitorNewItems string `json:"monitorNewItems,omitempty"` Name string `json:"name,omitempty"` RootFolderPath string `json:"rootFolderPath,omitempty"` ShouldMonitor string `json:"shouldMonitor,omitempty"` Tags []int `json:"tags,omitempty"` Fields []*starr.FieldInput `json:"fields,omitempty"` }
ImportListInput is the input for a new or updated import list.
type ImportListOutput ¶
type ImportListOutput struct { EnableAutomaticAdd bool `json:"enableAutomaticAdd"` ShouldMonitorExisting bool `json:"shouldMonitorExisting"` ShouldSearch bool `json:"shouldSearch"` ListOrder int `json:"listOrder"` ID int64 `json:"id"` QualityProfileID int64 `json:"qualityProfileId"` MetadataProfileID int64 `json:"metadataProfileId"` ShouldMonitor string `json:"shouldMonitor"` RootFolderPath string `json:"rootFolderPath"` MonitorNewItems string `json:"monitorNewItems"` ListType string `json:"listType"` Name string `json:"name"` ImplementationName string `json:"implementationName"` Implementation string `json:"implementation"` ConfigContract string `json:"configContract"` InfoLink string `json:"infoLink"` Tags []int `json:"tags"` Fields []*starr.FieldOutput `json:"fields"` Message struct { Message string `json:"message"` // this is a weird place for a message Type string `json:"type"` } `json:"message"` }
ImportListOutput is the output from the import list methods.
type IndexerConfig ¶
type IndexerConfig struct { ID int64 `json:"id"` MaximumSize int64 `json:"maximumSize"` MinimumAge int64 `json:"minimumAge"` Retention int64 `json:"retention"` RssSyncInterval int64 `json:"rssSyncInterval"` }
IndexerConfig represents the /config/indexer endpoint.
type IndexerInput ¶
type IndexerInput struct { EnableAutomaticSearch bool `json:"enableAutomaticSearch"` EnableInteractiveSearch bool `json:"enableInteractiveSearch"` EnableRss bool `json:"enableRss"` Priority int64 `json:"priority"` ID int64 `json:"id,omitempty"` ConfigContract string `json:"configContract"` Implementation string `json:"implementation"` Name string `json:"name"` Protocol string `json:"protocol"` Tags []int `json:"tags"` Fields []*starr.FieldInput `json:"fields"` }
IndexerInput is the input for a new or updated indexer.
type IndexerOutput ¶
type IndexerOutput struct { EnableAutomaticSearch bool `json:"enableAutomaticSearch"` EnableInteractiveSearch bool `json:"enableInteractiveSearch"` EnableRss bool `json:"enableRss"` SupportsRss bool `json:"supportsRss"` SupportsSearch bool `json:"supportsSearch"` Priority int64 `json:"priority"` ID int64 `json:"id,omitempty"` ConfigContract string `json:"configContract"` Implementation string `json:"implementation"` ImplementationName string `json:"implementationName"` InfoLink string `json:"infoLink"` Name string `json:"name"` Protocol string `json:"protocol"` Tags []int `json:"tags"` Fields []*starr.FieldOutput `json:"fields"` }
IndexerOutput is the output from the indexer methods.
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) AddDownloadClient ¶
func (l *Lidarr) AddDownloadClient(downloadclient *DownloadClientInput) (*DownloadClientOutput, error)
AddDownloadClient creates a download client.
func (*Lidarr) AddDownloadClientContext ¶
func (l *Lidarr) AddDownloadClientContext(ctx context.Context, client *DownloadClientInput, ) (*DownloadClientOutput, error)
AddDownloadClientContext creates a download client.
func (*Lidarr) AddImportList ¶
func (l *Lidarr) AddImportList(importList *ImportListInput) (*ImportListOutput, error)
AddImportList creates a import list.
func (*Lidarr) AddImportListContext ¶
func (l *Lidarr) AddImportListContext(ctx context.Context, importList *ImportListInput) (*ImportListOutput, error)
AddImportListContext creates a import list.
func (*Lidarr) AddIndexer ¶
func (l *Lidarr) AddIndexer(indexer *IndexerInput) (*IndexerOutput, error)
AddIndexer creates a indexer.
func (*Lidarr) AddIndexerContext ¶
func (l *Lidarr) AddIndexerContext(ctx context.Context, indexer *IndexerInput) (*IndexerOutput, error)
AddIndexerContext creates a indexer.
func (*Lidarr) AddNotification ¶
func (l *Lidarr) AddNotification(notification *NotificationInput) (*NotificationOutput, error)
AddNotification creates a notification.
func (*Lidarr) AddNotificationContext ¶
func (l *Lidarr) AddNotificationContext(ctx context.Context, client *NotificationInput) (*NotificationOutput, error)
AddNotificationContext creates a notification.
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) AddRemotePathMapping ¶
func (l *Lidarr) AddRemotePathMapping(mapping *starr.RemotePathMapping) (*starr.RemotePathMapping, error)
AddRemotePathMapping creates a remote path mapping.
func (*Lidarr) AddRemotePathMappingContext ¶
func (l *Lidarr) AddRemotePathMappingContext(ctx context.Context, mapping *starr.RemotePathMapping, ) (*starr.RemotePathMapping, error)
AddRemotePathMappingContext creates a remote path mapping.
func (*Lidarr) AddTagContext ¶
AddTagContext creates a tag.
func (*Lidarr) DeleteAlbum ¶
DeleteAlbum removes an album from the database. Setting deleteFiles true will delete all content for the album.
func (*Lidarr) DeleteAlbumContext ¶
func (l *Lidarr) DeleteAlbumContext(ctx context.Context, albumID int64, deleteFiles, addImportExclusion bool) error
DeleteAlbumContext removes an album from the database. Setting deleteFiles true will delete all content for the album.
func (*Lidarr) DeleteArtist ¶
DeleteArtist removes an artist from the database. Setting deleteFiles true will delete all content for the artist.
func (*Lidarr) DeleteArtistContext ¶
func (l *Lidarr) DeleteArtistContext(ctx context.Context, artistID int64, deleteFiles, addImportExclusion bool) error
DeleteArtistContext removes an artist from the database. Setting deleteFiles true will delete all content for the artist.
func (*Lidarr) DeleteBlockList ¶
DeleteBlockList removes a single block list item.
func (*Lidarr) DeleteBlockListContext ¶
DeleteBlockListContext removes a single block list item with a context.
func (*Lidarr) DeleteBlockLists ¶
DeleteBlockLists removes multiple block list items.
func (*Lidarr) DeleteBlockListsContext ¶
DeleteBlockListsContext removes multiple block list items with a context.
func (*Lidarr) DeleteDownloadClient ¶
DeleteDownloadClient removes a single download client.
func (*Lidarr) DeleteDownloadClientContext ¶
DeleteDownloadClientContext removes a single download client.
func (*Lidarr) DeleteExclusions ¶
DeleteExclusions removes exclusions from Lidarr.
func (*Lidarr) DeleteExclusionsContext ¶
DeleteExclusionsContext removes exclusions from Lidarr.
func (*Lidarr) DeleteImportList ¶
DeleteImportList removes a single import list.
func (*Lidarr) DeleteImportListContext ¶
DeleteImportListContext removes a single import list.
func (*Lidarr) DeleteIndexer ¶
DeleteIndexer removes a single indexer.
func (*Lidarr) DeleteIndexerContext ¶
DeleteIndexerContext removes a single indexer.
func (*Lidarr) DeleteNotification ¶
DeleteNotification removes a single notification.
func (*Lidarr) DeleteNotificationContext ¶
func (*Lidarr) DeleteQualityProfile ¶
DeleteQualityProfile deletes a quality profile.
func (*Lidarr) DeleteQualityProfileContext ¶
DeleteQualityProfileContext deletes a quality profile.
func (*Lidarr) DeleteQueue ¶
func (l *Lidarr) DeleteQueue(queueID int64, opts *starr.QueueDeleteOpts) error
DeleteQueue deletes an item from the Activity Queue.
func (*Lidarr) DeleteQueueContext ¶
func (l *Lidarr) DeleteQueueContext(ctx context.Context, queueID int64, opts *starr.QueueDeleteOpts) error
DeleteQueueContext deletes an item from the Activity Queue.
func (*Lidarr) DeleteRemotePathMapping ¶
DeleteRemotePathMapping removes a single remote path mapping.
func (*Lidarr) DeleteRemotePathMappingContext ¶
DeleteRemotePathMappingContext removes a single remote path mapping.
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) GetBlockList ¶
GetBlockList returns the count of block list items requested. If you need control over the page, use GetBlockListPage().
func (*Lidarr) GetBlockListContext ¶
GetBlockListContext returns block list items.
func (*Lidarr) GetBlockListPage ¶
GetBlockListPage returns block list items based on filters.
func (*Lidarr) GetBlockListPageContext ¶
func (l *Lidarr) GetBlockListPageContext(ctx context.Context, params *starr.PageReq) (*BlockList, error)
GetBlockListPageContext returns block list items based on filters.
func (*Lidarr) GetCalendar ¶
GetCalendar returns calendars based on filters.
func (*Lidarr) GetCalendarContext ¶
GetCalendarContext returns calendars based on filters.
func (*Lidarr) GetCalendarID ¶
GetCalendarID returns a single calendar by ID.
func (*Lidarr) GetCalendarIDContext ¶
GetCalendarIDContext returns a single calendar by ID.
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) GetDownloadClient ¶
func (l *Lidarr) GetDownloadClient(downloadclientID int64) (*DownloadClientOutput, error)
GetDownloadClient returns a single download client.
func (*Lidarr) GetDownloadClientConfig ¶
func (l *Lidarr) GetDownloadClientConfig() (*DownloadClientConfig, error)
GetDownloadClientConfig returns the download client config.
func (*Lidarr) GetDownloadClientConfigContext ¶
func (l *Lidarr) GetDownloadClientConfigContext(ctx context.Context) (*DownloadClientConfig, error)
GetDownloadClientConfig returns the download client config.
func (*Lidarr) GetDownloadClientContext ¶
func (l *Lidarr) GetDownloadClientContext(ctx context.Context, downloadclientID int64) (*DownloadClientOutput, error)
GetDownloadClientContext returns a single download client.
func (*Lidarr) GetDownloadClients ¶
func (l *Lidarr) GetDownloadClients() ([]*DownloadClientOutput, error)
GetDownloadClients returns all configured download clients.
func (*Lidarr) GetDownloadClientsContext ¶
func (l *Lidarr) GetDownloadClientsContext(ctx context.Context) ([]*DownloadClientOutput, error)
GetDownloadClientsContext returns all configured download clients.
func (*Lidarr) GetExclusions ¶
GetExclusions returns all configured exclusions from Lidarr.
func (*Lidarr) GetExclusionsContext ¶
GetExclusionsContext returns all configured exclusions from Lidarr.
func (*Lidarr) GetHistory ¶
GetHistory returns the Lidarr History (grabs/failures/completed). 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) GetImportList ¶
func (l *Lidarr) GetImportList(importListID int64) (*ImportListOutput, error)
GetImportList returns a single import list.
func (*Lidarr) GetImportListContext ¶
func (l *Lidarr) GetImportListContext(ctx context.Context, importListID int64) (*ImportListOutput, error)
GetIndGetImportListContextexer returns a single import list.
func (*Lidarr) GetImportLists ¶
func (l *Lidarr) GetImportLists() ([]*ImportListOutput, error)
GetImportLists returns all configured import lists.
func (*Lidarr) GetImportListsContext ¶
func (l *Lidarr) GetImportListsContext(ctx context.Context) ([]*ImportListOutput, error)
GetImportListsContext returns all configured import lists.
func (*Lidarr) GetIndexer ¶
func (l *Lidarr) GetIndexer(indexerID int64) (*IndexerOutput, error)
GetIndexer returns a single indexer.
func (*Lidarr) GetIndexerConfig ¶
func (l *Lidarr) GetIndexerConfig() (*IndexerConfig, error)
GetIndexerConfig returns an Indexer Config.
func (*Lidarr) GetIndexerConfigContext ¶
func (l *Lidarr) GetIndexerConfigContext(ctx context.Context) (*IndexerConfig, error)
GetIndexerConfigContext returns the indexer Config.
func (*Lidarr) GetIndexerContext ¶
GetIndGetIndexerContextexer returns a single indexer.
func (*Lidarr) GetIndexers ¶
func (l *Lidarr) GetIndexers() ([]*IndexerOutput, error)
GetIndexers returns all configured indexers.
func (*Lidarr) GetIndexersContext ¶
func (l *Lidarr) GetIndexersContext(ctx context.Context) ([]*IndexerOutput, error)
GetIndexersContext returns all configured indexers.
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) GetNotification ¶
func (l *Lidarr) GetNotification(notificationID int) (*NotificationOutput, error)
GetNotification returns a single notification.
func (*Lidarr) GetNotificationContext ¶
func (l *Lidarr) GetNotificationContext(ctx context.Context, notificationID int) (*NotificationOutput, error)
GetNotificationContext returns a single notification.
func (*Lidarr) GetNotifications ¶
func (l *Lidarr) GetNotifications() ([]*NotificationOutput, error)
GetNotifications returns all configured notifications.
func (*Lidarr) GetNotificationsContext ¶
func (l *Lidarr) GetNotificationsContext(ctx context.Context) ([]*NotificationOutput, error)
GetNotificationsContext returns all configured notifications.
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). 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) GetRemotePathMapping ¶
func (l *Lidarr) GetRemotePathMapping(mappingID int64) (*starr.RemotePathMapping, error)
GetRemotePathMapping returns a single remote path mapping.
func (*Lidarr) GetRemotePathMappingContext ¶
func (l *Lidarr) GetRemotePathMappingContext(ctx context.Context, mappingID int64) (*starr.RemotePathMapping, error)
GetRemotePathMappingContext returns a single remote path mapping.
func (*Lidarr) GetRemotePathMappings ¶
func (l *Lidarr) GetRemotePathMappings() ([]*starr.RemotePathMapping, error)
GetRemotePathMappings returns all configured remote path mappings.
func (*Lidarr) GetRemotePathMappingsContext ¶
func (l *Lidarr) GetRemotePathMappingsContext(ctx context.Context) ([]*starr.RemotePathMapping, error)
GetRemotePathMappingsContext returns all configured remote path mappings.
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) TestDownloadClient ¶
func (l *Lidarr) TestDownloadClient(client *DownloadClientInput) error
TestDownloadClient tests a download client.
func (*Lidarr) TestDownloadClientContext ¶
func (l *Lidarr) TestDownloadClientContext(ctx context.Context, client *DownloadClientInput) error
TestDownloadClientContext tests a download client.
func (*Lidarr) TestImportList ¶
func (l *Lidarr) TestImportList(list *ImportListInput) error
TestImportList tests an import list.
func (*Lidarr) TestImportListContextt ¶
func (l *Lidarr) TestImportListContextt(ctx context.Context, list *ImportListInput) error
TestImportListContextt tests an import list.
func (*Lidarr) TestIndexer ¶
func (l *Lidarr) TestIndexer(indexer *IndexerInput) error
TestIndexer tests an indexer.
func (*Lidarr) TestIndexerContext ¶
func (l *Lidarr) TestIndexerContext(ctx context.Context, indexer *IndexerInput) error
TestIndexerContext tests an indexer.
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, moveFiles bool) (*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 ¶
func (l *Lidarr) UpdateArtistContext(ctx context.Context, artist *Artist, moveFiles bool) (*Artist, error)
UpdateArtistContext updates an artist in place.
func (*Lidarr) UpdateDownloadClient ¶
func (l *Lidarr) UpdateDownloadClient(downloadclient *DownloadClientInput, force bool) (*DownloadClientOutput, error)
UpdateDownloadClient updates the download client.
func (*Lidarr) UpdateDownloadClientConfig ¶
func (l *Lidarr) UpdateDownloadClientConfig(downloadClientConfig *DownloadClientConfig) (*DownloadClientConfig, error)
UpdateDownloadClientConfig update the single download client config.
func (*Lidarr) UpdateDownloadClientConfigContext ¶
func (l *Lidarr) UpdateDownloadClientConfigContext(ctx context.Context, config *DownloadClientConfig, ) (*DownloadClientConfig, error)
UpdateDownloadClientConfig update the single download client config.
func (*Lidarr) UpdateDownloadClientContext ¶
func (l *Lidarr) UpdateDownloadClientContext(ctx context.Context, client *DownloadClientInput, force bool, ) (*DownloadClientOutput, error)
UpdateDownloadClientContext updates the download client.
func (*Lidarr) UpdateExclusion ¶
UpdateExclusion changes an exclusions in Lidarr.
func (*Lidarr) UpdateExclusionContext ¶
func (l *Lidarr) UpdateExclusionContext(ctx context.Context, exclusion *Exclusion) (*Exclusion, error)
UpdateExclusionContext changes an exclusions in Lidarr.
func (*Lidarr) UpdateImportList ¶
func (l *Lidarr) UpdateImportList(importList *ImportListInput, force bool) (*ImportListOutput, error)
UpdateImportList updates the import list.
func (*Lidarr) UpdateImportListContext ¶
func (l *Lidarr) UpdateImportListContext( ctx context.Context, importList *ImportListInput, force bool, ) (*ImportListOutput, error)
UpdateImportListContext updates the import list.
func (*Lidarr) UpdateIndexer ¶
func (l *Lidarr) UpdateIndexer(indexer *IndexerInput, force bool) (*IndexerOutput, error)
UpdateIndexer updates an indexer.
func (*Lidarr) UpdateIndexerConfig ¶
func (l *Lidarr) UpdateIndexerConfig(indexerConfig *IndexerConfig) (*IndexerConfig, error)
UpdateIndexerConfig update the single indexerConfig.
func (*Lidarr) UpdateIndexerConfigContext ¶
func (l *Lidarr) UpdateIndexerConfigContext(ctx context.Context, indexerConfig *IndexerConfig) (*IndexerConfig, error)
UpdateIndexerConfigContext update the single indexerConfig.
func (*Lidarr) UpdateIndexerContext ¶
func (l *Lidarr) UpdateIndexerContext(ctx context.Context, indexer *IndexerInput, force bool) (*IndexerOutput, error)
UpdateIndexerContext updates an indexer.
func (*Lidarr) UpdateNotification ¶
func (l *Lidarr) UpdateNotification(notification *NotificationInput) (*NotificationOutput, error)
UpdateNotification updates the notification.
func (*Lidarr) UpdateNotificationContext ¶
func (l *Lidarr) UpdateNotificationContext(ctx context.Context, client *NotificationInput, ) (*NotificationOutput, error)
UpdateNotificationContext updates the notification.
func (*Lidarr) UpdateQualityProfile ¶
func (l *Lidarr) UpdateQualityProfile(profile *QualityProfile) (*QualityProfile, error)
UpdateQualityProfile updates a quality profile in place.
func (*Lidarr) UpdateQualityProfileContext ¶
func (l *Lidarr) UpdateQualityProfileContext(ctx context.Context, profile *QualityProfile) (*QualityProfile, error)
UpdateQualityProfileContext updates a quality profile in place.
func (*Lidarr) UpdateRemotePathMapping ¶
func (l *Lidarr) UpdateRemotePathMapping(mapping *starr.RemotePathMapping) (*starr.RemotePathMapping, error)
UpdateRemotePathMapping updates the remote path mapping.
func (*Lidarr) UpdateRemotePathMappingContext ¶
func (l *Lidarr) UpdateRemotePathMappingContext(ctx context.Context, mapping *starr.RemotePathMapping, ) (*starr.RemotePathMapping, error)
UpdateRemotePathMappingContext updates the remote path mapping.
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 NotificationInput ¶
type NotificationInput struct { OnGrab bool `json:"onGrab,omitempty"` OnReleaseImport bool `json:"onReleaseImport,omitempty"` OnUpgrade bool `json:"onUpgrade,omitempty"` OnRename bool `json:"onRename,omitempty"` OnTrackRetag bool `json:"onTrackRetag,omitempty"` OnHealthIssue bool `json:"onHealthIssue,omitempty"` OnDownloadFailure bool `json:"onDownloadFailure,omitempty"` OnImportFailure bool `json:"onImportFailure,omitempty"` OnApplicationUpdate bool `json:"onApplicationUpdate,omitempty"` IncludeHealthWarnings bool `json:"includeHealthWarnings,omitempty"` ID int64 `json:"id,omitempty"` Name string `json:"name"` Implementation string `json:"implementation"` ConfigContract string `json:"configContract"` Tags []int `json:"tags,omitempty"` Fields []*starr.FieldInput `json:"fields"` }
NotificationInput is the input for a new or updated notification.
type NotificationOutput ¶
type NotificationOutput struct { OnGrab bool `json:"onGrab,omitempty"` OnReleaseImport bool `json:"onReleaseImport,omitempty"` OnUpgrade bool `json:"onUpgrade,omitempty"` OnRename bool `json:"onRename,omitempty"` OnTrackRetag bool `json:"onTrackRetag,omitempty"` OnHealthIssue bool `json:"onHealthIssue,omitempty"` OnDownloadFailure bool `json:"onDownloadFailure,omitempty"` OnImportFailure bool `json:"onImportFailure,omitempty"` OnApplicationUpdate bool `json:"onApplicationUpdate,omitempty"` SupportsOnGrab bool `json:"supportsOnGrab"` SupportsOnReleaseImport bool `json:"supportsOnReleaseImport"` SupportsOnUpgrade bool `json:"supportsOnUpgrade"` SupportsOnRename bool `json:"supportsOnRename"` SupportsOnApplicationUpdate bool `json:"supportsOnApplicationUpdate"` SupportsOnDownloadFailure bool `json:"supportsOnDownloadFailure"` SupportsOnImportFailure bool `json:"supportsOnImportFailure"` SupportsOnTrackRetag bool `json:"supportsOnTrackRetag"` SupportsOnHealthIssue bool `json:"supportsOnHealthIssue"` IncludeHealthWarnings bool `json:"includeHealthWarnings"` ID int64 `json:"id"` Name string `json:"name"` ImplementationName string `json:"implementationName"` Implementation string `json:"implementation"` ConfigContract string `json:"configContract"` InfoLink string `json:"infoLink"` Tags []int `json:"tags"` Fields []*starr.FieldOutput `json:"fields"` }
NotificationOutput is the output from the notification methods.
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"` MinFormatScore int64 `json:"minFormatScore"` CutoffFormatScore int64 `json:"cutoffFormatScore"` FormatItems []*starr.FormatItem `json:"formatItems"` }
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.
Source Files ¶
- album.go
- artist.go
- blocklist.go
- calendar.go
- command.go
- downloadclient.go
- downloadclientconfig.go
- exclusions.go
- history.go
- importlist.go
- indexer.go
- indexerconfig.go
- lidarr.go
- metadataprofile.go
- notification.go
- qualitydefinition.go
- qualityprofile.go
- queue.go
- remotepathmapping.go
- rootfolder.go
- system.go
- tag.go
- trackfile.go