Documentation ¶
Index ¶
- Constants
- func NewGenericWebhook(_ yaml.Node) source.Source
- func NewRadarr(conf yaml.Node) source.Source
- func NewSonarrWebhook(conf yaml.Node) source.Source
- func ValidateGenericWebhookConfig(_ yaml.Node) error
- func ValidateRadarrConfig(conf yaml.Node) error
- func ValidateSonarrConfig(_ yaml.Node) error
- type GenericWebhook
- type Radarr
- func (rd *Radarr) HandleApplicationUpdate(r RadarrEvent) (event.Event, error)
- func (rd *Radarr) HandleHTTP(w http.ResponseWriter, r *http.Request) (event.Event, error)
- func (rd *Radarr) HandleHealthIssue(r RadarrEvent) (event.Event, error)
- func (rd *Radarr) HandleMovieEvent(r RadarrEvent) (event.Event, error)
- type RadarrApplicationUpdateEvent
- type RadarrConfig
- type RadarrEvent
- type RadarrEventType
- type RadarrHealthCheckEvent
- type RadarrHealthCheckType
- type RadarrHealthLevel
- type RadarrMediaInfo
- type RadarrMovie
- type RadarrMovieFile
- type RadarrRelease
- type RadarrRemoteMovie
- type Readarr
- type ReadarrConfig
- type ReadarrEvent
- type ReadarrEventType
- type ReadarrWebhookAuthor
- type ReadarrWebhookBook
- type ReadarrWebhookBookEdition
- type ReadarrWebhookRelease
- type RedearrWebhookBookFile
- type Sonarr
- func (s *Sonarr) HandleApplicationUpdate(se SonarrEvent) (event.Event, error)
- func (s *Sonarr) HandleEpisodeEvent(se SonarrEvent) (event.Event, error)
- func (s *Sonarr) HandleHTTP(w http.ResponseWriter, r *http.Request) (event.Event, error)
- func (s *Sonarr) HandleHealthIssue(se SonarrEvent) (event.Event, error)
- func (s *Sonarr) HandleSeriesEvent(se SonarrEvent) (event.Event, error)
- type SonarrConfig
- type SonarrCustomFormat
- type SonarrCustomFormatInfo
- type SonarrEpisodeFile
- type SonarrEvent
- type SonarrEventType
- type SonarrRelease
- type SonarrWebhookEpisode
- type SonarrWebhookFileMediaInfo
- type SonarrWebhookSeries
Constants ¶
View Source
const RadarrSource = "Radarr"
View Source
const RadarrSourceIconURL = "https://raw.githubusercontent.com/Radarr/Radarr/develop/Logo/256.png"
View Source
const SonarrIconURL = "https://raw.githubusercontent.com/Sonarr/Sonarr/develop/Logo/256.png"
View Source
const SonarrSource = "Sonarr"
Variables ¶
This section is empty.
Functions ¶
func NewGenericWebhook ¶
func NewSonarrWebhook ¶
func ValidateGenericWebhookConfig ¶
func ValidateGenericWebhookConfig(_ yaml.Node) error
func ValidateRadarrConfig ¶
func ValidateRadarrConfig(conf yaml.Node) error
func ValidateSonarrConfig ¶
func ValidateSonarrConfig(_ yaml.Node) error
Types ¶
type GenericWebhook ¶
type GenericWebhook struct{}
func (*GenericWebhook) HandleHTTP ¶
func (g *GenericWebhook) HandleHTTP(w http.ResponseWriter, r *http.Request) (event.Event, error)
type Radarr ¶
type Radarr struct {
// contains filtered or unexported fields
}
func (*Radarr) HandleApplicationUpdate ¶
func (rd *Radarr) HandleApplicationUpdate(r RadarrEvent) (event.Event, error)
func (*Radarr) HandleHTTP ¶
func (*Radarr) HandleHealthIssue ¶
func (rd *Radarr) HandleHealthIssue(r RadarrEvent) (event.Event, error)
func (*Radarr) HandleMovieEvent ¶
func (rd *Radarr) HandleMovieEvent(r RadarrEvent) (event.Event, error)
type RadarrConfig ¶
type RadarrEvent ¶
type RadarrEvent struct { DownloadClient string `json:"downloadClient,omitempty"` DownloadClientType string `json:"downloadClientType,omitempty"` DownloadID string `json:"downloadId,omitempty"` IsUpgrade bool `json:"isUpgrade,omitempty"` DeleteReason string `json:"deleteReason,omitempty"` Level string `json:"level,omitempty"` Message string `json:"message,omitempty"` Type string `json:"type,omitempty"` WikiUrl string `json:"wikiUrl,omitempty"` PreviousVersion string `json:"previousVersion,omitempty"` NewVersion string `json:"newVersion,omitempty"` EventType RadarrEventType `json:"eventType"` Movie *RadarrMovie `json:"movie,omitempty"` MovieFile *RadarrMovieFile `json:"movieFile,omitempty"` RemoteMovie *RadarrRemoteMovie `json:"remoteMovie,omitempty"` Release *RadarrRelease `json:"release,omitempty"` RenamedMovieFiles []RadarrMovieFile `json:"renamedMovieFiles,omitempty"` InstanceName string `json:"instanceName,omitempty"` ApplicationURL string `json:"applicationUrl,omitempty"` }
type RadarrEventType ¶
type RadarrEventType string
const ( RadarrEventGrab RadarrEventType = "Grab" RadarrEventDownload RadarrEventType = "Download" RadarrEventRename RadarrEventType = "Rename" RadarrEventAdded RadarrEventType = "MovieAdded" RadarrEventFileDeleted RadarrEventType = "MovieFileDelete" RadarrEventMovieDelete RadarrEventType = "MovieDelete" RadarrEventHealth RadarrEventType = "Health" RadarrEventHealthRestored RadarrEventType = "HealthRestored" RadarrEventUpdate RadarrEventType = "ApplicationUpdate" RadarrEventTest RadarrEventType = "Test" )
func (RadarrEventType) Description ¶
func (e RadarrEventType) Description() string
func (RadarrEventType) Event ¶
func (e RadarrEventType) Event() event.EventType
func (RadarrEventType) MarshalJSON ¶
func (e RadarrEventType) MarshalJSON() ([]byte, error)
func (RadarrEventType) String ¶
func (e RadarrEventType) String() string
func (*RadarrEventType) UnmarshalJSON ¶
func (e *RadarrEventType) UnmarshalJSON(b []byte) error
type RadarrHealthCheckEvent ¶
type RadarrHealthCheckEvent struct { Type RadarrHealthCheckType `json:"type"` Level RadarrHealthLevel `json:"level"` Message string `json:"message"` WikiURL string `json:"wikiUrl"` EventType string `json:"eventType"` }
type RadarrHealthCheckType ¶
type RadarrHealthCheckType string
const ( RadarrIndexerRSSCheck RadarrHealthCheckType = "IndexerRssCheck" RadarrIndexerSearchCheck RadarrHealthCheckType = "IndexerSearchCheck" RadarrIndexerStatusCheck RadarrHealthCheckType = "IndexerStatusCheck" RadarrIndexerJackettAllCheck RadarrHealthCheckType = "IndexerJackettAllCheck" RadarrIndexerLongTermStatusCheck RadarrHealthCheckType = "IndexerLongTermStatusCheck" RadarrDownloadClientCheck RadarrHealthCheckType = "DownloadClientCheck" RadarrDownloadClientStatusCheck RadarrHealthCheckType = "DownloadClientStatusCheck" RadarrImportMechanismCheck RadarrHealthCheckType = "ImportMechanismCheck" RadarrRootFolderCheck RadarrHealthCheckType = "RootFolderCheck" RadarrUpdateCheck RadarrHealthCheckType = "UpdateCheck" )
func (RadarrHealthCheckType) MarshalJSON ¶
func (r RadarrHealthCheckType) MarshalJSON() ([]byte, error)
func (RadarrHealthCheckType) String ¶
func (r RadarrHealthCheckType) String() string
func (*RadarrHealthCheckType) UnmarshalJSON ¶
func (r *RadarrHealthCheckType) UnmarshalJSON(b []byte) error
type RadarrHealthLevel ¶
type RadarrHealthLevel string
const ( RadarrHealthOK RadarrHealthLevel = "ok" RadarrHealthNotice RadarrHealthLevel = "notice" RadarrHealthWarning RadarrHealthLevel = "warning" RadarrHealthError RadarrHealthLevel = "error" )
func (RadarrHealthLevel) MarshalJSON ¶
func (r RadarrHealthLevel) MarshalJSON() ([]byte, error)
func (RadarrHealthLevel) String ¶
func (r RadarrHealthLevel) String() string
func (*RadarrHealthLevel) UnmarshalJSON ¶
func (r *RadarrHealthLevel) UnmarshalJSON(b []byte) error
type RadarrMediaInfo ¶
type RadarrMediaInfo struct { AudioChannels float64 `json:"audioChannels"` AudioCodec string `json:"audioCodec"` AudioLanguages []string `json:"audioLanguages"` Height int `json:"height"` Width int `json:"width"` Subtitles []string `json:"subtitles"` VideoCodec string `json:"videoCodec"` VideoDynamicRange string `json:"videoDynamicRange"` VideoDynamicRangeType string `json:"videoDynamicRangeType"` }
type RadarrMovie ¶
type RadarrMovieFile ¶
type RadarrMovieFile struct { ID int64 `json:"id"` RelativePath string `json:"relativePath"` Path string `json:"path"` Quality string `json:"quality"` QualityVersion int `json:"qualityVersion"` ReleaseGroup string `json:"releaseGroup"` SceneName string `json:"sceneName"` IndexerFlags string `json:"indexerFlags"` SizeBytes int64 `json:"size"` DateAdded string `json:"dateAdded"` // TODO: Parse as DateTime MediaInfo RadarrMediaInfo `json:"mediaInfo"` }
type RadarrRelease ¶
type RadarrRelease struct { Quality string `json:"quality"` QualityVersion int64 `json:"qualityVersion"` ReleaseGroup string `json:"releaseGroup"` ReleaseTitle string `json:"releaseTitle"` Indexer string `json:"indexer"` SizeBytes int64 `json:"size"` CustomFormatScore int64 `json:"customFormatScore"` CustomFormats []string `json:"customFormats"` }
type RadarrRemoteMovie ¶
type Readarr ¶
type Readarr struct {
// contains filtered or unexported fields
}
func NewReadarr ¶
func NewReadarr(conf yaml.Node) *Readarr
func (*Readarr) HandleHTTP ¶
type ReadarrConfig ¶
type ReadarrEvent ¶
type ReadarrEvent struct { EventType ReadarrEventType `json:"eventType"` InstanceName string `json:"instanceName"` Author *ReadarrWebhookAuthor `json:"author"` Book *ReadarrWebhookBook `json:"book"` Books []ReadarrWebhookBook `json:"books"` BookFile *RedearrWebhookBookFile `json:"bookFile"` BookFiles []RedearrWebhookBookFile `json:"bookFiles"` DeletedFiles []RedearrWebhookBookFile `json:"deletedFiles"` RenamedBookFiles []RedearrWebhookBookFile `json:"renamedBookFiles"` IsUpgrade bool `json:"isUpgrade"` Release *ReadarrWebhookRelease `json:"release"` DownloadClient string `json:"downloadClient"` DownloadClientType string `json:"downloadClientType"` DownloadID string `json:"downloadId"` Level string `json:"level"` Message string `json:"message"` Type string `json:"type"` WikiURL string `json:"wikiUrl"` PreviousVersion string `json:"previousVersion"` NewVersion string `json:"newVersion"` }
type ReadarrEventType ¶
type ReadarrEventType string
const ( ReadarrEventTest ReadarrEventType = "Test" ReadarrEventGrabbed ReadarrEventType = "Grab" ReadarrEventReleaseImport ReadarrEventType = "ReleaseImport" ReadarrEventRename ReadarrEventType = "Rename" ReadarrEventAuthorDelete ReadarrEventType = "AuthorDelete" ReadarrEventBookDelete ReadarrEventType = "BookDelete" ReadarrEventBookFileDelete ReadarrEventType = "BookFileDelete" ReadarrEventBookRetag ReadarrEventType = "Retag" ReadarrEventHealthIssue ReadarrEventType = "Health" ReadarrEventUpgrade ReadarrEventType = "ApplicationUpdate" )
func (ReadarrEventType) Description ¶
func (e ReadarrEventType) Description() string
func (ReadarrEventType) Event ¶
func (e ReadarrEventType) Event() event.EventType
func (ReadarrEventType) MarshalJSON ¶
func (e ReadarrEventType) MarshalJSON() ([]byte, error)
func (ReadarrEventType) String ¶
func (e ReadarrEventType) String() string
func (*ReadarrEventType) UnmarshalJSON ¶
func (e *ReadarrEventType) UnmarshalJSON(b []byte) error
type ReadarrWebhookAuthor ¶
type ReadarrWebhookBook ¶
type ReadarrWebhookBook struct { ID int64 `json:"id"` GoodreadsID int64 `json:"goodreadsId"` Title string `json:"title"` ReleaseDate string `json:"releaseDate"` Edition ReadarrWebhookBookEdition `json:"edition"` }
type ReadarrWebhookRelease ¶
type ReadarrWebhookRelease struct { Quality string `json:"quality"` QualityVersion int `json:"qualityVersion"` ReleaseGroup string `json:"releaseGroup"` ReleaseTitle string `json:"releaseTitle"` Indexer string `json:"indexer"` SizeBytes int64 `json:"size"` CustomFormats []string `json:"customFormats"` CustomFormatScore int `json:"customFormatScore"` }
type RedearrWebhookBookFile ¶
type RedearrWebhookBookFile struct { ID int64 `json:"id"` Path string `json:"path"` Quality string `json:"quality"` QualityVersion int `json:"qualityVersion"` ReleaseGroup string `json:"releaseGroup"` SceneName string `json:"sceneName"` SizeBytes int64 `json:"size"` DateAdded string `json:"dateAdded"` }
type Sonarr ¶
type Sonarr struct {
// contains filtered or unexported fields
}
func (*Sonarr) HandleApplicationUpdate ¶
func (s *Sonarr) HandleApplicationUpdate(se SonarrEvent) (event.Event, error)
func (*Sonarr) HandleEpisodeEvent ¶
func (s *Sonarr) HandleEpisodeEvent(se SonarrEvent) (event.Event, error)
func (*Sonarr) HandleHTTP ¶
func (*Sonarr) HandleHealthIssue ¶
func (s *Sonarr) HandleHealthIssue(se SonarrEvent) (event.Event, error)
func (*Sonarr) HandleSeriesEvent ¶
func (s *Sonarr) HandleSeriesEvent(se SonarrEvent) (event.Event, error)
type SonarrConfig ¶
type SonarrCustomFormat ¶
type SonarrCustomFormatInfo ¶
type SonarrCustomFormatInfo struct { CustomFormatScore int `json:"customFormatScore"` CustomFormats []SonarrCustomFormat `json:"customFormats"` }
type SonarrEpisodeFile ¶
type SonarrEpisodeFile struct { ID int64 `json:"id"` RelativePath string `json:"relativePath"` Path string `json:"path"` Quality string `json:"quality"` QualityVersion int `json:"qualityVersion"` ReleaseGroup string `json:"releaseGroup"` SceneName string `json:"sceneName"` Size int64 `json:"size"` DateAdded string `json:"dateAdded"` MediaInfo SonarrWebhookFileMediaInfo `json:"mediaInfo"` }
type SonarrEvent ¶
type SonarrEvent struct { EventType SonarrEventType `json:"eventType"` InstanceName string `json:"instanceName"` ApplicationURL string `json:"applicationUrl"` Series *SonarrWebhookSeries `json:"series"` Episodes []SonarrWebhookEpisode `json:"episodes"` EpisodeFile *SonarrEpisodeFile `json:"episodeFile"` DownloadClient string `json:"downloadClient"` DownloadClientType string `json:"downloadClientType"` DownloadID string `json:"downloadId"` CustomFormatInfo *SonarrCustomFormatInfo `json:"customFormatInfo"` IsUpgrade bool `json:"isUpgrade"` DeletedFiles []SonarrEpisodeFile `json:"deletedFiles"` DeleteReason string `json:"deleteReason"` RenamedEpisodeFiles []SonarrEpisodeFile `json:"renamedEpisodeFiles"` Level string `json:"level"` Type string `json:"type"` Message string `json:"message"` WikiURL string `json:"wikiUrl"` PreviousVersion string `json:"previousVersion"` NewVersion string `json:"newVersion"` }
type SonarrEventType ¶
type SonarrEventType string
const ( SonarrEventGrab SonarrEventType = "Grab" SonarrEventDownload SonarrEventType = "Download" SonarrEventRename SonarrEventType = "Rename" SonarrEventSeriesAdd SonarrEventType = "SeriesAdd" SonarrEventSeriesDelete SonarrEventType = "SeriesDelete" SonarrEventEpisodeFileDelete SonarrEventType = "EpisodeFileDelete" SonarrEventTest SonarrEventType = "Test" SonarrEventHealth SonarrEventType = "Health" SonarrEventHealthRestored SonarrEventType = "HealthRestored" SonarrEventUpgrade SonarrEventType = "Upgrade" SonarrEventUnknown SonarrEventType = "Unknown" )
func (SonarrEventType) Description ¶
func (se SonarrEventType) Description() string
func (SonarrEventType) Event ¶
func (se SonarrEventType) Event() event.EventType
func (SonarrEventType) String ¶
func (se SonarrEventType) String() string
type SonarrRelease ¶
type SonarrRelease struct { Quality string `json:"quality"` QualityVersion int `json:"qualityVersion"` ReleaseGroup string `json:"releaseGroup"` ReleaseTitle string `json:"releaseTitle"` Indexer string `json:"indexer"` SizeBytes int `json:"size"` CustomFormatScore int `json:"customFormatScore"` CustomFormats []string `json:"customFormats"` }
type SonarrWebhookEpisode ¶
type SonarrWebhookEpisode struct { ID int64 `json:"id"` SeasonNumber int `json:"seasonNumber"` EpisodeNumber int `json:"episodeNumber"` Title string `json:"title"` Overview string `json:"overview"` AirDate string `json:"airDate"` AirDateUTC string `json:"airDateUtc"` SeriesID int `json:"seriesId"` }
type SonarrWebhookFileMediaInfo ¶
type SonarrWebhookFileMediaInfo struct { AudioChannels float64 `json:"audioChannels"` AudioCodec string `json:"audioCodec"` AudioLanguages []string `json:"audioLanguages"` Height int `json:"height"` Width int `json:"width"` Subtitles []string `json:"subtitles"` VideoCodec string `json:"videoCodec"` VideoDynamicRange string `json:"videoDynamicRange"` VideoDynamicRangeType string `json:"videoDynamicRangeType"` }
type SonarrWebhookSeries ¶
Click to show internal directories.
Click to hide internal directories.