lidarr

package
v0.0.0-...-fc20fab Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 23, 2023 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

View Source
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

View Source
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 AlbumType

type AlbumType struct {
	AlbumType *starr.Value `json:"albumType"`
	Allowed   bool         `json:"allowed"`
}

AlbumType is part of MetadataProfile.

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

type AudioCountry struct {
	TwoLetterCode string `json:"twoLetterCode"`
	Name          string `json:"name"`
}

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 Calendar

type Calendar struct {
	Start         time.Time
	End           time.Time
	Unmonitored   bool
	IncludeArtist bool
}

Calendar defines the filters for fetching calendar items.

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

type Lidarr struct {
	starr.APIer
}

Lidarr contains all the methods to interact with a Lidarr server.

func New

func New(config *starr.Config) *Lidarr

New returns a Lidarr object used to interact with the Lidarr API.

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

func (l *Lidarr) AddAlbumContext(ctx context.Context, album *AddAlbumInput) (*Album, error)

AddAlbumContext adds a new album to Lidarr, and probably does not yet work.

func (*Lidarr) AddArtist

func (l *Lidarr) AddArtist(artist *Artist) (*Artist, error)

AddArtist adds a new artist to Lidarr, and probably does not yet work.

func (*Lidarr) AddArtistContext

func (l *Lidarr) AddArtistContext(ctx context.Context, artist *Artist) (*Artist, error)

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) AddTag

func (l *Lidarr) AddTag(tag *starr.Tag) (*starr.Tag, error)

AddTag creates a tag.

func (*Lidarr) AddTagContext

func (l *Lidarr) AddTagContext(ctx context.Context, tag *starr.Tag) (*starr.Tag, error)

AddTagContext creates a tag.

func (*Lidarr) DeleteAlbum

func (l *Lidarr) DeleteAlbum(albumID int64, deleteFiles, addImportExclusion bool) error

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

func (l *Lidarr) DeleteArtist(artistID int64, deleteFiles, addImportExclusion bool) error

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

func (l *Lidarr) DeleteBlockList(listID int64) error

DeleteBlockList removes a single block list item.

func (*Lidarr) DeleteBlockListContext

func (l *Lidarr) DeleteBlockListContext(ctx context.Context, listID int64) error

DeleteBlockListContext removes a single block list item with a context.

func (*Lidarr) DeleteBlockLists

func (l *Lidarr) DeleteBlockLists(ids []int64) error

DeleteBlockLists removes multiple block list items.

func (*Lidarr) DeleteBlockListsContext

func (l *Lidarr) DeleteBlockListsContext(ctx context.Context, ids []int64) error

DeleteBlockListsContext removes multiple block list items with a context.

func (*Lidarr) DeleteDownloadClient

func (l *Lidarr) DeleteDownloadClient(downloadclientID int64) error

DeleteDownloadClient removes a single download client.

func (*Lidarr) DeleteDownloadClientContext

func (l *Lidarr) DeleteDownloadClientContext(ctx context.Context, downloadclientID int64) error

DeleteDownloadClientContext removes a single download client.

func (*Lidarr) DeleteExclusions

func (l *Lidarr) DeleteExclusions(ids []int64) error

DeleteExclusions removes exclusions from Lidarr.

func (*Lidarr) DeleteExclusionsContext

func (l *Lidarr) DeleteExclusionsContext(ctx context.Context, ids []int64) error

DeleteExclusionsContext removes exclusions from Lidarr.

func (*Lidarr) DeleteImportList

func (l *Lidarr) DeleteImportList(importListID int64) error

DeleteImportList removes a single import list.

func (*Lidarr) DeleteImportListContext

func (l *Lidarr) DeleteImportListContext(ctx context.Context, importListID int64) error

DeleteImportListContext removes a single import list.

func (*Lidarr) DeleteIndexer

func (l *Lidarr) DeleteIndexer(indexerID int64) error

DeleteIndexer removes a single indexer.

func (*Lidarr) DeleteIndexerContext

func (l *Lidarr) DeleteIndexerContext(ctx context.Context, indexerID int64) error

DeleteIndexerContext removes a single indexer.

func (*Lidarr) DeleteNotification

func (l *Lidarr) DeleteNotification(notificationID int64) error

DeleteNotification removes a single notification.

func (*Lidarr) DeleteNotificationContext

func (l *Lidarr) DeleteNotificationContext(ctx context.Context, notificationID int64) error

func (*Lidarr) DeleteQualityProfile

func (l *Lidarr) DeleteQualityProfile(profileID int64) error

