Documentation ¶
Overview ¶
Package starrcmd provides the bindings to consume a custom script command hook from any Starr app. Create these by going into Settings->Connect->Custom Script in Lidarr, Prowlarr, Radarr, Readarr, or Sonarr. See the included example_test.go file for examples on how to use this module.
Example ¶
This is an example main() function that uses the golft.io/starr/starrcmd module.
//nolint:exhaustive,testableexamples package main import ( "fmt" "golift.io/starr" "golift.io/starr/starrcmd" ) /* This example assumes you want to handle custom script command hooks for all applications. Trim it to what you need; this is just an example. */ // This is an example main() function that uses the golft.io/starr/starrcmd module. func main() { // Do your own configuration input here. cmd, err := starrcmd.New() if err != nil { panic(err) } switch cmd.App { case starr.Radarr: DoRadarr(cmd) case starr.Sonarr: DoSonarr(cmd) case starr.Readarr: DoReadarr(cmd) case starr.Lidarr: DoLidarr(cmd) case starr.Prowlarr: DoProwlarr(cmd) } } // DoRadarr handles any Radarr event. func DoRadarr(cmd *starrcmd.CmdEvent) { //nolint:cyclop fmt.Println("Processing Radarr Event: ", cmd.Type) switch cmd.Type { case starrcmd.EventGrab: grab, err := cmd.GetRadarrGrab() if err != nil { panic(err) } fmt.Println(grab.Title) case starrcmd.EventApplicationUpdate: update, err := cmd.GetRadarrApplicationUpdate() if err != nil { panic(err) } fmt.Println(update.Message) case starrcmd.EventDownload: download, err := cmd.GetRadarrDownload() if err != nil { panic(err) } fmt.Println(download.Title) case starrcmd.EventHealthIssue: health, err := cmd.GetRadarrHealthIssue() if err != nil { panic(err) } fmt.Println(health.IssueType, health.Message) case starrcmd.EventMovieFileDelete: movie, err := cmd.GetRadarrMovieFileDelete() if err != nil { panic(err) } fmt.Println(movie.Title, movie.Path) case starrcmd.EventTest: // nothing, it's useless default: fmt.Println("Ignored Radarr Event: ", cmd.Type) } } /* The following procedures are just more examples. They're left empty on purpose. */ // DoSonarr handles any Sonarr event. func DoSonarr(command *starrcmd.CmdEvent) { fmt.Println("Processing Sonarr Event: ", command.Type) switch command.Type { case starrcmd.EventGrab: case starrcmd.EventApplicationUpdate: case starrcmd.EventDownload: case starrcmd.EventHealthIssue: default: fmt.Println("Ignored Sonarr Event: ", command.Type) } } // DoLidarr handles any Lidarr event. func DoLidarr(command *starrcmd.CmdEvent) { fmt.Println("Processing Lidarr Event: ", command.Type) switch command.Type { case starrcmd.EventGrab: case starrcmd.EventApplicationUpdate: case starrcmd.EventDownload: case starrcmd.EventHealthIssue: default: fmt.Println("Ignored Lidarr Event: ", command.Type) } } // DoReadarr handles any Readarr event. func DoReadarr(command *starrcmd.CmdEvent) { fmt.Println("Processing Readarr Event: ", command.Type) switch command.Type { case starrcmd.EventGrab: case starrcmd.EventApplicationUpdate: case starrcmd.EventDownload: case starrcmd.EventHealthIssue: default: fmt.Println("Ignored Readarr Event: ", command.Type) } } // DoProwlarr handles any Prowlarr event. func DoProwlarr(command *starrcmd.CmdEvent) { fmt.Println("Processing Prowlarr Event: ", command.Type) switch command.Type { case starrcmd.EventApplicationUpdate: case starrcmd.EventHealthIssue: default: fmt.Println("Ignored Prowlarr Event: ", command.Type) } }
Output:
Index ¶
- Constants
- Variables
- type CmdEvent
- func (c *CmdEvent) GetLidarrAlbumDownload() (output LidarrAlbumDownload, err error)
- func (c *CmdEvent) GetLidarrApplicationUpdate() (output LidarrApplicationUpdate, err error)
- func (c *CmdEvent) GetLidarrGrab() (output LidarrGrab, err error)
- func (c *CmdEvent) GetLidarrHealthIssue() (output LidarrHealthIssue, err error)
- func (c *CmdEvent) GetLidarrRename() (output LidarrRename, err error)
- func (c *CmdEvent) GetLidarrTest() (output LidarrTest, err error)
- func (c *CmdEvent) GetLidarrTrackRetag() (output LidarrTrackRetag, err error)
- func (c *CmdEvent) GetProwlarrApplicationUpdate() (output ProwlarrApplicationUpdate, err error)
- func (c *CmdEvent) GetProwlarrHealthIssue() (output ProwlarrHealthIssue, err error)
- func (c *CmdEvent) GetProwlarrTest() (output ProwlarrTest, err error)
- func (c *CmdEvent) GetRadarrApplicationUpdate() (output RadarrApplicationUpdate, err error)
- func (c *CmdEvent) GetRadarrDownload() (output RadarrDownload, err error)
- func (c *CmdEvent) GetRadarrGrab() (output RadarrGrab, err error)
- func (c *CmdEvent) GetRadarrHealthIssue() (output RadarrHealthIssue, err error)
- func (c *CmdEvent) GetRadarrMovieDelete() (output RadarrMovieDelete, err error)
- func (c *CmdEvent) GetRadarrMovieFileDelete() (output RadarrMovieFileDelete, err error)
- func (c *CmdEvent) GetRadarrRename() (output RadarrRename, err error)
- func (c *CmdEvent) GetRadarrTest() (output RadarrTest, err error)
- func (c *CmdEvent) GetReadarrApplicationUpdate() (output ReadarrApplicationUpdate, err error)
- func (c *CmdEvent) GetReadarrAuthorDelete() (output ReadarrAuthorDelete, err error)
- func (c *CmdEvent) GetReadarrBookDelete() (output ReadarrBookDelete, err error)
- func (c *CmdEvent) GetReadarrBookFileDelete() (output ReadarrBookFileDelete, err error)
- func (c *CmdEvent) GetReadarrDownload() (output ReadarrDownload, err error)
- func (c *CmdEvent) GetReadarrGrab() (output ReadarrGrab, err error)
- func (c *CmdEvent) GetReadarrHealthIssue() (output ReadarrHealthIssue, err error)
- func (c *CmdEvent) GetReadarrRename() (output ReadarrRename, err error)
- func (c *CmdEvent) GetReadarrTest() (output ReadarrTest, err error)
- func (c *CmdEvent) GetReadarrTrackRetag() (output ReadarrTrackRetag, err error)
- func (c *CmdEvent) GetSonarrApplicationUpdate() (output SonarrApplicationUpdate, err error)
- func (c *CmdEvent) GetSonarrDownload() (output SonarrDownload, err error)
- func (c *CmdEvent) GetSonarrEpisodeFileDelete() (output SonarrEpisodeFileDelete, err error)
- func (c *CmdEvent) GetSonarrGrab() (output SonarrGrab, err error)
- func (c *CmdEvent) GetSonarrHealthIssue() (output SonarrHealthIssue, err error)
- func (c *CmdEvent) GetSonarrRename() (output SonarrRename, err error)
- func (c *CmdEvent) GetSonarrSeriesDelete() (output SonarrSeriesDelete, err error)
- func (c *CmdEvent) GetSonarrTest() (output SonarrTest, err error)
- type Event
- type LidarrAlbumDownload
- type LidarrApplicationUpdate
- type LidarrGrab
- type LidarrHealthIssue
- type LidarrRename
- type LidarrTest
- type LidarrTrackRetag
- type ProwlarrApplicationUpdate
- type ProwlarrHealthIssue
- type ProwlarrTest
- type RadarrApplicationUpdate
- type RadarrDownload
- type RadarrGrab
- type RadarrHealthIssue
- type RadarrMovieDelete
- type RadarrMovieFileDelete
- type RadarrRename
- type RadarrTest
- type ReadarrApplicationUpdate
- type ReadarrAuthorDelete
- type ReadarrBookDelete
- type ReadarrBookFileDelete
- type ReadarrDownload
- type ReadarrGrab
- type ReadarrHealthIssue
- type ReadarrRename
- type ReadarrTest
- type ReadarrTrackRetag
- type SonarrApplicationUpdate
- type SonarrDownload
- type SonarrEpisodeFileDelete
- type SonarrGrab
- type SonarrHealthIssue
- type SonarrRename
- type SonarrSeriesDelete
- type SonarrTest
Examples ¶
Constants ¶
const DateFormat = "1/2/2006 3:04:05 PM"
DateFormat matches the date output from most apps.
const DateFormat2 = "01/02/2006 15:04:05"
DateFormat2 matches the date output from Readarr.
Variables ¶
var ( // ErrInvalidEvent is returned if you invoke a procedure for the wrong event. ErrInvalidEvent = fmt.Errorf("incorrect event type requested") // ErrNoEventFound is returned if an event type is not found. // This should only happen when testing and you forget a variable. ErrNoEventFound = fmt.Errorf("no eventType environment variable found") )
Functions ¶
This section is empty.
Types ¶
type CmdEvent ¶
CmdEvent holds the current event type and the app that triggered it. Get one of these by calling New().
func New ¶
New returns the current Event and Application it's from, or an error if the type doesn't exist. When running from a Starr App Custom Script this should not return an error.
func NewMust ¶
func NewMust() *CmdEvent
NewMust returns a command event without returning an error. It will panic if the event does not exist. When running from a Starr App Custom Script this should not panic.
func NewMustNoPanic ¶
func NewMustNoPanic() *CmdEvent
NewMustNoPanic returns a command event and allows your code to handle the problem. When running from a Starr App Custom Script this should always return a proper event.
func (*CmdEvent) GetLidarrAlbumDownload ¶
func (c *CmdEvent) GetLidarrAlbumDownload() (output LidarrAlbumDownload, err error)
GetLidarrAlbumDownload returns the AlbumDownload event data.
func (*CmdEvent) GetLidarrApplicationUpdate ¶
func (c *CmdEvent) GetLidarrApplicationUpdate() (output LidarrApplicationUpdate, err error)
GetLidarrApplicationUpdate returns the ApplicationUpdate event data.
func (*CmdEvent) GetLidarrGrab ¶
func (c *CmdEvent) GetLidarrGrab() (output LidarrGrab, err error)
GetLidarrGrab returns the Grab event data.
func (*CmdEvent) GetLidarrHealthIssue ¶
func (c *CmdEvent) GetLidarrHealthIssue() (output LidarrHealthIssue, err error)
GetLidarrHealthIssue returns the ApplicationUpdate event data.
func (*CmdEvent) GetLidarrRename ¶
func (c *CmdEvent) GetLidarrRename() (output LidarrRename, err error)
GetLidarrRename returns the Rename event data.
func (*CmdEvent) GetLidarrTest ¶
func (c *CmdEvent) GetLidarrTest() (output LidarrTest, err error)
GetLidarrTest returns the ApplicationUpdate event data.
func (*CmdEvent) GetLidarrTrackRetag ¶
func (c *CmdEvent) GetLidarrTrackRetag() (output LidarrTrackRetag, err error)
GetLidarrTrackRetag returns the TrackRetag event data.
func (*CmdEvent) GetProwlarrApplicationUpdate ¶
func (c *CmdEvent) GetProwlarrApplicationUpdate() (output ProwlarrApplicationUpdate, err error)
GetProwlarrApplicationUpdate returns the ApplicationUpdate event data.
func (*CmdEvent) GetProwlarrHealthIssue ¶
func (c *CmdEvent) GetProwlarrHealthIssue() (output ProwlarrHealthIssue, err error)
GetProwlarrHealthIssue returns the ApplicationUpdate event data.
func (*CmdEvent) GetProwlarrTest ¶
func (c *CmdEvent) GetProwlarrTest() (output ProwlarrTest, err error)
GetProwlarrTest returns the ApplicationUpdate event data.
func (*CmdEvent) GetRadarrApplicationUpdate ¶
func (c *CmdEvent) GetRadarrApplicationUpdate() (output RadarrApplicationUpdate, err error)
GetRadarrApplicationUpdate returns the ApplicationUpdate event data.
func (*CmdEvent) GetRadarrDownload ¶
func (c *CmdEvent) GetRadarrDownload() (output RadarrDownload, err error)
GetRadarrDownload returns the Download event data.
func (*CmdEvent) GetRadarrGrab ¶
func (c *CmdEvent) GetRadarrGrab() (output RadarrGrab, err error)
GetRadarrGrab returns the Grab event data.
func (*CmdEvent) GetRadarrHealthIssue ¶
func (c *CmdEvent) GetRadarrHealthIssue() (output RadarrHealthIssue, err error)
GetRadarrHealthIssue returns the HealthIssue event data.
func (*CmdEvent) GetRadarrMovieDelete ¶
func (c *CmdEvent) GetRadarrMovieDelete() (output RadarrMovieDelete, err error)
GetRadarrMovieDelete returns the MovieDelete event data.
func (*CmdEvent) GetRadarrMovieFileDelete ¶
func (c *CmdEvent) GetRadarrMovieFileDelete() (output RadarrMovieFileDelete, err error)
GetRadarrMovieFileDelete returns the MovieFileDelete event data.
func (*CmdEvent) GetRadarrRename ¶
func (c *CmdEvent) GetRadarrRename() (output RadarrRename, err error)
GetRadarrRename returns the Rename event data.
func (*CmdEvent) GetRadarrTest ¶
func (c *CmdEvent) GetRadarrTest() (output RadarrTest, err error)
GetRadarrTest returns the Test event data.
func (*CmdEvent) GetReadarrApplicationUpdate ¶
func (c *CmdEvent) GetReadarrApplicationUpdate() (output ReadarrApplicationUpdate, err error)
GetReadarrApplicationUpdate returns the ApplicationUpdate event data.
func (*CmdEvent) GetReadarrAuthorDelete ¶
func (c *CmdEvent) GetReadarrAuthorDelete() (output ReadarrAuthorDelete, err error)
GetReadarrAuthorDelete returns the AuthorDelete event data.
func (*CmdEvent) GetReadarrBookDelete ¶
func (c *CmdEvent) GetReadarrBookDelete() (output ReadarrBookDelete, err error)
GetReadarrBookDelete returns the BookDelete event data.
func (*CmdEvent) GetReadarrBookFileDelete ¶
func (c *CmdEvent) GetReadarrBookFileDelete() (output ReadarrBookFileDelete, err error)
GetReadarrBookFileDelete returns the BookFileDelete event data.
func (*CmdEvent) GetReadarrDownload ¶
func (c *CmdEvent) GetReadarrDownload() (output ReadarrDownload, err error)
GetReadarrDownload returns the Download event data.
func (*CmdEvent) GetReadarrGrab ¶
func (c *CmdEvent) GetReadarrGrab() (output ReadarrGrab, err error)
GetReadarrGrab returns the Grab event data.
func (*CmdEvent) GetReadarrHealthIssue ¶
func (c *CmdEvent) GetReadarrHealthIssue() (output ReadarrHealthIssue, err error)
GetReadarrHealthIssue returns the ApplicationUpdate event data.
func (*CmdEvent) GetReadarrRename ¶
func (c *CmdEvent) GetReadarrRename() (output ReadarrRename, err error)
GetReadarrRename returns the Rename event data.
func (*CmdEvent) GetReadarrTest ¶
func (c *CmdEvent) GetReadarrTest() (output ReadarrTest, err error)
GetReadarrTest returns the ApplicationUpdate event data.
func (*CmdEvent) GetReadarrTrackRetag ¶
func (c *CmdEvent) GetReadarrTrackRetag() (output ReadarrTrackRetag, err error)
GetReadarrTrackRetag returns the TrackRetag event data.
func (*CmdEvent) GetSonarrApplicationUpdate ¶
func (c *CmdEvent) GetSonarrApplicationUpdate() (output SonarrApplicationUpdate, err error)
GetSonarrApplicationUpdate returns the ApplicationUpdate event data.
func (*CmdEvent) GetSonarrDownload ¶
func (c *CmdEvent) GetSonarrDownload() (output SonarrDownload, err error)
GetSonarrDownload returns the Download event data.
func (*CmdEvent) GetSonarrEpisodeFileDelete ¶
func (c *CmdEvent) GetSonarrEpisodeFileDelete() (output SonarrEpisodeFileDelete, err error)
GetSonarrEpisodeFileDelete returns the EpisodeFileDelete event data.
func (*CmdEvent) GetSonarrGrab ¶
func (c *CmdEvent) GetSonarrGrab() (output SonarrGrab, err error)
GetSonarrGrab returns the Grab event data.
func (*CmdEvent) GetSonarrHealthIssue ¶
func (c *CmdEvent) GetSonarrHealthIssue() (output SonarrHealthIssue, err error)
GetSonarrHealthIssue returns the ApplicationUpdate event data.
func (*CmdEvent) GetSonarrRename ¶
func (c *CmdEvent) GetSonarrRename() (output SonarrRename, err error)
GetSonarrRename returns the Rename event data.
func (*CmdEvent) GetSonarrSeriesDelete ¶
func (c *CmdEvent) GetSonarrSeriesDelete() (output SonarrSeriesDelete, err error)
GetSonarrSeriesDelete returns the SeriesDelete event data.
func (*CmdEvent) GetSonarrTest ¶
func (c *CmdEvent) GetSonarrTest() (output SonarrTest, err error)
GetSonarrTest returns the ApplicationUpdate event data.
type Event ¶
type Event string
Event is a custom type to hold our EventType.
const ( EventTest Event = "Test" // All Apps, useless EventHealthIssue Event = "HealthIssue" // All Apps EventApplicationUpdate Event = "ApplicationUpdate" // All Apps EventGrab Event = "Grab" // All Apps except Prowlarr EventRename Event = "Rename" // All Apps except Prowlarr EventDownload Event = "Download" // All Apps except Prowlarr/Lidarr EventTrackRetag Event = "TrackRetag" // Lidarr & Readarr EventAlbumDownload Event = "AlbumDownload" // Lidarr EventMovieFileDelete Event = "MovieFileDelete" // Radarr EventMovieDelete Event = "MovieDelete" // Radarr EventBookDelete Event = "BookDelete" // Readarr EventAuthorDelete Event = "AuthorDelete" // Readarr EventBookFileDelete Event = "BookFileDelete" // Readarr EventSeriesDelete Event = "SeriesDelete" // Sonarr EventEpisodeFileDelete Event = "EpisodeFileDelete" // Sonarr )
This list of constants represents all available and existing Event Types for all five Starr apps. Lidarr is complete; 1/30/2022. Prowlarr is complete; 1/30/2022. Radarr is complete; 1/30/2022. Readarr is complete; 1/30/2022. Sonarr is complete; 1/30/2022.
type LidarrAlbumDownload ¶
type LidarrAlbumDownload struct { ArtistID int64 `env:"lidarr_artist_id"` // artist.Id.ToString()) ArtistName string `env:"lidarr_artist_name"` // artist.Metadata.Value.Name) Path string `env:"lidarr_artist_path"` // artist.Path) ArtistMBID string `env:"lidarr_artist_mbid"` // artist.Metadata.Value.ForeignArtistId) ArtistType string `env:"lidarr_artist_type"` // artist.Metadata.Value.Type) AlbumID int64 `env:"lidarr_album_id"` // album.Id.ToString()) Title string `env:"lidarr_album_title"` // album.Title) MBID string `env:"lidarr_album_mbid"` // album.ForeignAlbumId) AlbumReleaseMBID string `env:"lidarr_albumrelease_mbid"` // release.ForeignReleaseId) ReleaseDate time.Time `env:"lidarr_album_releasedate"` // album.ReleaseDate.ToString()) DownloadClient string `env:"lidarr_download_client"` // message.DownloadClient ?? string.Empty) DownloadID string `env:"lidarr_download_id"` // message.DownloadId ?? string.Empty) AddedTrackPaths []string `env:"lidarr_addedtrackpaths,|"` // string.Join("|", message.TrackFiles.Select(e => e.Path))) DeletedPaths []string `env:"lidarr_deletedpaths,|"` // string.Join("|", message.OldFiles.Select(e => e.Path))) }
LidarrAlbumDownload is the AlbumDownload event.
type LidarrApplicationUpdate ¶
type LidarrApplicationUpdate struct { PreviousVersion string `env:"lidarr_update_previousversion"` // 4.0.3.5875 NewVersion string `env:"lidarr_update_newversion"` // 4.0.4.5909 Message string `env:"lidarr_update_message"` // Lidarr updated from 4.0.3.5875 to 4.0.4.5909 }
LidarrApplicationUpdate is the ApplicationUpdate event.
type LidarrGrab ¶
type LidarrGrab struct { DownloadClient string `env:"lidarr_download_client"` // Deluge AlbumCount int `env:"lidarr_release_albumcount"` // 1 Size int64 `env:"lidarr_release_size"` // 433061888 ReleaseDates []time.Time `env:"lidarr_release_albumreleasedates,,"` // 4/21/2010 12:00:00 AM ArtistID int64 `env:"lidarr_artist_id"` // 262 ArtistName string `env:"lidarr_artist_name"` // Tom Petty and the Heartbreakers MBID string `env:"lidarr_artist_mbid"` // f93dbc64-6f08-4033-bcc7-8a0bb4689849 Indexer string `env:"lidarr_release_indexer"` // Indexilate (Prowlarr) QualityVerson int64 `env:"lidarr_release_qualityversion"` // 1 Quality string `env:"lidarr_release_quality"` // FLAC ReleaseGroup string `env:"lidarr_release_releasegroup"` // ReleaseTitle string `env:"lidarr_release_title"` // Tom Petty & The Heartbreakers - Mojo (2010) [FLAC (tracks + cue)] AlbumMBIDs []string `env:"lidarr_release_albummbids,|"` // 75f6f410-73e6-485b-898d-6fdaea4c0266 DownloadID string `env:"lidarr_download_id"` // 4A87D9F5F92D82DF4076463E90CC49F27077CB10 Titles []string `env:"lidarr_release_albumtitles,|"` // Mojo ArtistType string `env:"lidarr_artist_type"` // Group }
LidarrGrab is the Grab event.
type LidarrHealthIssue ¶
type LidarrHealthIssue struct { Message string `env:"lidarr_health_issue_message"` // Lists unavailable due to failures: List name here IssueType string `env:"lidarr_health_issue_type"` // ImportListStatusCheck Wiki string `env:"lidarr_health_issue_wiki"` // https://wiki.servarr.com/lidarr/ Level string `env:"lidarr_health_issue_level"` // Warning }
LidarrHealthIssue is the HealthIssue event.
type LidarrRename ¶
type LidarrRename struct { ArtistID int64 `env:"lidarr_artist_id"` // artist.Id.ToString()) ArtistName string `env:"lidarr_artist_name"` // artist.Metadata.Value.Name) Path string `env:"lidarr_artist_path"` // artist.Path) ArtistMBID string `env:"lidarr_artist_mbid"` // artist.Metadata.Value.ForeignArtistId) ArtistType string `env:"lidarr_artist_type"` // artist.Metadata.Value.Type) }
LidarrRename is the Rename event.
type LidarrTrackRetag ¶
type LidarrTrackRetag struct { ArtistID int64 `env:"lidarr_artist_id"` // artist.Id.ToString()) ArtistName string `env:"lidarr_artist_name"` // artist.Metadata.Value.Name) Path string `env:"lidarr_artist_path"` // artist.Path) ArtistMBID string `env:"lidarr_artist_mbid"` // artist.Metadata.Value.ForeignArtistId) ArtistType string `env:"lidarr_artist_type"` // artist.Metadata.Value.Type) ID int64 `env:"lidarr_album_id"` // album.Id.ToString()) Title string `env:"lidarr_album_title"` // album.Title) MBID string `env:"lidarr_album_mbid"` // album.ForeignAlbumId) AlbumReleaseMBID string `env:"lidarr_albumrelease_mbid"` // release.ForeignReleaseId) ReleaseDate time.Time `env:"lidarr_album_releasedate"` // album.ReleaseDate.ToString()) FileID int64 `env:"lidarr_trackfile_id"` // trackFile.Id.ToString()) TrackCount string `env:"lidarr_trackfile_trackcount"` // trackFile.Tracks.Value.Count.ToString()) FilePath string `env:"lidarr_trackfile_path"` // trackFile.Path) TrackNumbers []int `env:"lidarr_trackfile_tracknumbers,,"` // string.Join(",", trackFile.Tracks.Value.Select(e => e.TrackNumber))) TrackTitles []string `env:"lidarr_trackfile_tracktitles,|"` // string.Join("|", trackFile.Tracks.Value.Select(e => e.Title))) Quality string `env:"lidarr_trackfile_quality"` // trackFile.Quality.Quality.Name) QualityVersion int64 `env:"lidarr_trackfile_qualityversion"` // trackFile.Quality.Revision.Version.ToString()) ReleaseGroup string `env:"lidarr_trackfile_releasegroup"` // trackFile.ReleaseGroup ?? string.Empty) SceneName string `env:"lidarr_trackfile_scenename"` // trackFile.SceneName ?? string.Empty) TagsDiff string `env:"lidarr_tags_diff"` // message.Diff.ToJson()) TagsScrubbed bool `env:"lidarr_tags_scrubbed"` // message.Scrubbed.ToString()) }
LidarrTrackRetag is the TrackRetag event.
type ProwlarrApplicationUpdate ¶
type ProwlarrApplicationUpdate struct { PreviousVersion string `env:"prowlarr_update_previousversion"` // 4.0.3.5875 NewVersion string `env:"prowlarr_update_newversion"` // 4.0.4.5909 Message string `env:"prowlarr_update_message"` // Prowlarr updated from 4.0.3.5875 to 4.0.4.5909 }
ProwlarrApplicationUpdate is the ApplicationUpdate event.
type ProwlarrHealthIssue ¶
type ProwlarrHealthIssue struct { Message string `env:"prowlarr_health_issue_message"` // some message about sme problem IssueType string `env:"prowlarr_health_issue_type"` // NeverSeenOne Wiki string `env:"prowlarr_health_issue_wiki"` // something Level string `env:"prowlarr_health_issue_level"` // Warning }
ProwlarrHealthIssue is the HealthIssue event.
type RadarrApplicationUpdate ¶
type RadarrApplicationUpdate struct { PreviousVersion string `env:"radarr_update_previousversion"` // 4.0.3.5875 NewVersion string `env:"radarr_update_newversion"` // 4.0.4.5909 Message string `env:"radarr_update_message"` // Radarr updated from 4.0.3.5875 to 4.0.4.5909 }
RadarrApplicationUpdate is the ApplicationUpdate event.
type RadarrDownload ¶
type RadarrDownload struct { ReleaseDate time.Time `env:"radarr_movie_physical_release_date"` FilePath string `env:"radarr_moviefile_path"` // /movies/Just Go with It (2011)/Just.Go.with.It.2011.Bluray-1080p.mkv IMDbID string `env:"radarr_movie_imdbid"` // tt1564367 SceneName string `env:"radarr_moviefile_scenename"` // Just.Go.with.It.2011.1080p.BluRay.x264-OFT FileID int64 `env:"radarr_moviefile_id"` // 3594 ReleaseGroup string `env:"radarr_moviefile_releasegroup"` // OFT DownloadID string `env:"radarr_download_id"` // string F3D870942BFDD643488852284E917336170CEA00 InCinemas time.Time `env:"radarr_movie_in_cinemas_date"` // 2/10/2011 12:00:00 AM SourceFolder string `env:"radarr_moviefile_sourcefolder"` // /downloads/Seeding/Just.Go.with.It.2011.1080p.BluRay.x264-OFT Year int `env:"radarr_movie_year"` // 2011 IsUpgrade bool `env:"radarr_isupgrade"` // False Path string `env:"radarr_movie_path"` // /movies/Just Go with It (2011) RelativePath string `env:"radarr_moviefile_relativepath"` // Just.Go.with.It.2011.Bluray-1080p.mkv DownloadClient string `env:"radarr_download_client"` // Deluge SourcePath string `env:"radarr_moviefile_sourcepath"` // /downloads/Seeding/Just.Go.with.It.2011.1080p.BluRay.x264-OFT/Just.Go.with.It.2011.1080p.BluRay.x264-OFT.mkv TMDbID int64 `env:"radarr_movie_tmdbid"` // 50546 ID int64 `env:"radarr_movie_id"` // 924 Quality string `env:"radarr_moviefile_quality"` // Bluray-1080p Title string `env:"radarr_movie_title"` // Just Go with It QualityVersion int64 `env:"radarr_moviefile_qualityversion"` // 1 DeletedRelativePaths []string `env:"radarr_deletedrelativepaths,|"` DeletedPaths []string `env:"radarr_deletedpaths,|"` }
RadarrDownload is the Download event.
type RadarrGrab ¶
type RadarrGrab struct { QualityVersion int64 `env:"radarr_release_qualityversion"` // 1 ReleaseDate time.Time `env:"radarr_movie_physical_release_date"` // 1/19/2006 12:00:00 AM ReleaseGroup string `env:"radarr_release_releasegroup"` // SLOT IndexerFlags int64 `env:"radarr_indexerflags"` // 0 IMDbID string `env:"radarr_movie_imdbid"` // tt0448172 DownloadID string `env:"radarr_download_id"` // E63FAFFAAA0DEE42F0846348A9C0657BC53E7AA5 ReleaseTitle string `env:"radarr_release_title"` // 8MM 2 2005 1080p BluRay x264 InCinemas time.Time `env:"radarr_movie_in_cinemas_date"` // 11/22/2005 12:00:00 AM Quality string `env:"radarr_release_quality"` // Bluray-1080p Size int64 `env:"radarr_release_size"` // 2158221056 Year int `env:"radarr_movie_year"` // 2005 DownloadClient string `env:"radarr_download_client"` // Deluge TMDbID int64 `env:"radarr_movie_tmdbid"` // 7295 ID int64 `env:"radarr_movie_id"` // 339 ReleaseIndexer string `env:"radarr_release_indexer"` // Inexilator (Prowlarr) Title string `env:"radarr_movie_title"` // 8MM 2 }
RadarrGrab is the Grab event.
type RadarrHealthIssue ¶
type RadarrHealthIssue struct { Message string `env:"radarr_health_issue_message"` // Lists unavailable due to failures: List name here IssueType string `env:"radarr_health_issue_type"` // ImportListStatusCheck Wiki string `env:"radarr_health_issue_wiki"` // https://wiki.servarr.com/radarr/system#lists-are-unavailable-due-to-failures Level string `env:"radarr_health_issue_level"` // Warning }
RadarrHealthIssue is the HealthIssue event.
type RadarrMovieDelete ¶
type RadarrMovieDelete struct { ID int64 `env:"radarr_movie_id"` // 2173 Title string `env:"radarr_movie_title"` // The French Dispatch Year int `env:"radarr_movie_year"` // 2021 Path string `env:"radarr_movie_path"` // /movies/The French Dispatch (2021) IMDbID string `env:"radarr_movie_imdbid"` // tt8847712 TMDbID int64 `env:"radarr_movie_tmdbid"` // 542178 Size int64 `env:"radarr_movie_folder_size"` // 3593317970 DeleteFiles string `env:"radarr_movie_deletedfiles"` // XXX: no example. Does this need a split? }
RadarrMovieDelete is the MovieDelete event.
type RadarrMovieFileDelete ¶
type RadarrMovieFileDelete struct { Reason string `env:"radarr_moviefile_deletereason"` // Upgrade FilePath string `env:"radarr_moviefile_path"` // /movies/The French Dispatch (2021)/The.French.Dispatch.2021.Bluray-720p.mkv SceneName string `env:"radarr_moviefile_scenename"` // The.French.Dispatch.2021.720p.BluRay.x264-WoAT IMDbID string `env:"radarr_movie_imdbid"` // tt8847712 FileID int64 `env:"radarr_moviefile_id"` // 3531 ReleaseGroup string `env:"radarr_moviefile_releasegroup"` // WoAT Year int `env:"radarr_movie_year"` // 2021 Path string `env:"radarr_movie_path"` // /movies/The French Dispatch (2021) RelativePath string `env:"radarr_moviefile_relativepath"` // The.French.Dispatch.2021.Bluray-720p.mkv Size int64 `env:"radarr_moviefile_size"` // 3593317970 TMDbID string `env:"radarr_movie_tmdbid"` // 542178 ID int64 `env:"radarr_movie_id"` // 2173 Quality string `env:"radarr_moviefile_quality"` // Bluray-720p Title string `env:"radarr_movie_title"` // The French Dispatch QualityVersion int64 `env:"radarr_moviefile_qualityversion"` // 1 }
RadarrMovieFileDelete is the MovieFileDelete event.
type RadarrRename ¶
type RadarrRename struct { ID int64 `env:"radarr_movie_id"` // 2173 Year int `env:"radarr_movie_year"` // 2021 Path string `env:"radarr_movie_path"` // /movies/The French Dispatch (2021) IMDbID string `env:"radarr_movie_imdbid"` // tt8847712 TMDbID int64 `env:"radarr_movie_tmdbid"` // 542178 InCinemas time.Time `env:"radarr_movie_in_cinemas_date"` // 11/22/2005 12:00:00 AM ReleaseDate time.Time `env:"radarr_movie_physical_release_date"` FileIDs []int64 `env:"radarr_moviefile_ids,,"` RelativePaths []string `env:"radarr_moviefile_relativepaths,|"` Paths []string `env:"radarr_moviefile_paths,|"` PreviousRelativePaths []string `env:"radarr_moviefile_previousrelativepaths,|"` PreviousPaths []string `env:"radarr_moviefile_previouspaths,|"` }
RadarrRename is the Rename event.
type ReadarrApplicationUpdate ¶
type ReadarrApplicationUpdate struct { PreviousVersion string `env:"readarr_update_previousversion"` // 4.0.3.5875 NewVersion string `env:"readarr_update_newversion"` // 4.0.4.5909 Message string `env:"readarr_update_message"` // Readarr updated from 4.0.3.5875 to 4.0.4.5909 }
ReadarrApplicationUpdate is the ApplicationUpdate event.
type ReadarrAuthorDelete ¶
type ReadarrAuthorDelete struct { AuthorID int64 `env:"readarr_author_id"` // author.Id.ToString()) AuthorName string `env:"readarr_author_name"` // author.Name) Path string `env:"readarr_author_path"` // author.Path) AuthorGrID int64 `env:"readarr_author_goodreadsid"` // author.ForeignAuthorId) DeletedFiles bool `env:"readarr_author_deletedfiles"` // deleteMessage.DeletedFiles.ToString()) }
ReadarrAuthorDelete is the AuthorDelete event.
type ReadarrBookDelete ¶
type ReadarrBookDelete struct { AuthorName string `env:"readarr_author_name"` // Alyssa Cole GrID int64 `env:"readarr_book_goodreadsid"` // 88514853 AuthorGrID int64 `env:"readarr_author_goodreadsid"` // 7790155 Title string `env:"readarr_book_title"` // Unti Cole #6: A Novel Path string `env:"readarr_author_path"` // /books/Alyssa Cole ID int64 `env:"readarr_book_id"` // 636 DeletedFiles bool `env:"readarr_book_deletedfiles"` // True AuthorID string `env:"readarr_author_id"` // 33 }
ReadarrBookDelete is the BookDelete event.
type ReadarrBookFileDelete ¶
type ReadarrBookFileDelete struct { Reason string `env:"readarr_delete_reason"` // deleteMessage.Reason.ToString()) AuthorID int64 `env:"readarr_author_id"` // author.Id.ToString()) AuthorName string `env:"readarr_author_name"` // author.Name) AuthorGrID int64 `env:"readarr_author_goodreadsid"` // author.ForeignAuthorId) ID string `env:"readarr_book_id"` // book.Id.ToString()) Title string `env:"readarr_book_title"` // book.Title) GrID int64 `env:"readarr_book_goodreadsid"` // book.ForeignBookId) FileID int64 `env:"readarr_bookfile_id"` // bookFile.Id.ToString()) Path string `env:"readarr_bookfile_path"` // bookFile.Path) Quality string `env:"readarr_bookfile_quality"` // bookFile.Quality.Quality.Name) QualityVersion int64 `env:"readarr_bookfile_qualityversion"` // bookFile.Quality.Revision.Version.ToString()) ReleaseGroup string `env:"readarr_bookfile_releasegroup"` // bookFile.ReleaseGroup ?? string.Empty) SceneName string `env:"readarr_bookfile_scenename"` // bookFile.SceneName ?? string.Empty) EditionID int64 `env:"readarr_bookfile_edition_id"` // edition.Id.ToString()) EditionName string `env:"readarr_bookfile_edition_name"` // edition.Title) EditionGrID int64 `env:"readarr_bookfile_edition_goodreadsid"` // edition.ForeignEditionId) EditionISBN13 string `env:"readarr_bookfile_edition_isbn13"` // edition.Isbn13) EditionASIN string `env:"readarr_bookfile_edition_asin"` // edition.Asin) }
ReadarrBookFileDelete is the BookFileDelete event.
type ReadarrDownload ¶
type ReadarrDownload struct { AuthorID int64 `env:"readarr_author_id"` // author.Id.ToString()) AuthorName string `env:"readarr_author_name"` // author.Metadata.Value.Name) Path string `env:"readarr_author_path"` // author.Path) AuthorGrID int64 `env:"readarr_author_grid"` // author.Metadata.Value.ForeignAuthorId) ID int64 `env:"readarr_book_id"` // book.Id.ToString()) Title string `env:"readarr_book_title"` // book.Title) GrID int64 `env:"readarr_book_grid"` // book.Editions.Value.Single(e => e.Monitored).ForeignEditionId.ToString()) ReleaseDate string `env:"readarr_book_releasedate"` // book.ReleaseDate.ToString()) DownloadClient string `env:"readarr_download_client"` // message.DownloadClient ?? string.Empty) DownloadID string `env:"readarr_download_id"` // message.DownloadId ?? string.Empty) AddedBookPaths []string `env:"readarr_addedbookpaths,|"` // string.Join("|", message.BookFiles.Select(e => e.Path))) DeletedPaths []string `env:"readarr_deletedpaths,|"` // string.Join("|", message.OldFiles.Select(e => e.Path))) }
ReadarrDownload is Download event.
type ReadarrGrab ¶
type ReadarrGrab struct { AuthorGRID int64 `env:"readarr_author_grid"` // 1077326 ReleaseGroup string `env:"readarr_release_releasegroup"` // BitBook AuthorName string `env:"readarr_author_name"` // J.K. Rowling ReleaseTitle string `env:"readarr_release_title"` // J K Rowling - Harry Potter and the Order of the Phoenix 2012 Retail EPUB eBook-BitBook GRIDs string `env:"readarr_release_grids"` // 21175582 // not sure what this looks like with 2+ DownloadClient string `env:"readarr_download_client"` // qBittorrent Size int64 `env:"readarr_release_size"` // 1279262 QualityVersion string `env:"readarr_release_qualityversion"` // 1 Titles []string `env:"readarr_release_booktitles,|"` // Harry Potter and the Order of the Phoenix IDs []int64 `env:"readarr_release_bookids,|"` // 649 ReleaseIndexer string `env:"readarr_release_indexer"` // InfoWars (Prowlarr) DownloadID string `env:"readarr_download_id"` // 3852BA2204A84185B2B43281E53BE93D56DE5C81 BookCount int `env:"readarr_release_bookcount"` // 1 ReleaseDates []time.Time `env:"readarr_release_bookreleasedates,,"` // 07/10/2003 07:00:00 Quality string `env:"readarr_release_quality"` // EPUB AuthorID int64 `env:"readarr_author_id"` // 4 }
ReadarrGrab is the Grab event.
type ReadarrHealthIssue ¶
type ReadarrHealthIssue struct { Message string `env:"readarr_health_issue_message"` // Lists unavailable due to failures: List name here IssueType string `env:"readarr_health_issue_type"` // ImportListStatusCheck Wiki string `env:"readarr_health_issue_wiki"` // https://wiki.servarr.com/ Level string `env:"readarr_health_issue_level"` // Warning }
ReadarrHealthIssue is the HealthIssue event.
type ReadarrRename ¶
type ReadarrRename struct { AuthorID int64 `env:"readarr_author_id"` // author.Id.ToString()) AuthorName string `env:"readarr_author_name"` // author.Metadata.Value.Name) Path string `env:"readarr_author_path"` // author.Path) AuthorGrID int64 `env:"readarr_author_grid"` // author.Metadata.Value.ForeignAuthorId) }
ReadarrRename is the Rename event.
type ReadarrTrackRetag ¶
type ReadarrTrackRetag struct { AuthorID int64 `env:"readarr_author_id"` // author.Id.ToString()) AuthorName string `env:"readarr_author_name"` // author.Metadata.Value.Name) Path string `env:"readarr_author_path"` // author.Path) AuthorGrID int64 `env:"readarr_author_grid"` // author.Metadata.Value.ForeignAuthorId) ID int64 `env:"readarr_book_id"` // book.Id.ToString()) Title string `env:"readarr_book_title"` // book.Title) GrID int64 `env:"readarr_book_grid"` // book.Editions.Value.Single(e => e.Monitored).ForeignEditionId.ToString()) ReleaseDate time.Time `env:"readarr_book_releasedate"` // book.ReleaseDate.ToString()) FileID int64 `env:"readarr_bookfile_id"` // bookFile.Id.ToString()) FilePath string `env:"readarr_bookfile_path"` // bookFile.Path) Quality string `env:"readarr_bookfile_quality"` // bookFile.Quality.Quality.Name) QualityVersion int64 `env:"readarr_bookfile_qualityversion"` // bookFile.Quality.Revision.Version.ToString()) ReleaseGroup string `env:"readarr_bookfile_releasegroup"` // bookFile.ReleaseGroup ?? string.Empty) SceneName string `env:"readarr_bookfile_scenename"` // bookFile.SceneName ?? string.Empty) TagsDiff string `env:"readarr_tags_diff"` // message.Diff.ToJson()) Scrubbed bool `env:"readarr_tags_scrubbed"` // message.Scrubbed.ToString()) }
ReadarrTrackRetag is the TrackRetag event.
type SonarrApplicationUpdate ¶
type SonarrApplicationUpdate struct { PreviousVersion string `env:"sonarr_update_previousversion"` // 4.0.3.5875 NewVersion string `env:"sonarr_update_newversion"` // 4.0.4.5909 Message string `env:"sonarr_update_message"` // Sonarr updated from 4.0.3.5875 to 4.0.4.5909 }
SonarrApplicationUpdate is the ApplicationUpdate event.
type SonarrDownload ¶
type SonarrDownload struct { Title string `env:"sonarr_series_title"` // Puppy Dog Pals SeriesID int64 `env:"sonarr_series_id"` // 108 SourceFolder string `env:"sonarr_episodefile_sourcefolder"` // /downloads/completed/Series/Puppy.Dog.Pals.S05E03e04.The.Puppy.Outdoor.Play.Day.Games.for.the.Glove.of.the.Game.HULU.WEB-DL.AAC2.0.H.264-LAZY QualityVersion int64 `env:"sonarr_episodefile_qualityversion"` // 1 Quality string `env:"sonarr_episodefile_quality"` // WEBDL-480p ReleaseGroup string `env:"sonarr_episodefile_releasegroup"` // LAZY DownloadClient string `env:"sonarr_download_client"` // NZBGET EpisodePath string `env:"sonarr_episodefile_path"` // /tv/Puppy Dog Pals/Season 5/Puppy Dog Pals - S05E03-04 - The Puppy Outdoor Play Day Games + For the Glove of the Game WEBDL-480p.mkv EpisodeIDs []int64 `env:"sonarr_episodefile_episodeids,,"` // 22691,22692 SceneName string `env:"sonarr_episodefile_scenename"` // Puppy.Dog.Pals.S05E03e04.The.Puppy.Outdoor.Play.Day.Games.for.the.Glove.of.the.Game.HULU.WEB-DL.AAC2.0.H.264-LAZY EpisodeNumbers []int `env:"sonarr_episodefile_episodenumbers,,"` // 3,4 Path string `env:"sonarr_series_path"` // /tv/Puppy Dog Pals FileID int64 `env:"sonarr_episodefile_id"` // 14996 SourcePath string `env:"sonarr_episodefile_sourcepath"` // /downloads/completed/Series/Puppy.Dog.Pals.S05E03e04.The.Puppy.Outdoor.Play.Day.Games.for.the.Glove.of.the.Game.HULU.WEB-DL.AAC2.0.H.264-LAZY/9ZMAepAkHwQsOn.mkv EpisodeAirDates []string `env:"sonarr_episodefile_episodeairdates,,"` // 2022-01-21,2022-01-21 DownloadID string `env:"sonarr_download_id"` // 977d4bd4ac3845c0a2d5c890cc5a10e4 SeriesType string `env:"sonarr_series_type"` // Standard TVDbID int64 `env:"sonarr_series_tvdbid"` // 325978 TVMazeID int64 `env:"sonarr_series_tvmazeid"` // 26341 EpisodeCount int `env:"sonarr_episodefile_episodecount"` // 2 SeasonNumber int `env:"sonarr_episodefile_seasonnumber"` // 5 EpisodeTitles []string `env:"sonarr_episodefile_episodetitles,|"` // The Puppy Outdoor Play Day Games|For the Glove of the Game IMDbID string `env:"sonarr_series_imdbid"` // tt6688750 EpisodeAirDatesUTC []time.Time `env:"sonarr_episodefile_episodeairdatesutc,,"` // 1/21/2022 2:00:00 PM,1/21/2022 2:12:00 PM RelativePath string `env:"sonarr_episodefile_relativepath"` // Season 5/Puppy Dog Pals - S05E03-04 - The Puppy Outdoor Play Day Games + For the Glove of the Game WEBDL-480p.mkv IsUpgrade bool `env:"sonarr_isupgrade"` // False DeletedRelativePaths []string `env:"sonarr_deletedrelativepaths,|"` // Not always present. DeletedPaths []string `env:"sonarr_deletedpaths,|"` // Not always present. }
SonarrDownload is the Download event.
type SonarrEpisodeFileDelete ¶
type SonarrEpisodeFileDelete struct { Reason string `env:"sonarr_episodefile_deletereason"` // deleteMessage.Reason.ToString()) ID int64 `env:"sonarr_series_id"` // series.Id.ToString()) Title string `env:"sonarr_series_title"` // series.Title) Path string `env:"sonarr_series_path"` // series.Path) TVDbID int64 `env:"sonarr_series_tvdbid"` // series.TvdbId.ToString()) TVMazeID int64 `env:"sonarr_series_tvmazeid"` // series.TvMazeId.ToString()) IMDbID string `env:"sonarr_series_imdbid"` // series.ImdbId ?? string.Empty) SeriesType string `env:"sonarr_series_type"` // series.SeriesType.ToString()) FileID int64 `env:"sonarr_episodefile_id"` // episodeFile.Id.ToString()) EpisodeCount int `env:"sonarr_episodefile_episodecount"` // episodeFile.Episodes.Value.Count.ToString()) RelativePath string `env:"sonarr_episodefile_relativepath"` // episodeFile.RelativePath) FilePath string `env:"sonarr_episodefile_path"` // Path.Combine(series.Path, episodeFile.RelativePath)) EpisodeIDs []int64 `env:"sonarr_episodefile_episodeids,,"` // string.Join(",", episodeFile.Episodes.Value.Select(e => e.Id))) SeasonNumber string `env:"sonarr_episodefile_seasonnumber"` // episodeFile.SeasonNumber.ToString()) EpisodeNumbers []int `env:"sonarr_episodefile_episodenumbers,,"` // string.Join(",", episodeFile.Episodes.Value.Select(e => e.EpisodeNumber))) EpisodeAirDates []string `env:"sonarr_episodefile_episodeairdates,,"` // string.Join(",", episodeFile.Episodes.Value.Select(e => e.AirDate))) EpisodeAirDatesUTC []time.Time `env:"sonarr_episodefile_episodeairdatesutc,,"` // string.Join(",", episodeFile.Episodes.Value.Select(e => e.AirDateUtc))) EpisodeTitles []string `env:"sonarr_episodefile_episodetitles,|"` // string.Join("|", episodeFile.Episodes.Value.Select(e => e.Title))) Quality string `env:"sonarr_episodefile_quality"` // episodeFile.Quality.Quality.Name) QualityVersion string `env:"sonarr_episodefile_qualityversion"` // episodeFile.Quality.Revision.Version.ToString()) ReleaseGroup string `env:"sonarr_episodefile_releasegroup"` // episodeFile.ReleaseGroup ?? string.Empty) SceneName string `env:"sonarr_episodefile_scenename"` // episodeFile.SceneName ?? string.Empty) }
SonarrEpisodeFileDelete is the EpisodeFileDelete event.
type SonarrGrab ¶
type SonarrGrab struct { Quality string `env:"sonarr_release_quality"` // HDTV-720p Title string `env:"sonarr_series_title"` // This Is Us QualityVersion int64 `env:"sonarr_release_qualityversion"` // 1 SeriesID int64 `env:"sonarr_series_id"` // 47 EpisodeNumbers []int `env:"sonarr_release_episodenumbers,,"` // 4 EpisodeCount int `env:"sonarr_release_episodecount"` // 1 DownloadClient string `env:"sonarr_download_client"` // NZBGet EpisodeAirDates []string `env:"sonarr_release_episodeairdates,,"` // 2022-01-25 EpisodeTitles []string `env:"sonarr_release_episodetitles,|"` // Don't Let Me Keep You ReleaseTitle string `env:"sonarr_release_title"` // This.is.Us.S06E04.720p.HDTV.x264-SYNCOPY DownloadID string `env:"sonarr_download_id"` // a87bda3c0e7f40a1b8fa011b421a5201 ReleaseIndexer string `env:"sonarr_release_indexer"` // Indexor (Prowlarr) SeriesType string `env:"sonarr_series_type"` // Standard Size int64 `env:"sonarr_release_size"` // 885369406 TVDbID int64 `env:"sonarr_series_tvdbid"` // 311714 TVMazeID int64 `env:"sonarr_series_tvmazeid"` // 17128 ReleaseGroup string `env:"sonarr_release_releasegroup"` // SYNCOPY SeasonNumber int `env:"sonarr_release_seasonnumber"` // 6 AbsEpisodeNumbers []int `env:"sonarr_release_absoluteepisodenumbers,,"` // 92 IMDbID string `env:"sonarr_series_imdbid"` // tt5555260 EpisodeAirDatesUTC []time.Time `env:"sonarr_release_episodeairdatesutc,,"` // 1/26/2022 2:00:00 AM }
SonarrGrab is the Grab event.
type SonarrHealthIssue ¶
type SonarrHealthIssue struct { Message string `env:"sonarr_health_issue_message"` // Lists unavailable due to failures: Listnamehere IssueType string `env:"sonarr_health_issue_type"` // ImportListStatusCheck Wiki string `env:"sonarr_health_issue_wiki"` // https://wiki.servarr.com/ Level string `env:"sonarr_health_issue_level"` // Warning }
SonarrHealthIssue is the HealthIssue event.
type SonarrRename ¶
type SonarrRename struct { ID int64 `env:"sonarr_series_id"` // series.Id.ToString()) Title string `env:"sonarr_series_title"` // series.Title) Path string `env:"sonarr_series_path"` // series.Path) TVDbID int64 `env:"sonarr_series_tvdbid"` // series.TvdbId.ToString()) TVMazeID int64 `env:"sonarr_series_tvmazeid"` // series.TvMazeId.ToString()) IMDbID string `env:"sonarr_series_imdbid"` // series.ImdbId ?? string.Empty) SeriesType string `env:"sonarr_series_type"` // series.SeriesType.ToString()) FileIDs []int64 `env:"sonarr_episodefile_ids,,"` // string.Join(",", renamedFiles.Select(e => e.EpisodeFile.Id))) RelativePaths []string `env:"sonarr_episodefile_relativepaths,|"` // string.Join("|", renamedFiles.Select(e => e.EpisodeFile.RelativePath))) Paths []string `env:"sonarr_episodefile_paths,|"` // string.Join("|", renamedFiles.Select(e => e.EpisodeFile.Path))) PreviousRelativePaths []string `env:"sonarr_episodefile_previousrelativepaths,|"` // string.Join("|", renamedFiles.Select(e => e.PreviousRelativePath))) PreviousPaths []string `env:"sonarr_episodefile_previouspaths,|"` // string.Join("|", renamedFiles.Select(e => e.PreviousPath))) }
SonarrRename is the Rename event.
type SonarrSeriesDelete ¶
type SonarrSeriesDelete struct { ID int64 `env:"sonarr_series_id"` // series.Id.ToString()) Title string `env:"sonarr_series_title"` // series.Title) Path string `env:"sonarr_series_path"` // series.Path) TVDbID int64 `env:"sonarr_series_tvdbid"` // series.TvdbId.ToString()) TVMazeID int64 `env:"sonarr_series_tvmazeid"` // series.TvMazeId.ToString()) IMDbID string `env:"sonarr_series_imdbid"` // series.ImdbId ?? string.Empty) SeriesType string `env:"sonarr_series_type"` // series.SeriesType.ToString()) DeletedFiles string `env:"sonarr_series_deletedfiles"` // deleteMessage.DeletedFiles.ToString()) }
SonarrSeriesDelete is the SeriesDelete event.