Documentation
¶
Index ¶
- type ActivityLog
- type AnimeCourMonitored
- type Blocklist
- type CountActivitiesParams
- type CountRecentStallsForEpisodeParams
- type CreateBlocklistEntryParams
- type CreateDownloadClientConfigParams
- type CreateEpisodeFileParams
- type CreateEpisodeParams
- type CreateGrabHistoryParams
- type CreateImportExclusionParams
- type CreateImportListConfigParams
- type CreateIndexerConfigParams
- type CreateLibraryParams
- type CreateMediaServerConfigParams
- type CreateNotificationConfigParams
- type CreateQualityProfileParams
- type CreateSeasonParams
- type CreateSeriesParams
- type DBTX
- type DownloadClientConfig
- type Episode
- type EpisodeFile
- type GetGrabStatsRow
- type GetSeriesYearDistributionRow
- type GetTopIndexersRow
- type GrabHistory
- type ImportExclusion
- type ImportListConfig
- type IndexerConfig
- type InsertActivityParams
- type InsertStatsSnapshotParams
- type IsBlocklistedByGuidOrInfoHashParams
- type Library
- type ListActivitiesParams
- type ListAllEpisodeFilesRow
- type ListBlocklistParams
- type ListBlocklistRow
- type ListEpisodeFileQualitiesWithSeriesIDsRow
- type ListEpisodesByAirDateRangeParams
- type ListEpisodesByAirDateRangeRow
- type ListGrabHistoryByStatusSinceParams
- type ListGrabHistoryParams
- type ListMissingEpisodesParams
- type ListMissingEpisodesWithSeriesParams
- type ListMissingEpisodesWithSeriesRow
- type ListSeriesByLibraryParams
- type ListSeriesParams
- type ListStorageSnapshotsRow
- type MediaManagement
- type MediaServerConfig
- type NotificationConfig
- type QualityDefinition
- type QualityProfile
- type QualityProfileInUseParams
- type Querier
- type Queries
- func (q *Queries) ClearBlocklist(ctx context.Context) error
- func (q *Queries) CountActivities(ctx context.Context, arg CountActivitiesParams) (int64, error)
- func (q *Queries) CountAllEpisodes(ctx context.Context) (int64, error)
- func (q *Queries) CountBlocklist(ctx context.Context) (int64, error)
- func (q *Queries) CountEpisodeFiles(ctx context.Context) (int64, error)
- func (q *Queries) CountEpisodeFilesBySeriesID(ctx context.Context, seriesID string) (int64, error)
- func (q *Queries) CountEpisodesBySeriesID(ctx context.Context, seriesID string) (int64, error)
- func (q *Queries) CountEpisodesWithFile(ctx context.Context) (int64, error)
- func (q *Queries) CountEpisodesWithFileBySeriesID(ctx context.Context, seriesID string) (int64, error)
- func (q *Queries) CountMissingEpisodes(ctx context.Context) (int64, error)
- func (q *Queries) CountMonitoredEpisodes(ctx context.Context) (int64, error)
- func (q *Queries) CountRecentStallsForEpisode(ctx context.Context, arg CountRecentStallsForEpisodeParams) (int64, error)
- func (q *Queries) CountSeries(ctx context.Context) (int64, error)
- func (q *Queries) CountSeriesAddedSince(ctx context.Context, addedAt string) (int64, error)
- func (q *Queries) CountSeriesByLibrary(ctx context.Context, libraryID string) (int64, error)
- func (q *Queries) CountSeriesInLibrary(ctx context.Context, libraryID string) (int64, error)
- func (q *Queries) CreateBlocklistEntry(ctx context.Context, arg CreateBlocklistEntryParams) (Blocklist, error)
- func (q *Queries) CreateDownloadClientConfig(ctx context.Context, arg CreateDownloadClientConfigParams) (DownloadClientConfig, error)
- func (q *Queries) CreateEpisode(ctx context.Context, arg CreateEpisodeParams) (Episode, error)
- func (q *Queries) CreateEpisodeFile(ctx context.Context, arg CreateEpisodeFileParams) (EpisodeFile, error)
- func (q *Queries) CreateGrabHistory(ctx context.Context, arg CreateGrabHistoryParams) (GrabHistory, error)
- func (q *Queries) CreateImportExclusion(ctx context.Context, arg CreateImportExclusionParams) (ImportExclusion, error)
- func (q *Queries) CreateImportListConfig(ctx context.Context, arg CreateImportListConfigParams) (ImportListConfig, error)
- func (q *Queries) CreateIndexerConfig(ctx context.Context, arg CreateIndexerConfigParams) (IndexerConfig, error)
- func (q *Queries) CreateLibrary(ctx context.Context, arg CreateLibraryParams) (Library, error)
- func (q *Queries) CreateMediaServerConfig(ctx context.Context, arg CreateMediaServerConfigParams) (MediaServerConfig, error)
- func (q *Queries) CreateNotificationConfig(ctx context.Context, arg CreateNotificationConfigParams) (NotificationConfig, error)
- func (q *Queries) CreateQualityProfile(ctx context.Context, arg CreateQualityProfileParams) (QualityProfile, error)
- func (q *Queries) CreateSeason(ctx context.Context, arg CreateSeasonParams) (Season, error)
- func (q *Queries) CreateSeries(ctx context.Context, arg CreateSeriesParams) (Series, error)
- func (q *Queries) DeleteAnimeCourMonitoredBySeriesID(ctx context.Context, seriesID string) error
- func (q *Queries) DeleteBlocklistEntry(ctx context.Context, id string) error
- func (q *Queries) DeleteBlocklistEntryByGUID(ctx context.Context, releaseGuid string) error
- func (q *Queries) DeleteDownloadClientConfig(ctx context.Context, id string) error
- func (q *Queries) DeleteEpisodeFile(ctx context.Context, id string) error
- func (q *Queries) DeleteEpisodeFilesBySeriesID(ctx context.Context, seriesID string) error
- func (q *Queries) DeleteEpisodesBySeriesID(ctx context.Context, seriesID string) error
- func (q *Queries) DeleteImportExclusion(ctx context.Context, id string) error
- func (q *Queries) DeleteImportListConfig(ctx context.Context, id string) error
- func (q *Queries) DeleteIndexerConfig(ctx context.Context, id string) error
- func (q *Queries) DeleteLibrary(ctx context.Context, id string) error
- func (q *Queries) DeleteMediaServerConfig(ctx context.Context, id string) error
- func (q *Queries) DeleteNotificationConfig(ctx context.Context, id string) error
- func (q *Queries) DeleteQualityProfile(ctx context.Context, id string) error
- func (q *Queries) DeleteSeasonsBySeriesID(ctx context.Context, seriesID string) error
- func (q *Queries) DeleteSeries(ctx context.Context, id string) error
- func (q *Queries) DeleteSetting(ctx context.Context, key string) error
- func (q *Queries) DetachQualityProfileFromPulse(ctx context.Context, id string) error
- func (q *Queries) GetDownloadClientConfig(ctx context.Context, id string) (DownloadClientConfig, error)
- func (q *Queries) GetEpisode(ctx context.Context, id string) (Episode, error)
- func (q *Queries) GetEpisodeFile(ctx context.Context, id string) (EpisodeFile, error)
- func (q *Queries) GetEpisodeFileByPath(ctx context.Context, path string) (EpisodeFile, error)
- func (q *Queries) GetGrabByClientItemID(ctx context.Context, clientItemID *string) (GrabHistory, error)
- func (q *Queries) GetGrabByID(ctx context.Context, id string) (GrabHistory, error)
- func (q *Queries) GetGrabByInfoHash(ctx context.Context, infoHash *string) (GrabHistory, error)
- func (q *Queries) GetGrabStats(ctx context.Context) (GetGrabStatsRow, error)
- func (q *Queries) GetImportExclusionByTMDBID(ctx context.Context, tmdbID int64) (ImportExclusion, error)
- func (q *Queries) GetImportListConfig(ctx context.Context, id string) (ImportListConfig, error)
- func (q *Queries) GetIndexerConfig(ctx context.Context, id string) (IndexerConfig, error)
- func (q *Queries) GetLibrary(ctx context.Context, id string) (Library, error)
- func (q *Queries) GetMediaManagement(ctx context.Context) (MediaManagement, error)
- func (q *Queries) GetMediaServerConfig(ctx context.Context, id string) (MediaServerConfig, error)
- func (q *Queries) GetNotificationConfig(ctx context.Context, id string) (NotificationConfig, error)
- func (q *Queries) GetQualityProfile(ctx context.Context, id string) (QualityProfile, error)
- func (q *Queries) GetSeason(ctx context.Context, id string) (Season, error)
- func (q *Queries) GetSeries(ctx context.Context, id string) (Series, error)
- func (q *Queries) GetSeriesByTMDBID(ctx context.Context, tmdbID int64) (Series, error)
- func (q *Queries) GetSeriesYearDistribution(ctx context.Context) ([]GetSeriesYearDistributionRow, error)
- func (q *Queries) GetSetting(ctx context.Context, key string) (string, error)
- func (q *Queries) GetTopIndexers(ctx context.Context) ([]GetTopIndexersRow, error)
- func (q *Queries) InsertActivity(ctx context.Context, arg InsertActivityParams) error
- func (q *Queries) InsertStatsSnapshot(ctx context.Context, arg InsertStatsSnapshotParams) error
- func (q *Queries) IsBlocklisted(ctx context.Context, releaseGuid string) (int64, error)
- func (q *Queries) IsBlocklistedByGuidOrInfoHash(ctx context.Context, arg IsBlocklistedByGuidOrInfoHashParams) (int64, error)
- func (q *Queries) IsBlocklistedByTitle(ctx context.Context, releaseTitle string) (int64, error)
- func (q *Queries) LatestStatsSnapshot(ctx context.Context) (StatsSnapshot, error)
- func (q *Queries) ListActiveGrabs(ctx context.Context) ([]GrabHistory, error)
- func (q *Queries) ListActivities(ctx context.Context, arg ListActivitiesParams) ([]ActivityLog, error)
- func (q *Queries) ListAllEpisodeFilePaths(ctx context.Context) ([]string, error)
- func (q *Queries) ListAllEpisodeFiles(ctx context.Context) ([]ListAllEpisodeFilesRow, error)
- func (q *Queries) ListAllTMDBIDs(ctx context.Context) ([]int64, error)
- func (q *Queries) ListAnimeCourMonitored(ctx context.Context, seriesID string) ([]AnimeCourMonitored, error)
- func (q *Queries) ListBlocklist(ctx context.Context, arg ListBlocklistParams) ([]ListBlocklistRow, error)
- func (q *Queries) ListDownloadClientConfigs(ctx context.Context) ([]DownloadClientConfig, error)
- func (q *Queries) ListEnabledDownloadClients(ctx context.Context) ([]DownloadClientConfig, error)
- func (q *Queries) ListEnabledImportLists(ctx context.Context) ([]ImportListConfig, error)
- func (q *Queries) ListEnabledIndexers(ctx context.Context) ([]IndexerConfig, error)
- func (q *Queries) ListEnabledMediaServers(ctx context.Context) ([]MediaServerConfig, error)
- func (q *Queries) ListEnabledNotifications(ctx context.Context) ([]NotificationConfig, error)
- func (q *Queries) ListEpisodeFileQualities(ctx context.Context) ([]string, error)
- func (q *Queries) ListEpisodeFileQualitiesWithSeriesIDs(ctx context.Context) ([]ListEpisodeFileQualitiesWithSeriesIDsRow, error)
- func (q *Queries) ListEpisodeFilesByEpisodeID(ctx context.Context, episodeID string) ([]EpisodeFile, error)
- func (q *Queries) ListEpisodeFilesBySeriesID(ctx context.Context, seriesID string) ([]EpisodeFile, error)
- func (q *Queries) ListEpisodesByAirDateRange(ctx context.Context, arg ListEpisodesByAirDateRangeParams) ([]ListEpisodesByAirDateRangeRow, error)
- func (q *Queries) ListEpisodesBySeasonID(ctx context.Context, seasonID string) ([]Episode, error)
- func (q *Queries) ListEpisodesBySeriesID(ctx context.Context, seriesID string) ([]Episode, error)
- func (q *Queries) ListExcludedTMDBIDs(ctx context.Context) ([]int64, error)
- func (q *Queries) ListGrabHistory(ctx context.Context, arg ListGrabHistoryParams) ([]GrabHistory, error)
- func (q *Queries) ListGrabHistoryByEpisode(ctx context.Context, episodeID *string) ([]GrabHistory, error)
- func (q *Queries) ListGrabHistoryBySeries(ctx context.Context, seriesID string) ([]GrabHistory, error)
- func (q *Queries) ListGrabHistoryByStatusSince(ctx context.Context, arg ListGrabHistoryByStatusSinceParams) ([]GrabHistory, error)
- func (q *Queries) ListImportExclusions(ctx context.Context) ([]ImportExclusion, error)
- func (q *Queries) ListImportListConfigs(ctx context.Context) ([]ImportListConfig, error)
- func (q *Queries) ListIndexerConfigs(ctx context.Context) ([]IndexerConfig, error)
- func (q *Queries) ListLibraries(ctx context.Context) ([]Library, error)
- func (q *Queries) ListManagedQualityProfiles(ctx context.Context) ([]QualityProfile, error)
- func (q *Queries) ListMediaServerConfigs(ctx context.Context) ([]MediaServerConfig, error)
- func (q *Queries) ListMissingEpisodes(ctx context.Context, arg ListMissingEpisodesParams) ([]Episode, error)
- func (q *Queries) ListMissingEpisodesWithSeries(ctx context.Context, arg ListMissingEpisodesWithSeriesParams) ([]ListMissingEpisodesWithSeriesRow, error)
- func (q *Queries) ListMonitoredSeries(ctx context.Context) ([]Series, error)
- func (q *Queries) ListNotificationConfigs(ctx context.Context) ([]NotificationConfig, error)
- func (q *Queries) ListQualityDefinitions(ctx context.Context) ([]QualityDefinition, error)
- func (q *Queries) ListQualityProfiles(ctx context.Context) ([]QualityProfile, error)
- func (q *Queries) ListSeasonsBySeriesID(ctx context.Context, seriesID string) ([]Season, error)
- func (q *Queries) ListSeries(ctx context.Context, arg ListSeriesParams) ([]Series, error)
- func (q *Queries) ListSeriesByLibrary(ctx context.Context, arg ListSeriesByLibraryParams) ([]Series, error)
- func (q *Queries) ListSeriesGenresJSON(ctx context.Context) ([]string, error)
- func (q *Queries) ListStaleActiveGrabs(ctx context.Context, olderThan string) ([]GrabHistory, error)
- func (q *Queries) ListStatsSnapshots(ctx context.Context, limit int64) ([]StatsSnapshot, error)
- func (q *Queries) ListStorageSnapshots(ctx context.Context, limit int64) ([]ListStorageSnapshotsRow, error)
- func (q *Queries) MarkGrabRemoved(ctx context.Context, id string) error
- func (q *Queries) PruneActivities(ctx context.Context, createdAt string) error
- func (q *Queries) QualityProfileInUse(ctx context.Context, arg QualityProfileInUseParams) (int64, error)
- func (q *Queries) SetSetting(ctx context.Context, arg SetSettingParams) error
- func (q *Queries) SumEpisodeFileSize(ctx context.Context) (interface{}, error)
- func (q *Queries) UpdateDownloadClientConfig(ctx context.Context, arg UpdateDownloadClientConfigParams) (DownloadClientConfig, error)
- func (q *Queries) UpdateEpisode(ctx context.Context, arg UpdateEpisodeParams) (Episode, error)
- func (q *Queries) UpdateEpisodeAbsoluteNumber(ctx context.Context, arg UpdateEpisodeAbsoluteNumberParams) error
- func (q *Queries) UpdateEpisodeFilePath(ctx context.Context, arg UpdateEpisodeFilePathParams) error
- func (q *Queries) UpdateEpisodeHasFile(ctx context.Context, arg UpdateEpisodeHasFileParams) error
- func (q *Queries) UpdateEpisodeMonitored(ctx context.Context, arg UpdateEpisodeMonitoredParams) error
- func (q *Queries) UpdateEpisodesMonitoredBySeason(ctx context.Context, arg UpdateEpisodesMonitoredBySeasonParams) error
- func (q *Queries) UpdateGrabDownloadClient(ctx context.Context, arg UpdateGrabDownloadClientParams) error
- func (q *Queries) UpdateGrabInfoHash(ctx context.Context, arg UpdateGrabInfoHashParams) error
- func (q *Queries) UpdateGrabStatus(ctx context.Context, arg UpdateGrabStatusParams) error
- func (q *Queries) UpdateImportListConfig(ctx context.Context, arg UpdateImportListConfigParams) (ImportListConfig, error)
- func (q *Queries) UpdateIndexerConfig(ctx context.Context, arg UpdateIndexerConfigParams) (IndexerConfig, error)
- func (q *Queries) UpdateLibrary(ctx context.Context, arg UpdateLibraryParams) (Library, error)
- func (q *Queries) UpdateMediaManagement(ctx context.Context, arg UpdateMediaManagementParams) (MediaManagement, error)
- func (q *Queries) UpdateMediaServerConfig(ctx context.Context, arg UpdateMediaServerConfigParams) (MediaServerConfig, error)
- func (q *Queries) UpdateNotificationConfig(ctx context.Context, arg UpdateNotificationConfigParams) (NotificationConfig, error)
- func (q *Queries) UpdateQualityDefinitionSizes(ctx context.Context, arg UpdateQualityDefinitionSizesParams) error
- func (q *Queries) UpdateQualityProfile(ctx context.Context, arg UpdateQualityProfileParams) (QualityProfile, error)
- func (q *Queries) UpdateSeasonMonitored(ctx context.Context, arg UpdateSeasonMonitoredParams) error
- func (q *Queries) UpdateSeries(ctx context.Context, arg UpdateSeriesParams) (Series, error)
- func (q *Queries) UpdateSeriesMetadata(ctx context.Context, arg UpdateSeriesMetadataParams) (Series, error)
- func (q *Queries) UpsertAnimeCourMonitored(ctx context.Context, arg UpsertAnimeCourMonitoredParams) error
- func (q *Queries) WithTx(tx *sql.Tx) *Queries
- type Season
- type Series
- type SetSettingParams
- type Setting
- type StatsSnapshot
- type UpdateDownloadClientConfigParams
- type UpdateEpisodeAbsoluteNumberParams
- type UpdateEpisodeFilePathParams
- type UpdateEpisodeHasFileParams
- type UpdateEpisodeMonitoredParams
- type UpdateEpisodeParams
- type UpdateEpisodesMonitoredBySeasonParams
- type UpdateGrabDownloadClientParams
- type UpdateGrabInfoHashParams
- type UpdateGrabStatusParams
- type UpdateImportListConfigParams
- type UpdateIndexerConfigParams
- type UpdateLibraryParams
- type UpdateMediaManagementParams
- type UpdateMediaServerConfigParams
- type UpdateNotificationConfigParams
- type UpdateQualityDefinitionSizesParams
- type UpdateQualityProfileParams
- type UpdateSeasonMonitoredParams
- type UpdateSeriesMetadataParams
- type UpdateSeriesParams
- type UpsertAnimeCourMonitoredParams
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ActivityLog ¶
type AnimeCourMonitored ¶
type Blocklist ¶
type Blocklist struct {
ID string `json:"id"`
SeriesID string `json:"seriesId"`
EpisodeID *string `json:"episodeId"`
ReleaseGuid string `json:"releaseGuid"`
ReleaseTitle string `json:"releaseTitle"`
IndexerID *string `json:"indexerId"`
Protocol string `json:"protocol"`
Size int64 `json:"size"`
AddedAt string `json:"addedAt"`
Notes string `json:"notes"`
Reason string `json:"reason"`
InfoHash *string `json:"infoHash"`
}
type CountActivitiesParams ¶
type CountActivitiesParams struct {
Category interface{} `json:"category"`
Since interface{} `json:"since"`
}
type CreateBlocklistEntryParams ¶
type CreateBlocklistEntryParams struct {
ID string `json:"id"`
SeriesID string `json:"seriesId"`
EpisodeID *string `json:"episodeId"`
ReleaseGuid string `json:"releaseGuid"`
ReleaseTitle string `json:"releaseTitle"`
IndexerID *string `json:"indexerId"`
Protocol string `json:"protocol"`
Size int64 `json:"size"`
AddedAt string `json:"addedAt"`
Notes string `json:"notes"`
Reason string `json:"reason"`
InfoHash *string `json:"infoHash"`
}
type CreateEpisodeFileParams ¶
type CreateEpisodeFileParams struct {
ID string `json:"id"`
EpisodeID string `json:"episodeId"`
SeriesID string `json:"seriesId"`
Path string `json:"path"`
SizeBytes int64 `json:"sizeBytes"`
QualityJson string `json:"qualityJson"`
ImportedAt string `json:"importedAt"`
IndexedAt string `json:"indexedAt"`
}
type CreateEpisodeParams ¶
type CreateEpisodeParams struct {
ID string `json:"id"`
SeriesID string `json:"seriesId"`
SeasonID string `json:"seasonId"`
SeasonNumber int64 `json:"seasonNumber"`
EpisodeNumber int64 `json:"episodeNumber"`
AbsoluteNumber *int64 `json:"absoluteNumber"`
AirDate *string `json:"airDate"`
Title string `json:"title"`
Overview string `json:"overview"`
Monitored bool `json:"monitored"`
HasFile bool `json:"hasFile"`
StillPath string `json:"stillPath"`
RuntimeMinutes int64 `json:"runtimeMinutes"`
}
type CreateGrabHistoryParams ¶
type CreateGrabHistoryParams struct {
ID string `json:"id"`
SeriesID string `json:"seriesId"`
EpisodeID *string `json:"episodeId"`
SeasonNumber *int64 `json:"seasonNumber"`
IndexerID *string `json:"indexerId"`
ReleaseGuid string `json:"releaseGuid"`
ReleaseTitle string `json:"releaseTitle"`
ReleaseSource string `json:"releaseSource"`
ReleaseResolution string `json:"releaseResolution"`
ReleaseCodec string `json:"releaseCodec"`
ReleaseHdr string `json:"releaseHdr"`
Protocol string `json:"protocol"`
Size int64 `json:"size"`
DownloadClientID *string `json:"downloadClientId"`
ClientItemID *string `json:"clientItemId"`
DownloadStatus string `json:"downloadStatus"`
ScoreBreakdown *string `json:"scoreBreakdown"`
GrabbedAt string `json:"grabbedAt"`
Source string `json:"source"`
InfoHash *string `json:"infoHash"`
}
type CreateImportListConfigParams ¶
type CreateImportListConfigParams struct {
ID string `json:"id"`
Name string `json:"name"`
Kind string `json:"kind"`
Enabled bool `json:"enabled"`
Settings string `json:"settings"`
SearchOnAdd bool `json:"searchOnAdd"`
Monitor bool `json:"monitor"`
MonitorType string `json:"monitorType"`
QualityProfileID string `json:"qualityProfileId"`
LibraryID string `json:"libraryId"`
CreatedAt string `json:"createdAt"`
UpdatedAt string `json:"updatedAt"`
}
type CreateIndexerConfigParams ¶
type CreateIndexerConfigParams struct {
ID string `json:"id"`
Name string `json:"name"`
Kind string `json:"kind"`
Enabled bool `json:"enabled"`
Priority int64 `json:"priority"`
Settings string `json:"settings"`
MinSeeders int64 `json:"minSeeders"`
CreatedAt string `json:"createdAt"`
UpdatedAt string `json:"updatedAt"`
}
type CreateLibraryParams ¶
type CreateLibraryParams struct {
ID string `json:"id"`
Name string `json:"name"`
RootPath string `json:"rootPath"`
DefaultQualityProfileID string `json:"defaultQualityProfileId"`
NamingFormat *string `json:"namingFormat"`
FolderFormat *string `json:"folderFormat"`
MinFreeSpaceGb int64 `json:"minFreeSpaceGb"`
TagsJson string `json:"tagsJson"`
CreatedAt string `json:"createdAt"`
UpdatedAt string `json:"updatedAt"`
}
type CreateQualityProfileParams ¶
type CreateQualityProfileParams struct {
ID string `json:"id"`
Name string `json:"name"`
CutoffJson string `json:"cutoffJson"`
QualitiesJson string `json:"qualitiesJson"`
UpgradeAllowed bool `json:"upgradeAllowed"`
UpgradeUntilJson *string `json:"upgradeUntilJson"`
CreatedAt string `json:"createdAt"`
UpdatedAt string `json:"updatedAt"`
MinCustomFormatScore int64 `json:"minCustomFormatScore"`
UpgradeUntilCfScore int64 `json:"upgradeUntilCfScore"`
ManagedByPulse bool `json:"managedByPulse"`
}
type CreateSeasonParams ¶
type CreateSeriesParams ¶
type CreateSeriesParams struct {
ID string `json:"id"`
TmdbID int64 `json:"tmdbId"`
ImdbID *string `json:"imdbId"`
Title string `json:"title"`
SortTitle string `json:"sortTitle"`
Year int64 `json:"year"`
Overview string `json:"overview"`
RuntimeMinutes *int64 `json:"runtimeMinutes"`
GenresJson string `json:"genresJson"`
PosterUrl *string `json:"posterUrl"`
FanartUrl *string `json:"fanartUrl"`
Status string `json:"status"`
SeriesType string `json:"seriesType"`
MonitorType string `json:"monitorType"`
Network *string `json:"network"`
AirTime *string `json:"airTime"`
Certification *string `json:"certification"`
Monitored bool `json:"monitored"`
LibraryID string `json:"libraryId"`
QualityProfileID string `json:"qualityProfileId"`
Path *string `json:"path"`
AddedAt string `json:"addedAt"`
UpdatedAt string `json:"updatedAt"`
MetadataRefreshedAt *string `json:"metadataRefreshedAt"`
AlternateTitles string `json:"alternateTitles"`
}
type DownloadClientConfig ¶
type Episode ¶
type Episode struct {
ID string `json:"id"`
SeriesID string `json:"seriesId"`
SeasonID string `json:"seasonId"`
SeasonNumber int64 `json:"seasonNumber"`
EpisodeNumber int64 `json:"episodeNumber"`
AbsoluteNumber *int64 `json:"absoluteNumber"`
AirDate *string `json:"airDate"`
Title string `json:"title"`
Overview string `json:"overview"`
Monitored bool `json:"monitored"`
HasFile bool `json:"hasFile"`
StillPath string `json:"stillPath"`
RuntimeMinutes int64 `json:"runtimeMinutes"`
}
type EpisodeFile ¶
type GetGrabStatsRow ¶
type GetGrabStatsRow struct {
TotalGrabs int64 `json:"totalGrabs"`
Successful interface{} `json:"successful"`
Failed interface{} `json:"failed"`
}
type GetTopIndexersRow ¶
type GrabHistory ¶
type GrabHistory struct {
ID string `json:"id"`
SeriesID string `json:"seriesId"`
EpisodeID *string `json:"episodeId"`
SeasonNumber *int64 `json:"seasonNumber"`
IndexerID *string `json:"indexerId"`
ReleaseGuid string `json:"releaseGuid"`
ReleaseTitle string `json:"releaseTitle"`
ReleaseSource string `json:"releaseSource"`
ReleaseResolution string `json:"releaseResolution"`
ReleaseCodec string `json:"releaseCodec"`
ReleaseHdr string `json:"releaseHdr"`
Protocol string `json:"protocol"`
Size int64 `json:"size"`
DownloadClientID *string `json:"downloadClientId"`
ClientItemID *string `json:"clientItemId"`
DownloadStatus string `json:"downloadStatus"`
DownloadedBytes int64 `json:"downloadedBytes"`
ScoreBreakdown *string `json:"scoreBreakdown"`
GrabbedAt string `json:"grabbedAt"`
Source string `json:"source"`
InfoHash *string `json:"infoHash"`
}
type ImportExclusion ¶
type ImportListConfig ¶
type ImportListConfig struct {
ID string `json:"id"`
Name string `json:"name"`
Kind string `json:"kind"`
Enabled bool `json:"enabled"`
Settings string `json:"settings"`
SearchOnAdd bool `json:"searchOnAdd"`
Monitor bool `json:"monitor"`
MonitorType string `json:"monitorType"`
QualityProfileID string `json:"qualityProfileId"`
LibraryID string `json:"libraryId"`
CreatedAt string `json:"createdAt"`
UpdatedAt string `json:"updatedAt"`
}
type IndexerConfig ¶
type IndexerConfig struct {
ID string `json:"id"`
Name string `json:"name"`
Kind string `json:"kind"`
Enabled bool `json:"enabled"`
Priority int64 `json:"priority"`
Settings string `json:"settings"`
CreatedAt string `json:"createdAt"`
UpdatedAt string `json:"updatedAt"`
MinSeeders int64 `json:"minSeeders"`
}
type InsertActivityParams ¶
type InsertStatsSnapshotParams ¶
type InsertStatsSnapshotParams struct {
ID string `json:"id"`
TotalSeries int64 `json:"totalSeries"`
TotalEpisodes int64 `json:"totalEpisodes"`
MonitoredEpisodes int64 `json:"monitoredEpisodes"`
WithFile int64 `json:"withFile"`
Missing int64 `json:"missing"`
TotalSizeBytes int64 `json:"totalSizeBytes"`
SnapshotAt string `json:"snapshotAt"`
}
type Library ¶
type Library struct {
ID string `json:"id"`
Name string `json:"name"`
RootPath string `json:"rootPath"`
DefaultQualityProfileID string `json:"defaultQualityProfileId"`
NamingFormat *string `json:"namingFormat"`
FolderFormat *string `json:"folderFormat"`
MinFreeSpaceGb int64 `json:"minFreeSpaceGb"`
TagsJson string `json:"tagsJson"`
CreatedAt string `json:"createdAt"`
UpdatedAt string `json:"updatedAt"`
}
type ListActivitiesParams ¶
type ListActivitiesParams struct {
Category interface{} `json:"category"`
Since interface{} `json:"since"`
Limit int64 `json:"limit"`
}
type ListAllEpisodeFilesRow ¶
type ListBlocklistParams ¶
type ListBlocklistRow ¶
type ListBlocklistRow struct {
ID string `json:"id"`
SeriesID string `json:"seriesId"`
EpisodeID *string `json:"episodeId"`
ReleaseGuid string `json:"releaseGuid"`
ReleaseTitle string `json:"releaseTitle"`
IndexerID *string `json:"indexerId"`
Protocol string `json:"protocol"`
Size int64 `json:"size"`
AddedAt string `json:"addedAt"`
Notes string `json:"notes"`
Reason string `json:"reason"`
InfoHash *string `json:"infoHash"`
SeriesTitle string `json:"seriesTitle"`
}
type ListEpisodesByAirDateRangeRow ¶
type ListEpisodesByAirDateRangeRow struct {
ID string `json:"id"`
SeriesID string `json:"seriesId"`
SeasonID string `json:"seasonId"`
SeasonNumber int64 `json:"seasonNumber"`
EpisodeNumber int64 `json:"episodeNumber"`
AbsoluteNumber *int64 `json:"absoluteNumber"`
AirDate *string `json:"airDate"`
Title string `json:"title"`
Overview string `json:"overview"`
Monitored bool `json:"monitored"`
HasFile bool `json:"hasFile"`
StillPath string `json:"stillPath"`
RuntimeMinutes int64 `json:"runtimeMinutes"`
SeriesTitle string `json:"seriesTitle"`
}
type ListGrabHistoryParams ¶
type ListMissingEpisodesWithSeriesRow ¶
type ListMissingEpisodesWithSeriesRow struct {
ID string `json:"id"`
SeriesID string `json:"seriesId"`
SeasonID string `json:"seasonId"`
SeasonNumber int64 `json:"seasonNumber"`
EpisodeNumber int64 `json:"episodeNumber"`
AbsoluteNumber *int64 `json:"absoluteNumber"`
AirDate *string `json:"airDate"`
Title string `json:"title"`
Overview string `json:"overview"`
Monitored bool `json:"monitored"`
HasFile bool `json:"hasFile"`
StillPath string `json:"stillPath"`
RuntimeMinutes int64 `json:"runtimeMinutes"`
SeriesTitle string `json:"seriesTitle"`
}
type ListSeriesParams ¶
type ListStorageSnapshotsRow ¶
type MediaManagement ¶
type MediaManagement struct {
ID int64 `json:"id"`
RenameEpisodes bool `json:"renameEpisodes"`
StandardEpisodeFormat string `json:"standardEpisodeFormat"`
DailyEpisodeFormat string `json:"dailyEpisodeFormat"`
AnimeEpisodeFormat string `json:"animeEpisodeFormat"`
SeriesFolderFormat string `json:"seriesFolderFormat"`
SeasonFolderFormat string `json:"seasonFolderFormat"`
ColonReplacement string `json:"colonReplacement"`
ImportExtraFiles bool `json:"importExtraFiles"`
ExtraFileExtensions string `json:"extraFileExtensions"`
UnmonitorDeletedEpisodes bool `json:"unmonitorDeletedEpisodes"`
}
type MediaServerConfig ¶
type NotificationConfig ¶
type QualityDefinition ¶
type QualityDefinition struct {
ID string `json:"id"`
Name string `json:"name"`
Resolution string `json:"resolution"`
Source string `json:"source"`
Codec string `json:"codec"`
Hdr string `json:"hdr"`
MinSize float64 `json:"minSize"`
MaxSize float64 `json:"maxSize"`
PreferredSize float64 `json:"preferredSize"`
SortOrder int64 `json:"sortOrder"`
}
type QualityProfile ¶
type QualityProfile struct {
ID string `json:"id"`
Name string `json:"name"`
CutoffJson string `json:"cutoffJson"`
QualitiesJson string `json:"qualitiesJson"`
UpgradeAllowed bool `json:"upgradeAllowed"`
UpgradeUntilJson *string `json:"upgradeUntilJson"`
MinCustomFormatScore int64 `json:"minCustomFormatScore"`
UpgradeUntilCfScore int64 `json:"upgradeUntilCfScore"`
CreatedAt string `json:"createdAt"`
UpdatedAt string `json:"updatedAt"`
ManagedByPulse bool `json:"managedByPulse"`
}
type Querier ¶
type Querier interface {
ClearBlocklist(ctx context.Context) error
CountActivities(ctx context.Context, arg CountActivitiesParams) (int64, error)
CountAllEpisodes(ctx context.Context) (int64, error)
CountBlocklist(ctx context.Context) (int64, error)
CountEpisodeFiles(ctx context.Context) (int64, error)
CountEpisodeFilesBySeriesID(ctx context.Context, seriesID string) (int64, error)
CountEpisodesBySeriesID(ctx context.Context, seriesID string) (int64, error)
CountEpisodesWithFile(ctx context.Context) (int64, error)
CountEpisodesWithFileBySeriesID(ctx context.Context, seriesID string) (int64, error)
CountMissingEpisodes(ctx context.Context) (int64, error)
CountMonitoredEpisodes(ctx context.Context) (int64, error)
// Circuit breaker for auto-re-search: how many stall-reason blocklist
// entries exist for this (series, episode) within the last 24 hours?
// Auto-re-search caps at 3 to avoid infinite retry loops when every
// release for an episode happens to be dead. Pass episode_id as a
// sql.NullString; null matches blocklist rows where episode_id IS NULL.
CountRecentStallsForEpisode(ctx context.Context, arg CountRecentStallsForEpisodeParams) (int64, error)
CountSeries(ctx context.Context) (int64, error)
CountSeriesAddedSince(ctx context.Context, addedAt string) (int64, error)
CountSeriesByLibrary(ctx context.Context, libraryID string) (int64, error)
CountSeriesInLibrary(ctx context.Context, libraryID string) (int64, error)
CreateBlocklistEntry(ctx context.Context, arg CreateBlocklistEntryParams) (Blocklist, error)
CreateDownloadClientConfig(ctx context.Context, arg CreateDownloadClientConfigParams) (DownloadClientConfig, error)
CreateEpisode(ctx context.Context, arg CreateEpisodeParams) (Episode, error)
CreateEpisodeFile(ctx context.Context, arg CreateEpisodeFileParams) (EpisodeFile, error)
CreateGrabHistory(ctx context.Context, arg CreateGrabHistoryParams) (GrabHistory, error)
CreateImportExclusion(ctx context.Context, arg CreateImportExclusionParams) (ImportExclusion, error)
CreateImportListConfig(ctx context.Context, arg CreateImportListConfigParams) (ImportListConfig, error)
CreateIndexerConfig(ctx context.Context, arg CreateIndexerConfigParams) (IndexerConfig, error)
CreateLibrary(ctx context.Context, arg CreateLibraryParams) (Library, error)
CreateMediaServerConfig(ctx context.Context, arg CreateMediaServerConfigParams) (MediaServerConfig, error)
CreateNotificationConfig(ctx context.Context, arg CreateNotificationConfigParams) (NotificationConfig, error)
CreateQualityProfile(ctx context.Context, arg CreateQualityProfileParams) (QualityProfile, error)
CreateSeason(ctx context.Context, arg CreateSeasonParams) (Season, error)
CreateSeries(ctx context.Context, arg CreateSeriesParams) (Series, error)
DeleteAnimeCourMonitoredBySeriesID(ctx context.Context, seriesID string) error
DeleteBlocklistEntry(ctx context.Context, id string) error
DeleteBlocklistEntryByGUID(ctx context.Context, releaseGuid string) error
DeleteDownloadClientConfig(ctx context.Context, id string) error
DeleteEpisodeFile(ctx context.Context, id string) error
DeleteEpisodeFilesBySeriesID(ctx context.Context, seriesID string) error
DeleteEpisodesBySeriesID(ctx context.Context, seriesID string) error
DeleteImportExclusion(ctx context.Context, id string) error
DeleteImportListConfig(ctx context.Context, id string) error
DeleteIndexerConfig(ctx context.Context, id string) error
DeleteLibrary(ctx context.Context, id string) error
DeleteMediaServerConfig(ctx context.Context, id string) error
DeleteNotificationConfig(ctx context.Context, id string) error
DeleteQualityProfile(ctx context.Context, id string) error
DeleteSeasonsBySeriesID(ctx context.Context, seriesID string) error
DeleteSeries(ctx context.Context, id string) error
DeleteSetting(ctx context.Context, key string) error
DetachQualityProfileFromPulse(ctx context.Context, id string) error
GetDownloadClientConfig(ctx context.Context, id string) (DownloadClientConfig, error)
GetEpisode(ctx context.Context, id string) (Episode, error)
GetEpisodeFile(ctx context.Context, id string) (EpisodeFile, error)
GetEpisodeFileByPath(ctx context.Context, path string) (EpisodeFile, error)
GetGrabByClientItemID(ctx context.Context, clientItemID *string) (GrabHistory, error)
GetGrabByID(ctx context.Context, id string) (GrabHistory, error)
GetGrabByInfoHash(ctx context.Context, infoHash *string) (GrabHistory, error)
GetGrabStats(ctx context.Context) (GetGrabStatsRow, error)
GetImportExclusionByTMDBID(ctx context.Context, tmdbID int64) (ImportExclusion, error)
GetImportListConfig(ctx context.Context, id string) (ImportListConfig, error)
GetIndexerConfig(ctx context.Context, id string) (IndexerConfig, error)
GetLibrary(ctx context.Context, id string) (Library, error)
GetMediaManagement(ctx context.Context) (MediaManagement, error)
GetMediaServerConfig(ctx context.Context, id string) (MediaServerConfig, error)
GetNotificationConfig(ctx context.Context, id string) (NotificationConfig, error)
GetQualityProfile(ctx context.Context, id string) (QualityProfile, error)
GetSeason(ctx context.Context, id string) (Season, error)
GetSeries(ctx context.Context, id string) (Series, error)
GetSeriesByTMDBID(ctx context.Context, tmdbID int64) (Series, error)
GetSeriesYearDistribution(ctx context.Context) ([]GetSeriesYearDistributionRow, error)
GetSetting(ctx context.Context, key string) (string, error)
GetTopIndexers(ctx context.Context) ([]GetTopIndexersRow, error)
InsertActivity(ctx context.Context, arg InsertActivityParams) error
InsertStatsSnapshot(ctx context.Context, arg InsertStatsSnapshotParams) error
IsBlocklisted(ctx context.Context, releaseGuid string) (int64, error)
// Two-keyed dedup: a release can be on the blocklist under either its
// original indexer GUID OR its content info hash (which is stable across
// indexers). The stall watcher populates info_hash when Haul has observed
// the torrent, so different-GUID-same-content cases are caught.
IsBlocklistedByGuidOrInfoHash(ctx context.Context, arg IsBlocklistedByGuidOrInfoHashParams) (int64, error)
IsBlocklistedByTitle(ctx context.Context, releaseTitle string) (int64, error)
LatestStatsSnapshot(ctx context.Context) (StatsSnapshot, error)
ListActiveGrabs(ctx context.Context) ([]GrabHistory, error)
ListActivities(ctx context.Context, arg ListActivitiesParams) ([]ActivityLog, error)
ListAllEpisodeFilePaths(ctx context.Context) ([]string, error)
// Used by the file-existence reconciler (QW5) to walk every recorded
// file and stat it. Selects the minimum surface area - adding columns
// here is fine, but the reconciler only needs id/episode_id/path to
// decide whether to delete the row.
ListAllEpisodeFiles(ctx context.Context) ([]ListAllEpisodeFilesRow, error)
ListAllTMDBIDs(ctx context.Context) ([]int64, error)
ListAnimeCourMonitored(ctx context.Context, seriesID string) ([]AnimeCourMonitored, error)
ListBlocklist(ctx context.Context, arg ListBlocklistParams) ([]ListBlocklistRow, error)
ListDownloadClientConfigs(ctx context.Context) ([]DownloadClientConfig, error)
ListEnabledDownloadClients(ctx context.Context) ([]DownloadClientConfig, error)
ListEnabledImportLists(ctx context.Context) ([]ImportListConfig, error)
ListEnabledIndexers(ctx context.Context) ([]IndexerConfig, error)
ListEnabledMediaServers(ctx context.Context) ([]MediaServerConfig, error)
ListEnabledNotifications(ctx context.Context) ([]NotificationConfig, error)
ListEpisodeFileQualities(ctx context.Context) ([]string, error)
ListEpisodeFileQualitiesWithSeriesIDs(ctx context.Context) ([]ListEpisodeFileQualitiesWithSeriesIDsRow, error)
ListEpisodeFilesByEpisodeID(ctx context.Context, episodeID string) ([]EpisodeFile, error)
ListEpisodeFilesBySeriesID(ctx context.Context, seriesID string) ([]EpisodeFile, error)
ListEpisodesByAirDateRange(ctx context.Context, arg ListEpisodesByAirDateRangeParams) ([]ListEpisodesByAirDateRangeRow, error)
ListEpisodesBySeasonID(ctx context.Context, seasonID string) ([]Episode, error)
ListEpisodesBySeriesID(ctx context.Context, seriesID string) ([]Episode, error)
ListExcludedTMDBIDs(ctx context.Context) ([]int64, error)
ListGrabHistory(ctx context.Context, arg ListGrabHistoryParams) ([]GrabHistory, error)
ListGrabHistoryByEpisode(ctx context.Context, episodeID *string) ([]GrabHistory, error)
ListGrabHistoryBySeries(ctx context.Context, seriesID string) ([]GrabHistory, error)
// Used by the Activity page's "Recently imported" and "Needs attention" rails
// to window grabs by terminal status and time. grab_history.grabbed_at is
// TEXT-encoded RFC3339 so the comparison is lexicographic but order-preserving.
ListGrabHistoryByStatusSince(ctx context.Context, arg ListGrabHistoryByStatusSinceParams) ([]GrabHistory, error)
ListImportExclusions(ctx context.Context) ([]ImportExclusion, error)
ListImportListConfigs(ctx context.Context) ([]ImportListConfig, error)
ListIndexerConfigs(ctx context.Context) ([]IndexerConfig, error)
ListLibraries(ctx context.Context) ([]Library, error)
ListManagedQualityProfiles(ctx context.Context) ([]QualityProfile, error)
ListMediaServerConfigs(ctx context.Context) ([]MediaServerConfig, error)
ListMissingEpisodes(ctx context.Context, arg ListMissingEpisodesParams) ([]Episode, error)
ListMissingEpisodesWithSeries(ctx context.Context, arg ListMissingEpisodesWithSeriesParams) ([]ListMissingEpisodesWithSeriesRow, error)
ListMonitoredSeries(ctx context.Context) ([]Series, error)
ListNotificationConfigs(ctx context.Context) ([]NotificationConfig, error)
ListQualityDefinitions(ctx context.Context) ([]QualityDefinition, error)
ListQualityProfiles(ctx context.Context) ([]QualityProfile, error)
ListSeasonsBySeriesID(ctx context.Context, seriesID string) ([]Season, error)
ListSeries(ctx context.Context, arg ListSeriesParams) ([]Series, error)
ListSeriesByLibrary(ctx context.Context, arg ListSeriesByLibraryParams) ([]Series, error)
ListSeriesGenresJSON(ctx context.Context) ([]string, error)
// Stuck-downloading grabs that the stallwatcher should expire because
// they can't make progress. Two cohorts:
// 1. info_hash IS NULL/empty: pilot recorded the grab but never got an
// info_hash back from the download client. The stallwatcher's
// info_hash-keyed pipeline is blind to these - they sit in
// `downloading` forever. We expire them by age.
// 2. info_hash IS set: stallwatcher already has a better signal (haul
// reports the stall reason). Those are handled by the haul-stall
// path; not returned here.
// Returned rows are old enough that the operator's expectation is "this
// should have completed by now or be reported as stalled."
ListStaleActiveGrabs(ctx context.Context, olderThan string) ([]GrabHistory, error)
ListStatsSnapshots(ctx context.Context, limit int64) ([]StatsSnapshot, error)
ListStorageSnapshots(ctx context.Context, limit int64) ([]ListStorageSnapshotsRow, error)
MarkGrabRemoved(ctx context.Context, id string) error
PruneActivities(ctx context.Context, createdAt string) error
QualityProfileInUse(ctx context.Context, arg QualityProfileInUseParams) (int64, error)
SetSetting(ctx context.Context, arg SetSettingParams) error
SumEpisodeFileSize(ctx context.Context) (interface{}, error)
UpdateDownloadClientConfig(ctx context.Context, arg UpdateDownloadClientConfigParams) (DownloadClientConfig, error)
UpdateEpisode(ctx context.Context, arg UpdateEpisodeParams) (Episode, error)
// Backfill or correct the absolute episode number. Used by the refresh
// path when a series is newly flagged as anime - its existing rows have
// absolute_number = NULL and need to be filled in retroactively.
UpdateEpisodeAbsoluteNumber(ctx context.Context, arg UpdateEpisodeAbsoluteNumberParams) error
UpdateEpisodeFilePath(ctx context.Context, arg UpdateEpisodeFilePathParams) error
// Focused setter for the file-existence reconciler (QW5), which flips
// has_file=FALSE when the underlying file is gone. Adding it instead
// of reusing UpdateEpisode avoids a read-modify-write of every metadata
// field for what is logically a single-bit change.
UpdateEpisodeHasFile(ctx context.Context, arg UpdateEpisodeHasFileParams) error
UpdateEpisodeMonitored(ctx context.Context, arg UpdateEpisodeMonitoredParams) error
UpdateEpisodesMonitoredBySeason(ctx context.Context, arg UpdateEpisodesMonitoredBySeasonParams) error
UpdateGrabDownloadClient(ctx context.Context, arg UpdateGrabDownloadClientParams) error
UpdateGrabInfoHash(ctx context.Context, arg UpdateGrabInfoHashParams) error
UpdateGrabStatus(ctx context.Context, arg UpdateGrabStatusParams) error
UpdateImportListConfig(ctx context.Context, arg UpdateImportListConfigParams) (ImportListConfig, error)
UpdateIndexerConfig(ctx context.Context, arg UpdateIndexerConfigParams) (IndexerConfig, error)
UpdateLibrary(ctx context.Context, arg UpdateLibraryParams) (Library, error)
UpdateMediaManagement(ctx context.Context, arg UpdateMediaManagementParams) (MediaManagement, error)
UpdateMediaServerConfig(ctx context.Context, arg UpdateMediaServerConfigParams) (MediaServerConfig, error)
UpdateNotificationConfig(ctx context.Context, arg UpdateNotificationConfigParams) (NotificationConfig, error)
UpdateQualityDefinitionSizes(ctx context.Context, arg UpdateQualityDefinitionSizesParams) error
UpdateQualityProfile(ctx context.Context, arg UpdateQualityProfileParams) (QualityProfile, error)
UpdateSeasonMonitored(ctx context.Context, arg UpdateSeasonMonitoredParams) error
UpdateSeries(ctx context.Context, arg UpdateSeriesParams) (Series, error)
UpdateSeriesMetadata(ctx context.Context, arg UpdateSeriesMetadataParams) (Series, error)
UpsertAnimeCourMonitored(ctx context.Context, arg UpsertAnimeCourMonitoredParams) error
}
type Queries ¶
type Queries struct {
// contains filtered or unexported fields
}
func (*Queries) CountActivities ¶
func (*Queries) CountAllEpisodes ¶
func (*Queries) CountBlocklist ¶
func (*Queries) CountEpisodeFiles ¶
func (*Queries) CountEpisodeFilesBySeriesID ¶
func (*Queries) CountEpisodesBySeriesID ¶
func (*Queries) CountEpisodesWithFile ¶
func (*Queries) CountEpisodesWithFileBySeriesID ¶
func (*Queries) CountMissingEpisodes ¶
func (*Queries) CountMonitoredEpisodes ¶
func (*Queries) CountRecentStallsForEpisode ¶
func (q *Queries) CountRecentStallsForEpisode(ctx context.Context, arg CountRecentStallsForEpisodeParams) (int64, error)
Circuit breaker for auto-re-search: how many stall-reason blocklist entries exist for this (series, episode) within the last 24 hours? Auto-re-search caps at 3 to avoid infinite retry loops when every release for an episode happens to be dead. Pass episode_id as a sql.NullString; null matches blocklist rows where episode_id IS NULL.
func (*Queries) CountSeriesAddedSince ¶
func (*Queries) CountSeriesByLibrary ¶
func (*Queries) CountSeriesInLibrary ¶
func (*Queries) CreateBlocklistEntry ¶
func (*Queries) CreateDownloadClientConfig ¶
func (q *Queries) CreateDownloadClientConfig(ctx context.Context, arg CreateDownloadClientConfigParams) (DownloadClientConfig, error)
func (*Queries) CreateEpisode ¶
func (*Queries) CreateEpisodeFile ¶
func (q *Queries) CreateEpisodeFile(ctx context.Context, arg CreateEpisodeFileParams) (EpisodeFile, error)
func (*Queries) CreateGrabHistory ¶
func (q *Queries) CreateGrabHistory(ctx context.Context, arg CreateGrabHistoryParams) (GrabHistory, error)
func (*Queries) CreateImportExclusion ¶
func (q *Queries) CreateImportExclusion(ctx context.Context, arg CreateImportExclusionParams) (ImportExclusion, error)
func (*Queries) CreateImportListConfig ¶
func (q *Queries) CreateImportListConfig(ctx context.Context, arg CreateImportListConfigParams) (ImportListConfig, error)
func (*Queries) CreateIndexerConfig ¶
func (q *Queries) CreateIndexerConfig(ctx context.Context, arg CreateIndexerConfigParams) (IndexerConfig, error)
func (*Queries) CreateLibrary ¶
func (*Queries) CreateMediaServerConfig ¶
func (q *Queries) CreateMediaServerConfig(ctx context.Context, arg CreateMediaServerConfigParams) (MediaServerConfig, error)
func (*Queries) CreateNotificationConfig ¶
func (q *Queries) CreateNotificationConfig(ctx context.Context, arg CreateNotificationConfigParams) (NotificationConfig, error)
func (*Queries) CreateQualityProfile ¶
func (q *Queries) CreateQualityProfile(ctx context.Context, arg CreateQualityProfileParams) (QualityProfile, error)
func (*Queries) CreateSeason ¶
func (*Queries) CreateSeries ¶
func (*Queries) DeleteAnimeCourMonitoredBySeriesID ¶
func (*Queries) DeleteBlocklistEntry ¶
func (*Queries) DeleteBlocklistEntryByGUID ¶
func (*Queries) DeleteDownloadClientConfig ¶
func (*Queries) DeleteEpisodeFile ¶
func (*Queries) DeleteEpisodeFilesBySeriesID ¶
func (*Queries) DeleteEpisodesBySeriesID ¶
func (*Queries) DeleteImportExclusion ¶
func (*Queries) DeleteImportListConfig ¶
func (*Queries) DeleteIndexerConfig ¶
func (*Queries) DeleteLibrary ¶
func (*Queries) DeleteMediaServerConfig ¶
func (*Queries) DeleteNotificationConfig ¶
func (*Queries) DeleteQualityProfile ¶
func (*Queries) DeleteSeasonsBySeriesID ¶
func (*Queries) DeleteSetting ¶
func (*Queries) DetachQualityProfileFromPulse ¶
func (*Queries) GetDownloadClientConfig ¶
func (*Queries) GetEpisode ¶
func (*Queries) GetEpisodeFile ¶
func (*Queries) GetEpisodeFileByPath ¶
func (*Queries) GetGrabByClientItemID ¶
func (*Queries) GetGrabByID ¶
func (*Queries) GetGrabByInfoHash ¶
func (*Queries) GetGrabStats ¶
func (q *Queries) GetGrabStats(ctx context.Context) (GetGrabStatsRow, error)
func (*Queries) GetImportExclusionByTMDBID ¶
func (*Queries) GetImportListConfig ¶
func (*Queries) GetIndexerConfig ¶
func (*Queries) GetLibrary ¶
func (*Queries) GetMediaManagement ¶
func (q *Queries) GetMediaManagement(ctx context.Context) (MediaManagement, error)
func (*Queries) GetMediaServerConfig ¶
func (*Queries) GetNotificationConfig ¶
func (*Queries) GetQualityProfile ¶
func (*Queries) GetSeriesByTMDBID ¶
func (*Queries) GetSeriesYearDistribution ¶
func (q *Queries) GetSeriesYearDistribution(ctx context.Context) ([]GetSeriesYearDistributionRow, error)
func (*Queries) GetSetting ¶
func (*Queries) GetTopIndexers ¶
func (q *Queries) GetTopIndexers(ctx context.Context) ([]GetTopIndexersRow, error)
func (*Queries) InsertActivity ¶
func (q *Queries) InsertActivity(ctx context.Context, arg InsertActivityParams) error
func (*Queries) InsertStatsSnapshot ¶
func (q *Queries) InsertStatsSnapshot(ctx context.Context, arg InsertStatsSnapshotParams) error
func (*Queries) IsBlocklisted ¶
func (*Queries) IsBlocklistedByGuidOrInfoHash ¶
func (q *Queries) IsBlocklistedByGuidOrInfoHash(ctx context.Context, arg IsBlocklistedByGuidOrInfoHashParams) (int64, error)
Two-keyed dedup: a release can be on the blocklist under either its original indexer GUID OR its content info hash (which is stable across indexers). The stall watcher populates info_hash when Haul has observed the torrent, so different-GUID-same-content cases are caught.
func (*Queries) IsBlocklistedByTitle ¶
func (*Queries) LatestStatsSnapshot ¶
func (q *Queries) LatestStatsSnapshot(ctx context.Context) (StatsSnapshot, error)
func (*Queries) ListActiveGrabs ¶
func (q *Queries) ListActiveGrabs(ctx context.Context) ([]GrabHistory, error)
func (*Queries) ListActivities ¶
func (q *Queries) ListActivities(ctx context.Context, arg ListActivitiesParams) ([]ActivityLog, error)
func (*Queries) ListAllEpisodeFilePaths ¶
func (*Queries) ListAllEpisodeFiles ¶
func (q *Queries) ListAllEpisodeFiles(ctx context.Context) ([]ListAllEpisodeFilesRow, error)
Used by the file-existence reconciler (QW5) to walk every recorded file and stat it. Selects the minimum surface area - adding columns here is fine, but the reconciler only needs id/episode_id/path to decide whether to delete the row.
func (*Queries) ListAllTMDBIDs ¶
func (*Queries) ListAnimeCourMonitored ¶
func (*Queries) ListBlocklist ¶
func (q *Queries) ListBlocklist(ctx context.Context, arg ListBlocklistParams) ([]ListBlocklistRow, error)
func (*Queries) ListDownloadClientConfigs ¶
func (q *Queries) ListDownloadClientConfigs(ctx context.Context) ([]DownloadClientConfig, error)
func (*Queries) ListEnabledDownloadClients ¶
func (q *Queries) ListEnabledDownloadClients(ctx context.Context) ([]DownloadClientConfig, error)
func (*Queries) ListEnabledImportLists ¶
func (q *Queries) ListEnabledImportLists(ctx context.Context) ([]ImportListConfig, error)
func (*Queries) ListEnabledIndexers ¶
func (q *Queries) ListEnabledIndexers(ctx context.Context) ([]IndexerConfig, error)
func (*Queries) ListEnabledMediaServers ¶
func (q *Queries) ListEnabledMediaServers(ctx context.Context) ([]MediaServerConfig, error)
func (*Queries) ListEnabledNotifications ¶
func (q *Queries) ListEnabledNotifications(ctx context.Context) ([]NotificationConfig, error)
func (*Queries) ListEpisodeFileQualities ¶
func (*Queries) ListEpisodeFileQualitiesWithSeriesIDs ¶
func (q *Queries) ListEpisodeFileQualitiesWithSeriesIDs(ctx context.Context) ([]ListEpisodeFileQualitiesWithSeriesIDsRow, error)
func (*Queries) ListEpisodeFilesByEpisodeID ¶
func (*Queries) ListEpisodeFilesBySeriesID ¶
func (*Queries) ListEpisodesByAirDateRange ¶
func (q *Queries) ListEpisodesByAirDateRange(ctx context.Context, arg ListEpisodesByAirDateRangeParams) ([]ListEpisodesByAirDateRangeRow, error)
func (*Queries) ListEpisodesBySeasonID ¶
func (*Queries) ListEpisodesBySeriesID ¶
func (*Queries) ListExcludedTMDBIDs ¶
func (*Queries) ListGrabHistory ¶
func (q *Queries) ListGrabHistory(ctx context.Context, arg ListGrabHistoryParams) ([]GrabHistory, error)
func (*Queries) ListGrabHistoryByEpisode ¶
func (*Queries) ListGrabHistoryBySeries ¶
func (*Queries) ListGrabHistoryByStatusSince ¶
func (q *Queries) ListGrabHistoryByStatusSince(ctx context.Context, arg ListGrabHistoryByStatusSinceParams) ([]GrabHistory, error)
Used by the Activity page's "Recently imported" and "Needs attention" rails to window grabs by terminal status and time. grab_history.grabbed_at is TEXT-encoded RFC3339 so the comparison is lexicographic but order-preserving.
func (*Queries) ListImportExclusions ¶
func (q *Queries) ListImportExclusions(ctx context.Context) ([]ImportExclusion, error)
func (*Queries) ListImportListConfigs ¶
func (q *Queries) ListImportListConfigs(ctx context.Context) ([]ImportListConfig, error)
func (*Queries) ListIndexerConfigs ¶
func (q *Queries) ListIndexerConfigs(ctx context.Context) ([]IndexerConfig, error)
func (*Queries) ListLibraries ¶
func (*Queries) ListManagedQualityProfiles ¶
func (q *Queries) ListManagedQualityProfiles(ctx context.Context) ([]QualityProfile, error)
func (*Queries) ListMediaServerConfigs ¶
func (q *Queries) ListMediaServerConfigs(ctx context.Context) ([]MediaServerConfig, error)
func (*Queries) ListMissingEpisodes ¶
func (*Queries) ListMissingEpisodesWithSeries ¶
func (q *Queries) ListMissingEpisodesWithSeries(ctx context.Context, arg ListMissingEpisodesWithSeriesParams) ([]ListMissingEpisodesWithSeriesRow, error)
func (*Queries) ListMonitoredSeries ¶
func (*Queries) ListNotificationConfigs ¶
func (q *Queries) ListNotificationConfigs(ctx context.Context) ([]NotificationConfig, error)
func (*Queries) ListQualityDefinitions ¶
func (q *Queries) ListQualityDefinitions(ctx context.Context) ([]QualityDefinition, error)
func (*Queries) ListQualityProfiles ¶
func (q *Queries) ListQualityProfiles(ctx context.Context) ([]QualityProfile, error)
func (*Queries) ListSeasonsBySeriesID ¶
func (*Queries) ListSeries ¶
func (*Queries) ListSeriesByLibrary ¶
func (*Queries) ListSeriesGenresJSON ¶
func (*Queries) ListStaleActiveGrabs ¶
func (q *Queries) ListStaleActiveGrabs(ctx context.Context, olderThan string) ([]GrabHistory, error)
Stuck-downloading grabs that the stallwatcher should expire because they can't make progress. Two cohorts:
- info_hash IS NULL/empty: pilot recorded the grab but never got an info_hash back from the download client. The stallwatcher's info_hash-keyed pipeline is blind to these - they sit in `downloading` forever. We expire them by age.
- info_hash IS set: stallwatcher already has a better signal (haul reports the stall reason). Those are handled by the haul-stall path; not returned here.
Returned rows are old enough that the operator's expectation is "this should have completed by now or be reported as stalled."
func (*Queries) ListStatsSnapshots ¶
func (*Queries) ListStorageSnapshots ¶
func (*Queries) MarkGrabRemoved ¶
func (*Queries) PruneActivities ¶
func (*Queries) QualityProfileInUse ¶
func (*Queries) SetSetting ¶
func (q *Queries) SetSetting(ctx context.Context, arg SetSettingParams) error
func (*Queries) SumEpisodeFileSize ¶
func (*Queries) UpdateDownloadClientConfig ¶
func (q *Queries) UpdateDownloadClientConfig(ctx context.Context, arg UpdateDownloadClientConfigParams) (DownloadClientConfig, error)
func (*Queries) UpdateEpisode ¶
func (*Queries) UpdateEpisodeAbsoluteNumber ¶
func (q *Queries) UpdateEpisodeAbsoluteNumber(ctx context.Context, arg UpdateEpisodeAbsoluteNumberParams) error
Backfill or correct the absolute episode number. Used by the refresh path when a series is newly flagged as anime - its existing rows have absolute_number = NULL and need to be filled in retroactively.
func (*Queries) UpdateEpisodeFilePath ¶
func (q *Queries) UpdateEpisodeFilePath(ctx context.Context, arg UpdateEpisodeFilePathParams) error
func (*Queries) UpdateEpisodeHasFile ¶
func (q *Queries) UpdateEpisodeHasFile(ctx context.Context, arg UpdateEpisodeHasFileParams) error
Focused setter for the file-existence reconciler (QW5), which flips has_file=FALSE when the underlying file is gone. Adding it instead of reusing UpdateEpisode avoids a read-modify-write of every metadata field for what is logically a single-bit change.
func (*Queries) UpdateEpisodeMonitored ¶
func (q *Queries) UpdateEpisodeMonitored(ctx context.Context, arg UpdateEpisodeMonitoredParams) error
func (*Queries) UpdateEpisodesMonitoredBySeason ¶
func (q *Queries) UpdateEpisodesMonitoredBySeason(ctx context.Context, arg UpdateEpisodesMonitoredBySeasonParams) error
func (*Queries) UpdateGrabDownloadClient ¶
func (q *Queries) UpdateGrabDownloadClient(ctx context.Context, arg UpdateGrabDownloadClientParams) error
func (*Queries) UpdateGrabInfoHash ¶
func (q *Queries) UpdateGrabInfoHash(ctx context.Context, arg UpdateGrabInfoHashParams) error
func (*Queries) UpdateGrabStatus ¶
func (q *Queries) UpdateGrabStatus(ctx context.Context, arg UpdateGrabStatusParams) error
func (*Queries) UpdateImportListConfig ¶
func (q *Queries) UpdateImportListConfig(ctx context.Context, arg UpdateImportListConfigParams) (ImportListConfig, error)
func (*Queries) UpdateIndexerConfig ¶
func (q *Queries) UpdateIndexerConfig(ctx context.Context, arg UpdateIndexerConfigParams) (IndexerConfig, error)
func (*Queries) UpdateLibrary ¶
func (*Queries) UpdateMediaManagement ¶
func (q *Queries) UpdateMediaManagement(ctx context.Context, arg UpdateMediaManagementParams) (MediaManagement, error)
func (*Queries) UpdateMediaServerConfig ¶
func (q *Queries) UpdateMediaServerConfig(ctx context.Context, arg UpdateMediaServerConfigParams) (MediaServerConfig, error)
func (*Queries) UpdateNotificationConfig ¶
func (q *Queries) UpdateNotificationConfig(ctx context.Context, arg UpdateNotificationConfigParams) (NotificationConfig, error)
func (*Queries) UpdateQualityDefinitionSizes ¶
func (q *Queries) UpdateQualityDefinitionSizes(ctx context.Context, arg UpdateQualityDefinitionSizesParams) error
func (*Queries) UpdateQualityProfile ¶
func (q *Queries) UpdateQualityProfile(ctx context.Context, arg UpdateQualityProfileParams) (QualityProfile, error)
func (*Queries) UpdateSeasonMonitored ¶
func (q *Queries) UpdateSeasonMonitored(ctx context.Context, arg UpdateSeasonMonitoredParams) error
func (*Queries) UpdateSeries ¶
func (*Queries) UpdateSeriesMetadata ¶
func (*Queries) UpsertAnimeCourMonitored ¶
func (q *Queries) UpsertAnimeCourMonitored(ctx context.Context, arg UpsertAnimeCourMonitoredParams) error
type Series ¶
type Series struct {
ID string `json:"id"`
TmdbID int64 `json:"tmdbId"`
ImdbID *string `json:"imdbId"`
Title string `json:"title"`
SortTitle string `json:"sortTitle"`
Year int64 `json:"year"`
Overview string `json:"overview"`
RuntimeMinutes *int64 `json:"runtimeMinutes"`
GenresJson string `json:"genresJson"`
PosterUrl *string `json:"posterUrl"`
FanartUrl *string `json:"fanartUrl"`
Status string `json:"status"`
SeriesType string `json:"seriesType"`
MonitorType string `json:"monitorType"`
Network *string `json:"network"`
AirTime *string `json:"airTime"`
Certification *string `json:"certification"`
Monitored bool `json:"monitored"`
LibraryID string `json:"libraryId"`
QualityProfileID string `json:"qualityProfileId"`
Path *string `json:"path"`
AddedAt string `json:"addedAt"`
UpdatedAt string `json:"updatedAt"`
MetadataRefreshedAt *string `json:"metadataRefreshedAt"`
AlternateTitles string `json:"alternateTitles"`
}
type SetSettingParams ¶
type StatsSnapshot ¶
type StatsSnapshot struct {
ID string `json:"id"`
TotalSeries int64 `json:"totalSeries"`
TotalEpisodes int64 `json:"totalEpisodes"`
MonitoredEpisodes int64 `json:"monitoredEpisodes"`
WithFile int64 `json:"withFile"`
Missing int64 `json:"missing"`
TotalSizeBytes int64 `json:"totalSizeBytes"`
SnapshotAt string `json:"snapshotAt"`
}
type UpdateEpisodeParams ¶
type UpdateGrabStatusParams ¶
type UpdateImportListConfigParams ¶
type UpdateImportListConfigParams struct {
Name string `json:"name"`
Kind string `json:"kind"`
Enabled bool `json:"enabled"`
Settings string `json:"settings"`
SearchOnAdd bool `json:"searchOnAdd"`
Monitor bool `json:"monitor"`
MonitorType string `json:"monitorType"`
QualityProfileID string `json:"qualityProfileId"`
LibraryID string `json:"libraryId"`
UpdatedAt string `json:"updatedAt"`
ID string `json:"id"`
}
type UpdateLibraryParams ¶
type UpdateLibraryParams struct {
Name string `json:"name"`
RootPath string `json:"rootPath"`
DefaultQualityProfileID string `json:"defaultQualityProfileId"`
NamingFormat *string `json:"namingFormat"`
FolderFormat *string `json:"folderFormat"`
MinFreeSpaceGb int64 `json:"minFreeSpaceGb"`
TagsJson string `json:"tagsJson"`
UpdatedAt string `json:"updatedAt"`
ID string `json:"id"`
}
type UpdateMediaManagementParams ¶
type UpdateMediaManagementParams struct {
RenameEpisodes bool `json:"renameEpisodes"`
StandardEpisodeFormat string `json:"standardEpisodeFormat"`
DailyEpisodeFormat string `json:"dailyEpisodeFormat"`
AnimeEpisodeFormat string `json:"animeEpisodeFormat"`
SeriesFolderFormat string `json:"seriesFolderFormat"`
SeasonFolderFormat string `json:"seasonFolderFormat"`
ColonReplacement string `json:"colonReplacement"`
ImportExtraFiles bool `json:"importExtraFiles"`
ExtraFileExtensions string `json:"extraFileExtensions"`
UnmonitorDeletedEpisodes bool `json:"unmonitorDeletedEpisodes"`
}
type UpdateQualityProfileParams ¶
type UpdateQualityProfileParams struct {
Name string `json:"name"`
CutoffJson string `json:"cutoffJson"`
QualitiesJson string `json:"qualitiesJson"`
UpgradeAllowed bool `json:"upgradeAllowed"`
UpgradeUntilJson *string `json:"upgradeUntilJson"`
UpdatedAt string `json:"updatedAt"`
MinCustomFormatScore int64 `json:"minCustomFormatScore"`
UpgradeUntilCfScore int64 `json:"upgradeUntilCfScore"`
ID string `json:"id"`
}
type UpdateSeriesMetadataParams ¶
type UpdateSeriesMetadataParams struct {
ImdbID *string `json:"imdbId"`
Title string `json:"title"`
SortTitle string `json:"sortTitle"`
Year int64 `json:"year"`
Overview string `json:"overview"`
RuntimeMinutes *int64 `json:"runtimeMinutes"`
GenresJson string `json:"genresJson"`
PosterUrl *string `json:"posterUrl"`
FanartUrl *string `json:"fanartUrl"`
Status string `json:"status"`
Network *string `json:"network"`
AirTime *string `json:"airTime"`
Certification *string `json:"certification"`
MetadataRefreshedAt *string `json:"metadataRefreshedAt"`
UpdatedAt string `json:"updatedAt"`
AlternateTitles string `json:"alternateTitles"`
ID string `json:"id"`
}
type UpdateSeriesParams ¶
type UpdateSeriesParams struct {
Title string `json:"title"`
Monitored bool `json:"monitored"`
LibraryID string `json:"libraryId"`
QualityProfileID string `json:"qualityProfileId"`
SeriesType string `json:"seriesType"`
Path *string `json:"path"`
UpdatedAt string `json:"updatedAt"`
ID string `json:"id"`
}
Source Files
¶
- activity.sql.go
- anime_cour_monitored.sql.go
- blocklist.sql.go
- db.go
- download_clients.sql.go
- episode_files.sql.go
- episodes.sql.go
- grab_history.sql.go
- import_lists.sql.go
- indexer_configs.sql.go
- libraries.sql.go
- media_management.sql.go
- media_servers.sql.go
- models.go
- notifications.sql.go
- quality_definitions.sql.go
- quality_profiles.sql.go
- querier.go
- seasons.sql.go
- series.sql.go
- settings.sql.go
- stats.sql.go