DeleteQualityProfile deletes a quality profile.

func (*Lidarr) DeleteQualityProfileContext

func (l *Lidarr) DeleteQualityProfileContext(ctx context.Context, profileID int64) error

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

func (l *Lidarr) DeleteRemotePathMapping(mappingID int64) error

DeleteRemotePathMapping removes a single remote path mapping.

func (*Lidarr) DeleteRemotePathMappingContext

func (l *Lidarr) DeleteRemotePathMappingContext(ctx context.Context, mappingID int64) error

DeleteRemotePathMappingContext removes a single remote path mapping.

func (*Lidarr) DeleteTag

func (l *Lidarr) DeleteTag(tagID int) error

DeleteTag removes a single tag.

func (*Lidarr) DeleteTagContext

func (l *Lidarr) DeleteTagContext(ctx context.Context, tagID int) error

DeleteTagContext removes a single tag.

func (*Lidarr) DeleteTrackFile

func (l *Lidarr) DeleteTrackFile(trackFileID int64) error

DeleteTrackFile deletes a track file.

func (*Lidarr) DeleteTrackFileContext

func (l *Lidarr) DeleteTrackFileContext(ctx context.Context, trackFileID int64) error

DeleteTrackFileContext deletes a track file.

func (*Lidarr) DeleteTrackFiles

func (l *Lidarr) DeleteTrackFiles(trackFileIDs []int64) error

DeleteTrackFiles bulk deletes track files by their IDs.

func (*Lidarr) DeleteTrackFilesContext

func (l *Lidarr) DeleteTrackFilesContext(ctx context.Context, trackFileIDs []int64) error

DeleteTrackFilesContext bulk deletes track files by their IDs.

func (*Lidarr) Fail

func (l *Lidarr) Fail(historyID int64) error

Fail marks the given history item as failed by id.

func (*Lidarr) FailContext

func (l *Lidarr) FailContext(ctx context.Context, historyID int64) error

FailContext marks the given history item as failed by id.

func (*Lidarr) GetAlbum

func (l *Lidarr) GetAlbum(mbID string) ([]*Album, error)

GetAlbum returns an album or all albums if mbID is "" (empty). mbID is the music brainz UUID for a "release-group".

func (*Lidarr) GetAlbumByID

func (l *Lidarr) GetAlbumByID(albumID int64) (*Album, error)

GetAlbumByID returns an album by DB ID.

func (*Lidarr) GetAlbumByIDContext

func (l *Lidarr) GetAlbumByIDContext(ctx context.Context, albumID int64) (*Album, error)

GetAlbumByIDContext returns an album by DB ID.

func (*Lidarr) GetAlbumContext

func (l *Lidarr) GetAlbumContext(ctx context.Context, mbID string) ([]*Album, error)

GetAlbumContext returns an album or all albums if mbID is "" (empty). mbID is the music brainz UUID for a "release-group".

func (*Lidarr) GetArtist

func (l *Lidarr) GetArtist(mbID string) ([]*Artist, error)

GetArtist returns an artist or all artists.

func (*Lidarr) GetArtistByID

func (l *Lidarr) GetArtistByID(artistID int64) (*Artist, error)

GetArtistByID returns an artist from an ID.

func (*Lidarr) GetArtistByIDContext

func (l *Lidarr) GetArtistByIDContext(ctx context.Context, artistID int64) (*Artist, error)

GetArtistByIDContext returns an artist from an ID.

func (*Lidarr) GetArtistContext

func (l *Lidarr) GetArtistContext(ctx context.Context, mbID string) ([]*Artist, error)

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

func (l *Lidarr) GetBackupFilesContext(ctx context.Context) ([]*starr.BackupFile, error)

GetBackupFilesContext returns all available Lidarr backup files. Use GetBody to download a file using BackupFile.Path.

func (*Lidarr) GetBlockList

func (l *Lidarr) GetBlockList(count int) (*BlockList, error)

GetBlockList returns the count of block list items requested. If you need control over the page, use GetBlockListPage().

func (*Lidarr) GetBlockListContext

func (l *Lidarr) GetBlockListContext(ctx context.Context, records int) (*BlockList, error)

GetBlockListContext returns block list items.

func (*Lidarr) GetBlockListPage

func (l *Lidarr) GetBlockListPage(params *starr.PageReq) (*BlockList, error)

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

func (l *Lidarr) GetCalendar(filter Calendar) ([]*Album, error)

GetCalendar returns calendars based on filters.

