package domain type SonarrEventType string const ( SonarrEventTypeDownload SonarrEventType = "Download" SonarrEventTypeTest SonarrEventType = "Test" ) var ( ErrUnsupportedSonarrEventType = NewError(WithCode(ErrorCodeValidation), WithMessage("unsupported event type")) ) func NewSonarrEventType(s string) (SonarrEventType, error) { conv := SonarrEventType(s) switch conv { case SonarrEventTypeDownload, SonarrEventTypeTest: return conv, nil default: return "", ErrUnsupportedSonarrEventType } } func (s SonarrEventType) String() string { return string(s) } type SonarrSeries struct { ID int64 Title string } type SonarrEpisode struct { ID int64 EpisodeNumber int16 SeasonNumber int16 Title string } type SonarrWebhookPayload struct { EventType SonarrEventType Series SonarrSeries Episodes []SonarrEpisode }