Documentation
¶
Index ¶
- Constants
- Variables
- func BuildScrapeDayBoundaryObservations(observations []ScrapeRangeObservation) []scrapeDayBoundaryObservation
- func IsBinaryNotFound(err error) bool
- func IsReleaseNotFound(err error) bool
- func ParseAdminCategoryID(raw string) int
- func PopulateDatabaseStorageFilesystemStatus(status *DatabaseStorageStatus, dataDirectory string) error
- func StableReleaseGUID(providerID int64, releaseKey string) string
- func WithBinaryStatsRefreshTelemetry(ctx context.Context, telemetry *BinaryStatsRefreshTelemetry) context.Context
- func WithBinaryUpsertChunkSize(ctx context.Context, size int) context.Context
- func WithBinaryUpsertTelemetry(ctx context.Context, telemetry *BinaryUpsertTelemetry) context.Context
- func WithSkipYEncRecoveryWorkItemRetire(ctx context.Context) context.Context
- func WithSkipYEncRecoveryWorkItemSync(ctx context.Context) context.Context
- type AdminIndexerReleaseListParams
- type ArticleAvailabilityDiagnostic
- type ArticleAvailabilityProjection
- type ArticleCohortSchedulerRequest
- type ArticleCohortSchedulerResult
- type ArticleHeader
- type AssemblyCandidate
- type AssemblyClaimRequest
- type AssemblyClaimStats
- type BackfillCheckpointState
- type BinaryArchiveEntryRecord
- type BinaryEvidenceDiagnostic
- type BinaryEvidenceDiagnosticRecord
- type BinaryEvidencePeer
- type BinaryEvidenceRepairCandidate
- type BinaryExchangeIdentityCandidate
- type BinaryInspectionArtifactRecord
- type BinaryInspectionCandidate
- type BinaryInspectionCandidateOptions
- type BinaryInspectionClaimRequest
- type BinaryInspectionReadyQueueRefreshResult
- type BinaryInspectionRecord
- type BinaryMediaStreamRecord
- type BinaryPAR2SetRecord
- type BinaryPAR2TargetCoverageResult
- type BinaryPAR2TargetRecord
- type BinaryPartRecord
- type BinaryRecord
- type BinaryRecoveryRecord
- type BinaryStatsRefreshTelemetry
- type BinarySummary
- type BinaryTextEvidenceRecord
- type BinaryUpsertTelemetry
- type BodyRequestBudgetSnapshot
- type CatalogArticleRef
- type CatalogReader
- type CatalogReleaseFile
- type ChecksumAttestationProjection
- type CoverageAssignmentRecord
- type CoverageClaimRecord
- type CoverageDashboard
- type CoverageDuplicateRecord
- type CoverageGroupCatalogItem
- type CoverageOutcomeRecord
- type CoverageRangeBlock
- type CoverageRangeBlockParams
- type CoverageScannerNode
- type CoverageSchedulerPlan
- type CoverageWorkSuggestion
- type CoverageWorkSuggestionParams
- type CrossGroupSubjectMultipartRegroupRequest
- type CrossGroupSubjectMultipartRegroupResult
- type DatabaseStorageGuardConfig
- type DatabaseStorageGuardEvaluation
- type DatabaseStorageStatus
- type DeferredArticleRangeClaim
- type DeferredArticleRangeRecord
- type DeferredArticleRangeSummary
- type FederatedManifestSource
- type FederatedManifestSourceDiagnostic
- type FederatedReleaseCardSearchParams
- type FederatedReleaseCardSummary
- type FederatedReleaseSourceDiagnostic
- type FederatedScoreRecomputeResult
- type FederationActivityQuery
- type FederationAdmissionRecord
- type FederationDeliveryResult
- type FederationEventDiagnostic
- type FederationEventDiagnosticParams
- type FederationEventRecord
- type FederationEvidenceSummary
- type FederationMemberContribution
- type FederationNodeEndpoint
- type FederationNodeRecord
- type FederationOutboxPage
- type FederationOutboxParams
- type FederationPeerDeliveryDiagnostic
- type FederationPeerDiagnostic
- type FederationPeerRecord
- type FederationPoolHealthReport
- type FederationProtocolCompactionResult
- type FederationRejectedEventDiagnostic
- type FederationRejectedEventSummary
- type FederationReleaseLedgerItem
- type FederationReleaseLedgerPage
- type FederationReleaseLedgerParams
- type FederationRolePoolAccessRecord
- type FederationStorageRelation
- type FederationStorageReport
- type HealthAttestationDiagnostic
- type HealthAttestationProjection
- type IndexerAdminAttentionItem
- type IndexerAdminAttentionParams
- type IndexerArchiveEntrySummary
- type IndexerArticleCohortItem
- type IndexerArticleCohortParams
- type IndexerBackfillProgress
- type IndexerBackfillProgressItem
- type IndexerBinaryDetail
- type IndexerBinaryInspectionArtifactSummary
- type IndexerBinaryListParams
- type IndexerBinaryPartSummary
- type IndexerBinarySummary
- type IndexerCrosspostBackfillResult
- type IndexerCrosspostPopularityItem
- type IndexerCrosspostPopularityRefreshResult
- type IndexerDailyBucketSummary
- type IndexerDashboardStat
- type IndexerDashboardStats
- type IndexerExternalMatchSummary
- type IndexerFileArticleSummary
- type IndexerFileDetail
- type IndexerGroupProfileSummary
- type IndexerInspectionSummary
- type IndexerIntegrityCheck
- type IndexerIntegrityRepairResult
- type IndexerIntegrityReport
- type IndexerMaintenanceResult
- type IndexerMediaStreamSummary
- type IndexerOverview
- type IndexerPAR2SetSummary
- type IndexerPasswordCandidateSummary
- type IndexerPosterMaterializationResult
- type IndexerPredbMatchSummary
- type IndexerProviderGroupInventoryItem
- type IndexerProviderGroupInventoryPage
- type IndexerProviderGroupInventoryStats
- type IndexerReleaseDetail
- type IndexerReleaseFileSummary
- type IndexerReleaseSummary
- type IndexerSourceWindowAudit
- type IndexerStageClaimRequest
- type IndexerStageClaimResult
- type IndexerStageFinishRequest
- type IndexerStageRepairResult
- type IndexerStageRun
- type IndexerStageRunListParams
- type IndexerStageState
- type IndexerStageThroughput
- type IndexerStageThroughputItem
- type IndexerStageThroughputWindow
- type IndexerStorageAuditAgeRange
- type IndexerStorageAuditIndex
- type IndexerStorageAuditReport
- type IndexerStorageAuditTable
- type IndexerStorageCleanupAudit
- type IndexerStorageGuardCount
- type IndexerStorageReclaimOptions
- type IndexerStorageReclaimResult
- type IndexerStorageReclaimTableResult
- type IndexerTextEvidenceSummary
- type IndexerYEncBacklogAudit
- type MaintenanceTaskResult
- type MaintenanceTaskStorageSnapshot
- type ManifestAvailabilityProjection
- type NNTPRuntimeSnapshot
- type NodeCapabilityView
- type PAR2InspectionBatchRecord
- type PAR2InspectionBatchResult
- type PasswordVerificationCandidate
- type PendingFederationProjection
- type PoolAuthorizationResult
- type PoolControlEventRecord
- type PoolMemberRecord
- type PredbBackfillCheckpoint
- type PredbBackfillWindow
- type PredbEntryRecord
- type PredbEntrySummary
- type PublicIndexerReleaseCapabilities
- type PublicIndexerReleaseDetail
- type PublicIndexerReleaseExternal
- type PublicIndexerReleaseFileSummary
- type PublicIndexerReleaseListParams
- type PublicIndexerReleaseMediaSummary
- type PublicIndexerReleaseSummary
- type RawStageRetentionPolicy
- type ReleaseArchiveCandidate
- type ReleaseArchiveState
- type ReleaseArchiveStoredRecord
- type ReleaseCandidate
- type ReleaseCandidateAck
- type ReleaseCandidateSelectionOptions
- type ReleaseDetailDiagnostics
- type ReleaseEnrichmentCandidate
- type ReleaseEnrichmentUpdate
- type ReleaseFileArticleRecord
- type ReleaseFileRecord
- type ReleaseInspectionUpdate
- type ReleaseManualIdentityUpdate
- type ReleaseNZBGenerateCandidate
- type ReleaseOverrideRecord
- type ReleasePasswordCandidateRecord
- type ReleasePredbMatchRecord
- type ReleasePredbUpdate
- type ReleasePurgeCandidate
- type ReleasePurgeResult
- type ReleaseReadyPolicy
- type ReleaseRecord
- type ReleaseSnapshotResult
- type ReleaseSummaryRefreshMetrics
- type ReleaseTMDBMatchRecord
- type ReleaseTVDBMatchRecord
- type ReleaseTitleCandidate
- type ReputationDiagnostic
- type ResolutionManifestRecord
- type ScrapeRangeObservation
- type ScrapeTimeframeProgress
- type ScrapeTimeframeProgressSummary
- type SourceBucketOutcomePolicy
- type SourceBucketOutcomeReport
- type SourceBucketOutcomeSummary
- type Store
- func (s *Store) AckReleaseCandidate(ctx context.Context, providerID, newsgroupID int64, keyKind, familyKey string) error
- func (s *Store) AckReleaseCandidates(ctx context.Context, candidates []ReleaseCandidateAck) error
- func (s *Store) ActivePoolAdminPublicKeys(ctx context.Context, poolID string) (map[string]ed25519.PublicKey, error)
- func (s *Store) ActivePoolWitnessPublicKeys(ctx context.Context, poolID string) (map[string]ed25519.PublicKey, error)
- func (s *Store) AdvanceScrapeTimeframeProgress(ctx context.Context, timeframeID string, ...) error
- func (s *Store) AppendFederationEvent(ctx context.Context, record FederationEventRecord) error
- func (s *Store) AppendRejectedFederationEvent(ctx context.Context, eventID, authorNodeID, eventType string, ...) error
- func (s *Store) AppendVerifiedFederationEvent(ctx context.Context, event *events.SignedEvent, ...) error
- func (s *Store) AppendVerifiedFederationEventWithProjection(ctx context.Context, event *events.SignedEvent, ...) error
- func (s *Store) ApplyBinaryPAR2TargetCoverage(ctx context.Context, binaryID int64, rows []BinaryPAR2TargetRecord) (*BinaryPAR2TargetCoverageResult, error)
- func (s *Store) ApplyBinaryRecovery(ctx context.Context, in BinaryRecoveryRecord) error
- func (s *Store) ApplyPAR2InspectionBatch(ctx context.Context, rows []PAR2InspectionBatchRecord) (*PAR2InspectionBatchResult, error)
- func (s *Store) ApplyReleaseEnrichmentUpdate(ctx context.Context, in ReleaseEnrichmentUpdate) error
- func (s *Store) ApplyReleaseInspectionUpdate(ctx context.Context, in ReleaseInspectionUpdate) error
- func (s *Store) ApplyReleaseManualIdentity(ctx context.Context, in ReleaseManualIdentityUpdate) error
- func (s *Store) ApplyReleasePredbUpdate(ctx context.Context, in ReleasePredbUpdate) error
- func (s *Store) ApplyYEncHeaderRecoveries(ctx context.Context, records []YEncHeaderRecoveryRecord) ([]YEncHeaderRecoveryResult, error)
- func (s *Store) ApplyYEncHeaderRecovery(ctx context.Context, in YEncHeaderRecoveryRecord) (*YEncHeaderRecoveryResult, error)
- func (s *Store) AuthorizeFederatedManifestSource(ctx context.Context, source FederatedManifestSource, authorNodeID string) error
- func (s *Store) BackfillIndexerCrosspostGroups(ctx context.Context, batchSize, maxBatches int) (*IndexerCrosspostBackfillResult, error)
- func (s *Store) BackfillMissingReleaseArchiveDetailSnapshots(ctx context.Context, limit int) (int64, error)
- func (s *Store) BackfillMissingReleaseCatalogFiles(ctx context.Context, limit int) (int64, error)
- func (s *Store) BackfillPriorityYEncRecoveryWorkItems(ctx context.Context, limit int) (int64, int64, error)
- func (s *Store) BackfillYEncRecoveryWorkItems(ctx context.Context, limit int) (int64, int64, error)
- func (s *Store) BinaryEffectiveComplete(ctx context.Context, binaryID int64) (bool, error)
- func (s *Store) BuildCoverageSchedulerPlan(ctx context.Context, params CoverageWorkSuggestionParams) (CoverageSchedulerPlan, error)
- func (s *Store) CanAcceptFederationEventForPools(ctx context.Context, authorNodeID string, poolIDs []string, eventType string) (PoolAuthorizationResult, error)
- func (s *Store) CanFetchResolutionManifest(ctx context.Context, manifestID, nodeID string) (bool, error)
- func (s *Store) CanFetchResolutionManifestForSource(ctx context.Context, manifestID, releaseID, poolID, nodeID string) (bool, error)
- func (s *Store) CanGetFederatedReleaseForPrincipal(ctx context.Context, releaseID, userID string, roleIDs []string) (bool, error)
- func (s *Store) CheckCoverageRangeBlock(ctx context.Context, params CoverageRangeBlockParams) (CoverageRangeBlock, error)
- func (s *Store) CheckCriticalIndexerIntegrity(ctx context.Context, ensureExtension bool) (*IndexerIntegrityReport, error)
- func (s *Store) ClaimAssemblyQueueBatch(ctx context.Context, req AssemblyClaimRequest) ([]AssemblyCandidate, error)
- func (s *Store) ClaimAssemblyQueueBatchWithStats(ctx context.Context, req AssemblyClaimRequest) ([]AssemblyCandidate, AssemblyClaimStats, error)
- func (s *Store) ClaimBinaryEvidenceRepairWork(ctx context.Context, owner string, limit int, lease time.Duration) ([]BinaryEvidenceRepairCandidate, error)
- func (s *Store) ClaimBinaryInspectionCandidates(ctx context.Context, req BinaryInspectionClaimRequest) ([]BinaryInspectionCandidate, error)
- func (s *Store) ClaimDeferredArticleRange(ctx context.Context, owner string, lease time.Duration) (*DeferredArticleRangeClaim, error)
- func (s *Store) ClaimIndexerStage(ctx context.Context, req IndexerStageClaimRequest) (*IndexerStageClaimResult, error)
- func (s *Store) ClaimReleaseArchiveCandidates(ctx context.Context, limit int, policy ReleaseReadyPolicy) ([]ReleaseArchiveCandidate, error)
- func (s *Store) ClaimReleasePurgeCandidates(ctx context.Context, limit int, policy ReleaseReadyPolicy) ([]ReleasePurgeCandidate, error)
- func (s *Store) ClaimUnassembledArticleHeaders(ctx context.Context, req AssemblyClaimRequest) ([]AssemblyCandidate, error)
- func (s *Store) ClaimValidationTasks(ctx context.Context, nodeID, poolID string, limit int) ([]ValidationTask, error)
- func (s *Store) CleanupStaleAssemblyQueueRows(ctx context.Context, limit int) (int, error)
- func (s *Store) Close() error
- func (s *Store) CompactBinaryEvidenceDiagnostics(ctx context.Context, before time.Time) error
- func (s *Store) CompactFederationActivityRollups(ctx context.Context, now time.Time) error
- func (s *Store) CompactFederationProtocolState(ctx context.Context, now time.Time, handshakeBefore time.Time, ...) (FederationProtocolCompactionResult, error)
- func (s *Store) CompleteBinaryEvidenceRepairWork(ctx context.Context, binaryID int64, completed bool, errText string) error
- func (s *Store) CompleteBinaryInspection(ctx context.Context, in BinaryInspectionRecord) error
- func (s *Store) CompleteDeferredArticleRange(ctx context.Context, id int64, owner string) error
- func (s *Store) CompleteIndexerStageRun(ctx context.Context, req IndexerStageFinishRequest) error
- func (s *Store) CompleteValidationTask(ctx context.Context, taskID int64, status, message string) error
- func (s *Store) ConfigurePartitionProvisioning(ddlLockTimeout time.Duration)
- func (s *Store) ConfigureYEncRecoveryAdmission(ctx context.Context, cfg YEncRecoveryAdmissionConfig) error
- func (s *Store) CountBlockingYEncRecoveryBacklog(ctx context.Context) (int64, error)
- func (s *Store) CountClaimableAssembleBacklog(ctx context.Context) (int64, error)
- func (s *Store) CountInspectDiscoveryReadyQueue(ctx context.Context) (int64, error)
- func (s *Store) CountInspectionReadyQueue(ctx context.Context, stageName string) (int64, error)
- func (s *Store) CountPendingBinaryInspectionBacklog(ctx context.Context, stageName string) (int64, error)
- func (s *Store) CountPendingInspectArchiveBinaries(ctx context.Context) (int64, error)
- func (s *Store) CountPendingInspectMediaBinaries(ctx context.Context) (int64, error)
- func (s *Store) CountPendingPAR2InspectionBacklog(ctx context.Context) (int64, error)
- func (s *Store) CountPendingReleaseCandidateFamilies(ctx context.Context) (int64, error)
- func (s *Store) CountPendingYEncRecoveryBinaries(ctx context.Context) (int64, error)
- func (s *Store) CountPendingYEncRecoveryBinariesByMaxPriority(ctx context.Context, maxPriorityRank int) (int64, error)
- func (s *Store) CountQueuedReleaseFamilySummaries(ctx context.Context) (int, error)
- func (s *Store) CountUnassembledArticleHeaders(ctx context.Context) (int64, error)
- func (s *Store) CoverageAssignmentExists(ctx context.Context, assignmentID string) (bool, error)
- func (s *Store) DB() *sql.DB
- func (s *Store) DatabaseStorageStatus(ctx context.Context) (*DatabaseStorageStatus, error)
- func (s *Store) DeleteAuxiliaryOnlySiblingReleases(ctx context.Context, providerID, newsgroupID int64, baseStem string, ...) error
- func (s *Store) DeleteFederationPeer(ctx context.Context, peerID int64) (bool, error)
- func (s *Store) DeleteFederationRolePoolAccess(ctx context.Context, poolID, roleID string) (bool, error)
- func (s *Store) DeleteStaleReleasesForSourceKey(ctx context.Context, providerID int64, keyKind, releaseFamilyKey string, ...) error
- func (s *Store) DryRunPartitionDefaultRehomeTask(ctx context.Context, batchSize int) (*MaintenanceTaskResult, error)
- func (s *Store) DryRunPartitionRetentionTask(ctx context.Context, batchSize int) (*MaintenanceTaskResult, error)
- func (s *Store) DryRunRawStageRetentionTask(ctx context.Context, batchSize int, policy RawStageRetentionPolicy) (*MaintenanceTaskResult, error)
- func (s *Store) DryRunReleaseSourcePurge(ctx context.Context, limit int, policy ReleaseReadyPolicy) (*MaintenanceTaskResult, error)
- func (s *Store) DryRunSimpleMaintenanceTask(ctx context.Context, taskKey string, batchSize int) (*MaintenanceTaskResult, error)
- func (s *Store) EnqueueFederationValidationTask(ctx context.Context, request ValidationTaskRequest) (bool, error)
- func (s *Store) EnsureNewsgroup(ctx context.Context, groupName string) (int64, error)
- func (s *Store) EnsureProvider(ctx context.Context, providerKey, displayName string) (int64, error)
- func (s *Store) EnsureScrapeTimeframeProgress(ctx context.Context, timeframeID string, providerID, newsgroupID int64, ...) (*ScrapeTimeframeProgress, error)
- func (s *Store) EstimateUnassembledArticleHeaders(ctx context.Context) (int64, error)
- func (s *Store) ExistingScrapeSourceDays(ctx context.Context, sourcePostedAt []time.Time) (map[string]bool, error)
- func (s *Store) ExpectedSchemaVersion() int
- func (s *Store) FailBinaryInspection(ctx context.Context, in BinaryInspectionRecord) error
- func (s *Store) FailDeferredArticleRange(ctx context.Context, id int64, owner, cause string, maxAttempts int) error
- func (s *Store) FailIndexerStageRun(ctx context.Context, req IndexerStageFinishRequest) error
- func (s *Store) FailScrapeTimeframeProgress(ctx context.Context, timeframeID string, providerID, newsgroupID int64, ...) error
- func (s *Store) FederationEventExists(ctx context.Context, eventID string) (bool, error)
- func (s *Store) FederationNodeTrustScore(ctx context.Context, nodeID string) (float64, error)
- func (s *Store) FinalizeFederationAdmission(ctx context.Context, proposalEventID, finalEventID, status, reason string) error
- func (s *Store) FindAcceptedYEncEvidence(ctx context.Context, messageIDs []string, localOnly bool, limit int) ([]YEncEvidenceRecord, error)
- func (s *Store) FindFederatedManifestSource(ctx context.Context, releaseID string) (*FederatedManifestSource, error)
- func (s *Store) FindFederationEventByBodyHash(ctx context.Context, authorNodeID, eventType, bodyHash, poolID string) (string, error)
- func (s *Store) FindLocalBinarySegments(ctx context.Context, scheme, matchID string, parts []int, anchors []string, ...) ([]evidence.Segment, error)
- func (s *Store) FindScrapedArticleRangeForDateWindow(ctx context.Context, providerID, newsgroupID int64, ...) (int64, int64, bool, error)
- func (s *Store) FinishScrapeRun(ctx context.Context, runID int64, status, errorText string) error
- func (s *Store) GetBackfillCheckpoint(ctx context.Context, providerID, newsgroupID int64) (int64, error)
- func (s *Store) GetBackfillCheckpointState(ctx context.Context, providerID, newsgroupID int64) (*BackfillCheckpointState, error)
- func (s *Store) GetCachedFederatedNZBByReleaseID(ctx context.Context, releaseID string) ([]byte, bool, error)
- func (s *Store) GetCatalogBinaryFile(ctx context.Context, binaryID int64) (*CatalogReleaseFile, error)
- func (s *Store) GetCatalogReleaseByID(ctx context.Context, releaseID string) (*domain.Release, error)
- func (s *Store) GetCheckpoint(ctx context.Context, providerID, newsgroupID int64) (int64, error)
- func (s *Store) GetFederatedNZBSHA256ByReleaseID(ctx context.Context, releaseID string) (string, bool, error)
- func (s *Store) GetFederatedReleaseCardForPrincipal(ctx context.Context, releaseID, userID string, roleIDs []string) (*releasecard.ReleaseCard, bool, error)
- func (s *Store) GetFederationAdmission(ctx context.Context, proposalEventID string) (FederationAdmissionRecord, error)
- func (s *Store) GetFederationEvent(ctx context.Context, eventID string) (*events.SignedEvent, error)
- func (s *Store) GetFederationNodePublicKey(ctx context.Context, nodeID string) (ed25519.PublicKey, error)
- func (s *Store) GetFederationNodeTransportPublicKey(ctx context.Context, nodeID string) (ed25519.PublicKey, error)
- func (s *Store) GetFederationPoolHealthReport(ctx context.Context, poolID string, now time.Time) (FederationPoolHealthReport, error)
- func (s *Store) GetFederationStorageReport(ctx context.Context) (FederationStorageReport, error)
- func (s *Store) GetGoNZBNetLocalRelease(ctx context.Context, releaseID string, policy ReleaseReadyPolicy) (releasecard.LocalRelease, error)
- func (s *Store) GetIndexerBackfillProgress(ctx context.Context) (*IndexerBackfillProgress, error)
- func (s *Store) GetIndexerBinaryDetail(ctx context.Context, binaryID int64) (*IndexerBinaryDetail, error)
- func (s *Store) GetIndexerCrosspostNewsgroupPopularity(ctx context.Context, limit int) ([]IndexerCrosspostPopularityItem, error)
- func (s *Store) GetIndexerDashboardStats(ctx context.Context) (*IndexerDashboardStats, error)
- func (s *Store) GetIndexerFileDetail(ctx context.Context, fileID int64) (*IndexerFileDetail, error)
- func (s *Store) GetIndexerOverview(ctx context.Context) (*IndexerOverview, error)
- func (s *Store) GetIndexerProviderGroupInventoryStats(ctx context.Context) (IndexerProviderGroupInventoryStats, error)
- func (s *Store) GetIndexerReleaseDetail(ctx context.Context, releaseID string) (*IndexerReleaseDetail, error)
- func (s *Store) GetIndexerStageRun(ctx context.Context, runID int64) (*IndexerStageRun, error)
- func (s *Store) GetIndexerStageThroughput(ctx context.Context) (*IndexerStageThroughput, error)
- func (s *Store) GetIndexerStorageAudit(ctx context.Context) (*IndexerStorageAuditReport, error)
- func (s *Store) GetLatestCheckpoint(ctx context.Context, providerID, newsgroupID int64) (int64, error)
- func (s *Store) GetLatestNNTPSnapshot(ctx context.Context, moduleName string) (*NNTPRuntimeSnapshot, error)
- func (s *Store) GetPoolCheckpointEvent(ctx context.Context, poolID string) (*events.SignedEvent, error)
- func (s *Store) GetPoolGenesisEvent(ctx context.Context, poolID string) (*events.SignedEvent, error)
- func (s *Store) GetPredbBackfillCheckpoint(ctx context.Context, provider string) (*PredbBackfillCheckpoint, error)
- func (s *Store) GetPredbBackfillWindow(ctx context.Context) (*PredbBackfillWindow, error)
- func (s *Store) GetPredbEntryWindow(ctx context.Context) (*PredbBackfillWindow, error)
- func (s *Store) GetPublicIndexerReleaseDetail(ctx context.Context, releaseID string) (*PublicIndexerReleaseDetail, error)
- func (s *Store) GetPublicIndexerReleaseDetailWithPolicy(ctx context.Context, releaseID string, policy ReleaseReadyPolicy) (*PublicIndexerReleaseDetail, error)
- func (s *Store) GetReleaseArchiveState(ctx context.Context, releaseID string) (*ReleaseArchiveState, error)
- func (s *Store) GetReleaseOverride(ctx context.Context, releaseID string) (*ReleaseOverrideRecord, error)
- func (s *Store) GetResolutionManifest(ctx context.Context, manifestID string) (*manifest.ResolutionManifest, error)
- func (s *Store) GetResolutionManifestEvent(ctx context.Context, manifestID, poolID string) (*events.SignedEvent, error)
- func (s *Store) GetSourceBucketOutcomeReport(ctx context.Context, limit int) (*SourceBucketOutcomeReport, error)
- func (s *Store) GetTrustPool(ctx context.Context, poolID string) (TrustPoolRecord, error)
- func (s *Store) GetTrustPoolPolicy(ctx context.Context, poolID string) (pools.PoolPolicy, error)
- func (s *Store) GetYEncRecoveryAdmissionSnapshot(ctx context.Context) (*YEncRecoveryAdmissionSnapshot, error)
- func (s *Store) HasBackfillCutoffReachedForGroup(ctx context.Context, newsgroupID int64, untilDate time.Time) (bool, error)
- func (s *Store) HeartbeatIndexerStageRun(ctx context.Context, runID int64, owner string, leaseDuration time.Duration) error
- func (s *Store) ImportPeerSegments(ctx context.Context, binaryID int64, poolID, nodeID, bundleID string, ...) (int, int, error)
- func (s *Store) InsertArticleHeaders(ctx context.Context, providerID, newsgroupID int64, headers []ArticleHeader) (int64, error)
- func (s *Store) IsActiveFederationPoolMember(ctx context.Context, nodeID string) (bool, error)
- func (s *Store) IsActivePoolAdmin(ctx context.Context, poolID, nodeID string) (bool, error)
- func (s *Store) IsActivePoolMember(ctx context.Context, poolID, nodeID string) (bool, error)
- func (s *Store) IsActivePoolMemberWithCapability(ctx context.Context, poolID, nodeID, required string) (bool, error)
- func (s *Store) IsFederationPoolMember(ctx context.Context, nodeID string) (bool, error)
- func (s *Store) LastYEncRecoveryApplyStats() YEncRecoveryApplyStats
- func (s *Store) LastYEncRecoverySelectionStats() YEncRecoverySelectionStats
- func (s *Store) ListActivePoolIDsForNode(ctx context.Context, nodeID string) ([]string, error)
- func (s *Store) ListActivePoolIDsForNodeCapabilities(ctx context.Context, nodeID string, required []string) ([]string, error)
- func (s *Store) ListActivePoolMemberEndpoints(ctx context.Context, poolID string) ([]admission.MemberEndpoint, error)
- func (s *Store) ListArticleAvailabilityDiagnostics(ctx context.Context, poolID string, limit int) ([]ArticleAvailabilityDiagnostic, error)
- func (s *Store) ListAutoReformReleaseCandidates(ctx context.Context, limit int, minReformAge time.Duration) ([]ReleaseCandidate, error)
- func (s *Store) ListBinariesForReleaseCandidate(ctx context.Context, providerID, newsgroupID int64, ...) ([]BinarySummary, error)
- func (s *Store) ListBinaryEvidenceDiagnostics(ctx context.Context, poolID string, limit int) ([]BinaryEvidenceDiagnosticRecord, error)
- func (s *Store) ListBinaryEvidencePeers(ctx context.Context, localNodeID string, limit int) ([]BinaryEvidencePeer, error)
- func (s *Store) ListBinaryInspectionCandidates(ctx context.Context, stageName string, limit int) ([]BinaryInspectionCandidate, error)
- func (s *Store) ListBinaryInspectionCandidatesWithOptions(ctx context.Context, stageName string, limit int, ...) ([]BinaryInspectionCandidate, error)
- func (s *Store) ListBinaryPartArticles(ctx context.Context, binaryID int64) ([]ReleaseFileArticleRecord, error)
- func (s *Store) ListBinaryPartArticlesBatch(ctx context.Context, binaryIDs []int64) (map[int64][]ReleaseFileArticleRecord, error)
- func (s *Store) ListCatalogBinaryArticles(ctx context.Context, binaryID int64) ([]CatalogArticleRef, error)
- func (s *Store) ListCatalogBinaryNewsgroups(ctx context.Context, binaryID int64) ([]string, error)
- func (s *Store) ListCatalogReleaseFileArticles(ctx context.Context, releaseFileID int64) ([]CatalogArticleRef, error)
- func (s *Store) ListCatalogReleaseFiles(ctx context.Context, releaseID string) ([]CatalogReleaseFile, error)
- func (s *Store) ListCatalogReleaseNewsgroups(ctx context.Context, releaseID string) ([]string, error)
- func (s *Store) ListCoverageDashboard(ctx context.Context, poolID string) (CoverageDashboard, error)
- func (s *Store) ListCoverageGroupCatalog(ctx context.Context, poolID string) ([]CoverageGroupCatalogItem, error)
- func (s *Store) ListCoverageScannerNodes(ctx context.Context, poolID string, minTrustScore float64) ([]CoverageScannerNode, error)
- func (s *Store) ListDeferredArticleRanges(ctx context.Context, state string, limit int) ([]DeferredArticleRangeSummary, error)
- func (s *Store) ListEnabledFederationPeers(ctx context.Context) ([]FederationPeerRecord, error)
- func (s *Store) ListExistingReleaseCandidates(ctx context.Context, limit, offset int) ([]ReleaseCandidate, error)
- func (s *Store) ListExistingReleaseCandidatesForReleaseIDs(ctx context.Context, releaseIDs []string) ([]ReleaseCandidate, error)
- func (s *Store) ListFederatedManifestSourceDiagnostics(ctx context.Context, poolID string, limit int) ([]FederatedManifestSourceDiagnostic, error)
- func (s *Store) ListFederatedReleaseSourceDiagnostics(ctx context.Context, poolID string, limit int) ([]FederatedReleaseSourceDiagnostic, error)
- func (s *Store) ListFederationActivityRollups(ctx context.Context, query FederationActivityQuery) ([]activity.Rollup, error)
- func (s *Store) ListFederationAdmissions(ctx context.Context, poolID, status string, limit int) ([]FederationAdmissionRecord, error)
- func (s *Store) ListFederationApprovalFragments(ctx context.Context, proposalEventID string) ([]admission.ApprovalFragment, error)
- func (s *Store) ListFederationEventDiagnostics(ctx context.Context, params FederationEventDiagnosticParams) ([]FederationEventDiagnostic, error)
- func (s *Store) ListFederationNodeCapabilities(ctx context.Context) ([]NodeCapabilityView, error)
- func (s *Store) ListFederationNodeEndpoints(ctx context.Context, nodeID string, enabledOnly bool) ([]FederationNodeEndpoint, error)
- func (s *Store) ListFederationOutboxEvents(ctx context.Context, params FederationOutboxParams) (FederationOutboxPage, error)
- func (s *Store) ListFederationPeerDeliveryDiagnostics(ctx context.Context, limit int) ([]FederationPeerDeliveryDiagnostic, error)
- func (s *Store) ListFederationPeerDiagnostics(ctx context.Context, limit int) ([]FederationPeerDiagnostic, error)
- func (s *Store) ListFederationRejectedEventDiagnostics(ctx context.Context, limit int) ([]FederationRejectedEventDiagnostic, error)
- func (s *Store) ListFederationRejectedEventSummary(ctx context.Context, limit int) ([]FederationRejectedEventSummary, error)
- func (s *Store) ListFederationReleaseLedger(ctx context.Context, params FederationReleaseLedgerParams) (FederationReleaseLedgerPage, error)
- func (s *Store) ListFederationRolePoolAccess(ctx context.Context, poolID string) ([]FederationRolePoolAccessRecord, error)
- func (s *Store) ListFederationSearchPoolsForPrincipal(ctx context.Context, userID string, roleIDs []string) ([]string, error)
- func (s *Store) ListGoNZBNetLocalReleaseCandidates(ctx context.Context, limit int, policy ReleaseReadyPolicy) ([]releasecard.LocalRelease, error)
- func (s *Store) ListGoNZBNetScanOutputCandidates(ctx context.Context, poolID string, requireSignedManifest bool, limit int) ([]releasecard.LocalRelease, error)
- func (s *Store) ListHealthAttestationDiagnostics(ctx context.Context, poolID string, limit int) ([]HealthAttestationDiagnostic, error)
- func (s *Store) ListIndexerAdminAttention(ctx context.Context, params IndexerAdminAttentionParams) ([]IndexerAdminAttentionItem, int, error)
- func (s *Store) ListIndexerArticleCohorts(ctx context.Context, params IndexerArticleCohortParams) ([]IndexerArticleCohortItem, int, error)
- func (s *Store) ListIndexerBinaries(ctx context.Context, params IndexerBinaryListParams) ([]IndexerBinarySummary, int, error)
- func (s *Store) ListIndexerDailyBucketStats(ctx context.Context, limit int) ([]IndexerDailyBucketSummary, error)
- func (s *Store) ListIndexerGroupProfiles(ctx context.Context, limit int) ([]IndexerGroupProfileSummary, error)
- func (s *Store) ListIndexerProviderGroupInventoryCandidates(ctx context.Context, query string, patternHints []string) ([]IndexerProviderGroupInventoryItem, error)
- func (s *Store) ListIndexerProviderGroupInventoryPage(ctx context.Context, query string, limit, offset int, ...) (IndexerProviderGroupInventoryPage, error)
- func (s *Store) ListIndexerReleases(ctx context.Context, params AdminIndexerReleaseListParams) ([]IndexerReleaseSummary, int, error)
- func (s *Store) ListIndexerStageRuns(ctx context.Context, stageName string, limit int) ([]IndexerStageRun, error)
- func (s *Store) ListIndexerStageRunsFiltered(ctx context.Context, params IndexerStageRunListParams) ([]IndexerStageRun, error)
- func (s *Store) ListIndexerStageStates(ctx context.Context) ([]IndexerStageState, error)
- func (s *Store) ListPasswordVerificationCandidates(ctx context.Context, limit int) ([]PasswordVerificationCandidate, error)
- func (s *Store) ListPendingFederationProjections(ctx context.Context, limit int) ([]PendingFederationProjection, error)
- func (s *Store) ListPoolCheckpointLeaves(ctx context.Context, poolID string, limit int) ([]pools.CheckpointLeaf, error)
- func (s *Store) ListPoolControlEvents(ctx context.Context, poolID string, limit int) ([]PoolControlEventRecord, error)
- func (s *Store) ListPoolMembers(ctx context.Context, poolID string) ([]PoolMemberRecord, error)
- func (s *Store) ListPredbEntriesForWindow(ctx context.Context, from, to *time.Time, categoryHint string, limit int) ([]PredbEntrySummary, error)
- func (s *Store) ListPublicIndexerReleases(ctx context.Context, params PublicIndexerReleaseListParams) ([]PublicIndexerReleaseSummary, int, error)
- func (s *Store) ListRecentNNTPSnapshots(ctx context.Context, moduleName string, since time.Time) ([]NNTPRuntimeSnapshot, error)
- func (s *Store) ListReleaseCandidates(ctx context.Context, limit int, opts ReleaseCandidateSelectionOptions) ([]ReleaseCandidate, error)
- func (s *Store) ListReleaseEnrichmentCandidates(ctx context.Context, stageName string, limit int) ([]ReleaseEnrichmentCandidate, error)
- func (s *Store) ListReleaseNZBGenerateCandidates(ctx context.Context, limit int, policy ReleaseReadyPolicy) ([]ReleaseNZBGenerateCandidate, error)
- func (s *Store) ListReleaseTitleCandidates(ctx context.Context, binaryIDs []int64) ([]ReleaseTitleCandidate, error)
- func (s *Store) ListReputationDiagnostics(ctx context.Context, limit int) ([]ReputationDiagnostic, error)
- func (s *Store) ListScrapeTimeframeProgress(ctx context.Context, limit int) ([]ScrapeTimeframeProgressSummary, error)
- func (s *Store) ListStaleCoverageRangeClaims(ctx context.Context, poolID string, limit int) ([]CoverageClaimRecord, error)
- func (s *Store) ListStaleCoverageTimeWindowClaims(ctx context.Context, poolID string, limit int) ([]CoverageClaimRecord, error)
- func (s *Store) ListTombstones(ctx context.Context, activeOnly bool) ([]TombstoneRecord, error)
- func (s *Store) ListTrustPools(ctx context.Context) ([]TrustPoolRecord, error)
- func (s *Store) ListUnassembledArticleHeaders(ctx context.Context, limit int) ([]AssemblyCandidate, error)
- func (s *Store) ListUndeliveredFederationEvents(ctx context.Context, peerID int64, nodeID string, limit int) ([]*events.SignedEvent, error)
- func (s *Store) ListValidationGaps(ctx context.Context, poolID string, limit int) ([]ValidationGap, error)
- func (s *Store) ListValidationTaskDiagnostics(ctx context.Context, limit int) ([]ValidationTaskDiagnostic, error)
- func (s *Store) ListYEncRecoveryCandidates(ctx context.Context, limit int) ([]YEncRecoveryCandidate, error)
- func (s *Store) ListYEncRecoveryCandidatesWithOptions(ctx context.Context, limit int, opts YEncRecoverySelectionOptions) ([]YEncRecoveryCandidate, error)
- func (s *Store) MarkFederationPeerSyncFailure(ctx context.Context, peerID int64, errText string) error
- func (s *Store) MarkFederationPeerSyncSuccess(ctx context.Context, peerID int64, nodeID, cursor, lastEventID string) error
- func (s *Store) MarkGoNZBNetScanOutputPublished(ctx context.Context, scanID, eventID, poolID string) error
- func (s *Store) MarkReleaseArchiveFailed(ctx context.Context, releaseID, errText string) error
- func (s *Store) MarkReleaseArchiveStored(ctx context.Context, in ReleaseArchiveStoredRecord) error
- func (s *Store) MaterializeArticleHeaderPosters(ctx context.Context, limit int) (*IndexerPosterMaterializationResult, error)
- func (s *Store) MaterializeCoverageStaleClaimPenalties(ctx context.Context, poolID string) (int64, error)
- func (s *Store) NextFederationEventSequence(ctx context.Context, authorNodeID string) (int64, *string, error)
- func (s *Store) ObserveScrapeRange(ctx context.Context, providerID, newsgroupID int64, from, to int64, ...) error
- func (s *Store) PauseIndexerStage(ctx context.Context, stageName string) error
- func (s *Store) PersistReleaseSnapshot(ctx context.Context, in ReleaseRecord, files []ReleaseFileRecord, ...) (ReleaseSnapshotResult, error)
- func (s *Store) Ping(ctx context.Context) error
- func (s *Store) PoolMemberHasCapability(ctx context.Context, poolID, nodeID string, required []string) (bool, error)
- func (s *Store) ProjectArticleAvailabilityAttestation(ctx context.Context, projection ArticleAvailabilityProjection) error
- func (s *Store) ProjectChecksumAttestation(ctx context.Context, projection ChecksumAttestationProjection) error
- func (s *Store) ProjectCoverageEvent(ctx context.Context, event *events.SignedEvent) error
- func (s *Store) ProjectFederationPoolEvent(ctx context.Context, event *events.SignedEvent) error
- func (s *Store) ProjectHealthAttestation(ctx context.Context, projection HealthAttestationProjection) error
- func (s *Store) ProjectManifestAvailability(ctx context.Context, projection ManifestAvailabilityProjection) error
- func (s *Store) ProjectReleasePublicationState(ctx context.Context, projection publicationstate.Projection) error
- func (s *Store) ProjectTombstone(ctx context.Context, projection TombstoneProjection) error
- func (s *Store) ProjectTrustAttestation(ctx context.Context, projection TrustAttestationProjection) error
- func (s *Store) ProjectValidatorCapacity(ctx context.Context, projection ValidatorCapacityProjection) error
- func (s *Store) PromoteBaseStemCandidatesForReleaseFamily(ctx context.Context, providerID, newsgroupID int64, releaseFamilyKey string) error
- func (s *Store) ProvisionSourceWorkPartitions(ctx context.Context, _ int, daysAhead int) error
- func (s *Store) PublishUploaderSubmission(ctx context.Context, submission uploader.Submission) error
- func (s *Store) PurgeArchivedReleaseSources(ctx context.Context, releaseID string) (*ReleasePurgeResult, error)
- func (s *Store) PurgeArticleHeaderPayloads(ctx context.Context) (int64, error)
- func (s *Store) RecomputeFederatedScores(ctx context.Context, poolID string) (FederatedScoreRecomputeResult, error)
- func (s *Store) ReconcileSourceBucketOutcomes(ctx context.Context, batchSize int, policy SourceBucketOutcomePolicy) (*MaintenanceTaskResult, error)
- func (s *Store) ReconcileUploaderSubmissions(ctx context.Context, submissions []uploader.Submission) error
- func (s *Store) RecordBinaryEvidenceDiagnostic(ctx context.Context, item BinaryEvidenceDiagnostic) error
- func (s *Store) RecordFederatedManifestSourceFailure(ctx context.Context, source FederatedManifestSource) error
- func (s *Store) RecordFederatedManifestSourceSuccess(ctx context.Context, source FederatedManifestSource) error
- func (s *Store) RecordFederationEndpointResultByLocator(ctx context.Context, locator string, success bool, ...) error
- func (s *Store) RecordFederationNodeEndpointResult(ctx context.Context, nodeID, locator string, success bool, ...) error
- func (s *Store) RecordFederationPeerDelivery(ctx context.Context, result FederationDeliveryResult) error
- func (s *Store) RecordFederationProjectionFailure(ctx context.Context, eventID, eventType, projectionKind string, cause error) error
- func (s *Store) RecordYEncRecoveryNoop(ctx context.Context, articleHeaderID int64) error
- func (s *Store) RecordYEncRecoveryNoopBatch(ctx context.Context, articleHeaderIDs []int64) error
- func (s *Store) RecordYEncRecoveryNotFound(ctx context.Context, articleHeaderID int64) error
- func (s *Store) RecordYEncRecoveryNotFoundBatch(ctx context.Context, articleHeaderIDs []int64) error
- func (s *Store) RecordYEncRecoveryTransientFailure(ctx context.Context, articleHeaderID int64) error
- func (s *Store) RecordYEncRecoveryTransientFailureBatch(ctx context.Context, articleHeaderIDs []int64) error
- func (s *Store) RefreshBinaryExchangeIdentities(ctx context.Context, limit int) (int, error)
- func (s *Store) RefreshBinaryStats(ctx context.Context, binaryID int64) error
- func (s *Store) RefreshBinaryStatsBatch(ctx context.Context, binaryIDs []int64) error
- func (s *Store) RefreshBinaryStatsForPeerEvidence(ctx context.Context, binaryID int64) error
- func (s *Store) RefreshCrosspostPopularity(ctx context.Context, limit int) (*IndexerCrosspostPopularityRefreshResult, error)
- func (s *Store) RefreshIndexerDailyBucketStats(ctx context.Context, days int) (int64, error)
- func (s *Store) RefreshIndexerDashboardStats(ctx context.Context) (*IndexerDashboardStats, error)
- func (s *Store) RefreshIndexerGroupProfiles(ctx context.Context) (int64, error)
- func (s *Store) RefreshInspectDiscoveryReadyQueue(ctx context.Context, limit int) (*BinaryInspectionReadyQueueRefreshResult, error)
- func (s *Store) RefreshInspectionReadyQueue(ctx context.Context, stageName string, limit int) (*BinaryInspectionReadyQueueRefreshResult, error)
- func (s *Store) RefreshQueuedReleaseFamilySummaries(ctx context.Context, limit int) (int, error)
- func (s *Store) RefreshQueuedReleaseFamilySummariesWithMetrics(ctx context.Context, limit int) (ReleaseSummaryRefreshMetrics, error)
- func (s *Store) RefreshReleaseArchiveDetailSnapshot(ctx context.Context, releaseID string) error
- func (s *Store) RefreshYEncRecoveryAdmissionSnapshot(ctx context.Context) (*YEncRecoveryAdmissionSnapshot, error)
- func (s *Store) RefundBodyRequestBudget(ctx context.Context, budgetKey string, requests int) error
- func (s *Store) RegisterFederationHandshake(ctx context.Context, node FederationNodeRecord, nonce string, ...) (bool, error)
- func (s *Store) RegroupCrossGroupSubjectMultipartBinaries(ctx context.Context, req CrossGroupSubjectMultipartRegroupRequest) (*CrossGroupSubjectMultipartRegroupResult, error)
- func (s *Store) RegroupSubjectMultipartBinaries(ctx context.Context, limit int) (*SubjectMultipartRegroupResult, error)
- func (s *Store) ReindexCriticalIndexerIndexes(ctx context.Context) (*IndexerIntegrityRepairResult, error)
- func (s *Store) ReopenArchivedReleaseForRegeneration(ctx context.Context, releaseID string) error
- func (s *Store) RepairIndexerStageRuntime(ctx context.Context) (*IndexerStageRepairResult, error)
- func (s *Store) RepairStaleBinaryObservationStats(ctx context.Context, limit int) (int64, error)
- func (s *Store) ReplaceBinaryArchiveEntries(ctx context.Context, binaryID int64, rows []BinaryArchiveEntryRecord) error
- func (s *Store) ReplaceBinaryInspectionArtifacts(ctx context.Context, stageName string, binaryID int64, ...) error
- func (s *Store) ReplaceBinaryMediaStreams(ctx context.Context, binaryID int64, rows []BinaryMediaStreamRecord) error
- func (s *Store) ReplaceBinaryPAR2Sets(ctx context.Context, binaryID int64, rows []BinaryPAR2SetRecord) error
- func (s *Store) ReplaceBinaryPAR2Targets(ctx context.Context, binaryID int64, rows []BinaryPAR2TargetRecord) error
- func (s *Store) ReplaceBinaryTextEvidence(ctx context.Context, stageName string, binaryID int64, ...) error
- func (s *Store) ReplaceIndexerProviderGroupInventory(ctx context.Context, rows []IndexerProviderGroupInventoryItem) error
- func (s *Store) ReplaceReleaseFiles(ctx context.Context, releaseID string, files []ReleaseFileRecord) error
- func (s *Store) ReplaceReleaseNewsgroups(ctx context.Context, releaseID string, newsgroupIDs []int64) error
- func (s *Store) ReplaceReleasePredbMatches(ctx context.Context, releaseID string, rows []ReleasePredbMatchRecord) error
- func (s *Store) ReplaceReleaseTMDBMatches(ctx context.Context, releaseID string, rows []ReleaseTMDBMatchRecord) error
- func (s *Store) ReplaceReleaseTVDBMatches(ctx context.Context, releaseID string, rows []ReleaseTVDBMatchRecord) error
- func (s *Store) ReserveBodyRequestBudget(ctx context.Context, budgetKey string, limit int64, requested int) (BodyRequestBudgetSnapshot, int, error)
- func (s *Store) ResetReleaseEnrichmentState(ctx context.Context, releaseID string) error
- func (s *Store) ResetReleaseInspectionState(ctx context.Context, releaseID string) error
- func (s *Store) ResolveBinaryExchangeIdentity(ctx context.Context, scheme, matchID string, anchors []string) (int64, error)
- func (s *Store) ResolveFederationNodeEndpoint(ctx context.Context, nodeID string) (*FederationNodeEndpoint, error)
- func (s *Store) ResolveFederationProjection(ctx context.Context, eventID string) error
- func (s *Store) ResolveScrapeTimeframeProgress(ctx context.Context, timeframeID string, ...) error
- func (s *Store) ResumeIndexerStage(ctx context.Context, stageName string) error
- func (s *Store) RevokePoolMember(ctx context.Context, poolID, nodeID, eventID string, effectiveAt *time.Time) error
- func (s *Store) RunArticleCohortScheduler(ctx context.Context, req ArticleCohortSchedulerRequest) (*ArticleCohortSchedulerResult, error)
- func (s *Store) RunIndexerMaintenance(ctx context.Context) (*IndexerMaintenanceResult, error)
- func (s *Store) RunIndexerStorageReclaim(ctx context.Context, options IndexerStorageReclaimOptions) (*IndexerStorageReclaimResult, error)
- func (s *Store) RunMigrations() error
- func (s *Store) RunPartitionDefaultRehomeTask(ctx context.Context, batchSize int) (*MaintenanceTaskResult, error)
- func (s *Store) RunPartitionRetentionTask(ctx context.Context, batchSize int) (*MaintenanceTaskResult, error)
- func (s *Store) RunRawStageRetentionTask(ctx context.Context, batchSize int, policy RawStageRetentionPolicy) (*MaintenanceTaskResult, error)
- func (s *Store) RunReleaseSourcePurge(ctx context.Context, limit int, policy ReleaseReadyPolicy) (*MaintenanceTaskResult, error)
- func (s *Store) RunSimpleMaintenanceTask(ctx context.Context, taskKey string, batchSize int) (*MaintenanceTaskResult, error)
- func (s *Store) SchemaVersion(ctx context.Context) (int, error)
- func (s *Store) SearchCatalogReleases(ctx context.Context, query string, limit int) ([]*domain.Release, error)
- func (s *Store) SearchFederatedReleaseCards(ctx context.Context, params FederatedReleaseCardSearchParams) ([]FederatedReleaseCardSummary, error)
- func (s *Store) SeedBinaryEvidenceRepairWork(ctx context.Context, limit int) (int, error)
- func (s *Store) SetBackfillCheckpointState(ctx context.Context, providerID, newsgroupID int64, untilDate *time.Time, ...) error
- func (s *Store) SetFederationNodeStatus(ctx context.Context, nodeID, status string) (bool, error)
- func (s *Store) SetFederationPeerEnabled(ctx context.Context, peerID int64, enabled bool) error
- func (s *Store) SetGoNZBNetEndpointPolicy(preferDirect, traversalEnabled bool, coordinatorHosts []string)
- func (s *Store) SetGoNZBNetManifestCachePolicy(maxBytes int64, ttlDays int)
- func (s *Store) SetReleaseArchivePreview(ctx context.Context, releaseID, objectKey, contentType, sourceKind string) error
- func (s *Store) StartBinaryInspection(ctx context.Context, stageName string, binaryID int64, releaseID string, ...) error
- func (s *Store) StartScrapeRun(ctx context.Context, providerID int64) (int64, error)
- func (s *Store) StoreFederationApprovalFragment(ctx context.Context, fragment admission.ApprovalFragment) error
- func (s *Store) StoreFederationNonce(ctx context.Context, nodeID, nonce string, expiresAt time.Time) (bool, error)
- func (s *Store) StoreResolutionManifest(ctx context.Context, record ResolutionManifestRecord) error
- func (s *Store) SuggestCoverageWork(ctx context.Context, params CoverageWorkSuggestionParams) ([]CoverageWorkSuggestion, error)
- func (s *Store) UpdateReleasePasswordCandidateStatus(ctx context.Context, candidateID int64, status string, verifiedAt *time.Time, ...) error
- func (s *Store) UpdateTrustPoolCheckpoint(ctx context.Context, poolID, eventID, merkleRoot string) error
- func (s *Store) UpsertBackfillCheckpoint(ctx context.Context, providerID, newsgroupID, backfillArticleNumber int64) error
- func (s *Store) UpsertBinaries(ctx context.Context, records []BinaryRecord) ([]int64, error)
- func (s *Store) UpsertBinary(ctx context.Context, in BinaryRecord) (int64, error)
- func (s *Store) UpsertBinaryPart(ctx context.Context, in BinaryPartRecord) error
- func (s *Store) UpsertBinaryParts(ctx context.Context, records []BinaryPartRecord) error
- func (s *Store) UpsertCheckpoint(ctx context.Context, providerID, newsgroupID, lastArticleNumber int64) error
- func (s *Store) UpsertDeferredArticleRange(ctx context.Context, in DeferredArticleRangeRecord) error
- func (s *Store) UpsertFederatedReleaseCardProjection(ctx context.Context, projection releasecard.Projection) error
- func (s *Store) UpsertFederationActivityRollups(ctx context.Context, items []activity.Rollup) error
- func (s *Store) UpsertFederationAdmission(ctx context.Context, record FederationAdmissionRecord) error
- func (s *Store) UpsertFederationNode(ctx context.Context, node FederationNodeRecord) error
- func (s *Store) UpsertFederationNodeEndpoint(ctx context.Context, endpoint FederationNodeEndpoint) error
- func (s *Store) UpsertFederationNodeIdentity(ctx context.Context, nodeID string, publicKey ed25519.PublicKey) error
- func (s *Store) UpsertFederationPeerURL(ctx context.Context, peerURL string) (int64, error)
- func (s *Store) UpsertFederationRolePoolAccess(ctx context.Context, record FederationRolePoolAccessRecord) error
- func (s *Store) UpsertGoNZBNetScanOutput(ctx context.Context, release releasecard.LocalRelease) error
- func (s *Store) UpsertIndexerGroupProfile(ctx context.Context, providerID, newsgroupID int64, tier, reason string) error
- func (s *Store) UpsertLatestCheckpoint(ctx context.Context, providerID, newsgroupID, lastArticleNumber int64) error
- func (s *Store) UpsertNNTPSnapshot(ctx context.Context, publisherID, moduleName, scope string, payload []byte) error
- func (s *Store) UpsertNZBCache(ctx context.Context, releaseID, generationStatus, hashSHA256, lastError string) error
- func (s *Store) UpsertPoolMember(ctx context.Context, member PoolMemberRecord) error
- func (s *Store) UpsertPredbBackfillCheckpoint(ctx context.Context, in PredbBackfillCheckpoint) error
- func (s *Store) UpsertPredbEntries(ctx context.Context, rows []PredbEntryRecord) error
- func (s *Store) UpsertRelease(ctx context.Context, in ReleaseRecord) (string, error)
- func (s *Store) UpsertReleaseOverride(ctx context.Context, in ReleaseOverrideRecord) error
- func (s *Store) UpsertReleasePasswordCandidate(ctx context.Context, in ReleasePasswordCandidateRecord) (int64, error)
- func (s *Store) UpsertTrustPool(ctx context.Context, pool TrustPoolRecord) error
- func (s *Store) UpsertYEncHeaderEvidence(ctx context.Context, records []YEncEvidenceRecord) (int, int, error)
- func (s *Store) ValidateFederationPoolControlEvent(ctx context.Context, event *events.SignedEvent) error
- func (s *Store) ValidateSchema(ctx context.Context) error
- func (s *Store) WithdrawUploaderSubmission(ctx context.Context, releaseID string) error
- type SubjectMultipartRegroupResult
- type TombstoneProjection
- type TombstoneRecord
- type TrustAttestationProjection
- type TrustPoolRecord
- type ValidationGap
- type ValidationTask
- type ValidationTaskDiagnostic
- type ValidationTaskRequest
- type ValidatorCapacityProjection
- type YEncEvidenceRecord
- type YEncHeaderRecoveryRecord
- type YEncHeaderRecoveryResult
- type YEncRecoveryAdmissionConfig
- type YEncRecoveryAdmissionSnapshot
- type YEncRecoveryApplyStats
- type YEncRecoveryCandidate
- type YEncRecoverySelectionOptions
- type YEncRecoverySelectionStats
Constants ¶
const ( AssemblyClaimLaneCombined = "" AssemblyClaimLaneA = "lane_a" AssemblyClaimLaneB = "lane_b" )
const ( ReleaseSnapshotStatusInserted = "inserted" ReleaseSnapshotStatusUpdated = "updated" ReleaseSnapshotStatusSkippedDowngrade = "skipped_downgrade" )
const ( ReleaseCandidateKeyKindReleaseFamily = "release_family" ReleaseCandidateKeyKindBaseStem = "base_stem" ReleaseCandidateKeyKindRecoveredFileSet = "recovered_file_set" )
Variables ¶
var ( ErrFederationSequenceConflict = errors.New("federation sequence conflict") ErrFederationForkDetected = errors.New("federation event fork detected") ErrUnknownFederationNode = errors.New("unknown federation node") )
var ( ErrBinaryNotFound = errors.New("binary not found") ErrReleaseNotFound = errors.New("release not found") )
Functions ¶
func BuildScrapeDayBoundaryObservations ¶ added in v0.8.0
func BuildScrapeDayBoundaryObservations(observations []ScrapeRangeObservation) []scrapeDayBoundaryObservation
func IsBinaryNotFound ¶ added in v0.8.0
func IsReleaseNotFound ¶ added in v0.8.0
func ParseAdminCategoryID ¶ added in v0.7.0
func PopulateDatabaseStorageFilesystemStatus ¶ added in v0.8.0
func PopulateDatabaseStorageFilesystemStatus(status *DatabaseStorageStatus, dataDirectory string) error
func StableReleaseGUID ¶
StableReleaseGUID returns a deterministic GUID for PG release rows. This keeps release identity stable across repeat formation passes.
func WithBinaryStatsRefreshTelemetry ¶ added in v0.8.0
func WithBinaryStatsRefreshTelemetry(ctx context.Context, telemetry *BinaryStatsRefreshTelemetry) context.Context
func WithBinaryUpsertChunkSize ¶ added in v0.8.0
func WithBinaryUpsertTelemetry ¶ added in v0.8.0
func WithBinaryUpsertTelemetry(ctx context.Context, telemetry *BinaryUpsertTelemetry) context.Context
func WithSkipYEncRecoveryWorkItemRetire ¶ added in v0.8.0
Types ¶
type AdminIndexerReleaseListParams ¶ added in v0.7.0
type AdminIndexerReleaseListParams struct {
Query string
Newsgroup string
Limit int
Offset int
Sort string
CategoryID int
Classification string
ExternalMediaType string
IdentityStatus string
PasswordState string
MediaQualityTier string
Hidden string
PublicState string
Inspected string
Enriched string
Uncategorized string
PasswordCandidates string
MetadataMismatch string
LowConfidence string
CompletionState string
PayloadCompletionInclude string
PayloadCompletionExclude string
HasNFO *bool
HasPAR2 *bool
}
type ArticleAvailabilityDiagnostic ¶ added in v0.9.0
type ArticleAvailabilityDiagnostic struct {
AttestationID string `json:"attestation_id"`
ManifestID string `json:"manifest_id"`
ReleaseID string `json:"release_id"`
AuthorNodeID string `json:"author_node_id"`
PoolID string `json:"pool_id"`
CheckedAt time.Time `json:"checked_at"`
Status string `json:"status"`
ArticlesTotal int `json:"articles_total"`
ArticlesAvailable int `json:"articles_available"`
MissingArticles int `json:"missing_articles"`
RetentionDaysObserved int `json:"retention_days_observed"`
Confidence float64 `json:"confidence"`
ValidationScore float64 `json:"validation_score"`
Method string `json:"method"`
SourceEventID string `json:"source_event_id"`
UpdatedAt time.Time `json:"updated_at"`
}
type ArticleAvailabilityProjection ¶ added in v0.9.0
type ArticleAvailabilityProjection struct {
Attestation validation.ArticleAvailabilityAttestation
EventID string
AuthorNodeID string
PoolID string
}
type ArticleCohortSchedulerRequest ¶ added in v0.8.0
type ArticleCohortSchedulerRequest struct {
BatchSize int
AssemblyQueueMax int
YEncQueueMax int
TargetWindowStart *time.Time
TargetWindowEnd *time.Time
DisableYEnc bool
}
func (ArticleCohortSchedulerRequest) HasTargetWindow ¶ added in v0.9.0
func (r ArticleCohortSchedulerRequest) HasTargetWindow() bool
type ArticleCohortSchedulerResult ¶ added in v0.8.0
type ArticleHeader ¶
type AssemblyCandidate ¶
type AssemblyCandidate struct {
ID int64
SourcePostedAt time.Time
ProviderID int64
NewsgroupID int64
NewsgroupName string
ArticleNumber int64
MessageID string
Subject string
Poster string
DateUTC *time.Time
Bytes int64
Lines int
Xref string
PosterID int64
FileName string
FileIndex int
FileTotal int
YEncPart int
YEncTotal int
YEncFileSize int64
YEncRecoveryMissingCount int
YEncRecoveryRetryAfter *time.Time
StructuredIdentityBinaryMatched bool
RawOverview map[string]any
}
unassembled header row used by Milestone 6 assembly service.
type AssemblyClaimRequest ¶ added in v0.7.1
type AssemblyClaimStats ¶ added in v0.8.0
type BackfillCheckpointState ¶ added in v0.7.0
type BinaryArchiveEntryRecord ¶ added in v0.7.0
type BinaryEvidenceDiagnostic ¶ added in v0.9.0
type BinaryEvidenceDiagnosticRecord ¶ added in v0.9.0
type BinaryEvidenceDiagnosticRecord struct {
DiagnosticID int64 `json:"diagnostic_id"`
PoolID string `json:"pool_id"`
PeerNodeID string `json:"peer_node_id"`
Direction string `json:"direction"`
EvidenceKind string `json:"evidence_kind"`
RequestCount int `json:"request_count"`
HitCount int `json:"hit_count"`
ItemCount int `json:"item_count"`
BodyRequestsAvoided int `json:"body_requests_avoided"`
ResponseBytes int64 `json:"response_bytes"`
Conflicts int `json:"conflicts"`
Quarantines int `json:"quarantines"`
LatencyMS int64 `json:"latency_ms"`
ErrorText string `json:"error_text,omitempty"`
CreatedAt time.Time `json:"created_at"`
}
type BinaryEvidencePeer ¶ added in v0.9.0
type BinaryEvidenceRepairCandidate ¶ added in v0.9.0
type BinaryExchangeIdentityCandidate ¶ added in v0.9.0
type BinaryInspectionArtifactRecord ¶ added in v0.7.0
type BinaryInspectionCandidate ¶ added in v0.7.0
type BinaryInspectionCandidate struct {
StageName string
BinaryID int64
ReleaseID string
ProviderID int64
ReleaseTitle string
SourceTitle string
DeobfuscatedTitle string
GroupName string
FileName string
BinaryName string
ReleaseName string
Poster string
PostedAt *time.Time
TotalBytes int64
TotalParts int
MatchConfidence float64
SourceUpdatedAt *time.Time
CurrentStatus string
CurrentUpdatedAt *time.Time
CurrentSummaryJSON json.RawMessage
ArchiveSummaryJSON json.RawMessage
}
type BinaryInspectionCandidateOptions ¶ added in v0.8.0
type BinaryInspectionCandidateOptions struct {
RequireExpectedFileCount bool
}
type BinaryInspectionClaimRequest ¶ added in v0.7.1
type BinaryInspectionReadyQueueRefreshResult ¶ added in v0.8.0
type BinaryInspectionRecord ¶ added in v0.7.0
type BinaryMediaStreamRecord ¶ added in v0.7.0
type BinaryMediaStreamRecord struct {
BinaryID int64
ReleaseID string
StreamIndex int
StreamType string
CodecName string
CodecLongName string
Profile string
Width int
Height int
Channels int
Language string
DurationSeconds float64
BitRate int64
DefaultDisposition bool
ForcedDisposition bool
Metadata map[string]any
}
type BinaryPAR2SetRecord ¶ added in v0.7.0
type BinaryPAR2TargetCoverageResult ¶ added in v0.7.3
type BinaryPAR2TargetRecord ¶ added in v0.7.3
type BinaryPartRecord ¶
type BinaryPartRecord struct {
BinaryID int64
ArticleHeaderID int64
SourcePostedAt time.Time
MessageID string
PartNumber int
TotalParts int
SegmentBytes int64
FileName string
}
binary part upsert input for assembly service.
type BinaryRecord ¶
type BinaryRecord struct {
ProviderID int64
NewsgroupID int64
PosterID int64
SourceReleaseKey string
ReleaseFamilyKey string
FileSetKey string
FileFamilyKey string
IdentityStrength string
IdentityReason string
SubjectSetToken string
SubjectSetKind string
FamilyKind string
BaseStem string
IsAuxiliary bool
IsMainPayload bool
ReleaseKey string
ReleaseName string
BinaryKey string
BinaryName string
FileName string
FileIndex int
ExpectedFileCount int
TotalParts int
PostedAt *time.Time
MatchConfidence float64
MatchStatus string
GroupingEvidence map[string]any
}
binary upsert input for assembly service.
type BinaryRecoveryRecord ¶ added in v0.7.0
type BinaryStatsRefreshTelemetry ¶ added in v0.8.0
type BinaryStatsRefreshTelemetry struct {
TxCount int
BatchCount int
BinaryCount int
SummaryKeyCount int
DeferredSummaryRefreshBatches int
DeferredSummaryKeyCount int
StatsUpdateDurationMs float64
StatsUpdateDurationMaxMs float64
SummaryMarkDurationMs float64
SummaryMarkDurationMaxMs float64
YEncSyncDurationMs float64
YEncSyncDurationMaxMs float64
YEncAdmissionDurationMs float64
YEncAdmissionDurationMaxMs float64
YEncPriorityOpenDurationMs float64
YEncPriorityOpenDurationMaxMs float64
YEncSyncChunkCount int
YEncSyncChunkBinaryCount int
YEncSyncUpserted int64
YEncSyncRetired int64
YEncSyncUpsertDurationMs float64
YEncSyncUpsertDurationMaxMs float64
YEncSyncRetireDurationMs float64
YEncSyncRetireDurationMaxMs float64
YEncPromotionDurationMs float64
YEncPromotionDurationMaxMs float64
// contains filtered or unexported fields
}
func (*BinaryStatsRefreshTelemetry) Snapshot ¶ added in v0.8.0
func (t *BinaryStatsRefreshTelemetry) Snapshot() *BinaryStatsRefreshTelemetry
type BinarySummary ¶
type BinarySummary struct {
BinaryID int64
ProviderID int64
NewsgroupID int64
SourceReleaseKey string
ReleaseFamilyKey string
FileFamilyKey string
FamilyKind string
BaseStem string
IsAuxiliary bool
IsMainPayload bool
ReleaseKey string
ReleaseName string
BinaryKey string
BinaryName string
FileName string
FileIndex int
ExpectedFileCount int
ExpectedArchiveFileCount int
Poster string
PostedAt *time.Time
TotalParts int
ObservedParts int
TotalBytes int64
FirstArticleNumber int64
LastArticleNumber int64
MatchConfidence float64
MatchStatus string
}
binary summary returned to release formation.
type BinaryTextEvidenceRecord ¶ added in v0.7.0
type BinaryUpsertTelemetry ¶ added in v0.8.0
type BinaryUpsertTelemetry struct {
ChunkCount int
ChunkRows int
ChunkRetries int
ChunkRetryDeadlocks int
ChunkRetrySerialization int
ChunkDurationMs float64
ChunkDurationMaxMs float64
LockDurationMs float64
LockDurationMaxMs float64
StageDurationMs float64
StageDurationMaxMs float64
ExistingSnapshotDurationMs float64
ExistingSnapshotDurationMaxMs float64
UpdateDurationMs float64
UpdateDurationMaxMs float64
InsertDurationMs float64
InsertDurationMaxMs float64
ObservationStatsDurationMs float64
ObservationStatsDurationMaxMs float64
IdentityDurationMs float64
IdentityDurationMaxMs float64
RecoverySeedDurationMs float64
RecoverySeedDurationMaxMs float64
LifecycleSeedDurationMs float64
LifecycleSeedDurationMaxMs float64
CompletionKeySyncDurationMs float64
CompletionKeySyncDurationMaxMs float64
ReadbackDurationMs float64
ReadbackDurationMaxMs float64
UpsertQueryDurationMs float64
UpsertQueryDurationMaxMs float64
EvidenceDurationMs float64
EvidenceDurationMaxMs float64
DeferredSummaryRefreshChunks int
DeferredSummaryKeyCount int
// contains filtered or unexported fields
}
func (*BinaryUpsertTelemetry) Snapshot ¶ added in v0.8.0
func (t *BinaryUpsertTelemetry) Snapshot() *BinaryUpsertTelemetry
type BodyRequestBudgetSnapshot ¶ added in v0.9.0
type CatalogArticleRef ¶
type CatalogReader ¶ added in v0.7.3
type CatalogReader interface {
ListCatalogReleaseFiles(ctx context.Context, releaseID string) ([]CatalogReleaseFile, error)
ListCatalogReleaseFileArticles(ctx context.Context, releaseFileID int64) ([]CatalogArticleRef, error)
ListCatalogReleaseNewsgroups(ctx context.Context, releaseID string) ([]string, error)
GetCatalogBinaryFile(ctx context.Context, binaryID int64) (*CatalogReleaseFile, error)
ListCatalogBinaryArticles(ctx context.Context, binaryID int64) ([]CatalogArticleRef, error)
ListCatalogBinaryNewsgroups(ctx context.Context, binaryID int64) ([]string, error)
}
type CatalogReleaseFile ¶
type CatalogReleaseFile struct {
ID int64
BinaryID int64
GroupName string
FileName string
Subject string
Poster string
PostedAt *time.Time
SizeBytes int64
IsPars bool
FileIndex int
}
read DTOs for PG-backed NZB materialization in Milestone 7.
type ChecksumAttestationProjection ¶ added in v0.9.0
type ChecksumAttestationProjection struct {
Attestation validation.ChecksumAttestation
EventID string
AuthorNodeID string
PoolID string
}
type CoverageAssignmentRecord ¶ added in v0.9.0
type CoverageAssignmentRecord struct {
AssignmentID string `json:"assignment_id"`
PoolID string `json:"pool_id"`
Group string `json:"group"`
AssignedNodeID string `json:"assigned_node_id"`
RangeStart int64 `json:"range_start,omitempty"`
RangeEnd int64 `json:"range_end,omitempty"`
WindowStart *time.Time `json:"window_start,omitempty"`
WindowEnd *time.Time `json:"window_end,omitempty"`
Priority int `json:"priority"`
DueAt *time.Time `json:"due_at,omitempty"`
Status string `json:"status"`
CreatedAt time.Time `json:"created_at"`
}
type CoverageClaimRecord ¶ added in v0.9.0
type CoverageClaimRecord struct {
ClaimID string `json:"claim_id"`
ClaimType string `json:"claim_type"`
AssignmentID string `json:"assignment_id,omitempty"`
PoolID string `json:"pool_id"`
Group string `json:"group"`
NodeID string `json:"node_id"`
RangeStart int64 `json:"range_start,omitempty"`
RangeEnd int64 `json:"range_end,omitempty"`
WindowStart *time.Time `json:"window_start,omitempty"`
WindowEnd *time.Time `json:"window_end,omitempty"`
ClaimedAt time.Time `json:"claimed_at"`
ExpiresAt time.Time `json:"expires_at"`
Status string `json:"status"`
}
type CoverageDashboard ¶ added in v0.9.0
type CoverageDashboard struct {
Assignments []CoverageAssignmentRecord `json:"assignments"`
Claims []CoverageClaimRecord `json:"claims"`
StaleClaims []CoverageClaimRecord `json:"stale_claims"`
Outcomes []CoverageOutcomeRecord `json:"outcomes"`
Gaps []CoverageAssignmentRecord `json:"gaps"`
Duplicates []CoverageDuplicateRecord `json:"duplicates"`
CoverageScore float64 `json:"coverage_score"`
}
type CoverageDuplicateRecord ¶ added in v0.9.0
type CoverageGroupCatalogItem ¶ added in v0.9.0
type CoverageGroupCatalogItem struct {
PoolID string `json:"pool_id"`
Group string `json:"group"`
ObservedAt time.Time `json:"observed_at"`
LowWatermark int64 `json:"low_watermark"`
HighWatermark int64 `json:"high_watermark"`
RetentionDays int `json:"retention_days"`
Confidence float64 `json:"confidence"`
AuthorNodeID string `json:"author_node_id"`
}
type CoverageOutcomeRecord ¶ added in v0.9.0
type CoverageOutcomeRecord struct {
OutcomeID string `json:"outcome_id"`
OutcomeType string `json:"outcome_type"`
ClaimID string `json:"claim_id,omitempty"`
AssignmentID string `json:"assignment_id,omitempty"`
PoolID string `json:"pool_id"`
Group string `json:"group"`
NodeID string `json:"node_id"`
RangeStart int64 `json:"range_start"`
RangeEnd int64 `json:"range_end"`
ReleaseCount int `json:"release_count,omitempty"`
Reason string `json:"reason,omitempty"`
OccurredAt time.Time `json:"occurred_at"`
}
type CoverageRangeBlock ¶ added in v0.9.0
type CoverageRangeBlockParams ¶ added in v0.9.0
type CoverageScannerNode ¶ added in v0.9.0
type CoverageSchedulerPlan ¶ added in v0.9.0
type CoverageSchedulerPlan struct {
Suggestions []CoverageWorkSuggestion `json:"suggestions"`
StaleClaims []CoverageClaimRecord `json:"stale_claims"`
Mode string `json:"mode"`
}
type CoverageWorkSuggestion ¶ added in v0.9.0
type CoverageWorkSuggestion struct {
Assignment CoverageAssignmentRecord `json:"assignment"`
Reason string `json:"reason"`
}
type CoverageWorkSuggestionParams ¶ added in v0.9.0
type CrossGroupSubjectMultipartRegroupRequest ¶ added in v0.9.0
type CrossGroupSubjectMultipartRegroupRequest struct {
Limit int
TargetWindowStart *time.Time
TargetWindowEnd *time.Time
}
func (CrossGroupSubjectMultipartRegroupRequest) HasTargetWindow ¶ added in v0.9.0
func (r CrossGroupSubjectMultipartRegroupRequest) HasTargetWindow() bool
type CrossGroupSubjectMultipartRegroupResult ¶ added in v0.9.0
type CrossGroupSubjectMultipartRegroupResult struct {
Groups int64 `json:"groups"`
TargetBinaries int64 `json:"target_binaries"`
SourceBinaries int64 `json:"source_binaries"`
PartsMoved int64 `json:"parts_moved"`
DuplicatePartsDeleted int64 `json:"duplicate_parts_deleted"`
TargetBinaryIDs []int64 `json:"-"`
}
type DatabaseStorageGuardConfig ¶ added in v0.8.0
type DatabaseStorageGuardEvaluation ¶ added in v0.8.0
type DatabaseStorageGuardEvaluation struct {
Blocked bool
Reason string
Status DatabaseStorageStatus
}
func EvaluateDatabaseStorageGuard ¶ added in v0.8.0
func EvaluateDatabaseStorageGuard(status DatabaseStorageStatus, cfg DatabaseStorageGuardConfig) DatabaseStorageGuardEvaluation
type DatabaseStorageStatus ¶ added in v0.8.0
type DeferredArticleRangeClaim ¶ added in v0.9.0
type DeferredArticleRangeRecord ¶ added in v0.8.0
type DeferredArticleRangeSummary ¶ added in v0.8.0
type DeferredArticleRangeSummary struct {
ID int64 `json:"id"`
ProviderID int64 `json:"provider_id"`
ProviderKey string `json:"provider_key"`
NewsgroupID int64 `json:"newsgroup_id"`
GroupName string `json:"group_name"`
ArticleLow int64 `json:"article_low"`
ArticleHigh int64 `json:"article_high"`
PostedAtMin *time.Time `json:"posted_at_min,omitempty"`
PostedAtMax *time.Time `json:"posted_at_max,omitempty"`
EstimatedArticleCount int64 `json:"estimated_article_count"`
Reason string `json:"reason"`
PriorityScore float64 `json:"priority_score"`
State string `json:"state"`
Attempts int `json:"attempts"`
LastError string `json:"last_error"`
UpdatedAt time.Time `json:"updated_at"`
}
type FederatedManifestSource ¶ added in v0.9.0
type FederatedManifestSourceDiagnostic ¶ added in v0.9.0
type FederatedManifestSourceDiagnostic struct {
ManifestID string `json:"manifest_id"`
ReleaseID string `json:"release_id"`
SourceNodeID string `json:"source_node_id"`
PoolID string `json:"pool_id"`
Advertised bool `json:"advertised"`
LastSuccessAt *time.Time `json:"last_success_at,omitempty"`
LastFailureAt *time.Time `json:"last_failure_at,omitempty"`
FailureCount int `json:"failure_count"`
AvgLatencyMS int `json:"avg_latency_ms"`
TrustScore float64 `json:"trust_score"`
UpdatedAt time.Time `json:"updated_at"`
}
type FederatedReleaseCardSearchParams ¶ added in v0.9.0
type FederatedReleaseCardSummary ¶ added in v0.9.0
type FederatedReleaseCardSummary struct {
ReleaseID string
ManifestID string
Title string
NormalizedTitle string
NewznabCategories []int
SizeBytes int64
PostedAt *time.Time
BestScore float64
AvailabilityScore float64
TrustScore float64
Resolvable bool
SourceEventID string
PoolID string
SourceNodeID string
ManifestConfidence float64
}
type FederatedReleaseSourceDiagnostic ¶ added in v0.9.0
type FederatedReleaseSourceDiagnostic struct {
ReleaseID string `json:"release_id"`
ManifestID string `json:"manifest_id"`
Title string `json:"title"`
SourceNodeID string `json:"source_node_id"`
SourceEventID string `json:"source_event_id"`
PoolID string `json:"pool_id"`
TrustScore float64 `json:"trust_score"`
AvailabilityScore float64 `json:"availability_score"`
ManifestConfidenceScore float64 `json:"manifest_confidence_score"`
Resolvable bool `json:"resolvable"`
PostedAt *time.Time `json:"posted_at,omitempty"`
FirstSeenAt time.Time `json:"first_seen_at"`
LastSeenAt time.Time `json:"last_seen_at"`
}
type FederatedScoreRecomputeResult ¶ added in v0.9.0
type FederationActivityQuery ¶ added in v0.9.0
type FederationAdmissionRecord ¶ added in v0.9.0
type FederationAdmissionRecord struct {
ProposalEventID string `json:"proposal_event_id"`
PoolID string `json:"pool_id"`
GenesisEventID string `json:"genesis_event_id"`
CandidateNodeID string `json:"candidate_node_id"`
CandidateURL string `json:"candidate_url"`
RelayNodeID string `json:"relay_node_id"`
RelayURL string `json:"relay_url"`
RequestedRole string `json:"requested_role"`
RequestedCapabilities []string `json:"requested_capabilities"`
Status string `json:"status"`
FinalEventID string `json:"final_event_id"`
RejectionReason string `json:"rejection_reason"`
ExpiresAt *time.Time `json:"expires_at,omitempty"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
}
type FederationDeliveryResult ¶ added in v0.9.0
type FederationEventDiagnostic ¶ added in v0.9.0
type FederationEventDiagnostic struct {
EventID string `json:"event_id"`
EventType string `json:"event_type"`
AuthorNodeID string `json:"author_node_id"`
Sequence int64 `json:"sequence"`
BodyHash string `json:"body_hash"`
PoolIDs json.RawMessage `json:"pool_ids"`
Visibility string `json:"visibility"`
CreatedAt time.Time `json:"created_at"`
ReceivedAt time.Time `json:"received_at"`
ValidationStatus string `json:"validation_status"`
RejectionReason string `json:"rejection_reason,omitempty"`
Projected bool `json:"projected"`
ProjectedAt *time.Time `json:"projected_at,omitempty"`
Tombstoned bool `json:"tombstoned"`
}
type FederationEventDiagnosticParams ¶ added in v0.10.0
type FederationEventRecord ¶ added in v0.9.0
type FederationEventRecord struct {
Event *events.SignedEvent
Validation *events.ValidationResult
ValidationStatus string
RejectionReason string
CanonicalEventJSON []byte
}
type FederationEvidenceSummary ¶ added in v0.9.0
type FederationMemberContribution ¶ added in v0.9.0
type FederationMemberContribution struct {
NodeID string `json:"node_id"`
Alias string `json:"alias"`
ReleaseCards int64 `json:"release_cards"`
Manifests int64 `json:"manifests"`
HealthAttestations int64 `json:"health_attestations"`
ArticleAvailability int64 `json:"article_availability"`
CoverageEvents int64 `json:"coverage_events"`
TotalEvents int64 `json:"total_events"`
LastContributionAt *time.Time `json:"last_contribution_at,omitempty"`
}
type FederationNodeEndpoint ¶ added in v0.10.0
type FederationNodeEndpoint struct {
ID int64 `json:"id"`
NodeID string `json:"node_id"`
TransportType string `json:"transport_type"`
Locator string `json:"locator"`
Priority int `json:"priority"`
Enabled bool `json:"enabled"`
PathType string `json:"path_type,omitempty"`
ICEState string `json:"ice_state,omitempty"`
RTTMS int64 `json:"rtt_ms"`
ReconnectCount int64 `json:"reconnect_count"`
BytesSent int64 `json:"bytes_sent"`
BytesReceived int64 `json:"bytes_received"`
FailureCount int `json:"failure_count"`
LastSuccessAt *time.Time `json:"last_success_at,omitempty"`
LastFailureAt *time.Time `json:"last_failure_at,omitempty"`
LastError string `json:"last_error,omitempty"`
UpdatedAt time.Time `json:"updated_at"`
}
type FederationNodeRecord ¶ added in v0.9.0
type FederationNodeRecord struct {
NodeID string
PublicKey ed25519.PublicKey
Alias string
Software string
SoftwareVersion string
BaseURL string
AlternateLocators []string
Capabilities json.RawMessage
ModuleStatus json.RawMessage
ScannerCapacity json.RawMessage
ValidatorCapacity json.RawMessage
ProviderScope json.RawMessage
ProfileJSON json.RawMessage
Status string
LastVerifiedAt *time.Time
}
type FederationOutboxPage ¶ added in v0.9.0
type FederationOutboxPage struct {
Events []*events.SignedEvent
NextCursor string
HasMore bool
}
type FederationOutboxParams ¶ added in v0.9.0
type FederationPeerDeliveryDiagnostic ¶ added in v0.9.0
type FederationPeerDeliveryDiagnostic struct {
PeerID int64 `json:"peer_id"`
PeerURL string `json:"peer_url"`
EventID string `json:"event_id"`
EventType string `json:"event_type"`
Status string `json:"status"`
Attempts int `json:"attempts"`
LastAttemptAt *time.Time `json:"last_attempt_at,omitempty"`
DeliveredAt *time.Time `json:"delivered_at,omitempty"`
LastError string `json:"last_error"`
UpdatedAt time.Time `json:"updated_at"`
}
type FederationPeerDiagnostic ¶ added in v0.9.0
type FederationPeerDiagnostic struct {
ID int64 `json:"id"`
NodeID string `json:"node_id"`
PeerURL string `json:"peer_url"`
Source string `json:"source"`
Enabled bool `json:"enabled"`
Status string `json:"status"`
Cursor string `json:"cursor"`
LastEventID string `json:"last_event_id"`
FailureCount int `json:"failure_count"`
LastError string `json:"last_error"`
LastConnectedAt *time.Time `json:"last_connected_at,omitempty"`
LastSyncAt *time.Time `json:"last_sync_at,omitempty"`
UpdatedAt time.Time `json:"updated_at"`
}
type FederationPeerRecord ¶ added in v0.9.0
type FederationPoolHealthReport ¶ added in v0.9.0
type FederationPoolHealthReport struct {
PoolID string `json:"pool_id"`
GeneratedAt time.Time `json:"generated_at"`
FreshBefore time.Time `json:"fresh_before"`
StaleBefore time.Time `json:"stale_before"`
ReleaseHealth FederationEvidenceSummary `json:"release_health"`
ArticleAvailability FederationEvidenceSummary `json:"article_availability"`
Contributors []FederationMemberContribution `json:"contributors"`
}
type FederationProtocolCompactionResult ¶ added in v0.9.0
type FederationRejectedEventDiagnostic ¶ added in v0.9.0
type FederationRejectedEventSummary ¶ added in v0.9.0
type FederationRejectedEventSummary struct {
AuthorNodeID string `json:"author_node_id"`
RejectionReason string `json:"rejection_reason"`
Total int `json:"total"`
LastHour int `json:"last_hour"`
LastDay int `json:"last_day"`
FirstSeenAt time.Time `json:"first_seen_at"`
LastSeenAt time.Time `json:"last_seen_at"`
}
type FederationReleaseLedgerItem ¶ added in v0.10.0
type FederationReleaseLedgerItem struct {
ReleaseID string `json:"release_id"`
ManifestID string `json:"manifest_id"`
ProjectedTitle string `json:"projected_title"`
SignedTitle string `json:"signed_title"`
ProjectionMatchesSigned bool `json:"projection_matches_signed_event"`
SourceNodeID string `json:"source_node_id"`
SourceEventID string `json:"source_event_id"`
SourceBodyHash string `json:"source_body_hash"`
SourceKind string `json:"source_kind"`
PoolID string `json:"pool_id"`
NodeStatus string `json:"node_status"`
MembershipStatus string `json:"membership_status"`
PublicationState string `json:"publication_state"`
PublicationEventID string `json:"publication_event_id,omitempty"`
PublicationReason string `json:"publication_reason,omitempty"`
PublicationChangedAt *time.Time `json:"publication_changed_at,omitempty"`
TombstoneTargetType string `json:"tombstone_target_type,omitempty"`
TombstoneTargetID string `json:"tombstone_target_id,omitempty"`
TombstoneSeverity string `json:"tombstone_severity,omitempty"`
TombstoneSourceEventID string `json:"tombstone_source_event_id,omitempty"`
EffectiveState string `json:"effective_state"`
PostedAt *time.Time `json:"posted_at,omitempty"`
FirstSeenAt time.Time `json:"first_seen_at"`
LastSeenAt time.Time `json:"last_seen_at"`
}
type FederationReleaseLedgerPage ¶ added in v0.10.0
type FederationReleaseLedgerPage struct {
Items []FederationReleaseLedgerItem `json:"items"`
Count int `json:"count"`
NextCursor string `json:"next_cursor,omitempty"`
}
type FederationReleaseLedgerParams ¶ added in v0.10.0
type FederationRolePoolAccessRecord ¶ added in v0.9.0
type FederationRolePoolAccessRecord struct {
RoleID string `json:"role_id"`
PoolID string `json:"pool_id"`
CanSearch bool `json:"can_search"`
CanGet bool `json:"can_get"`
CanResolveManifest bool `json:"can_resolve_manifest"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
}
type FederationStorageRelation ¶ added in v0.9.0
type FederationStorageReport ¶ added in v0.9.0
type FederationStorageReport struct {
Available bool `json:"available"`
DatabaseBytes int64 `json:"database_bytes"`
GoNZBNetBytes int64 `json:"gonzbnet_bytes"`
ProtocolBytes int64 `json:"protocol_bytes"`
ProjectionBytes int64 `json:"projection_bytes"`
EvidenceBytes int64 `json:"evidence_bytes"`
Relations []FederationStorageRelation `json:"relations"`
}
type HealthAttestationDiagnostic ¶ added in v0.9.0
type HealthAttestationDiagnostic struct {
AttestationID string `json:"attestation_id"`
ManifestID string `json:"manifest_id"`
ReleaseID string `json:"release_id"`
AuthorNodeID string `json:"author_node_id"`
PoolID string `json:"pool_id"`
CheckedAt time.Time `json:"checked_at"`
Status string `json:"status"`
ArticlesTotal int `json:"articles_total"`
ArticlesAvailable int `json:"articles_available"`
MissingArticles int `json:"missing_articles"`
RepairAvailable bool `json:"repair_available"`
RepairConfidence float64 `json:"repair_confidence"`
RetentionDaysObserved int `json:"retention_days_observed"`
Confidence float64 `json:"confidence"`
AvailabilityScore float64 `json:"availability_score"`
Method string `json:"method"`
SourceEventID string `json:"source_event_id"`
UpdatedAt time.Time `json:"updated_at"`
}
type HealthAttestationProjection ¶ added in v0.9.0
type HealthAttestationProjection struct {
Attestation health.Attestation
EventID string
AuthorNodeID string
PoolID string
}
type IndexerAdminAttentionItem ¶ added in v0.8.0
type IndexerAdminAttentionItem struct {
ReleaseID string `json:"release_id"`
Title string `json:"title"`
GroupName string `json:"group_name"`
Category string `json:"category"`
Classification string `json:"classification"`
IdentityStatus string `json:"identity_status"`
TitleSource string `json:"title_source"`
PayloadCompletionState string `json:"payload_completion_state"`
SizeBytes int64 `json:"size_bytes"`
PostedAt *time.Time `json:"posted_at,omitempty"`
UpdatedAt time.Time `json:"updated_at"`
PublicVisible bool `json:"public_visible"`
HasSFV bool `json:"has_sfv"`
HasPAR2 bool `json:"has_par2"`
HasNFO bool `json:"has_nfo"`
PredbCandidateCount int `json:"predb_candidate_count"`
UnchosenPredbCount int `json:"unchosen_predb_count"`
InspectionFailureCount int `json:"inspection_failure_count"`
LatestInspectionError string `json:"latest_inspection_error"`
Priority int `json:"priority"`
Reasons []string `json:"reasons"`
}
type IndexerAdminAttentionParams ¶ added in v0.8.0
type IndexerArchiveEntrySummary ¶ added in v0.7.0
type IndexerArchiveEntrySummary struct {
EntryName string `json:"entry_name"`
IsDir bool `json:"is_dir"`
UncompressedBytes int64 `json:"uncompressed_bytes"`
CompressedBytes int64 `json:"compressed_bytes"`
Encrypted bool `json:"encrypted"`
Comment string `json:"comment"`
MediaType string `json:"media_type"`
Signature string `json:"signature"`
Metadata json.RawMessage `json:"metadata_json"`
}
type IndexerArticleCohortItem ¶ added in v0.8.0
type IndexerArticleCohortItem struct {
SourcePostedAt time.Time `json:"source_posted_at"`
CohortKey string `json:"cohort_key"`
ProviderID int64 `json:"provider_id"`
NewsgroupID int64 `json:"newsgroup_id"`
NewsgroupName string `json:"newsgroup_name"`
CohortKind string `json:"cohort_kind"`
PriorityRank int `json:"priority_rank"`
AdmissionReason string `json:"admission_reason"`
Score float64 `json:"score"`
Status string `json:"status"`
BucketStart time.Time `json:"bucket_start"`
BucketEnd time.Time `json:"bucket_end"`
ArticleCount int `json:"article_count"`
UnassembledCount int `json:"unassembled_count"`
SingletonCount int `json:"singleton_count"`
YEncReadyCount int `json:"yenc_ready_count"`
YEncRunningCount int `json:"yenc_running_count"`
YEncDoneCount int `json:"yenc_done_count"`
YEncRecoveredCount int `json:"yenc_recovered_count"`
YEncNoIdentityCount int `json:"yenc_no_identity_count"`
AssemblyQueueReady int `json:"assembly_queue_ready"`
RecoveryQueueReady int `json:"recovery_queue_ready"`
RecoveryQueueAdmitted int `json:"recovery_queue_admitted"`
SubjectFileName string `json:"subject_file_name"`
SubjectFileIndex int `json:"subject_file_index"`
SubjectFileTotal int `json:"subject_file_total"`
YEncTotalParts int `json:"yenc_total_parts"`
YEncFileSize int64 `json:"yenc_file_size"`
FirstArticleNumber int64 `json:"first_article_number"`
LastArticleNumber int64 `json:"last_article_number"`
LastScheduledAt *time.Time `json:"last_scheduled_at,omitempty"`
CooldownUntil *time.Time `json:"cooldown_until,omitempty"`
UpdatedAt time.Time `json:"updated_at"`
}
type IndexerArticleCohortParams ¶ added in v0.8.0
type IndexerBackfillProgress ¶ added in v0.7.2
type IndexerBackfillProgress struct {
Items []IndexerBackfillProgressItem `json:"items"`
Count int `json:"count"`
}
type IndexerBackfillProgressItem ¶ added in v0.7.2
type IndexerBackfillProgressItem struct {
GroupName string `json:"group_name"`
ConfiguredCutoffDate *time.Time `json:"configured_cutoff_date,omitempty"`
CutoffReached bool `json:"cutoff_reached"`
BackfillCursorArticleNumber int64 `json:"backfill_cursor_article_number"`
LatestArticleNumber int64 `json:"latest_article_number"`
OldestScrapedArticleDate *time.Time `json:"oldest_scraped_article_date,omitempty"`
LatestScrapedArticleDate *time.Time `json:"latest_scraped_article_date,omitempty"`
ProviderCount int `json:"provider_count"`
LastCheckpointUpdatedAt *time.Time `json:"last_checkpoint_updated_at,omitempty"`
}
type IndexerBinaryDetail ¶ added in v0.7.0
type IndexerBinaryDetail struct {
BinaryID int64 `json:"binary_id"`
SupersededByID int64 `json:"superseded_by_id,omitempty"`
SupersededReason string `json:"superseded_reason,omitempty"`
SupersededAt *time.Time `json:"superseded_at,omitempty"`
ReleaseID string `json:"release_id"`
ReleaseTitle string `json:"release_title"`
GroupName string `json:"group_name"`
ReleaseKey string `json:"release_key"`
ReleaseName string `json:"release_name"`
BinaryKey string `json:"binary_key"`
BinaryName string `json:"binary_name"`
FileID int64 `json:"file_id"`
FileName string `json:"file_name"`
ProviderID int64 `json:"provider_id"`
NewsgroupID int64 `json:"newsgroup_id"`
Poster string `json:"poster"`
PostedAt *time.Time `json:"posted_at,omitempty"`
FileIndex int `json:"file_index"`
ExpectedFileCount int `json:"expected_file_count"`
TotalParts int `json:"total_parts"`
ObservedParts int `json:"observed_parts"`
TotalBytes int64 `json:"total_bytes"`
FirstArticleNumber int64 `json:"first_article_number"`
LastArticleNumber int64 `json:"last_article_number"`
MatchConfidence float64 `json:"match_confidence"`
MatchStatus string `json:"match_status"`
GroupingEvidence json.RawMessage `json:"grouping_evidence_json"`
Encrypted bool `json:"encrypted"`
PasswordState string `json:"password_state"`
Inspections []IndexerInspectionSummary `json:"inspections"`
Artifacts []IndexerBinaryInspectionArtifactSummary `json:"artifacts"`
ArchiveEntries []IndexerArchiveEntrySummary `json:"archive_entries"`
MediaStreams []IndexerMediaStreamSummary `json:"media_streams"`
TextEvidence []IndexerTextEvidenceSummary `json:"text_evidence"`
PAR2Sets []IndexerPAR2SetSummary `json:"par2_sets"`
Parts []IndexerBinaryPartSummary `json:"parts"`
}
type IndexerBinaryInspectionArtifactSummary ¶ added in v0.7.0
type IndexerBinaryInspectionArtifactSummary struct {
StageName string `json:"stage_name"`
ArtifactRole string `json:"artifact_role"`
ArtifactName string `json:"artifact_name"`
ArtifactPath string `json:"artifact_path"`
BytesTotal int64 `json:"bytes_total"`
MIMEType string `json:"mime_type"`
Signature string `json:"signature"`
SourceKind string `json:"source_kind"`
Metadata json.RawMessage `json:"metadata_json"`
}
type IndexerBinaryListParams ¶ added in v0.8.0
type IndexerBinaryPartSummary ¶ added in v0.7.0
type IndexerBinaryPartSummary struct {
ArticleHeaderID int64 `json:"article_header_id"`
ProviderID int64 `json:"provider_id"`
NewsgroupID int64 `json:"newsgroup_id"`
GroupName string `json:"group_name"`
ArticleNumber int64 `json:"article_number"`
MessageID string `json:"message_id"`
Subject string `json:"subject"`
Poster string `json:"poster"`
DateUTC *time.Time `json:"date_utc,omitempty"`
PartNumber int `json:"part_number"`
TotalParts int `json:"total_parts"`
SegmentBytes int64 `json:"segment_bytes"`
FileName string `json:"file_name"`
ArticleBytes int64 `json:"article_bytes"`
ArticleLines int64 `json:"article_lines"`
SubjectFileName string `json:"subject_file_name"`
SubjectFileIndex int `json:"subject_file_index"`
SubjectFileTotal int `json:"subject_file_total"`
YEncPartNumber int `json:"yenc_part_number"`
YEncTotalParts int `json:"yenc_total_parts"`
YEncFileSize int64 `json:"yenc_file_size"`
RecoveredPartNumber int `json:"recovered_part_number"`
RecoveredTotalParts int `json:"recovered_total_parts"`
RecoveredFileSize int64 `json:"recovered_file_size"`
YEncRecoveryStatus string `json:"yenc_recovery_status"`
YEncRecoveryReadyAt *time.Time `json:"yenc_recovery_ready_at,omitempty"`
YEncRecoveryError string `json:"yenc_recovery_error,omitempty"`
RecoveredKind string `json:"recovered_kind"`
RecoveredSource string `json:"recovered_source"`
RecoveredFileName string `json:"recovered_file_name"`
}
type IndexerBinarySummary ¶ added in v0.8.0
type IndexerBinarySummary struct {
BinaryID int64 `json:"binary_id"`
ReleaseID string `json:"release_id"`
ReleaseTitle string `json:"release_title"`
GroupName string `json:"group_name"`
ReleaseName string `json:"release_name"`
BinaryName string `json:"binary_name"`
FileName string `json:"file_name"`
FamilyKind string `json:"family_kind"`
IdentityStrength string `json:"identity_strength"`
ReadinessBucket string `json:"readiness_bucket"`
MatchStatus string `json:"match_status"`
MatchConfidence float64 `json:"match_confidence"`
PostedAt *time.Time `json:"posted_at,omitempty"`
TotalParts int `json:"total_parts"`
ObservedParts int `json:"observed_parts"`
CompletionPct float64 `json:"completion_pct"`
TotalBytes int64 `json:"total_bytes"`
RecoveredSource string `json:"recovered_source"`
RecoveredFileName string `json:"recovered_file_name"`
YEncStatus string `json:"yenc_status"`
YEncPriorityRank int `json:"yenc_priority_rank"`
InspectionCount int `json:"inspection_count"`
UpdatedAt time.Time `json:"updated_at"`
}
type IndexerCrosspostBackfillResult ¶ added in v0.8.0
type IndexerCrosspostPopularityItem ¶ added in v0.8.0
type IndexerCrosspostPopularityItem struct {
GroupName string `json:"group_name"`
ObservedArticleCount int64 `json:"observed_article_count"`
DistinctMessageCount int64 `json:"distinct_message_count"`
DistinctSourceGroupCount int64 `json:"distinct_source_group_count"`
LastSeenAt *time.Time `json:"last_seen_at,omitempty"`
}
type IndexerCrosspostPopularityRefreshResult ¶ added in v0.8.0
type IndexerCrosspostPopularityRefreshResult struct {
Claimed int64 `json:"claimed"`
GroupsRefreshed int64 `json:"groups_refreshed"`
DistinctMessagesObserved int64 `json:"distinct_messages_observed"`
DistinctSourcesObserved int64 `json:"distinct_sources_observed"`
// Deprecated: exact distinct helper rows are no longer materialized.
MessagesUpserted int64 `json:"messages_upserted"`
// Deprecated: exact distinct helper rows are no longer materialized.
SourcesUpserted int64 `json:"sources_upserted"`
}
type IndexerDailyBucketSummary ¶ added in v0.8.0
type IndexerDailyBucketSummary struct {
ProviderID int64 `json:"provider_id"`
ProviderKey string `json:"provider_key"`
NewsgroupID int64 `json:"newsgroup_id"`
GroupName string `json:"group_name"`
BucketDay string `json:"bucket_day"`
Tier string `json:"tier"`
ScrapeProgressKnown bool `json:"scrape_progress_known"`
ScrapeProgressPct float64 `json:"scrape_progress_pct"`
LowerBoundaryCrossed bool `json:"lower_boundary_crossed"`
UpperBoundaryCrossed bool `json:"upper_boundary_crossed"`
BucketArticleLow int64 `json:"bucket_article_low"`
BucketArticleHigh int64 `json:"bucket_article_high"`
ScrapeCursorLow int64 `json:"scrape_cursor_low"`
ScrapeCursorHigh int64 `json:"scrape_cursor_high"`
HeadersStaged int64 `json:"headers_staged"`
UnassembledHeaders int64 `json:"unassembled_headers"`
YEncReady int64 `json:"yenc_ready"`
YEncRunning int64 `json:"yenc_running"`
YEncDone int64 `json:"yenc_done"`
BinariesTotal int64 `json:"binaries_total"`
BinariesComplete int64 `json:"binaries_complete"`
BinariesWeak int64 `json:"binaries_weak"`
ReleasesCreated int64 `json:"releases_created"`
BlockerCount int64 `json:"blocker_count"`
LastRefreshedAt time.Time `json:"last_refreshed_at"`
}
type IndexerDashboardStat ¶ added in v0.7.2
type IndexerDashboardStat struct {
Key string `json:"key"`
Label string `json:"label"`
Description string `json:"description"`
Value int64 `json:"value"`
Available bool `json:"available"`
Exact bool `json:"exact"`
Capped bool `json:"capped"`
UpdatedAt *time.Time `json:"updated_at,omitempty"`
RefreshAttemptedAt *time.Time `json:"refresh_attempted_at,omitempty"`
LastError string `json:"last_error,omitempty"`
}
type IndexerDashboardStats ¶ added in v0.7.2
type IndexerDashboardStats struct {
Items []IndexerDashboardStat `json:"items"`
Count int `json:"count"`
}
type IndexerExternalMatchSummary ¶ added in v0.7.0
type IndexerExternalMatchSummary struct {
Source string `json:"source"`
ExternalID int64 `json:"external_id"`
MediaType string `json:"media_type"`
Title string `json:"title"`
OriginalTitle string `json:"original_title"`
Year int `json:"year"`
Confidence float64 `json:"confidence"`
Chosen bool `json:"chosen"`
Payload json.RawMessage `json:"payload_json"`
}
type IndexerFileArticleSummary ¶ added in v0.7.0
type IndexerFileDetail ¶ added in v0.7.0
type IndexerFileDetail struct {
FileID int64 `json:"file_id"`
ReleaseID string `json:"release_id"`
ReleaseTitle string `json:"release_title"`
GroupName string `json:"group_name"`
BinaryID int64 `json:"binary_id"`
FileName string `json:"file_name"`
SizeBytes int64 `json:"size_bytes"`
FileIndex int `json:"file_index"`
IsPars bool `json:"is_pars"`
Subject string `json:"subject"`
Poster string `json:"poster"`
PostedAt *time.Time `json:"posted_at,omitempty"`
ArticleCount int `json:"article_count"`
TotalParts int `json:"total_parts"`
ObservedParts int `json:"observed_parts"`
MatchConfidence float64 `json:"match_confidence"`
MatchStatus string `json:"match_status"`
GroupingEvidence json.RawMessage `json:"grouping_evidence_json"`
Newsgroups []string `json:"newsgroups"`
Articles []IndexerFileArticleSummary `json:"articles"`
}
type IndexerGroupProfileSummary ¶ added in v0.8.0
type IndexerGroupProfileSummary struct {
ProviderID int64 `json:"provider_id"`
ProviderKey string `json:"provider_key"`
NewsgroupID int64 `json:"newsgroup_id"`
GroupName string `json:"group_name"`
Tier string `json:"tier"`
TierOverride string `json:"tier_override"`
Score float64 `json:"score"`
RecoveryQueued int64 `json:"recovery_queued_1d"`
ReleasesCreated int64 `json:"releases_created_1d"`
LastScoredAt *time.Time `json:"last_scored_at,omitempty"`
UpdatedAt time.Time `json:"updated_at"`
}
type IndexerInspectionSummary ¶ added in v0.7.0
type IndexerInspectionSummary struct {
StageName string `json:"stage_name"`
BinaryID int64 `json:"binary_id"`
ReleaseID string `json:"release_id"`
Status string `json:"status"`
ErrorText string `json:"error_text"`
MaterializedBytes int64 `json:"materialized_bytes"`
ToolProvenance json.RawMessage `json:"tool_provenance_json"`
Summary json.RawMessage `json:"summary_json"`
StartedAt *time.Time `json:"started_at,omitempty"`
FinishedAt *time.Time `json:"finished_at,omitempty"`
UpdatedAt time.Time `json:"updated_at"`
}
type IndexerIntegrityCheck ¶ added in v0.8.0
type IndexerIntegrityRepairResult ¶ added in v0.8.0
type IndexerIntegrityRepairResult struct {
Reindexed []string `json:"reindexed"`
}
type IndexerIntegrityReport ¶ added in v0.8.0
type IndexerIntegrityReport struct {
AmcheckAvailable bool `json:"amcheck_available"`
Checks []IndexerIntegrityCheck `json:"checks"`
}
func (*IndexerIntegrityReport) FailureSummary ¶ added in v0.8.0
func (r *IndexerIntegrityReport) FailureSummary() string
func (*IndexerIntegrityReport) HasFailures ¶ added in v0.8.0
func (r *IndexerIntegrityReport) HasFailures() bool
type IndexerMaintenanceResult ¶ added in v0.7.0
type IndexerMaintenanceResult struct {
AbandonedStageRuns int64
ClearedStageLeases int64
AbandonedScrapeRuns int64
AbandonedBinaryInspections int64
RepairedBinaryObservations int64
YEncWorkItemsUpserted int64
YEncWorkItemsRetired int64
BackfilledCatalogFiles int64
PurgedStageRuns int64
PurgedScrapeRuns int64
PurgedBinaryInspections int64
PurgedHeaderPayloads int64
PurgedGroupingEvidence int64
PurgedReadinessSummaries int64
PurgedOrphanReleases int64
SkippedReadinessCleanup bool
RefreshQueueBacklog int64
}
type IndexerMediaStreamSummary ¶ added in v0.7.0
type IndexerMediaStreamSummary struct {
StreamIndex int `json:"stream_index"`
StreamType string `json:"stream_type"`
CodecName string `json:"codec_name"`
CodecLongName string `json:"codec_long_name"`
Profile string `json:"profile"`
Width int `json:"width"`
Height int `json:"height"`
Channels int `json:"channels"`
Language string `json:"language"`
DurationSeconds float64 `json:"duration_seconds"`
BitRate int64 `json:"bit_rate"`
DefaultDisposition bool `json:"default_disposition"`
ForcedDisposition bool `json:"forced_disposition"`
Metadata json.RawMessage `json:"metadata_json"`
}
type IndexerOverview ¶ added in v0.7.0
type IndexerOverview struct {
ReleaseCount int64 `json:"release_count"`
BinaryCount int64 `json:"binary_count"`
FileCount int64 `json:"file_count"`
InspectionCount int64 `json:"inspection_count"`
ArchivedNZBCount int64 `json:"archived_nzb_count"`
ReadyReleaseCount int64 `json:"ready_release_count"`
CompletedReleaseCount int64 `json:"completed_release_count"`
EncryptedReleaseCount int64 `json:"encrypted_release_count"`
PasswordKnownCount int64 `json:"password_known_count"`
PasswordUnknownCount int64 `json:"password_unknown_count"`
PAR2ReleaseCount int64 `json:"par2_release_count"`
NFOReleaseCount int64 `json:"nfo_release_count"`
MediaProbedCount int64 `json:"media_probed_count"`
RunningStageCount int64 `json:"running_stage_count"`
PausedStageCount int64 `json:"paused_stage_count"`
FailedRunCount int64 `json:"failed_run_count"`
}
type IndexerPAR2SetSummary ¶ added in v0.7.0
type IndexerPAR2SetSummary struct {
SetName string `json:"set_name"`
BaseName string `json:"base_name"`
IsVolume bool `json:"is_volume"`
VolumeNumber int `json:"volume_number"`
RecoveryBlocks int `json:"recovery_blocks"`
SignatureOK bool `json:"signature_ok"`
Metadata json.RawMessage `json:"metadata_json"`
}
type IndexerPasswordCandidateSummary ¶ added in v0.7.0
type IndexerPasswordCandidateSummary struct {
ID int64 `json:"id"`
BinaryID int64 `json:"binary_id"`
ArtifactID int64 `json:"artifact_id"`
SourceKind string `json:"source_kind"`
SourceRef string `json:"source_ref"`
Confidence float64 `json:"confidence"`
VerificationStatus string `json:"verification_status"`
LastVerifiedAt *time.Time `json:"last_verified_at,omitempty"`
LastError string `json:"last_error"`
}
type IndexerPosterMaterializationResult ¶ added in v0.8.0
type IndexerPredbMatchSummary ¶ added in v0.7.0
type IndexerPredbMatchSummary struct {
EntryID int64 `json:"entry_id"`
Title string `json:"title"`
Category string `json:"category"`
Source string `json:"source"`
Team string `json:"team"`
Genre string `json:"genre"`
URL string `json:"url"`
SizeKB float64 `json:"size_kb"`
FileCount int `json:"file_count"`
PostedAt *time.Time `json:"posted_at,omitempty"`
Confidence float64 `json:"confidence"`
Chosen bool `json:"chosen"`
PayloadSizeBytes int64 `json:"payload_size_bytes"`
PayloadSizeSource string `json:"payload_size_source"`
PredbSizeBytes int64 `json:"predb_size_bytes"`
SizeDeltaBytes int64 `json:"size_delta_bytes"`
SizeDeltaPct float64 `json:"size_delta_pct"`
PostedDeltaMinutes *float64 `json:"posted_delta_minutes,omitempty"`
ResolutionMatch bool `json:"resolution_match"`
VideoCodecMatch bool `json:"video_codec_match"`
AudioCodecMatch bool `json:"audio_codec_match"`
AutoApplyEligible bool `json:"auto_apply_eligible"`
AutoApplySkipReason string `json:"auto_apply_skip_reason"`
Payload json.RawMessage `json:"payload_json"`
}
type IndexerProviderGroupInventoryItem ¶ added in v0.8.0
type IndexerProviderGroupInventoryPage ¶ added in v0.8.0
type IndexerProviderGroupInventoryPage struct {
Items []IndexerProviderGroupInventoryItem
Count int
Limit int
Offset int
}
type IndexerProviderGroupInventoryStats ¶ added in v0.8.0
type IndexerReleaseDetail ¶ added in v0.7.0
type IndexerReleaseDetail struct {
Release IndexerReleaseSummary `json:"release"`
Newsgroups []string `json:"newsgroups"`
Files []IndexerReleaseFileSummary `json:"files"`
Diagnostics ReleaseDetailDiagnostics `json:"diagnostics"`
PasswordCandidates []IndexerPasswordCandidateSummary `json:"password_candidates"`
Inspections []IndexerInspectionSummary `json:"inspections"`
PredbMatches []IndexerPredbMatchSummary `json:"predb_matches"`
TMDBMatches []IndexerExternalMatchSummary `json:"tmdb_matches"`
TVDBMatches []IndexerExternalMatchSummary `json:"tvdb_matches"`
}
type IndexerReleaseFileSummary ¶ added in v0.7.0
type IndexerReleaseFileSummary struct {
FileID int64 `json:"file_id"`
BinaryID int64 `json:"binary_id"`
FileName string `json:"file_name"`
SizeBytes int64 `json:"size_bytes"`
FileIndex int `json:"file_index"`
IsPars bool `json:"is_pars"`
Subject string `json:"subject"`
Poster string `json:"poster"`
PostedAt *time.Time `json:"posted_at,omitempty"`
ArticleCount int `json:"article_count"`
TotalParts int `json:"total_parts"`
ObservedParts int `json:"observed_parts"`
MatchConfidence float64 `json:"match_confidence"`
MatchStatus string `json:"match_status"`
}
type IndexerReleaseSummary ¶ added in v0.7.0
type IndexerReleaseSummary struct {
ReleaseID string `json:"release_id"`
GUID string `json:"guid"`
SourceKind string `json:"source_kind"`
ProviderID int64 `json:"provider_id"`
ReleaseKey string `json:"release_key"`
GroupName string `json:"group_name"`
Title string `json:"title"`
SourceTitle string `json:"source_title"`
DeobfuscatedTitle string `json:"deobfuscated_title"`
MatchedMediaTitle string `json:"matched_media_title"`
OriginalMediaTitle string `json:"original_media_title"`
TMDBID int64 `json:"tmdb_id"`
TVDBID int64 `json:"tvdb_id"`
ExternalMediaType string `json:"external_media_type"`
ExternalYear int `json:"external_year"`
SeasonNumber int `json:"season_number"`
EpisodeNumber int `json:"episode_number"`
SeasonEpisodeSource string `json:"season_episode_source"`
SeasonEpisodeConfidence float64 `json:"season_episode_confidence"`
TitleSource string `json:"title_source"`
TitleConfidence float64 `json:"title_confidence"`
CategoryID int `json:"category_id"`
Category string `json:"category"`
Classification string `json:"classification"`
Poster string `json:"poster"`
SizeBytes int64 `json:"size_bytes"`
PostedAt *time.Time `json:"posted_at,omitempty"`
FileCount int `json:"file_count"`
ExpectedFileCount int `json:"expected_file_count"`
ExpectedArchiveFileCount int `json:"expected_archive_file_count"`
ParFileCount int `json:"par_file_count"`
CompletionPct float64 `json:"completion_pct"`
MatchConfidence float64 `json:"match_confidence"`
IdentityStatus string `json:"identity_status"`
Passworded bool `json:"passworded"`
PasswordedKnown bool `json:"passworded_known"`
PasswordedUnknown bool `json:"passworded_unknown"`
PasswordState string `json:"password_state"`
PreferredPasswordID int64 `json:"preferred_password_id"`
Encrypted bool `json:"encrypted"`
HasPAR2 bool `json:"has_par2"`
HasNFO bool `json:"has_nfo"`
ArchiveCount int `json:"archive_count"`
VideoCount int `json:"video_count"`
AudioCount int `json:"audio_count"`
SamplePresent bool `json:"sample_present"`
AvailabilityScore float64 `json:"availability_score"`
AvailabilityTier string `json:"availability_tier"`
MediaQualityScore float64 `json:"media_quality_score"`
MediaQualityTier string `json:"media_quality_tier"`
IdentityConfidenceScore float64 `json:"identity_confidence_score"`
RuntimeSeconds int `json:"runtime_seconds"`
PrimaryResolution string `json:"primary_resolution"`
PrimaryVideoCodec string `json:"primary_video_codec"`
PrimaryAudioCodec string `json:"primary_audio_codec"`
SubtitleLanguages []string `json:"subtitle_languages"`
MediaTags []string `json:"media_tags"`
MetadataUpdatedAt *time.Time `json:"metadata_updated_at,omitempty"`
NZBGenerationStatus string `json:"nzb_generation_status"`
Hidden bool `json:"hidden"`
PublicVisible bool `json:"public_visible"`
PasswordCandidateCount int `json:"password_candidate_count"`
PayloadCompletionState string `json:"payload_completion_state"`
}
type IndexerSourceWindowAudit ¶ added in v0.8.0
type IndexerSourceWindowAudit struct {
Bucket string `json:"bucket"`
Headers int64 `json:"headers"`
Payloads int64 `json:"payloads"`
AssemblyQueue int64 `json:"assembly_queue"`
BinaryParts int64 `json:"binary_parts"`
YEncWorkItems int64 `json:"yenc_work_items"`
ArchiveLineage int64 `json:"archive_lineage"`
OrphanHeaders int64 `json:"orphan_headers"`
Risk string `json:"risk"`
Notes string `json:"notes"`
}
type IndexerStageClaimRequest ¶ added in v0.7.0
type IndexerStageClaimResult ¶ added in v0.7.0
type IndexerStageClaimResult struct {
Claimed bool
Reason string
Run *IndexerStageRun
}
type IndexerStageFinishRequest ¶ added in v0.7.0
type IndexerStageFinishRequest struct {
RunID int64
Owner string
ErrorText string
MetricsJSON json.RawMessage
}
type IndexerStageRepairResult ¶ added in v0.7.0
type IndexerStageRun ¶ added in v0.7.0
type IndexerStageRun struct {
ID int64 `json:"id"`
StageName string `json:"stage_name"`
TriggerKind string `json:"trigger_kind"`
Status string `json:"status"`
ClaimedBy string `json:"claimed_by"`
StartedAt time.Time `json:"started_at"`
HeartbeatAt *time.Time `json:"heartbeat_at,omitempty"`
FinishedAt *time.Time `json:"finished_at,omitempty"`
ErrorText string `json:"error_text"`
MetricsJSON json.RawMessage `json:"metrics_json"`
}
type IndexerStageRunListParams ¶ added in v0.7.0
type IndexerStageState ¶ added in v0.7.0
type IndexerStageState struct {
StageName string `json:"stage_name"`
Enabled bool `json:"enabled"`
Paused bool `json:"paused"`
IntervalSeconds int `json:"interval_seconds"`
BatchSize int `json:"batch_size"`
Concurrency int `json:"concurrency"`
BackoffSeconds int `json:"backoff_seconds"`
LeaseOwner string `json:"lease_owner"`
LeaseExpiresAt *time.Time `json:"lease_expires_at,omitempty"`
LastHeartbeatAt *time.Time `json:"last_heartbeat_at,omitempty"`
LastRunID int64 `json:"last_run_id"`
LastSuccessAt *time.Time `json:"last_success_at,omitempty"`
LastError string `json:"last_error"`
UpdatedAt time.Time `json:"updated_at"`
}
type IndexerStageThroughput ¶ added in v0.7.2
type IndexerStageThroughput struct {
Items []IndexerStageThroughputItem `json:"items"`
Count int `json:"count"`
}
type IndexerStageThroughputItem ¶ added in v0.7.2
type IndexerStageThroughputItem struct {
StageName string `json:"stage_name"`
Label string `json:"label"`
ItemLabel string `json:"item_label"`
Windows []IndexerStageThroughputWindow `json:"windows"`
}
type IndexerStageThroughputWindow ¶ added in v0.7.2
type IndexerStageThroughputWindow struct {
WindowHours int `json:"window_hours"`
CompletedRuns int `json:"completed_runs"`
FailedRuns int `json:"failed_runs"`
ItemsProcessed int64 `json:"items_processed"`
ItemsPerSecond float64 `json:"items_per_second"`
ItemsPerMinute float64 `json:"items_per_minute"`
ItemsPerHour float64 `json:"items_per_hour"`
AvgRunDurationMS float64 `json:"avg_run_duration_ms"`
AvgWorkersUsed float64 `json:"avg_workers_used,omitempty"`
MaxWorkersUsed int `json:"max_workers_used,omitempty"`
AvgGroupsScheduled float64 `json:"avg_groups_scheduled,omitempty"`
MaxGroupsScheduled int `json:"max_groups_scheduled,omitempty"`
AvgRangesFetched float64 `json:"avg_ranges_fetched,omitempty"`
MaxRangesFetched int `json:"max_ranges_fetched,omitempty"`
}
type IndexerStorageAuditAgeRange ¶ added in v0.8.0
type IndexerStorageAuditIndex ¶ added in v0.8.0
type IndexerStorageAuditIndex struct {
TableName string `json:"table_name"`
IndexName string `json:"index_name"`
IndexBytes int64 `json:"index_bytes"`
Scans int64 `json:"scans"`
TuplesRead int64 `json:"tuples_read"`
TuplesFetch int64 `json:"tuples_fetch"`
Primary bool `json:"primary"`
Unique bool `json:"unique"`
}
type IndexerStorageAuditReport ¶ added in v0.8.0
type IndexerStorageAuditReport struct {
GeneratedAt time.Time `json:"generated_at"`
Tables []IndexerStorageAuditTable `json:"tables"`
Indexes []IndexerStorageAuditIndex `json:"indexes"`
SourceAges []IndexerStorageAuditAgeRange `json:"source_ages"`
SourceWindows []IndexerSourceWindowAudit `json:"source_windows,omitempty"`
YEncBacklog []IndexerYEncBacklogAudit `json:"yenc_backlog,omitempty"`
GuardCounts []IndexerStorageGuardCount `json:"guard_counts"`
CleanupMatrix []IndexerStorageCleanupAudit `json:"cleanup_matrix"`
}
type IndexerStorageAuditTable ¶ added in v0.8.0
type IndexerStorageAuditTable struct {
TableName string `json:"table_name"`
RowEstimate int64 `json:"row_estimate"`
TotalBytes int64 `json:"total_bytes"`
TableBytes int64 `json:"table_bytes"`
IndexBytes int64 `json:"index_bytes"`
TOASTBytes int64 `json:"toast_bytes"`
DeadTuples int64 `json:"dead_tuples"`
LastVacuum *time.Time `json:"last_vacuum,omitempty"`
LastAutovacuum *time.Time `json:"last_autovacuum,omitempty"`
LastAnalyze *time.Time `json:"last_analyze,omitempty"`
LastAutoAnalyze *time.Time `json:"last_autoanalyze,omitempty"`
}
type IndexerStorageCleanupAudit ¶ added in v0.8.0
type IndexerStorageCleanupAudit struct {
TaskKey string `json:"task_key"`
Label string `json:"label"`
Risk string `json:"risk"`
Implemented bool `json:"implemented"`
EstimatedRowsByTable map[string]int64 `json:"estimated_rows_by_table,omitempty"`
SpaceEffect string `json:"space_effect"`
SupervisorEffect string `json:"supervisor_effect"`
DataEffect string `json:"data_effect"`
ReleaseSafety string `json:"release_safety"`
}
type IndexerStorageGuardCount ¶ added in v0.8.0
type IndexerStorageReclaimOptions ¶ added in v0.7.3
type IndexerStorageReclaimResult ¶ added in v0.7.3
type IndexerStorageReclaimResult struct {
Mode string
Tables []IndexerStorageReclaimTableResult
}
type IndexerStorageReclaimTableResult ¶ added in v0.7.3
type IndexerTextEvidenceSummary ¶ added in v0.7.0
type IndexerYEncBacklogAudit ¶ added in v0.8.0
type IndexerYEncBacklogAudit struct {
Bucket string `json:"bucket"`
Status string `json:"status"`
PriorityRank int `json:"priority_rank"`
ReadinessBucket string `json:"readiness_bucket"`
Rows int64 `json:"rows"`
BlockingRows int64 `json:"blocking_rows"`
OldestDate string `json:"oldest_date,omitempty"`
NewestDate string `json:"newest_date,omitempty"`
Notes string `json:"notes"`
}
type MaintenanceTaskResult ¶ added in v0.8.0
type MaintenanceTaskResult struct {
TaskKey string `json:"task_key"`
DryRun bool `json:"dry_run"`
EstimatedRowsByTable map[string]int64 `json:"estimated_rows_by_table,omitempty"`
DeletedRowsByTable map[string]int64 `json:"deleted_rows_by_table,omitempty"`
VacuumedTables []string `json:"vacuumed_tables,omitempty"`
EstimatedBytes int64 `json:"estimated_bytes,omitempty"`
BeforeStorage *MaintenanceTaskStorageSnapshot `json:"before_storage,omitempty"`
AfterStorage *MaintenanceTaskStorageSnapshot `json:"after_storage,omitempty"`
Blockers []string `json:"blockers,omitempty"`
Warnings []string `json:"warnings,omitempty"`
}
type MaintenanceTaskStorageSnapshot ¶ added in v0.8.0
type MaintenanceTaskStorageSnapshot struct {
GeneratedAt time.Time `json:"generated_at"`
DatabaseBytes int64 `json:"database_bytes"`
DataDirectory string `json:"data_directory,omitempty"`
FilesystemFreeBytes int64 `json:"filesystem_free_bytes,omitempty"`
FilesystemTotalBytes int64 `json:"filesystem_total_bytes,omitempty"`
FilesystemFreePercent float64 `json:"filesystem_free_percent,omitempty"`
FilesystemVisible bool `json:"filesystem_visible"`
TableTotalBytesByTable map[string]int64 `json:"table_total_bytes_by_table,omitempty"`
TableLiveRowsByTable map[string]int64 `json:"table_live_rows_by_table,omitempty"`
TableDeadRowsByTable map[string]int64 `json:"table_dead_rows_by_table,omitempty"`
}
type ManifestAvailabilityProjection ¶ added in v0.9.0
type ManifestAvailabilityProjection struct {
Attestation manifestavailability.Attestation
EventID string
AuthorNodeID string
PoolID string
}
type NNTPRuntimeSnapshot ¶ added in v0.8.0
type NodeCapabilityView ¶ added in v0.9.0
type NodeCapabilityView struct {
NodeID string `json:"node_id"`
Alias string `json:"alias"`
BaseURL string `json:"base_url"`
Status string `json:"status"`
Capabilities json.RawMessage `json:"capabilities"`
ModuleStatus json.RawMessage `json:"module_status"`
ScannerCapacity json.RawMessage `json:"scanner_capacity,omitempty"`
ValidatorCapacity json.RawMessage `json:"validator_capacity,omitempty"`
ProviderScope json.RawMessage `json:"provider_scope,omitempty"`
UpdatedAt time.Time `json:"updated_at"`
}
type PAR2InspectionBatchRecord ¶ added in v0.8.0
type PAR2InspectionBatchRecord struct {
StageName string
BinaryID int64
ReleaseID string
SourceUpdatedAt *time.Time
ArtifactRows []BinaryInspectionArtifactRecord
PAR2SetRows []BinaryPAR2SetRecord
PAR2TargetRows []BinaryPAR2TargetRecord
MaterializedBytes int64
ToolProvenance map[string]any
Summary map[string]any
}
type PAR2InspectionBatchResult ¶ added in v0.8.0
type PasswordVerificationCandidate ¶ added in v0.7.0
type PendingFederationProjection ¶ added in v0.9.0
type PoolAuthorizationResult ¶ added in v0.9.0
type PoolControlEventRecord ¶ added in v0.9.0
type PoolControlEventRecord struct {
EventID string `json:"event_id"`
EventType string `json:"event_type"`
AuthorNodeID string `json:"author_node_id"`
PoolIDs json.RawMessage `json:"pool_ids"`
BodyJSON json.RawMessage `json:"body_json"`
CreatedAt time.Time `json:"created_at"`
ReceivedAt time.Time `json:"received_at"`
}
type PoolMemberRecord ¶ added in v0.9.0
type PoolMemberRecord struct {
PoolID string `json:"pool_id"`
NodeID string `json:"node_id"`
Role string `json:"role"`
Status string `json:"status"`
ApprovedEventID string `json:"approved_event_id"`
RevokedEventID string `json:"revoked_event_id"`
AllowedCapabilities []string `json:"allowed_capabilities"`
LimitsJSON json.RawMessage `json:"limits_json"`
JoinedAt *time.Time `json:"joined_at,omitempty"`
RevokedAt *time.Time `json:"revoked_at,omitempty"`
}
type PredbBackfillCheckpoint ¶ added in v0.7.0
type PredbBackfillWindow ¶ added in v0.7.0
type PredbEntryRecord ¶ added in v0.7.0
type PredbEntrySummary ¶ added in v0.7.0
type PublicIndexerReleaseCapabilities ¶ added in v0.7.0
type PublicIndexerReleaseCapabilities struct {
CanSendToDownloadClient bool `json:"can_send_to_download_client"`
}
type PublicIndexerReleaseDetail ¶ added in v0.7.0
type PublicIndexerReleaseDetail struct {
Release PublicIndexerReleaseSummary `json:"release"`
Files []PublicIndexerReleaseFileSummary `json:"files"`
Media PublicIndexerReleaseMediaSummary `json:"media"`
External PublicIndexerReleaseExternal `json:"external"`
Capabilities PublicIndexerReleaseCapabilities `json:"capabilities"`
}
type PublicIndexerReleaseExternal ¶ added in v0.7.0
type PublicIndexerReleaseExternal struct {
TMDBID int64 `json:"tmdb_id,omitempty"`
TVDBID int64 `json:"tvdb_id,omitempty"`
IMDBID string `json:"imdb_id,omitempty"`
ExternalMediaType string `json:"external_media_type,omitempty"`
ExternalTitle string `json:"external_title,omitempty"`
ExternalYear int `json:"external_year,omitempty"`
MetadataUpdatedAt *time.Time `json:"metadata_updated_at,omitempty"`
}
type PublicIndexerReleaseFileSummary ¶ added in v0.7.0
type PublicIndexerReleaseFileSummary struct {
FileName string `json:"file_name"`
SizeBytes int64 `json:"size_bytes"`
FileIndex int `json:"file_index"`
IsPars bool `json:"is_pars,omitempty"`
PostedAt *time.Time `json:"posted_at,omitempty"`
ArticleCount int `json:"article_count"`
TotalParts int `json:"total_parts"`
ObservedParts int `json:"observed_parts"`
}
type PublicIndexerReleaseListParams ¶ added in v0.7.0
type PublicIndexerReleaseListParams struct {
Query string
SourceKind string
Limit int
Offset int
Sort string
Classification string
BrowseCategory string
BrowseSubcategory string
CategoryIDs []int
HasNFO *bool
HasPAR2 *bool
PasswordState string
AvailabilityTier string
MediaQualityTier string
CompletionMin float64
PostedAfter *time.Time
PostedBefore *time.Time
SizeMin int64
SizeMax int64
MetadataStatus string
IMDBID string
TVDBID int64
Season int
Episode int
ReadyPolicy ReleaseReadyPolicy
}
type PublicIndexerReleaseMediaSummary ¶ added in v0.7.0
type PublicIndexerReleaseMediaSummary struct {
RuntimeSeconds int `json:"runtime_seconds"`
PrimaryResolution string `json:"primary_resolution,omitempty"`
PrimaryVideoCodec string `json:"primary_video_codec,omitempty"`
PrimaryAudioCodec string `json:"primary_audio_codec,omitempty"`
SubtitleLanguages []string `json:"subtitle_languages,omitempty"`
SamplePresent bool `json:"sample_present"`
ArchiveCount int `json:"archive_count"`
VideoCount int `json:"video_count"`
AudioCount int `json:"audio_count"`
}
type PublicIndexerReleaseSummary ¶ added in v0.7.0
type PublicIndexerReleaseSummary struct {
ReleaseID string `json:"release_id"`
GUID string `json:"guid"`
SourceKind string `json:"source_kind"`
Title string `json:"title"`
PostedAt *time.Time `json:"posted_at,omitempty"`
AddedAt *time.Time `json:"added_at,omitempty"`
SizeBytes int64 `json:"size_bytes"`
FileCount int `json:"file_count"`
CompletionPct float64 `json:"completion_pct"`
CategoryID int `json:"category_id"`
Category string `json:"category"`
Classification string `json:"classification"`
HasPAR2 bool `json:"has_par2"`
HasNFO bool `json:"has_nfo"`
PasswordState string `json:"password_state,omitempty"`
AvailabilityScore float64 `json:"availability_score"`
AvailabilityTier string `json:"availability_tier"`
MediaQualityScore float64 `json:"media_quality_score"`
MediaQualityTier string `json:"media_quality_tier"`
TMDBID int64 `json:"tmdb_id,omitempty"`
TVDBID int64 `json:"tvdb_id,omitempty"`
IMDBID string `json:"imdb_id,omitempty"`
ExternalMediaType string `json:"external_media_type,omitempty"`
ExternalTitle string `json:"external_title,omitempty"`
ExternalYear int `json:"external_year,omitempty"`
MetadataUpdatedAt *time.Time `json:"metadata_updated_at,omitempty"`
}
type RawStageRetentionPolicy ¶ added in v0.8.0
type ReleaseArchiveCandidate ¶ added in v0.8.0
type ReleaseArchiveState ¶ added in v0.8.0
type ReleaseArchiveState struct {
ReleaseID string `json:"release_id"`
ArchiveStatus string `json:"archive_status"`
ArchiveStore string `json:"archive_store"`
ObjectStoreKind string `json:"object_store_kind"`
ObjectKey string `json:"object_key"`
ContentHashSHA256 string `json:"content_hash_sha256"`
ObjectSizeBytes int64 `json:"object_size_bytes"`
ContentEncoding string `json:"content_encoding"`
SourceModule string `json:"source_module"`
ArchivedAt *time.Time `json:"archived_at,omitempty"`
PurgeEligibleAt *time.Time `json:"purge_eligible_at,omitempty"`
PurgeCompletedAt *time.Time `json:"purge_completed_at,omitempty"`
LastArchiveError string `json:"last_archive_error"`
PreviewObjectKey string `json:"preview_object_key,omitempty"`
PreviewContentType string `json:"preview_content_type,omitempty"`
PreviewSourceKind string `json:"preview_source_kind,omitempty"`
PreviewUpdatedAt *time.Time `json:"preview_updated_at,omitempty"`
}
type ReleaseArchiveStoredRecord ¶ added in v0.8.0
type ReleaseCandidate ¶
type ReleaseCandidate struct {
ProviderID int64
NewsgroupID int64
KeyKind string
SourceReleaseKey string
ReleaseFamilyKey string
ReleaseKey string
ReleaseName string
PostedAt *time.Time
BinaryCount int
CompleteBinaryCount int
CompleteMainPayloadBinaryCount int
ExpectedFileCount int
ExpectedArchiveFileCount int
ExpectedFileCoveragePct float64
ArchiveFileCoveragePct float64
ReadinessBucket string
TotalBytes int64
}
grouped release candidate used by release formation.
type ReleaseCandidateAck ¶ added in v0.7.1
type ReleaseCandidateSelectionOptions ¶ added in v0.7.3
type ReleaseCandidateSelectionOptions struct {
MinExpectedFileCoveragePct float64
}
type ReleaseDetailDiagnostics ¶ added in v0.8.0
type ReleaseDetailDiagnostics struct {
PayloadComplete bool `json:"payload_complete"`
PayloadCompletenessKnown bool `json:"payload_completeness_known"`
PayloadCompletionPct float64 `json:"payload_completion_pct"`
KnownBinaryCompletionPct float64 `json:"known_binary_completion_pct"`
ExpectedFileCountComplete bool `json:"expected_file_count_complete"`
ExpectedFileCountKnown bool `json:"expected_file_count_known"`
ExpectedArchiveFileCountKnown bool `json:"expected_archive_file_count_known"`
MissingExpectedFileCount int `json:"missing_expected_file_count"`
MissingExpectedArchiveFileCount int `json:"missing_expected_archive_file_count"`
HasPAR2Manifest bool `json:"has_par2_manifest"`
HasSFV bool `json:"has_sfv"`
ReadinessNote string `json:"readiness_note"`
}
type ReleaseEnrichmentCandidate ¶ added in v0.7.0
type ReleaseEnrichmentCandidate struct {
ReleaseID string
Title string
SourceTitle string
DeobfuscatedTitle string
MatchedMediaTitle string
TitleSource string
Classification string
IdentityStatus string
MatchConfidence float64
IdentityConfidenceScore float64
TMDBID int64
TVDBID int64
ExternalMediaType string
ExternalYear int
SeasonNumber int
EpisodeNumber int
PostedAt *time.Time
SizeBytes int64
PayloadSizeBytes int64
PayloadSizeSource string
RuntimeSeconds int
PrimaryResolution string
PrimaryVideoCodec string
PrimaryAudioCodec string
}
type ReleaseEnrichmentUpdate ¶ added in v0.7.0
type ReleaseEnrichmentUpdate struct {
ReleaseID string
MatchedMediaTitle string
OriginalMediaTitle string
TMDBID int64
TVDBID int64
ExternalMediaType string
ExternalYear int
SeasonNumber int
EpisodeNumber int
SeasonEpisodeSource string
SeasonEpisodeConfidence float64
IdentityStatus string
IdentityConfidenceScore float64
MetadataUpdatedAt *time.Time
}
type ReleaseFileArticleRecord ¶
article mapping row per release file.
type ReleaseFileRecord ¶
type ReleaseFileRecord struct {
BinaryID int64
FileName string
SizeBytes int64
FileIndex int
IsPars bool
Subject string
Poster string
PostedAt *time.Time
Articles []ReleaseFileArticleRecord
}
release file upsert input.
type ReleaseInspectionUpdate ¶ added in v0.7.0
type ReleaseInspectionUpdate struct {
ReleaseID string
Encrypted *bool
HasPAR2 *bool
HasNFO *bool
Passworded *bool
PasswordedKnown *bool
PasswordedUnknown *bool
PasswordState string
PreferredPasswordID *int64
ArchiveCount *int
VideoCount *int
AudioCount *int
ExpectedFileCount *int
ExpectedArchiveFileCount *int
RuntimeSeconds *int
SamplePresent *bool
PrimaryResolution string
PrimaryVideoCodec string
PrimaryAudioCodec string
SubtitleLanguages []string
MediaTags []string
MediaQualityScore *float64
MediaQualityTier string
MetadataUpdatedAt *time.Time
}
type ReleaseManualIdentityUpdate ¶ added in v0.8.0
type ReleaseManualIdentityUpdate struct {
ReleaseID string
Title string
TitleSource string
PredbEntryID int64
ExternalMediaType string
ExternalYear int
SeasonNumber int
EpisodeNumber int
Classification string
IdentityStatus string
IdentityConfidenceScore float64
Notes string
MetadataUpdatedAt *time.Time
}
type ReleaseNZBGenerateCandidate ¶ added in v0.8.0
type ReleaseOverrideRecord ¶ added in v0.7.0
type ReleaseOverrideRecord struct {
ReleaseID string `json:"release_id"`
DisplayTitle string `json:"display_title"`
ClassificationOverride string `json:"classification_override"`
TMDBIDOverride int64 `json:"tmdb_id_override"`
TVDBIDOverride int64 `json:"tvdb_id_override"`
IMDBIDOverride string `json:"imdb_id_override"`
Hidden bool `json:"hidden"`
Notes string `json:"notes"`
Tags []string `json:"tags"`
CreatedAt *time.Time `json:"created_at,omitempty"`
UpdatedAt *time.Time `json:"updated_at,omitempty"`
}
type ReleasePasswordCandidateRecord ¶ added in v0.7.0
type ReleasePredbMatchRecord ¶ added in v0.7.0
type ReleasePredbUpdate ¶ added in v0.7.0
type ReleasePurgeCandidate ¶ added in v0.8.0
type ReleasePurgeResult ¶ added in v0.8.0
type ReleasePurgeResult struct {
ReleaseID string `json:"release_id"`
DeletedRowsByTable map[string]int64 `json:"deleted_rows_by_table"`
DeletedBinaryRows int64 `json:"deleted_binary_rows"`
DeletedArticleHeaderRows int64 `json:"deleted_article_header_rows"`
DeletedArticlePayloadRows int64 `json:"deleted_article_payload_rows"`
}
type ReleaseReadyPolicy ¶ added in v0.8.0
type ReleaseReadyPolicy struct {
MinMatchConfidence float64
MinCompletionPct float64
MinIdentityStatus string
RequireInspection bool
RequireEnrichment bool
RequireClearTitle bool
RequirePayloadComplete bool
RequireExpectedFileCountComplete bool
RequirePAR2 bool
RequireNFO bool
RequireSFV bool
RetainUntilExpectedFileCountComplete bool
RetainRequirePAR2 bool
RetainRequireNFO bool
RetainRequireSFV bool
}
func DefaultReleaseReadyPolicy ¶ added in v0.8.0
func DefaultReleaseReadyPolicy() ReleaseReadyPolicy
func NormalizeReleaseReadyPolicy ¶ added in v0.8.0
func NormalizeReleaseReadyPolicy(in ReleaseReadyPolicy) ReleaseReadyPolicy
type ReleaseRecord ¶
type ReleaseRecord struct {
ReleaseID string
GUID string
ProviderID int64
SourceReleaseKey string
ReleaseFamilyKey string
ReleaseKey string
GroupName string
Title string
SourceTitle string
DeobfuscatedTitle string
MatchedMediaTitle string
TitleSource string
TitleConfidence float64
SearchTitle string
CategoryID int
Category string
Classification string
Poster string
SizeBytes int64
PostedAt *time.Time
FileCount int
ExpectedFileCount int
ExpectedArchiveFileCount int
ParFileCount int
CompletionPct float64
MatchConfidence float64
IdentityStatus string
Passworded bool
PasswordedKnown bool
PasswordedUnknown bool
PasswordState string
PreferredPasswordID int64
Encrypted bool
HasPAR2 bool
HasNFO bool
ArchiveCount int
VideoCount int
AudioCount int
SamplePresent bool
AvailabilityScore float64
AvailabilityTier string
MediaQualityScore float64
MediaQualityTier string
IdentityConfidenceScore float64
RuntimeSeconds int
PrimaryResolution string
PrimaryVideoCodec string
PrimaryAudioCodec string
SubtitleLanguages []string
MediaTags []string
MetadataUpdatedAt *time.Time
}
release catalog upsert input.
type ReleaseSnapshotResult ¶ added in v0.8.0
type ReleaseSummaryRefreshMetrics ¶ added in v0.8.0
type ReleaseSummaryRefreshMetrics struct {
Refreshed int
Dequeued int
Mode string
HotAttempts int
ColdAttempts int
HotDequeued int
ColdDequeued int
DequeueDuration time.Duration
SummaryRefreshDuration time.Duration
SummaryAggregateDuration time.Duration
SummaryDominantDuration time.Duration
ReadyCandidateSyncDuration time.Duration
RecoveredFileSetSyncDuration time.Duration
PhaseADuration time.Duration
PhaseBDuration time.Duration
}
type ReleaseTMDBMatchRecord ¶ added in v0.7.0
type ReleaseTVDBMatchRecord ¶ added in v0.7.0
type ReleaseTitleCandidate ¶ added in v0.7.0
type ReputationDiagnostic ¶ added in v0.9.0
type ReputationDiagnostic struct {
ID int64 `json:"id"`
NodeID string `json:"node_id"`
PoolID string `json:"pool_id"`
EventID string `json:"event_id"`
Delta float64 `json:"delta"`
Reason string `json:"reason"`
LocalTrustScore float64 `json:"local_trust_score"`
CreatedAt time.Time `json:"created_at"`
}
type ResolutionManifestRecord ¶ added in v0.9.0
type ScrapeRangeObservation ¶ added in v0.8.0
type ScrapeTimeframeProgress ¶ added in v0.9.0
type ScrapeTimeframeProgress struct {
TimeframeID string `json:"timeframe_id"`
ProviderID int64 `json:"provider_id"`
NewsgroupID int64 `json:"newsgroup_id"`
WindowStart time.Time `json:"window_start"`
WindowEnd time.Time `json:"window_end"`
ArticleLow int64 `json:"article_low"`
ArticleHigh int64 `json:"article_high"`
NextArticle int64 `json:"next_article"`
State string `json:"state"`
ResolvedAt *time.Time `json:"resolved_at,omitempty"`
CompletedAt *time.Time `json:"completed_at,omitempty"`
LastAttemptAt *time.Time `json:"last_attempt_at,omitempty"`
LastError string `json:"last_error"`
UpdatedAt time.Time `json:"updated_at"`
}
type ScrapeTimeframeProgressSummary ¶ added in v0.9.0
type ScrapeTimeframeProgressSummary struct {
ScrapeTimeframeProgress
ProviderKey string `json:"provider_key"`
GroupName string `json:"group_name"`
}
type SourceBucketOutcomePolicy ¶ added in v0.9.0
type SourceBucketOutcomeReport ¶ added in v0.9.0
type SourceBucketOutcomeReport struct {
TotalBuckets int64 `json:"total_buckets"`
ActiveBuckets int64 `json:"active_buckets"`
SuccessBuckets int64 `json:"success_buckets"`
NoYieldBuckets int64 `json:"no_yield_buckets"`
PurgeEligibleBuckets int64 `json:"purge_eligible_buckets"`
PurgedBuckets int64 `json:"purged_buckets"`
HeadersIngested int64 `json:"headers_ingested"`
OpenWorkCount int64 `json:"open_work_count"`
TerminalReleaseCount int64 `json:"terminal_release_count"`
Items []SourceBucketOutcomeSummary `json:"items"`
}
type SourceBucketOutcomeSummary ¶ added in v0.9.0
type SourceBucketOutcomeSummary struct {
ProviderID int64 `json:"provider_id"`
ProviderKey string `json:"provider_key"`
NewsgroupID int64 `json:"newsgroup_id"`
GroupName string `json:"group_name"`
SourceDay string `json:"source_day"`
State string `json:"state"`
HeadersIngested int64 `json:"headers_ingested"`
OpenWorkCount int64 `json:"open_work_count"`
ExhaustedWorkCount int64 `json:"exhausted_work_count"`
TerminalReleaseCount int64 `json:"terminal_release_count"`
TerminalReason string `json:"terminal_reason"`
LastIngestedAt time.Time `json:"last_ingested_at"`
LastProgressAt time.Time `json:"last_progress_at"`
SettledAt *time.Time `json:"settled_at,omitempty"`
PurgeEligibleAt *time.Time `json:"purge_eligible_at,omitempty"`
PurgedAt *time.Time `json:"purged_at,omitempty"`
LastReconciledAt *time.Time `json:"last_reconciled_at,omitempty"`
}
type Store ¶
type Store struct {
// contains filtered or unexported fields
}
func NewMaintenanceStore ¶ added in v0.8.0
NewMaintenanceStore opens PostgreSQL by DSN for privileged maintenance-only commands. It validates the existing schema but intentionally does not run migrations; runtime migrations belong to the normal application role.
func (*Store) AckReleaseCandidate ¶ added in v0.7.0
func (*Store) AckReleaseCandidates ¶ added in v0.7.1
func (s *Store) AckReleaseCandidates(ctx context.Context, candidates []ReleaseCandidateAck) error
func (*Store) ActivePoolAdminPublicKeys ¶ added in v0.9.0
func (*Store) ActivePoolWitnessPublicKeys ¶ added in v0.9.0
func (*Store) AdvanceScrapeTimeframeProgress ¶ added in v0.9.0
func (*Store) AppendFederationEvent ¶ added in v0.9.0
func (s *Store) AppendFederationEvent(ctx context.Context, record FederationEventRecord) error
func (*Store) AppendRejectedFederationEvent ¶ added in v0.9.0
func (*Store) AppendVerifiedFederationEvent ¶ added in v0.9.0
func (s *Store) AppendVerifiedFederationEvent(ctx context.Context, event *events.SignedEvent, validation *events.ValidationResult) error
func (*Store) AppendVerifiedFederationEventWithProjection ¶ added in v0.9.0
func (s *Store) AppendVerifiedFederationEventWithProjection(ctx context.Context, event *events.SignedEvent, validation *events.ValidationResult, project func(context.Context) error) error
AppendVerifiedFederationEventWithProjection commits an accepted event and its required projection as one PostgreSQL transaction.
func (*Store) ApplyBinaryPAR2TargetCoverage ¶ added in v0.7.3
func (s *Store) ApplyBinaryPAR2TargetCoverage(ctx context.Context, binaryID int64, rows []BinaryPAR2TargetRecord) (*BinaryPAR2TargetCoverageResult, error)
func (*Store) ApplyBinaryRecovery ¶ added in v0.7.0
func (s *Store) ApplyBinaryRecovery(ctx context.Context, in BinaryRecoveryRecord) error
func (*Store) ApplyPAR2InspectionBatch ¶ added in v0.8.0
func (s *Store) ApplyPAR2InspectionBatch(ctx context.Context, rows []PAR2InspectionBatchRecord) (*PAR2InspectionBatchResult, error)
func (*Store) ApplyReleaseEnrichmentUpdate ¶ added in v0.7.0
func (s *Store) ApplyReleaseEnrichmentUpdate(ctx context.Context, in ReleaseEnrichmentUpdate) error
func (*Store) ApplyReleaseInspectionUpdate ¶ added in v0.7.0
func (s *Store) ApplyReleaseInspectionUpdate(ctx context.Context, in ReleaseInspectionUpdate) error
func (*Store) ApplyReleaseManualIdentity ¶ added in v0.8.0
func (s *Store) ApplyReleaseManualIdentity(ctx context.Context, in ReleaseManualIdentityUpdate) error
func (*Store) ApplyReleasePredbUpdate ¶ added in v0.7.0
func (s *Store) ApplyReleasePredbUpdate(ctx context.Context, in ReleasePredbUpdate) error
func (*Store) ApplyYEncHeaderRecoveries ¶ added in v0.8.0
func (s *Store) ApplyYEncHeaderRecoveries(ctx context.Context, records []YEncHeaderRecoveryRecord) ([]YEncHeaderRecoveryResult, error)
func (*Store) ApplyYEncHeaderRecovery ¶ added in v0.7.3
func (s *Store) ApplyYEncHeaderRecovery(ctx context.Context, in YEncHeaderRecoveryRecord) (*YEncHeaderRecoveryResult, error)
func (*Store) AuthorizeFederatedManifestSource ¶ added in v0.10.0
func (s *Store) AuthorizeFederatedManifestSource(ctx context.Context, source FederatedManifestSource, authorNodeID string) error
AuthorizeFederatedManifestSource rechecks serving-node and signed-author provenance at the point a manifest is fetched or accepted.
func (*Store) BackfillIndexerCrosspostGroups ¶ added in v0.8.0
func (*Store) BackfillMissingReleaseArchiveDetailSnapshots ¶ added in v0.8.0
func (*Store) BackfillMissingReleaseCatalogFiles ¶ added in v0.8.0
func (*Store) BackfillPriorityYEncRecoveryWorkItems ¶ added in v0.8.0
func (*Store) BackfillYEncRecoveryWorkItems ¶ added in v0.8.0
func (*Store) BinaryEffectiveComplete ¶ added in v0.9.0
func (*Store) BuildCoverageSchedulerPlan ¶ added in v0.9.0
func (s *Store) BuildCoverageSchedulerPlan(ctx context.Context, params CoverageWorkSuggestionParams) (CoverageSchedulerPlan, error)
func (*Store) CanAcceptFederationEventForPools ¶ added in v0.9.0
func (*Store) CanFetchResolutionManifest ¶ added in v0.9.0
func (*Store) CanFetchResolutionManifestForSource ¶ added in v0.10.0
func (*Store) CanGetFederatedReleaseForPrincipal ¶ added in v0.9.0
func (*Store) CheckCoverageRangeBlock ¶ added in v0.9.0
func (s *Store) CheckCoverageRangeBlock(ctx context.Context, params CoverageRangeBlockParams) (CoverageRangeBlock, error)
func (*Store) CheckCriticalIndexerIntegrity ¶ added in v0.8.0
func (*Store) ClaimAssemblyQueueBatch ¶ added in v0.8.0
func (s *Store) ClaimAssemblyQueueBatch(ctx context.Context, req AssemblyClaimRequest) ([]AssemblyCandidate, error)
func (*Store) ClaimAssemblyQueueBatchWithStats ¶ added in v0.8.0
func (s *Store) ClaimAssemblyQueueBatchWithStats(ctx context.Context, req AssemblyClaimRequest) ([]AssemblyCandidate, AssemblyClaimStats, error)
func (*Store) ClaimBinaryEvidenceRepairWork ¶ added in v0.9.0
func (*Store) ClaimBinaryInspectionCandidates ¶ added in v0.7.1
func (s *Store) ClaimBinaryInspectionCandidates(ctx context.Context, req BinaryInspectionClaimRequest) ([]BinaryInspectionCandidate, error)
func (*Store) ClaimDeferredArticleRange ¶ added in v0.9.0
func (*Store) ClaimIndexerStage ¶ added in v0.7.0
func (s *Store) ClaimIndexerStage(ctx context.Context, req IndexerStageClaimRequest) (*IndexerStageClaimResult, error)
func (*Store) ClaimReleaseArchiveCandidates ¶ added in v0.8.0
func (s *Store) ClaimReleaseArchiveCandidates(ctx context.Context, limit int, policy ReleaseReadyPolicy) ([]ReleaseArchiveCandidate, error)
func (*Store) ClaimReleasePurgeCandidates ¶ added in v0.8.0
func (s *Store) ClaimReleasePurgeCandidates(ctx context.Context, limit int, policy ReleaseReadyPolicy) ([]ReleasePurgeCandidate, error)
func (*Store) ClaimUnassembledArticleHeaders ¶ added in v0.7.1
func (s *Store) ClaimUnassembledArticleHeaders(ctx context.Context, req AssemblyClaimRequest) ([]AssemblyCandidate, error)
func (*Store) ClaimValidationTasks ¶ added in v0.9.0
func (*Store) CleanupStaleAssemblyQueueRows ¶ added in v0.8.0
func (*Store) CompactBinaryEvidenceDiagnostics ¶ added in v0.9.0
func (*Store) CompactFederationActivityRollups ¶ added in v0.9.0
func (*Store) CompactFederationProtocolState ¶ added in v0.9.0
func (s *Store) CompactFederationProtocolState( ctx context.Context, now time.Time, handshakeBefore time.Time, rejectedBefore time.Time, ) (FederationProtocolCompactionResult, error)
CompactFederationProtocolState removes bounded-lifetime protocol records. Accepted events and their projections are intentionally retained.
func (*Store) CompleteBinaryEvidenceRepairWork ¶ added in v0.9.0
func (*Store) CompleteBinaryInspection ¶ added in v0.7.0
func (s *Store) CompleteBinaryInspection(ctx context.Context, in BinaryInspectionRecord) error
func (*Store) CompleteDeferredArticleRange ¶ added in v0.9.0
func (*Store) CompleteIndexerStageRun ¶ added in v0.7.0
func (s *Store) CompleteIndexerStageRun(ctx context.Context, req IndexerStageFinishRequest) error
func (*Store) CompleteValidationTask ¶ added in v0.9.0
func (*Store) ConfigurePartitionProvisioning ¶ added in v0.9.0
ConfigurePartitionProvisioning applies the lock budget used by each individual parent/day DDL transaction.
func (*Store) ConfigureYEncRecoveryAdmission ¶ added in v0.8.0
func (s *Store) ConfigureYEncRecoveryAdmission(ctx context.Context, cfg YEncRecoveryAdmissionConfig) error
func (*Store) CountBlockingYEncRecoveryBacklog ¶ added in v0.8.0
func (*Store) CountClaimableAssembleBacklog ¶ added in v0.8.0
func (*Store) CountInspectDiscoveryReadyQueue ¶ added in v0.8.0
func (*Store) CountInspectionReadyQueue ¶ added in v0.8.0
func (*Store) CountPendingBinaryInspectionBacklog ¶ added in v0.8.0
func (*Store) CountPendingInspectArchiveBinaries ¶ added in v0.8.0
func (*Store) CountPendingInspectMediaBinaries ¶ added in v0.7.2
func (*Store) CountPendingPAR2InspectionBacklog ¶ added in v0.8.0
func (*Store) CountPendingReleaseCandidateFamilies ¶ added in v0.7.2
func (*Store) CountPendingYEncRecoveryBinaries ¶ added in v0.8.0
func (*Store) CountPendingYEncRecoveryBinariesByMaxPriority ¶ added in v0.9.0
func (*Store) CountQueuedReleaseFamilySummaries ¶ added in v0.8.0
func (*Store) CountUnassembledArticleHeaders ¶ added in v0.7.0
func (*Store) CoverageAssignmentExists ¶ added in v0.9.0
func (*Store) DatabaseStorageStatus ¶ added in v0.8.0
func (s *Store) DatabaseStorageStatus(ctx context.Context) (*DatabaseStorageStatus, error)
func (*Store) DeleteAuxiliaryOnlySiblingReleases ¶ added in v0.8.0
func (*Store) DeleteFederationPeer ¶ added in v0.9.0
func (*Store) DeleteFederationRolePoolAccess ¶ added in v0.9.0
func (*Store) DeleteStaleReleasesForSourceKey ¶ added in v0.7.0
func (*Store) DryRunPartitionDefaultRehomeTask ¶ added in v0.8.0
func (*Store) DryRunPartitionRetentionTask ¶ added in v0.8.0
func (*Store) DryRunRawStageRetentionTask ¶ added in v0.8.0
func (s *Store) DryRunRawStageRetentionTask(ctx context.Context, batchSize int, policy RawStageRetentionPolicy) (*MaintenanceTaskResult, error)
func (*Store) DryRunReleaseSourcePurge ¶ added in v0.8.0
func (s *Store) DryRunReleaseSourcePurge(ctx context.Context, limit int, policy ReleaseReadyPolicy) (*MaintenanceTaskResult, error)
func (*Store) DryRunSimpleMaintenanceTask ¶ added in v0.8.0
func (*Store) EnqueueFederationValidationTask ¶ added in v0.9.0
func (*Store) EnsureNewsgroup ¶
EnsureNewsgroup creates/updates a newsgroup row and returns its id.
func (*Store) EnsureProvider ¶
EnsureProvider creates/updates a provider row and returns its id.
func (*Store) EnsureScrapeTimeframeProgress ¶ added in v0.9.0
func (*Store) EstimateUnassembledArticleHeaders ¶ added in v0.8.0
func (*Store) ExistingScrapeSourceDays ¶ added in v0.9.0
func (s *Store) ExistingScrapeSourceDays(ctx context.Context, sourcePostedAt []time.Time) (map[string]bool, error)
ExistingScrapeSourceDays reports which requested UTC source days already have the complete scrape-owned partition bundle. Callers use this to ensure existing sparse days do not consume the per-pass new-day admission budget.
func (*Store) ExpectedSchemaVersion ¶
func (*Store) FailBinaryInspection ¶ added in v0.7.0
func (s *Store) FailBinaryInspection(ctx context.Context, in BinaryInspectionRecord) error
func (*Store) FailDeferredArticleRange ¶ added in v0.9.0
func (*Store) FailIndexerStageRun ¶ added in v0.7.0
func (s *Store) FailIndexerStageRun(ctx context.Context, req IndexerStageFinishRequest) error
func (*Store) FailScrapeTimeframeProgress ¶ added in v0.9.0
func (*Store) FederationEventExists ¶ added in v0.9.0
func (*Store) FederationNodeTrustScore ¶ added in v0.9.0
func (*Store) FinalizeFederationAdmission ¶ added in v0.9.0
func (*Store) FindAcceptedYEncEvidence ¶ added in v0.9.0
func (*Store) FindFederatedManifestSource ¶ added in v0.9.0
func (*Store) FindFederationEventByBodyHash ¶ added in v0.9.0
func (*Store) FindLocalBinarySegments ¶ added in v0.9.0
func (*Store) FindScrapedArticleRangeForDateWindow ¶ added in v0.9.0
func (*Store) FinishScrapeRun ¶
FinishScrapeRun closes a scrape_run row.
func (*Store) GetBackfillCheckpoint ¶
func (s *Store) GetBackfillCheckpoint(ctx context.Context, providerID, newsgroupID int64) (int64, error)
separate backward cursor for historical scrape mode. Returns 0 when no backfill checkpoint exists yet.
func (*Store) GetBackfillCheckpointState ¶ added in v0.7.0
func (*Store) GetCachedFederatedNZBByReleaseID ¶ added in v0.9.0
func (*Store) GetCatalogBinaryFile ¶ added in v0.7.3
func (*Store) GetCatalogReleaseByID ¶
func (s *Store) GetCatalogReleaseByID(ctx context.Context, releaseID string) (*domain.Release, error)
CHANGED: PG release catalog read by id for later resolver work.
func (*Store) GetCheckpoint ¶
GetCheckpoint returns the last article number for provider+group. Returns 0 when no checkpoint exists.
func (*Store) GetFederatedNZBSHA256ByReleaseID ¶ added in v0.10.0
func (*Store) GetFederatedReleaseCardForPrincipal ¶ added in v0.10.0
func (s *Store) GetFederatedReleaseCardForPrincipal(ctx context.Context, releaseID, userID string, roleIDs []string) (*releasecard.ReleaseCard, bool, error)
GetFederatedReleaseCardForPrincipal returns the signed ReleaseCard behind a currently authorized projection. It deliberately rebuilds the card from the verified event instead of trusting mutable projection or aggregator-cache metadata.
func (*Store) GetFederationAdmission ¶ added in v0.9.0
func (*Store) GetFederationEvent ¶ added in v0.9.0
func (*Store) GetFederationNodePublicKey ¶ added in v0.9.0
func (*Store) GetFederationNodeTransportPublicKey ¶ added in v0.10.0
func (s *Store) GetFederationNodeTransportPublicKey(ctx context.Context, nodeID string) (ed25519.PublicKey, error)
GetFederationNodeTransportPublicKey includes blocked nodes so the traversal layer can still reject identity substitution before application policy independently rejects all pool access for the blocked identity.
func (*Store) GetFederationPoolHealthReport ¶ added in v0.9.0
func (*Store) GetFederationStorageReport ¶ added in v0.9.0
func (s *Store) GetFederationStorageReport(ctx context.Context) (FederationStorageReport, error)
func (*Store) GetGoNZBNetLocalRelease ¶ added in v0.9.0
func (s *Store) GetGoNZBNetLocalRelease(ctx context.Context, releaseID string, policy ReleaseReadyPolicy) (releasecard.LocalRelease, error)
func (*Store) GetIndexerBackfillProgress ¶ added in v0.7.2
func (s *Store) GetIndexerBackfillProgress(ctx context.Context) (*IndexerBackfillProgress, error)
func (*Store) GetIndexerBinaryDetail ¶ added in v0.7.0
func (*Store) GetIndexerCrosspostNewsgroupPopularity ¶ added in v0.8.0
func (*Store) GetIndexerDashboardStats ¶ added in v0.7.2
func (s *Store) GetIndexerDashboardStats(ctx context.Context) (*IndexerDashboardStats, error)
func (*Store) GetIndexerFileDetail ¶ added in v0.7.0
func (*Store) GetIndexerOverview ¶ added in v0.7.0
func (s *Store) GetIndexerOverview(ctx context.Context) (*IndexerOverview, error)
func (*Store) GetIndexerProviderGroupInventoryStats ¶ added in v0.8.0
func (s *Store) GetIndexerProviderGroupInventoryStats(ctx context.Context) (IndexerProviderGroupInventoryStats, error)
func (*Store) GetIndexerReleaseDetail ¶ added in v0.7.0
func (*Store) GetIndexerStageRun ¶ added in v0.7.0
func (*Store) GetIndexerStageThroughput ¶ added in v0.7.2
func (s *Store) GetIndexerStageThroughput(ctx context.Context) (*IndexerStageThroughput, error)
func (*Store) GetIndexerStorageAudit ¶ added in v0.8.0
func (s *Store) GetIndexerStorageAudit(ctx context.Context) (*IndexerStorageAuditReport, error)
func (*Store) GetLatestCheckpoint ¶
func (s *Store) GetLatestCheckpoint(ctx context.Context, providerID, newsgroupID int64) (int64, error)
explicit latest/forward checkpoint accessor for Milestone 8.5.
func (*Store) GetLatestNNTPSnapshot ¶ added in v0.8.0
func (*Store) GetPoolCheckpointEvent ¶ added in v0.9.0
func (*Store) GetPoolGenesisEvent ¶ added in v0.9.0
func (*Store) GetPredbBackfillCheckpoint ¶ added in v0.7.0
func (*Store) GetPredbBackfillWindow ¶ added in v0.7.0
func (s *Store) GetPredbBackfillWindow(ctx context.Context) (*PredbBackfillWindow, error)
func (*Store) GetPredbEntryWindow ¶ added in v0.7.0
func (s *Store) GetPredbEntryWindow(ctx context.Context) (*PredbBackfillWindow, error)
func (*Store) GetPublicIndexerReleaseDetail ¶ added in v0.7.0
func (*Store) GetPublicIndexerReleaseDetailWithPolicy ¶ added in v0.8.0
func (s *Store) GetPublicIndexerReleaseDetailWithPolicy(ctx context.Context, releaseID string, policy ReleaseReadyPolicy) (*PublicIndexerReleaseDetail, error)
func (*Store) GetReleaseArchiveState ¶ added in v0.8.0
func (*Store) GetReleaseOverride ¶ added in v0.7.0
func (*Store) GetResolutionManifest ¶ added in v0.9.0
func (*Store) GetResolutionManifestEvent ¶ added in v0.9.0
func (*Store) GetSourceBucketOutcomeReport ¶ added in v0.9.0
func (*Store) GetTrustPool ¶ added in v0.9.0
func (*Store) GetTrustPoolPolicy ¶ added in v0.9.0
func (*Store) GetYEncRecoveryAdmissionSnapshot ¶ added in v0.8.0
func (s *Store) GetYEncRecoveryAdmissionSnapshot(ctx context.Context) (*YEncRecoveryAdmissionSnapshot, error)
func (*Store) HasBackfillCutoffReachedForGroup ¶ added in v0.7.2
func (*Store) HeartbeatIndexerStageRun ¶ added in v0.7.0
func (*Store) ImportPeerSegments ¶ added in v0.9.0
func (*Store) InsertArticleHeaders ¶
func (s *Store) InsertArticleHeaders(ctx context.Context, providerID, newsgroupID int64, headers []ArticleHeader) (int64, error)
InsertArticleHeaders inserts header rows plus transient ingest payload side rows.
func (*Store) IsActiveFederationPoolMember ¶ added in v0.9.0
func (*Store) IsActivePoolAdmin ¶ added in v0.9.0
func (*Store) IsActivePoolMember ¶ added in v0.9.0
func (*Store) IsActivePoolMemberWithCapability ¶ added in v0.9.0
func (*Store) IsFederationPoolMember ¶ added in v0.9.0
func (*Store) LastYEncRecoveryApplyStats ¶ added in v0.8.0
func (s *Store) LastYEncRecoveryApplyStats() YEncRecoveryApplyStats
func (*Store) LastYEncRecoverySelectionStats ¶ added in v0.8.0
func (s *Store) LastYEncRecoverySelectionStats() YEncRecoverySelectionStats
func (*Store) ListActivePoolIDsForNode ¶ added in v0.9.0
func (*Store) ListActivePoolIDsForNodeCapabilities ¶ added in v0.9.0
func (*Store) ListActivePoolMemberEndpoints ¶ added in v0.9.0
func (*Store) ListArticleAvailabilityDiagnostics ¶ added in v0.9.0
func (*Store) ListAutoReformReleaseCandidates ¶ added in v0.8.0
func (*Store) ListBinariesForReleaseCandidate ¶
func (s *Store) ListBinariesForReleaseCandidate(ctx context.Context, providerID, newsgroupID int64, keyKind, releaseFamilyKey string) ([]BinarySummary, error)
CHANGED: fetch binaries that belong to one release candidate.
func (*Store) ListBinaryEvidenceDiagnostics ¶ added in v0.9.0
func (*Store) ListBinaryEvidencePeers ¶ added in v0.9.0
func (*Store) ListBinaryInspectionCandidates ¶ added in v0.7.0
func (*Store) ListBinaryInspectionCandidatesWithOptions ¶ added in v0.8.0
func (s *Store) ListBinaryInspectionCandidatesWithOptions(ctx context.Context, stageName string, limit int, opts BinaryInspectionCandidateOptions) ([]BinaryInspectionCandidate, error)
func (*Store) ListBinaryPartArticles ¶
func (s *Store) ListBinaryPartArticles(ctx context.Context, binaryID int64) ([]ReleaseFileArticleRecord, error)
CHANGED: fetch article ids/part numbers for one binary so release file article refs can be derived on demand.
func (*Store) ListBinaryPartArticlesBatch ¶ added in v0.7.1
func (s *Store) ListBinaryPartArticlesBatch(ctx context.Context, binaryIDs []int64) (map[int64][]ReleaseFileArticleRecord, error)
CHANGED: fetch article ids/part numbers for a set of binaries in one query.
func (*Store) ListCatalogBinaryArticles ¶ added in v0.7.3
func (*Store) ListCatalogBinaryNewsgroups ¶ added in v0.7.3
func (*Store) ListCatalogReleaseFileArticles ¶
func (s *Store) ListCatalogReleaseFileArticles(ctx context.Context, releaseFileID int64) ([]CatalogArticleRef, error)
CHANGED: list article refs for one release_file row via release_files -> binary_parts.
func (*Store) ListCatalogReleaseFiles ¶
func (s *Store) ListCatalogReleaseFiles(ctx context.Context, releaseID string) ([]CatalogReleaseFile, error)
CHANGED: list release files for one formed PG release.
func (*Store) ListCatalogReleaseNewsgroups ¶
func (s *Store) ListCatalogReleaseNewsgroups(ctx context.Context, releaseID string) ([]string, error)
CHANGED: list newsgroups attached to a formed release.
func (*Store) ListCoverageDashboard ¶ added in v0.9.0
func (*Store) ListCoverageGroupCatalog ¶ added in v0.9.0
func (*Store) ListCoverageScannerNodes ¶ added in v0.9.0
func (*Store) ListDeferredArticleRanges ¶ added in v0.8.0
func (*Store) ListEnabledFederationPeers ¶ added in v0.9.0
func (s *Store) ListEnabledFederationPeers(ctx context.Context) ([]FederationPeerRecord, error)
func (*Store) ListExistingReleaseCandidates ¶ added in v0.7.0
func (*Store) ListExistingReleaseCandidatesForReleaseIDs ¶ added in v0.8.0
func (*Store) ListFederatedManifestSourceDiagnostics ¶ added in v0.9.0
func (*Store) ListFederatedReleaseSourceDiagnostics ¶ added in v0.9.0
func (*Store) ListFederationActivityRollups ¶ added in v0.9.0
func (*Store) ListFederationAdmissions ¶ added in v0.9.0
func (*Store) ListFederationApprovalFragments ¶ added in v0.9.0
func (*Store) ListFederationEventDiagnostics ¶ added in v0.9.0
func (s *Store) ListFederationEventDiagnostics(ctx context.Context, params FederationEventDiagnosticParams) ([]FederationEventDiagnostic, error)
func (*Store) ListFederationNodeCapabilities ¶ added in v0.9.0
func (s *Store) ListFederationNodeCapabilities(ctx context.Context) ([]NodeCapabilityView, error)
func (*Store) ListFederationNodeEndpoints ¶ added in v0.10.0
func (*Store) ListFederationOutboxEvents ¶ added in v0.9.0
func (s *Store) ListFederationOutboxEvents(ctx context.Context, params FederationOutboxParams) (FederationOutboxPage, error)
func (*Store) ListFederationPeerDeliveryDiagnostics ¶ added in v0.9.0
func (*Store) ListFederationPeerDiagnostics ¶ added in v0.9.0
func (*Store) ListFederationRejectedEventDiagnostics ¶ added in v0.9.0
func (*Store) ListFederationRejectedEventSummary ¶ added in v0.9.0
func (*Store) ListFederationReleaseLedger ¶ added in v0.10.0
func (s *Store) ListFederationReleaseLedger(ctx context.Context, params FederationReleaseLedgerParams) (FederationReleaseLedgerPage, error)
func (*Store) ListFederationRolePoolAccess ¶ added in v0.9.0
func (*Store) ListFederationSearchPoolsForPrincipal ¶ added in v0.9.0
func (*Store) ListGoNZBNetLocalReleaseCandidates ¶ added in v0.9.0
func (s *Store) ListGoNZBNetLocalReleaseCandidates(ctx context.Context, limit int, policy ReleaseReadyPolicy) ([]releasecard.LocalRelease, error)
func (*Store) ListGoNZBNetScanOutputCandidates ¶ added in v0.9.0
func (s *Store) ListGoNZBNetScanOutputCandidates(ctx context.Context, poolID string, requireSignedManifest bool, limit int) ([]releasecard.LocalRelease, error)
func (*Store) ListHealthAttestationDiagnostics ¶ added in v0.9.0
func (*Store) ListIndexerAdminAttention ¶ added in v0.8.0
func (s *Store) ListIndexerAdminAttention(ctx context.Context, params IndexerAdminAttentionParams) ([]IndexerAdminAttentionItem, int, error)
func (*Store) ListIndexerArticleCohorts ¶ added in v0.8.0
func (s *Store) ListIndexerArticleCohorts(ctx context.Context, params IndexerArticleCohortParams) ([]IndexerArticleCohortItem, int, error)
func (*Store) ListIndexerBinaries ¶ added in v0.8.0
func (s *Store) ListIndexerBinaries(ctx context.Context, params IndexerBinaryListParams) ([]IndexerBinarySummary, int, error)
func (*Store) ListIndexerDailyBucketStats ¶ added in v0.8.0
func (*Store) ListIndexerGroupProfiles ¶ added in v0.8.0
func (*Store) ListIndexerProviderGroupInventoryCandidates ¶ added in v0.8.0
func (*Store) ListIndexerProviderGroupInventoryPage ¶ added in v0.8.0
func (*Store) ListIndexerReleases ¶ added in v0.7.0
func (s *Store) ListIndexerReleases(ctx context.Context, params AdminIndexerReleaseListParams) ([]IndexerReleaseSummary, int, error)
func (*Store) ListIndexerStageRuns ¶ added in v0.7.0
func (*Store) ListIndexerStageRunsFiltered ¶ added in v0.7.0
func (s *Store) ListIndexerStageRunsFiltered(ctx context.Context, params IndexerStageRunListParams) ([]IndexerStageRun, error)
func (*Store) ListIndexerStageStates ¶ added in v0.7.0
func (s *Store) ListIndexerStageStates(ctx context.Context) ([]IndexerStageState, error)
func (*Store) ListPasswordVerificationCandidates ¶ added in v0.7.0
func (*Store) ListPendingFederationProjections ¶ added in v0.9.0
func (*Store) ListPoolCheckpointLeaves ¶ added in v0.9.0
func (*Store) ListPoolControlEvents ¶ added in v0.9.0
func (*Store) ListPoolMembers ¶ added in v0.9.0
func (*Store) ListPredbEntriesForWindow ¶ added in v0.7.0
func (*Store) ListPublicIndexerReleases ¶ added in v0.7.0
func (s *Store) ListPublicIndexerReleases(ctx context.Context, params PublicIndexerReleaseListParams) ([]PublicIndexerReleaseSummary, int, error)
func (*Store) ListRecentNNTPSnapshots ¶ added in v0.8.0
func (*Store) ListReleaseCandidates ¶
func (s *Store) ListReleaseCandidates(ctx context.Context, limit int, opts ReleaseCandidateSelectionOptions) ([]ReleaseCandidate, error)
CHANGED: return release groups whose binaries are new or changed since last formation.
func (*Store) ListReleaseEnrichmentCandidates ¶ added in v0.7.0
func (*Store) ListReleaseNZBGenerateCandidates ¶ added in v0.8.0
func (s *Store) ListReleaseNZBGenerateCandidates(ctx context.Context, limit int, policy ReleaseReadyPolicy) ([]ReleaseNZBGenerateCandidate, error)
func (*Store) ListReleaseTitleCandidates ¶ added in v0.7.0
func (*Store) ListReputationDiagnostics ¶ added in v0.9.0
func (*Store) ListScrapeTimeframeProgress ¶ added in v0.9.0
func (*Store) ListStaleCoverageRangeClaims ¶ added in v0.9.0
func (*Store) ListStaleCoverageTimeWindowClaims ¶ added in v0.9.0
func (*Store) ListTombstones ¶ added in v0.9.0
func (*Store) ListTrustPools ¶ added in v0.9.0
func (s *Store) ListTrustPools(ctx context.Context) ([]TrustPoolRecord, error)
func (*Store) ListUnassembledArticleHeaders ¶
func (*Store) ListUndeliveredFederationEvents ¶ added in v0.9.0
func (*Store) ListValidationGaps ¶ added in v0.9.0
func (*Store) ListValidationTaskDiagnostics ¶ added in v0.9.0
func (*Store) ListYEncRecoveryCandidates ¶ added in v0.7.3
func (*Store) ListYEncRecoveryCandidatesWithOptions ¶ added in v0.8.0
func (s *Store) ListYEncRecoveryCandidatesWithOptions(ctx context.Context, limit int, opts YEncRecoverySelectionOptions) ([]YEncRecoveryCandidate, error)
func (*Store) MarkFederationPeerSyncFailure ¶ added in v0.9.0
func (*Store) MarkFederationPeerSyncSuccess ¶ added in v0.9.0
func (*Store) MarkGoNZBNetScanOutputPublished ¶ added in v0.9.0
func (*Store) MarkReleaseArchiveFailed ¶ added in v0.8.0
func (*Store) MarkReleaseArchiveStored ¶ added in v0.8.0
func (s *Store) MarkReleaseArchiveStored(ctx context.Context, in ReleaseArchiveStoredRecord) error
func (*Store) MaterializeArticleHeaderPosters ¶ added in v0.8.0
func (*Store) MaterializeCoverageStaleClaimPenalties ¶ added in v0.9.0
func (*Store) NextFederationEventSequence ¶ added in v0.9.0
func (*Store) ObserveScrapeRange ¶ added in v0.8.0
func (*Store) PauseIndexerStage ¶ added in v0.7.0
func (*Store) PersistReleaseSnapshot ¶ added in v0.8.0
func (s *Store) PersistReleaseSnapshot(ctx context.Context, in ReleaseRecord, files []ReleaseFileRecord, newsgroupIDs []int64) (ReleaseSnapshotResult, error)
func (*Store) PoolMemberHasCapability ¶ added in v0.9.0
func (*Store) ProjectArticleAvailabilityAttestation ¶ added in v0.9.0
func (s *Store) ProjectArticleAvailabilityAttestation(ctx context.Context, projection ArticleAvailabilityProjection) error
func (*Store) ProjectChecksumAttestation ¶ added in v0.9.0
func (s *Store) ProjectChecksumAttestation(ctx context.Context, projection ChecksumAttestationProjection) error
func (*Store) ProjectCoverageEvent ¶ added in v0.9.0
func (*Store) ProjectFederationPoolEvent ¶ added in v0.9.0
func (*Store) ProjectHealthAttestation ¶ added in v0.9.0
func (s *Store) ProjectHealthAttestation(ctx context.Context, projection HealthAttestationProjection) error
func (*Store) ProjectManifestAvailability ¶ added in v0.9.0
func (s *Store) ProjectManifestAvailability(ctx context.Context, projection ManifestAvailabilityProjection) error
func (*Store) ProjectReleasePublicationState ¶ added in v0.10.0
func (s *Store) ProjectReleasePublicationState(ctx context.Context, projection publicationstate.Projection) error
ProjectReleasePublicationState applies only to the event author's source. Sequence ordering makes replay and out-of-order sync deterministic.
func (*Store) ProjectTombstone ¶ added in v0.9.0
func (s *Store) ProjectTombstone(ctx context.Context, projection TombstoneProjection) error
func (*Store) ProjectTrustAttestation ¶ added in v0.9.0
func (s *Store) ProjectTrustAttestation(ctx context.Context, projection TrustAttestationProjection) error
func (*Store) ProjectValidatorCapacity ¶ added in v0.9.0
func (s *Store) ProjectValidatorCapacity(ctx context.Context, projection ValidatorCapacityProjection) error
func (*Store) PromoteBaseStemCandidatesForReleaseFamily ¶ added in v0.7.3
func (*Store) ProvisionSourceWorkPartitions ¶ added in v0.8.0
func (*Store) PublishUploaderSubmission ¶ added in v0.10.0
func (s *Store) PublishUploaderSubmission(ctx context.Context, submission uploader.Submission) error
PublishUploaderSubmission projects one approved completed-NZB submission into the terminal release catalog. It deliberately does not create scrape, binary, inspection, or release-formation records.
func (*Store) PurgeArchivedReleaseSources ¶ added in v0.8.0
func (s *Store) PurgeArchivedReleaseSources(ctx context.Context, releaseID string) (*ReleasePurgeResult, error)
PurgeArchivedReleaseSources performs terminal cleanup after archive durability and durable catalog retention are already satisfied. Delete order is intentional: 1. validate purge contract and lock archive state 2. delete shared-safe binary lineage by binary owner tables first via binary FK cascade root 3. delete release-scoped transitional bridge/runtime rows 4. delete article payload/header rows that are no longer referenced by any remaining binary parts 5. delete release archive lineage tracking rows 6. mark the release archive state as purged
func (*Store) PurgeArticleHeaderPayloads ¶ added in v0.8.0
func (*Store) RecomputeFederatedScores ¶ added in v0.9.0
func (*Store) ReconcileSourceBucketOutcomes ¶ added in v0.9.0
func (s *Store) ReconcileSourceBucketOutcomes(ctx context.Context, batchSize int, policy SourceBucketOutcomePolicy) (*MaintenanceTaskResult, error)
ReconcileSourceBucketOutcomes refreshes durable per-provider/group/day outcome state. It never deletes source data.
func (*Store) ReconcileUploaderSubmissions ¶ added in v0.10.0
func (s *Store) ReconcileUploaderSubmissions(ctx context.Context, submissions []uploader.Submission) error
ReconcileUploaderSubmissions republishes all approved submissions and then removes projections that no longer have an approved authoritative row.
func (*Store) RecordBinaryEvidenceDiagnostic ¶ added in v0.9.0
func (s *Store) RecordBinaryEvidenceDiagnostic(ctx context.Context, item BinaryEvidenceDiagnostic) error
func (*Store) RecordFederatedManifestSourceFailure ¶ added in v0.9.0
func (s *Store) RecordFederatedManifestSourceFailure(ctx context.Context, source FederatedManifestSource) error
func (*Store) RecordFederatedManifestSourceSuccess ¶ added in v0.9.0
func (s *Store) RecordFederatedManifestSourceSuccess(ctx context.Context, source FederatedManifestSource) error
func (*Store) RecordFederationEndpointResultByLocator ¶ added in v0.10.0
func (*Store) RecordFederationNodeEndpointResult ¶ added in v0.10.0
func (*Store) RecordFederationPeerDelivery ¶ added in v0.9.0
func (s *Store) RecordFederationPeerDelivery(ctx context.Context, result FederationDeliveryResult) error
func (*Store) RecordFederationProjectionFailure ¶ added in v0.9.0
func (*Store) RecordYEncRecoveryNoop ¶ added in v0.8.0
func (*Store) RecordYEncRecoveryNoopBatch ¶ added in v0.8.0
func (*Store) RecordYEncRecoveryNotFound ¶ added in v0.7.2
func (*Store) RecordYEncRecoveryNotFoundBatch ¶ added in v0.8.0
func (*Store) RecordYEncRecoveryTransientFailure ¶ added in v0.8.0
func (*Store) RecordYEncRecoveryTransientFailureBatch ¶ added in v0.8.0
func (*Store) RefreshBinaryExchangeIdentities ¶ added in v0.9.0
func (*Store) RefreshBinaryStats ¶
CHANGED: recompute binary aggregate stats after parts were inserted.
func (*Store) RefreshBinaryStatsBatch ¶ added in v0.7.1
func (*Store) RefreshBinaryStatsForPeerEvidence ¶ added in v0.9.0
func (*Store) RefreshCrosspostPopularity ¶ added in v0.8.0
func (*Store) RefreshIndexerDailyBucketStats ¶ added in v0.8.0
func (*Store) RefreshIndexerDashboardStats ¶ added in v0.7.2
func (s *Store) RefreshIndexerDashboardStats(ctx context.Context) (*IndexerDashboardStats, error)
func (*Store) RefreshIndexerGroupProfiles ¶ added in v0.8.0
func (*Store) RefreshInspectDiscoveryReadyQueue ¶ added in v0.8.0
func (*Store) RefreshInspectionReadyQueue ¶ added in v0.8.0
func (*Store) RefreshQueuedReleaseFamilySummaries ¶ added in v0.8.0
func (*Store) RefreshQueuedReleaseFamilySummariesWithMetrics ¶ added in v0.8.0
func (*Store) RefreshReleaseArchiveDetailSnapshot ¶ added in v0.8.0
func (*Store) RefreshYEncRecoveryAdmissionSnapshot ¶ added in v0.8.0
func (s *Store) RefreshYEncRecoveryAdmissionSnapshot(ctx context.Context) (*YEncRecoveryAdmissionSnapshot, error)
func (*Store) RefundBodyRequestBudget ¶ added in v0.9.0
func (*Store) RegisterFederationHandshake ¶ added in v0.9.0
func (s *Store) RegisterFederationHandshake(ctx context.Context, node FederationNodeRecord, nonce string, expiresAt time.Time) (bool, error)
RegisterFederationHandshake records a verified identity and consumes its nonce atomically. A replay or persistence failure leaves neither half of the handshake committed.
func (*Store) RegroupCrossGroupSubjectMultipartBinaries ¶ added in v0.9.0
func (s *Store) RegroupCrossGroupSubjectMultipartBinaries(ctx context.Context, req CrossGroupSubjectMultipartRegroupRequest) (*CrossGroupSubjectMultipartRegroupResult, error)
RegroupCrossGroupSubjectMultipartBinaries combines a strongly identified multipart file whose segments were distributed across multiple newsgroups. It deliberately excludes weak identities, published binaries, old matches, and sets that do not gain any unique part numbers by being combined.
func (*Store) RegroupSubjectMultipartBinaries ¶ added in v0.8.0
func (s *Store) RegroupSubjectMultipartBinaries(ctx context.Context, limit int) (*SubjectMultipartRegroupResult, error)
RegroupSubjectMultipartBinaries repairs binaries that were previously split by contextual fallback even though the NNTP Subject carried complete file and part counters. It is intentionally conservative and only touches binary-owned projection tables.
func (*Store) ReindexCriticalIndexerIndexes ¶ added in v0.8.0
func (s *Store) ReindexCriticalIndexerIndexes(ctx context.Context) (*IndexerIntegrityRepairResult, error)
func (*Store) ReopenArchivedReleaseForRegeneration ¶ added in v0.8.0
func (*Store) RepairIndexerStageRuntime ¶ added in v0.7.0
func (s *Store) RepairIndexerStageRuntime(ctx context.Context) (*IndexerStageRepairResult, error)
func (*Store) RepairStaleBinaryObservationStats ¶ added in v0.8.0
func (*Store) ReplaceBinaryArchiveEntries ¶ added in v0.7.0
func (*Store) ReplaceBinaryInspectionArtifacts ¶ added in v0.7.0
func (*Store) ReplaceBinaryMediaStreams ¶ added in v0.7.0
func (*Store) ReplaceBinaryPAR2Sets ¶ added in v0.7.0
func (*Store) ReplaceBinaryPAR2Targets ¶ added in v0.7.3
func (*Store) ReplaceBinaryTextEvidence ¶ added in v0.7.0
func (*Store) ReplaceIndexerProviderGroupInventory ¶ added in v0.8.0
func (s *Store) ReplaceIndexerProviderGroupInventory(ctx context.Context, rows []IndexerProviderGroupInventoryItem) error
func (*Store) ReplaceReleaseFiles ¶
func (s *Store) ReplaceReleaseFiles(ctx context.Context, releaseID string, files []ReleaseFileRecord) error
CHANGED: replace release_files atomically for one release.
func (*Store) ReplaceReleaseNewsgroups ¶
func (s *Store) ReplaceReleaseNewsgroups(ctx context.Context, releaseID string, newsgroupIDs []int64) error
CHANGED: replace release_newsgroups atomically for one release.
func (*Store) ReplaceReleasePredbMatches ¶ added in v0.7.0
func (*Store) ReplaceReleaseTMDBMatches ¶ added in v0.7.0
func (*Store) ReplaceReleaseTVDBMatches ¶ added in v0.7.0
func (*Store) ReserveBodyRequestBudget ¶ added in v0.9.0
func (*Store) ResetReleaseEnrichmentState ¶ added in v0.7.0
func (*Store) ResetReleaseInspectionState ¶ added in v0.7.0
func (*Store) ResolveBinaryExchangeIdentity ¶ added in v0.9.0
func (*Store) ResolveFederationNodeEndpoint ¶ added in v0.10.0
func (*Store) ResolveFederationProjection ¶ added in v0.9.0
func (*Store) ResolveScrapeTimeframeProgress ¶ added in v0.9.0
func (*Store) ResumeIndexerStage ¶ added in v0.7.0
func (*Store) RevokePoolMember ¶ added in v0.9.0
func (*Store) RunArticleCohortScheduler ¶ added in v0.8.0
func (s *Store) RunArticleCohortScheduler(ctx context.Context, req ArticleCohortSchedulerRequest) (*ArticleCohortSchedulerResult, error)
func (*Store) RunIndexerMaintenance ¶ added in v0.7.0
func (s *Store) RunIndexerMaintenance(ctx context.Context) (*IndexerMaintenanceResult, error)
func (*Store) RunIndexerStorageReclaim ¶ added in v0.7.3
func (s *Store) RunIndexerStorageReclaim(ctx context.Context, options IndexerStorageReclaimOptions) (*IndexerStorageReclaimResult, error)
func (*Store) RunMigrations ¶
func (*Store) RunPartitionDefaultRehomeTask ¶ added in v0.8.0
func (*Store) RunPartitionRetentionTask ¶ added in v0.8.0
func (*Store) RunRawStageRetentionTask ¶ added in v0.8.0
func (s *Store) RunRawStageRetentionTask(ctx context.Context, batchSize int, policy RawStageRetentionPolicy) (*MaintenanceTaskResult, error)
func (*Store) RunReleaseSourcePurge ¶ added in v0.8.0
func (s *Store) RunReleaseSourcePurge(ctx context.Context, limit int, policy ReleaseReadyPolicy) (*MaintenanceTaskResult, error)
func (*Store) RunSimpleMaintenanceTask ¶ added in v0.8.0
func (*Store) SearchCatalogReleases ¶
func (s *Store) SearchCatalogReleases(ctx context.Context, query string, limit int) ([]*domain.Release, error)
CHANGED: PG release catalog search for later aggregator/resolver integration.
func (*Store) SearchFederatedReleaseCards ¶ added in v0.9.0
func (s *Store) SearchFederatedReleaseCards(ctx context.Context, params FederatedReleaseCardSearchParams) ([]FederatedReleaseCardSummary, error)
func (*Store) SeedBinaryEvidenceRepairWork ¶ added in v0.9.0
func (*Store) SetBackfillCheckpointState ¶ added in v0.7.0
func (*Store) SetFederationNodeStatus ¶ added in v0.9.0
func (*Store) SetFederationPeerEnabled ¶ added in v0.9.0
func (*Store) SetGoNZBNetEndpointPolicy ¶ added in v0.10.0
func (*Store) SetGoNZBNetManifestCachePolicy ¶ added in v0.9.0
SetGoNZBNetManifestCachePolicy applies the runtime limits used by the federation manifest cache. A non-positive value disables that constraint.
func (*Store) SetReleaseArchivePreview ¶ added in v0.8.0
func (*Store) StartBinaryInspection ¶ added in v0.7.0
func (*Store) StartScrapeRun ¶
StartScrapeRun creates a running scrape_run row.
func (*Store) StoreFederationApprovalFragment ¶ added in v0.9.0
func (*Store) StoreFederationNonce ¶ added in v0.9.0
func (*Store) StoreResolutionManifest ¶ added in v0.9.0
func (s *Store) StoreResolutionManifest(ctx context.Context, record ResolutionManifestRecord) error
func (*Store) SuggestCoverageWork ¶ added in v0.9.0
func (s *Store) SuggestCoverageWork(ctx context.Context, params CoverageWorkSuggestionParams) ([]CoverageWorkSuggestion, error)
func (*Store) UpdateReleasePasswordCandidateStatus ¶ added in v0.7.0
func (*Store) UpdateTrustPoolCheckpoint ¶ added in v0.9.0
func (*Store) UpsertBackfillCheckpoint ¶
func (s *Store) UpsertBackfillCheckpoint(ctx context.Context, providerID, newsgroupID, backfillArticleNumber int64) error
persist backward/historical scrape cursor independently of latest cursor.
func (*Store) UpsertBinaries ¶ added in v0.8.0
func (*Store) UpsertBinary ¶
CHANGED: create/update a binary grouping row.
func (*Store) UpsertBinaryPart ¶
func (s *Store) UpsertBinaryPart(ctx context.Context, in BinaryPartRecord) error
CHANGED: add/update one binary part row.
func (*Store) UpsertBinaryParts ¶ added in v0.7.1
func (s *Store) UpsertBinaryParts(ctx context.Context, records []BinaryPartRecord) error
UpsertBinaryParts adds or updates binary parts in one transaction and deletes completed rows from the assemble-owned queue.
func (*Store) UpsertCheckpoint ¶
func (s *Store) UpsertCheckpoint(ctx context.Context, providerID, newsgroupID, lastArticleNumber int64) error
UpsertCheckpoint stores/advances checkpoint for provider+group.
func (*Store) UpsertDeferredArticleRange ¶ added in v0.8.0
func (s *Store) UpsertDeferredArticleRange(ctx context.Context, in DeferredArticleRangeRecord) error
func (*Store) UpsertFederatedReleaseCardProjection ¶ added in v0.9.0
func (s *Store) UpsertFederatedReleaseCardProjection(ctx context.Context, projection releasecard.Projection) error
func (*Store) UpsertFederationActivityRollups ¶ added in v0.9.0
func (*Store) UpsertFederationAdmission ¶ added in v0.9.0
func (s *Store) UpsertFederationAdmission(ctx context.Context, record FederationAdmissionRecord) error
func (*Store) UpsertFederationNode ¶ added in v0.9.0
func (s *Store) UpsertFederationNode(ctx context.Context, node FederationNodeRecord) error
func (*Store) UpsertFederationNodeEndpoint ¶ added in v0.10.0
func (s *Store) UpsertFederationNodeEndpoint(ctx context.Context, endpoint FederationNodeEndpoint) error
func (*Store) UpsertFederationNodeIdentity ¶ added in v0.9.0
func (*Store) UpsertFederationPeerURL ¶ added in v0.9.0
func (*Store) UpsertFederationRolePoolAccess ¶ added in v0.9.0
func (s *Store) UpsertFederationRolePoolAccess(ctx context.Context, record FederationRolePoolAccessRecord) error
func (*Store) UpsertGoNZBNetScanOutput ¶ added in v0.9.0
func (s *Store) UpsertGoNZBNetScanOutput(ctx context.Context, release releasecard.LocalRelease) error
func (*Store) UpsertIndexerGroupProfile ¶ added in v0.8.0
func (*Store) UpsertLatestCheckpoint ¶
func (s *Store) UpsertLatestCheckpoint(ctx context.Context, providerID, newsgroupID, lastArticleNumber int64) error
explicit latest/forward checkpoint upsert for Milestone 8.5.
func (*Store) UpsertNNTPSnapshot ¶ added in v0.8.0
func (*Store) UpsertNZBCache ¶
func (s *Store) UpsertNZBCache(ctx context.Context, releaseID, generationStatus, hashSHA256, lastError string) error
CHANGED: seed/update PG nzb cache metadata row for a release.
func (*Store) UpsertPoolMember ¶ added in v0.9.0
func (s *Store) UpsertPoolMember(ctx context.Context, member PoolMemberRecord) error
func (*Store) UpsertPredbBackfillCheckpoint ¶ added in v0.7.0
func (s *Store) UpsertPredbBackfillCheckpoint(ctx context.Context, in PredbBackfillCheckpoint) error
func (*Store) UpsertPredbEntries ¶ added in v0.7.0
func (s *Store) UpsertPredbEntries(ctx context.Context, rows []PredbEntryRecord) error
func (*Store) UpsertRelease ¶
CHANGED: create/update a release row and keep its id stable.
func (*Store) UpsertReleaseOverride ¶ added in v0.7.0
func (s *Store) UpsertReleaseOverride(ctx context.Context, in ReleaseOverrideRecord) error
func (*Store) UpsertReleasePasswordCandidate ¶ added in v0.7.0
func (*Store) UpsertTrustPool ¶ added in v0.9.0
func (s *Store) UpsertTrustPool(ctx context.Context, pool TrustPoolRecord) error
func (*Store) UpsertYEncHeaderEvidence ¶ added in v0.9.0
func (*Store) ValidateFederationPoolControlEvent ¶ added in v0.9.0
type SubjectMultipartRegroupResult ¶ added in v0.8.0
type TombstoneProjection ¶ added in v0.9.0
type TombstoneProjection struct {
Tombstone moderation.Tombstone
EventID string
AuthorNodeID string
}
type TombstoneRecord ¶ added in v0.9.0
type TombstoneRecord struct {
ID int64 `json:"id"`
TargetType string `json:"target_type"`
TargetID string `json:"target_id"`
PoolID string `json:"pool_id,omitempty"`
Reason string `json:"reason"`
Severity string `json:"severity"`
SourceEventID string `json:"source_event_id"`
Active bool `json:"active"`
ApprovalCount int `json:"approval_count"`
ApprovalsRequired int `json:"approvals_required"`
EffectiveAt time.Time `json:"effective_at"`
ExpiresAt *time.Time `json:"expires_at,omitempty"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
}
type TrustAttestationProjection ¶ added in v0.9.0
type TrustAttestationProjection struct {
Attestation trust.Attestation
EventID string
AuthorNodeID string
PoolID string
}
type TrustPoolRecord ¶ added in v0.9.0
type TrustPoolRecord struct {
PoolID string `json:"pool_id"`
DisplayName string `json:"display_name"`
Description string `json:"description"`
GenesisEventID string `json:"genesis_event_id"`
PolicyJSON json.RawMessage `json:"policy_json"`
MembershipThreshold int `json:"membership_threshold"`
ModerationThreshold int `json:"moderation_threshold"`
CheckpointWitnessThreshold int `json:"checkpoint_witness_threshold"`
AcceptMode string `json:"accept_mode"`
MinNodeTrustScore float64 `json:"min_node_trust_score"`
AcceptedEventTypes []string `json:"accepted_event_types"`
Enabled bool `json:"enabled"`
Visibility string `json:"visibility"`
JoinMode string `json:"join_mode"`
AdmissionEnabled bool `json:"admission_enabled"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
}
type ValidationGap ¶ added in v0.9.0
type ValidationGap struct {
ReleaseID string `json:"release_id"`
ManifestID string `json:"manifest_id"`
PoolID string `json:"pool_id"`
SourceNodeID string `json:"source_node_id"`
LastValidationTaskAt *time.Time `json:"last_validation_task_at,omitempty"`
ValidationAttestationCount int `json:"validation_attestation_count"`
}
type ValidationTask ¶ added in v0.9.0
type ValidationTaskDiagnostic ¶ added in v0.9.0
type ValidationTaskDiagnostic struct {
TaskID int64 `json:"task_id"`
ManifestID string `json:"manifest_id"`
ReleaseID string `json:"release_id"`
SourceNodeID string `json:"source_node_id"`
SourceEventID string `json:"source_event_id"`
PoolID string `json:"pool_id"`
Status string `json:"status"`
Priority int `json:"priority"`
Attempts int `json:"attempts"`
LastError string `json:"last_error"`
ClaimedByNodeID string `json:"claimed_by_node_id"`
ClaimedAt *time.Time `json:"claimed_at,omitempty"`
DueAt time.Time `json:"due_at"`
CompletedAt *time.Time `json:"completed_at,omitempty"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
}
type ValidationTaskRequest ¶ added in v0.9.0
type ValidatorCapacityProjection ¶ added in v0.9.0
type ValidatorCapacityProjection struct {
Capacity validation.ValidatorCapacity
EventID string
AuthorNodeID string
}
type YEncEvidenceRecord ¶ added in v0.9.0
type YEncHeaderRecoveryRecord ¶ added in v0.7.3
type YEncHeaderRecoveryRecord struct {
BinaryID int64
ArticleHeaderID int64
SourceReleaseKey string
ReleaseFamilyKey string
FileSetKey string
FileFamilyKey string
IdentityStrength string
IdentityReason string
SubjectSetToken string
SubjectSetKind string
FamilyKind string
BaseStem string
IsAuxiliary bool
IsMainPayload bool
ReleaseKey string
ReleaseName string
BinaryKey string
BinaryName string
FileName string
FileIndex int
ExpectedFileCount int
PartNumber int
TotalParts int
FileSize int64
MatchConfidence float64
MatchStatus string
GroupingEvidence map[string]any
}
type YEncHeaderRecoveryResult ¶ added in v0.7.3
type YEncRecoveryAdmissionConfig ¶ added in v0.8.0
type YEncRecoveryAdmissionConfig struct {
RecoveryProfile string
SoftQueueHours int
HardQueueMultiplier int
AbsoluteHardQueueCap int64
BootstrapProbesPerHour float64
EWMAWindowMinutes int
Priority0OverflowCap int64
Priority0ReservoirBatches int
NearTimeCohortBucketMinutes int
LatestReservePercent int
BalancedBodyRequestsPerHour int64
ExhaustiveBodyRequestsPerHour int64
DiscoveryBodyRequestsPerHour int64
}
type YEncRecoveryAdmissionSnapshot ¶ added in v0.8.0
type YEncRecoveryAdmissionSnapshot struct {
RecoveryProfile string `json:"recovery_profile"`
ProbesPerHourEWMA float64 `json:"probes_per_hour_ewma"`
SoftCap int64 `json:"soft_cap"`
HardCap int64 `json:"hard_cap"`
OpenReady int64 `json:"open_ready"`
OpenRunning int64 `json:"open_running"`
OpenTotal int64 `json:"open_total"`
RemainingToHard int64 `json:"remaining_to_hard"`
OldestReadyAt *time.Time `json:"oldest_ready_at,omitempty"`
NewestReadyAt *time.Time `json:"newest_ready_at,omitempty"`
CalculatedAt time.Time `json:"calculated_at"`
BodyBudgetKey string `json:"body_budget_key"`
BodyRequestsPerHour int64 `json:"body_requests_per_hour"`
BodyRequestsUsed int64 `json:"body_requests_used"`
BodyRequestsRemain int64 `json:"body_requests_remaining"`
BodyBudgetStartedAt *time.Time `json:"body_budget_started_at,omitempty"`
}
type YEncRecoveryApplyStats ¶ added in v0.8.0
type YEncRecoveryApplyStats struct {
Records int
Results int
Merged int
InternalBatches int
NormalizeDuration time.Duration
TotalDuration time.Duration
BeginDuration time.Duration
StageDuration time.Duration
OrderDuration time.Duration
IdentityLockDuration time.Duration
MutationDuration time.Duration
SeedLoadDuration time.Duration
TargetFindDuration time.Duration
PairLockDuration time.Duration
TargetUpdateDuration time.Duration
TargetUpdateSkipped int
PartsMergeDuration time.Duration
ReleaseFilesMergeDuration time.Duration
SourceDeleteDuration time.Duration
SourceSupersedeDuration time.Duration
IngestPayloadUpdateDuration time.Duration
WorkItemDoneUpdateDuration time.Duration
StatsRefreshDuration time.Duration
SummaryDirtyDuration time.Duration
CommitDuration time.Duration
}
type YEncRecoveryCandidate ¶ added in v0.7.3
type YEncRecoveryCandidate struct {
BinaryID int64
ArticleHeaderID int64
ProviderID int64
NewsgroupID int64
NewsgroupName string
ArticleNumber int64
MessageID string
Subject string
Poster string
DateUTC *time.Time
Bytes int64
Lines int
Xref string
FileName string
FileIndex int
FileTotal int
YEncPart int
YEncTotal int
YEncFileSize int64
RawOverview map[string]any
YEncRecoveryMissingCount int
YEncRecoveryRetryAfter *time.Time
CurrentBinaryKey string
CurrentReleaseFamilyKey string
CurrentBaseStem string
CurrentReadinessBucket string
StructuredIdentityBinaryMatched bool
PriorityRank int
AdmissionReason string
GroupTier string
RecoveryLane string
FairnessBucketStart *time.Time
FairnessBucketEnd *time.Time
}
func (YEncRecoveryCandidate) CloneRawOverview ¶ added in v0.7.3
func (c YEncRecoveryCandidate) CloneRawOverview() map[string]any
func (YEncRecoveryCandidate) FetchGroups ¶ added in v0.7.3
func (c YEncRecoveryCandidate) FetchGroups() []string
type YEncRecoverySelectionOptions ¶ added in v0.8.0
type YEncRecoverySelectionOptions struct {
TargetWindowStart *time.Time
TargetWindowEnd *time.Time
TargetWindowPercent int
NewestPercent int
Priority0Only bool
DisableGenericSeed bool
BodyBudgetKey string
BodyRequestsPerHour int64
}
func (YEncRecoverySelectionOptions) HasTargetWindow ¶ added in v0.8.0
func (o YEncRecoverySelectionOptions) HasTargetWindow() bool
func (YEncRecoverySelectionOptions) HasValidSplit ¶ added in v0.8.0
func (o YEncRecoverySelectionOptions) HasValidSplit() bool
type YEncRecoverySelectionStats ¶ added in v0.8.0
type YEncRecoverySelectionStats struct {
BatchRequested int
BatchSelected int
ReadyCount int
Priority0Ready int
PrioritySeedLimit int
PrioritySeeded int64
PriorityRetired int64
GenericSeedLimit int
GenericSeeded int64
GenericRetired int64
SeedDuration time.Duration
WindowedRequested int
NewestRequested int
SelectedWindowed int
SelectedNewest int
BucketsScanned int
EmptyBuckets int
BodyBudgetLimit int64
BodyBudgetUsed int64
BodyBudgetRemain int64
}
Source Files
¶
- archive_assets.go
- archive_store.go
- article_cohort_scheduler_store.go
- article_ingest_metadata.go
- assembly_store.go
- binary_evidence_exchange_store.go
- binary_recovery_store.go
- body_request_budget_store.go
- catalog_reads.go
- cross_group_subject_multipart_regroup_store.go
- crosspost_store.go
- enrichment_store.go
- federation_activity_store.go
- federation_admin_views.go
- federation_admission_store.go
- federation_chain.go
- federation_coverage_store.go
- federation_diagnostics_store.go
- federation_endpoint_store.go
- federation_health_store.go
- federation_maintenance_store.go
- federation_manifest_store.go
- federation_peer_store.go
- federation_pending_projection_store.go
- federation_pool_store.go
- federation_publication_state_store.go
- federation_releasecard_store.go
- federation_reporting_store.go
- federation_scan_output_store.go
- federation_storage_store.go
- federation_store.go
- federation_tombstone_store.go
- federation_transaction.go
- federation_validation_store.go
- group_profile_scoring_store.go
- inspect_reads.go
- inspect_ready_queue_store.go
- inspection_store.go
- integrity_store.go
- locking.go
- maintenance_store.go
- maintenance_tasks_store.go
- migrate.go
- nntp_runtime_store.go
- outcome_retention_store.go
- partition_provision.go
- provider_group_inventory_store.go
- public_release_reads.go
- release_catalog_files.go
- release_category_store.go
- release_detail_note.go
- release_family_summary_store.go
- release_generate_store.go
- release_override_store.go
- release_ready_policy.go
- release_reprocess_store.go
- release_store.go
- repository.go
- runtime_tuning.go
- scrape_boundary_store.go
- scrape_materializer_store.go
- scrape_timeframe_store.go
- sql_runner.go
- stage_runtime_store.go
- storage_audit.go
- storage_guard.go
- storage_guard_unix.go
- storage_reclaim.go
- store.go
- subject_multipart_regroup_store.go
- uploader_catalog_store.go
- work_window_control_reads.go
- work_window_control_store.go
- yenc_admission_store.go
- yenc_recovery_store.go
- yenc_work_item_store.go