func (*Lidarr) GetCalendarContext

func (l *Lidarr) GetCalendarContext(ctx context.Context, filter Calendar) ([]*Album, error)

GetCalendarContext returns calendars based on filters.

func (*Lidarr) GetCalendarID

func (l *Lidarr) GetCalendarID(calendarID int64) (*Album, error)

GetCalendarID returns a single calendar by ID.

func (*Lidarr) GetCalendarIDContext

func (l *Lidarr) GetCalendarIDContext(ctx context.Context, calendarID int64) (*Album, error)

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

func (l *Lidarr) GetExclusions() ([]*Exclusion, error)

GetExclusions returns all configured exclusions from Lidarr.

func (*Lidarr) GetExclusionsContext

func (l *Lidarr) GetExclusionsContext(ctx context.Context) ([]*Exclusion, error)

GetExclusionsContext returns all configured exclusions from Lidarr.

func (*Lidarr) GetHistory

func (l *Lidarr) GetHistory(records, perPage int) (*History, error)

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

func (l *Lidarr) GetHistoryContext(ctx context.Context, records, perPage int) (*History, error)

GetHistoryContext returns the Lidarr History (grabs/failures/completed).

func (*Lidarr) GetHistoryPage

func (l *Lidarr) GetHistoryPage(params *starr.PageReq) (*History, error)

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

func (l *Lidarr) GetIndexerContext(ctx context.Context, indexerID int64) (*IndexerOutput, error)

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

func (l *Lidarr) GetQueue(records, perPage int) (*Queue, error)

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

func (l *Lidarr) GetQueueContext(ctx context.Context, records, perPage int) (*Queue, error)

GetQueueContext returns a single page from the Lidarr Queue (processing, but not yet imported).

func (*Lidarr) GetQueuePage

func (l *Lidarr) GetQueuePage(params *starr.PageReq) (*Queue, error)

GetQueuePage returns a single page from the Lidarr Queue. The page size and number is configurable with the input request parameters.

func (*Lidarr) GetQueuePageContext

func (l *Lidarr) GetQueuePageContext(ctx context.Context, params *starr.PageReq) (*Queue, error)

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) GetTag

func (l *Lidarr) GetTag(tagID int) (*starr.Tag, error)

GetTag returns a single tag.

func (*Lidarr) GetTagContext

func (l *Lidarr) GetTagContext(ctx context.Context, tagID int) (*starr.Tag, error)

GetTagContext returns a single tag.

func (*Lidarr) GetTags

func (l *Lidarr) GetTags() ([]*starr.Tag, error)

GetTags returns all configured tags.

func (*Lidarr) GetTagsContext

func (l *Lidarr) GetTagsContext(ctx context.Context) ([]*starr.Tag, error)

GetTagsContext returns all configured tags.

func (*Lidarr) GetTrackFiles

func (l *Lidarr) GetTrackFiles(trackFileIDs []int64) ([]*TrackFile, error)

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

func (l *Lidarr) GetTrackFilesForAlbum(albumID int64) ([]*TrackFile, error)

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

func (l *Lidarr) GetTrackFilesForArtist(artistID int64) ([]*TrackFile, error)

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) Lookup

func (l *Lidarr) Lookup(term string) ([]*Album, error)

Lookup will search for albums matching the specified search term.

func (*Lidarr) LookupContext

func (l *Lidarr) LookupContext(ctx context.Context, term string) ([]*Album, error)

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

func (l *Lidarr) UpdateAlbum(albumID int64, album *Album, moveFiles bool) (*Album, error)

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

func (l *Lidarr) UpdateArtist(artist *Artist, moveFiles bool) (*Artist, error)

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

func (l *Lidarr) UpdateExclusion(exclusion *Exclusion) (*Exclusion, error)

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) UpdateTag

func (l *Lidarr) UpdateTag(tag *starr.Tag) (*starr.Tag, error)

UpdateTag updates a tag.

func (*Lidarr) UpdateTagContext

func (l *Lidarr) UpdateTagContext(ctx context.Context, tag *starr.Tag) (*starr.Tag, error)

UpdateTagContext updates a tag.

func (*Lidarr) UpdateTrackFile

func (l *Lidarr) UpdateTrackFile(trackFile *TrackFile) (*TrackFile, error)

UpdateTrackFile updates a track file.

func (*Lidarr) UpdateTrackFileContext

func (l *Lidarr) UpdateTrackFileContext(ctx context.Context, trackFile *TrackFile) (*TrackFile, error)

UpdateTrackFileContext 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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL