Content duplicates (same library + file_sha256 at different paths, e.g. the same book imported twice under two names on a preexisting database) cannot be auto-collapsed the way path duplicates were: keeping both copies may be intentional. Surface them for an explicit admin decision instead. Schema: - new hash_conflicts table keyed (library_id, file_sha256) with a status/resolution lifecycle: 'pending' until an admin resolves via 'keep_all' or 'kept:<uuid>' (which copy was kept after merging) - resolution is VARCHAR(50) - 'kept:<uuid>' is 41 chars; include a widening ALTER for databases created with the initial 30-char width - resolution/resolved_by/resolved_at record who decided what and when Queries: - ListMediaItemsMissingHash: items imported before hashing existed (file_sha256 IS NULL), ordered oldest-first for the backfill pass - FindHashConflictGroups: the content-duplicate group detection (GROUP BY library_id, file_sha256 HAVING COUNT(*) > 1) - ListMediaItemsBySHA256AndLibrary: full membership of one group - CreateHashConflict: upsert with DO NOTHING so already-tracked groups are untouched - critical behavior: a group an admin resolved as 'keep both' is never re-flagged by later sweeps - ListPendingHashConflicts: admin listing with library name and live item counts (items may have been deleted since flagging) - GetHashConflict / ResolveHashConflict: lifecycle - GetMediaItemUsageCounts: per-item progress/highlight/bookmark/note/ collection counts so the admin can make an informed keep choice - ReparentMediaItemChildren: sqlc binding for the existing reparent_media_item_children() migration function, used to merge a losing copy's child rows into the kept copy
456 lines
32 KiB
Go
456 lines
32 KiB
Go
// Code generated by sqlc. DO NOT EDIT.
|
|
// versions:
|
|
// sqlc v1.31.1
|
|
|
|
package database
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/jackc/pgx/v5/pgtype"
|
|
)
|
|
|
|
type Querier interface {
|
|
// COLLECTION ITEMS QUERIES
|
|
// Add book to collection
|
|
AddBookToCollection(ctx context.Context, arg AddBookToCollectionParams) (CollectionItems, error)
|
|
// ============================================
|
|
// KOBO SHELF MANAGEMENT QUERIES
|
|
// ============================================
|
|
AddBookToKoboShelf(ctx context.Context, arg AddBookToKoboShelfParams) (KoboShelves, error)
|
|
// Library Folders queries
|
|
AddLibraryFolder(ctx context.Context, arg AddLibraryFolderParams) (LibraryFolders, error)
|
|
// Bulk update format group for all media items
|
|
BulkUpdateFormatGroups(ctx context.Context) error
|
|
BulkUpdateProgressFromSync(ctx context.Context, arg BulkUpdateProgressFromSyncParams) ([]interface{}, error)
|
|
CheckForProgressConflicts(ctx context.Context, arg CheckForProgressConflictsParams) (int64, error)
|
|
// Cleanup expired OPDS tokens
|
|
CleanupExpiredOpdsTokens(ctx context.Context) error
|
|
CleanupExpiredRefreshTokens(ctx context.Context, dollar_1 float64) error
|
|
ClearDeviceSyncQueue(ctx context.Context, deviceID pgtype.UUID) error
|
|
ClearKoboShelf(ctx context.Context, deviceID pgtype.UUID) error
|
|
ClearKoboShelfByName(ctx context.Context, arg ClearKoboShelfByNameParams) error
|
|
CountAdmins(ctx context.Context) (int64, error)
|
|
// Count unlinked books for a device
|
|
CountUnlinkedBooks(ctx context.Context, deviceID pgtype.UUID) (int64, error)
|
|
CountUserDevices(ctx context.Context, userID pgtype.UUID) (int64, error)
|
|
CreateAutoResolvedSyncConflict(ctx context.Context, arg CreateAutoResolvedSyncConflictParams) (SyncConflicts, error)
|
|
// COLLECTIONS QUERIES
|
|
// Create collection
|
|
CreateCollection(ctx context.Context, arg CreateCollectionParams) (Collections, error)
|
|
// ============================================
|
|
// DEVICE MANAGEMENT & AUTH
|
|
// ============================================
|
|
// Device Registration & Management
|
|
CreateDevice(ctx context.Context, arg CreateDeviceParams) (Devices, error)
|
|
// DEVICE CATALOGS QUERIES
|
|
// Create device catalog entry
|
|
CreateDeviceCatalog(ctx context.Context, arg CreateDeviceCatalogParams) (DeviceCatalogs, error)
|
|
// DEVICE FILE ALIASES QUERIES
|
|
// Create device file alias
|
|
CreateDeviceFileAlias(ctx context.Context, arg CreateDeviceFileAliasParams) (DeviceFileAliases, error)
|
|
// DEVICE SHELF MAPPINGS QUERIES
|
|
// Create device shelf mapping
|
|
CreateDeviceShelfMapping(ctx context.Context, arg CreateDeviceShelfMappingParams) (DeviceShelfMappings, error)
|
|
CreateDictionaryEntry(ctx context.Context, arg CreateDictionaryEntryParams) (DictionaryCache, error)
|
|
// HASH CONFLICTS QUERIES
|
|
// Record a pending hash conflict (no-op if the group is already tracked, so
|
|
// resolved groups stay resolved and are never re-flagged)
|
|
CreateHashConflict(ctx context.Context, arg CreateHashConflictParams) error
|
|
// Libraries queries
|
|
CreateLibrary(ctx context.Context, arg CreateLibraryParams) (Libraries, error)
|
|
CreateMediaBookmark(ctx context.Context, arg CreateMediaBookmarkParams) (MediaBookmarks, error)
|
|
CreateMediaBookmarkFull(ctx context.Context, arg CreateMediaBookmarkFullParams) (MediaBookmarks, error)
|
|
// Media Highlights queries
|
|
CreateMediaHighlight(ctx context.Context, arg CreateMediaHighlightParams) (MediaHighlights, error)
|
|
CreateMediaHighlightFull(ctx context.Context, arg CreateMediaHighlightFullParams) (MediaHighlights, error)
|
|
// Media Items queries
|
|
CreateMediaItem(ctx context.Context, arg CreateMediaItemParams) (MediaItems, error)
|
|
// MEDIA ITEM FORMATS QUERIES
|
|
// Create media item format
|
|
CreateMediaItemFormat(ctx context.Context, arg CreateMediaItemFormatParams) (MediaItemFormats, error)
|
|
// Media Notes queries
|
|
CreateMediaNote(ctx context.Context, arg CreateMediaNoteParams) (MediaNotes, error)
|
|
CreateMediaNoteFull(ctx context.Context, arg CreateMediaNoteFullParams) (MediaNotes, error)
|
|
CreateMediaRating(ctx context.Context, arg CreateMediaRatingParams) (MediaRatings, error)
|
|
// OPDS TOKENS QUERIES
|
|
// Create OPDS token
|
|
CreateOpdsToken(ctx context.Context, arg CreateOpdsTokenParams) (OpdsTokens, error)
|
|
// ============================================
|
|
// KOBO ENTITLEMENT QUERIES
|
|
// ============================================
|
|
CreateOrUpdateKoboEntitlement(ctx context.Context, arg CreateOrUpdateKoboEntitlementParams) (KoboEntitlements, error)
|
|
// ============================================================================
|
|
// PROCESSING ISSUES QUERIES
|
|
// ============================================================================
|
|
CreateProcessingIssue(ctx context.Context, arg CreateProcessingIssueParams) (ProcessingIssues, error)
|
|
// Create reading history entry
|
|
CreateReadingHistory(ctx context.Context, arg CreateReadingHistoryParams) (ReadingHistory, error)
|
|
CreateReadingSpeed(ctx context.Context, arg CreateReadingSpeedParams) (ReadingSpeed, error)
|
|
// Refresh Tokens queries
|
|
CreateRefreshToken(ctx context.Context, arg CreateRefreshTokenParams) (RefreshTokens, error)
|
|
CreateSavedFilter(ctx context.Context, arg CreateSavedFilterParams) (SavedFilters, error)
|
|
// Conflict Resolution
|
|
CreateSyncConflict(ctx context.Context, arg CreateSyncConflictParams) (SyncConflicts, error)
|
|
CreateSyncHistoryEntry(ctx context.Context, arg CreateSyncHistoryEntryParams) (SyncQueue, error)
|
|
// Sync Queue Management
|
|
CreateSyncQueueItem(ctx context.Context, arg CreateSyncQueueItemParams) (SyncQueue, error)
|
|
CreateSystemCollection(ctx context.Context, arg CreateSystemCollectionParams) (Collections, error)
|
|
// ============================================
|
|
// ENHANCED KOBO SYNC
|
|
// ============================================
|
|
// Create unlinked book entry
|
|
CreateUnlinkedBook(ctx context.Context, arg CreateUnlinkedBookParams) (UnlinkedBooks, error)
|
|
CreateUser(ctx context.Context, arg CreateUserParams) (CreateUserRow, error)
|
|
// Delete collection
|
|
DeleteCollection(ctx context.Context, id pgtype.UUID) error
|
|
DeleteDevice(ctx context.Context, id pgtype.UUID) error
|
|
DeleteDeviceByToken(ctx context.Context, authToken string) error
|
|
// Delete device catalog entry
|
|
DeleteDeviceCatalog(ctx context.Context, id pgtype.UUID) error
|
|
// Delete device file alias
|
|
DeleteDeviceFileAlias(ctx context.Context, id pgtype.UUID) error
|
|
// Delete device shelf mapping
|
|
DeleteDeviceShelfMapping(ctx context.Context, id pgtype.UUID) error
|
|
DeleteKoboEntitlement(ctx context.Context, arg DeleteKoboEntitlementParams) error
|
|
DeleteLibrary(ctx context.Context, id pgtype.UUID) error
|
|
DeleteLibraryFolder(ctx context.Context, arg DeleteLibraryFolderParams) (LibraryFolders, error)
|
|
DeleteMediaBookmark(ctx context.Context, id pgtype.UUID) error
|
|
DeleteMediaHighlight(ctx context.Context, id pgtype.UUID) error
|
|
DeleteMediaItem(ctx context.Context, id pgtype.UUID) error
|
|
// Delete media item format
|
|
DeleteMediaItemFormat(ctx context.Context, id pgtype.UUID) error
|
|
DeleteMediaNote(ctx context.Context, id pgtype.UUID) error
|
|
DeleteMediaRating(ctx context.Context, arg DeleteMediaRatingParams) error
|
|
DeleteProcessingIssue(ctx context.Context, id pgtype.UUID) (ProcessingIssues, error)
|
|
DeleteReadingProgress(ctx context.Context, arg DeleteReadingProgressParams) error
|
|
DeleteSavedFilter(ctx context.Context, arg DeleteSavedFilterParams) (SavedFilters, error)
|
|
DeleteSyncConflict(ctx context.Context, id pgtype.UUID) error
|
|
DeleteSyncQueueItem(ctx context.Context, id pgtype.UUID) error
|
|
// Delete system config
|
|
DeleteSystemConfig(ctx context.Context, key string) error
|
|
// Delete unlinked book
|
|
DeleteUnlinkedBook(ctx context.Context, id pgtype.UUID) error
|
|
DeleteUser(ctx context.Context, id pgtype.UUID) error
|
|
DeleteUserSystemCollection(ctx context.Context, arg DeleteUserSystemCollectionParams) error
|
|
// Find content-duplicate groups (same library + SHA-256, more than one row)
|
|
FindHashConflictGroups(ctx context.Context) ([]FindHashConflictGroupsRow, error)
|
|
GenerateKoboEntitlementId(ctx context.Context) (interface{}, error)
|
|
// ============================================
|
|
// ANNOTATION SERVE QUERIES
|
|
// ============================================
|
|
GetActiveAnnotationsForBook(ctx context.Context, arg GetActiveAnnotationsForBookParams) ([]GetActiveAnnotationsForBookRow, error)
|
|
// Get all system config
|
|
GetAllSystemConfig(ctx context.Context) ([]SystemConfig, error)
|
|
GetAllSystemSettings(ctx context.Context) ([]GetAllSystemSettingsRow, error)
|
|
GetAllSystemSettingsFull(ctx context.Context) ([]SystemSettings, error)
|
|
GetAnnotationsForBook(ctx context.Context, arg GetAnnotationsForBookParams) ([]GetAnnotationsForBookRow, error)
|
|
GetBooksByTag(ctx context.Context, arg GetBooksByTagParams) ([]MediaItems, error)
|
|
// Get collection
|
|
GetCollection(ctx context.Context, id pgtype.UUID) (Collections, error)
|
|
// Get collection items
|
|
GetCollectionItems(ctx context.Context, collectionID pgtype.UUID) ([]GetCollectionItemsRow, error)
|
|
GetCollectionItemsForDashboard(ctx context.Context, arg GetCollectionItemsForDashboardParams) ([]GetCollectionItemsForDashboardRow, error)
|
|
// Get collection with book count
|
|
GetCollectionWithBookCount(ctx context.Context, id pgtype.UUID) (GetCollectionWithBookCountRow, error)
|
|
// Get collections by user
|
|
GetCollectionsByUser(ctx context.Context, userID pgtype.UUID) ([]Collections, error)
|
|
// Get collections for book
|
|
GetCollectionsForBook(ctx context.Context, mediaItemID pgtype.UUID) ([]Collections, error)
|
|
// Smart section queries (for system collections)
|
|
GetContinueReadingItems(ctx context.Context, arg GetContinueReadingItemsParams) ([]MediaItems, error)
|
|
GetContinueSeriesItems(ctx context.Context, arg GetContinueSeriesItemsParams) ([]GetContinueSeriesItemsRow, error)
|
|
// ============================================
|
|
// CAROUSEL-STYLE DASHBOARD
|
|
// ============================================
|
|
// Dashboard preferences queries
|
|
GetDashboardPreferences(ctx context.Context, arg GetDashboardPreferencesParams) (UserDashboardPreferences, error)
|
|
GetDevice(ctx context.Context, id pgtype.UUID) (Devices, error)
|
|
GetDeviceByAuthToken(ctx context.Context, authToken string) (Devices, error)
|
|
GetDeviceByIdentifier(ctx context.Context, deviceIdentifier string) (Devices, error)
|
|
// Get device catalog by Bookhoard UUID
|
|
GetDeviceCatalogByBookhoardUUID(ctx context.Context, arg GetDeviceCatalogByBookhoardUUIDParams) (DeviceCatalogs, error)
|
|
// Get device catalog by Kobo ContentId
|
|
GetDeviceCatalogByKoboContentId(ctx context.Context, koboContentID string) (DeviceCatalogs, error)
|
|
// Get device catalog entries
|
|
GetDeviceCatalogEntries(ctx context.Context, deviceID pgtype.UUID) ([]GetDeviceCatalogEntriesRow, error)
|
|
// Get device file alias
|
|
GetDeviceFileAlias(ctx context.Context, arg GetDeviceFileAliasParams) (DeviceFileAliases, error)
|
|
// Get device file alias by SHA-256
|
|
GetDeviceFileAliasBySHA256(ctx context.Context, fileSha256 pgtype.Text) (GetDeviceFileAliasBySHA256Row, error)
|
|
// Get device file aliases by device
|
|
GetDeviceFileAliasesByDevice(ctx context.Context, deviceID pgtype.UUID) ([]GetDeviceFileAliasesByDeviceRow, error)
|
|
// Get device shelf mapping
|
|
GetDeviceShelfMapping(ctx context.Context, arg GetDeviceShelfMappingParams) (DeviceShelfMappings, error)
|
|
// Get device shelf mappings
|
|
GetDeviceShelfMappings(ctx context.Context, deviceID pgtype.UUID) ([]GetDeviceShelfMappingsRow, error)
|
|
GetDictionaryEntry(ctx context.Context, word string) (DictionaryCache, error)
|
|
GetDistinctSeries(ctx context.Context, arg GetDistinctSeriesParams) ([]GetDistinctSeriesRow, error)
|
|
GetDistinctSeriesCount(ctx context.Context, libraryID pgtype.UUID) (int32, error)
|
|
GetFailedSyncQueueItems(ctx context.Context, limit int32) ([]SyncQueue, error)
|
|
GetFirstAdmin(ctx context.Context) (pgtype.UUID, error)
|
|
GetFirstAdminExclude(ctx context.Context, id pgtype.UUID) (GetFirstAdminExcludeRow, error)
|
|
GetHashConflict(ctx context.Context, id pgtype.UUID) (HashConflicts, error)
|
|
GetKoboEntitlementByContentId(ctx context.Context, arg GetKoboEntitlementByContentIdParams) (GetKoboEntitlementByContentIdRow, error)
|
|
GetKoboEntitlementByEntitlementId(ctx context.Context, arg GetKoboEntitlementByEntitlementIdParams) (GetKoboEntitlementByEntitlementIdRow, error)
|
|
GetKoboEntitlementsForDevice(ctx context.Context, deviceID pgtype.UUID) ([]GetKoboEntitlementsForDeviceRow, error)
|
|
GetKoboShelfBookCount(ctx context.Context, deviceID pgtype.UUID) (int64, error)
|
|
GetKoboShelfBooks(ctx context.Context, deviceID pgtype.UUID) ([]GetKoboShelfBooksRow, error)
|
|
GetKoboShelfBooksByShelfName(ctx context.Context, arg GetKoboShelfBooksByShelfNameParams) ([]GetKoboShelfBooksByShelfNameRow, error)
|
|
// Get Kobo shelves by collection
|
|
GetKoboShelvesByCollection(ctx context.Context, arg GetKoboShelvesByCollectionParams) ([]GetKoboShelvesByCollectionRow, error)
|
|
GetLibrary(ctx context.Context, id pgtype.UUID) (GetLibraryRow, error)
|
|
GetLibraryByFolder(ctx context.Context, folderPath string) (GetLibraryByFolderRow, error)
|
|
GetLibraryByFolderPathPrefix(ctx context.Context, folderPath string) (GetLibraryByFolderPathPrefixRow, error)
|
|
GetLibraryFolders(ctx context.Context, libraryID pgtype.UUID) ([]LibraryFolders, error)
|
|
GetLibraryItems(ctx context.Context, libraryID pgtype.UUID) ([]MediaItems, error)
|
|
GetLibraryType(ctx context.Context, id pgtype.UUID) (LibraryTypes, error)
|
|
GetLibraryTypeByName(ctx context.Context, name string) (LibraryTypes, error)
|
|
// Library Types queries
|
|
GetLibraryTypes(ctx context.Context) ([]LibraryTypes, error)
|
|
GetLibraryVisibility(ctx context.Context, arg GetLibraryVisibilityParams) (LibraryVisibility, error)
|
|
// ============================================================================
|
|
// LIBRARY WITH TYPE INFO QUERIES
|
|
// ============================================================================
|
|
GetLibraryWithType(ctx context.Context, id pgtype.UUID) (GetLibraryWithTypeRow, error)
|
|
GetMediaBookmark(ctx context.Context, id pgtype.UUID) (MediaBookmarks, error)
|
|
// ============================================
|
|
// ANNOTATION SYNC QUERIES (bookmarks)
|
|
// ============================================
|
|
GetMediaBookmarkByDedupKey(ctx context.Context, arg GetMediaBookmarkByDedupKeyParams) (MediaBookmarks, error)
|
|
GetMediaBookmarks(ctx context.Context, arg GetMediaBookmarksParams) ([]MediaBookmarks, error)
|
|
GetMediaHighlight(ctx context.Context, id pgtype.UUID) (MediaHighlights, error)
|
|
// ============================================
|
|
// ANNOTATION SYNC QUERIES (highlights)
|
|
// ============================================
|
|
GetMediaHighlightByDedupKey(ctx context.Context, arg GetMediaHighlightByDedupKeyParams) (MediaHighlights, error)
|
|
GetMediaHighlights(ctx context.Context, arg GetMediaHighlightsParams) ([]MediaHighlights, error)
|
|
GetMediaItem(ctx context.Context, id pgtype.UUID) (MediaItems, error)
|
|
GetMediaItemByFilePath(ctx context.Context, arg GetMediaItemByFilePathParams) (MediaItems, error)
|
|
GetMediaItemByFilePathAnyLibrary(ctx context.Context, filePath string) (MediaItems, error)
|
|
// ============================================
|
|
// KOREADER SYNC PROTOCOL
|
|
// ============================================
|
|
GetMediaItemByFilePathForSync(ctx context.Context, filePath string) (MediaItems, error)
|
|
GetMediaItemByKoboContentId(ctx context.Context, koboContentID pgtype.Text) (MediaItems, error)
|
|
// Get media item by OPF identifier
|
|
GetMediaItemByOPFIdentifier(ctx context.Context, opfIdentifier pgtype.Text) (MediaItems, error)
|
|
// Get media item by OPF UUID
|
|
GetMediaItemByOPFUUID(ctx context.Context, opfUuid pgtype.Text) (MediaItems, error)
|
|
// Get media item by SHA-256 hash
|
|
GetMediaItemBySHA256(ctx context.Context, fileSha256 pgtype.Text) (MediaItems, error)
|
|
// Get media item by SHA-256 hash within a specific library (content dedup)
|
|
GetMediaItemBySHA256AndLibrary(ctx context.Context, arg GetMediaItemBySHA256AndLibraryParams) (MediaItems, error)
|
|
// Get media item format by SHA-256
|
|
GetMediaItemFormatBySHA256(ctx context.Context, fileSha256 pgtype.Text) (MediaItemFormats, error)
|
|
// Get media item format by type
|
|
GetMediaItemFormatByType(ctx context.Context, arg GetMediaItemFormatByTypeParams) (MediaItemFormats, error)
|
|
// Get media item formats
|
|
GetMediaItemFormats(ctx context.Context, mediaItemID pgtype.UUID) ([]MediaItemFormats, error)
|
|
// Per-item user-data counts, used when choosing which duplicate copy to keep
|
|
GetMediaItemUsageCounts(ctx context.Context, mediaItemID pgtype.UUID) (GetMediaItemUsageCountsRow, error)
|
|
GetMediaNote(ctx context.Context, id pgtype.UUID) (MediaNotes, error)
|
|
// ============================================
|
|
// ANNOTATION SYNC QUERIES (notes)
|
|
// ============================================
|
|
GetMediaNoteByDedupKey(ctx context.Context, arg GetMediaNoteByDedupKeyParams) (MediaNotes, error)
|
|
GetMediaNotes(ctx context.Context, arg GetMediaNotesParams) ([]MediaNotes, error)
|
|
GetMediaRating(ctx context.Context, arg GetMediaRatingParams) (MediaRatings, error)
|
|
GetMediaRatings(ctx context.Context, mediaItemID pgtype.UUID) ([]GetMediaRatingsRow, error)
|
|
GetNextRetryTime(ctx context.Context) (interface{}, error)
|
|
GetNotStartedItems(ctx context.Context, arg GetNotStartedItemsParams) ([]MediaItems, error)
|
|
// Get OPDS token
|
|
GetOpdsToken(ctx context.Context, token string) (GetOpdsTokenRow, error)
|
|
// Get OPDS tokens by device
|
|
GetOpdsTokensByDevice(ctx context.Context, deviceID pgtype.UUID) ([]OpdsTokens, error)
|
|
GetPanelData(ctx context.Context, arg GetPanelDataParams) (PanelData, error)
|
|
// Get most popular books for a user
|
|
GetPopularBooks(ctx context.Context, arg GetPopularBooksParams) ([]GetPopularBooksRow, error)
|
|
GetProcessingIssueStats(ctx context.Context, libraryID pgtype.UUID) (GetProcessingIssueStatsRow, error)
|
|
GetReaderSettings(ctx context.Context, userID pgtype.UUID) ([]byte, error)
|
|
// Get reading history for a user and book
|
|
GetReadingHistory(ctx context.Context, arg GetReadingHistoryParams) ([]ReadingHistory, error)
|
|
GetReadingProgress(ctx context.Context, arg GetReadingProgressParams) (ReadingProgress, error)
|
|
GetReadingSpeed(ctx context.Context, arg GetReadingSpeedParams) (ReadingSpeed, error)
|
|
GetRecentlyAddedItems(ctx context.Context, arg GetRecentlyAddedItemsParams) ([]MediaItems, error)
|
|
GetRecentlyReadItems(ctx context.Context, arg GetRecentlyReadItemsParams) ([]MediaItems, error)
|
|
GetRefreshToken(ctx context.Context, token pgtype.UUID) (GetRefreshTokenRow, error)
|
|
GetSavedFilterByID(ctx context.Context, arg GetSavedFilterByIDParams) (SavedFilters, error)
|
|
GetSavedFilters(ctx context.Context, arg GetSavedFiltersParams) ([]SavedFilters, error)
|
|
GetSeriesBooks(ctx context.Context, series pgtype.Text) ([]MediaItems, error)
|
|
GetSeriesCovers(ctx context.Context, arg GetSeriesCoversParams) ([]GetSeriesCoversRow, error)
|
|
GetStuckSyncQueueItems(ctx context.Context) ([]SyncQueue, error)
|
|
GetSyncConflict(ctx context.Context, id pgtype.UUID) (SyncConflicts, error)
|
|
GetSyncQueueItem(ctx context.Context, id pgtype.UUID) (SyncQueue, error)
|
|
GetSyncQueueStats(ctx context.Context, deviceID pgtype.UUID) (GetSyncQueueStatsRow, error)
|
|
// Dashboard collections queries
|
|
GetSystemCollectionsForDashboard(ctx context.Context, userID pgtype.UUID) ([]Collections, error)
|
|
// SYSTEM CONFIG QUERIES
|
|
// Get system config
|
|
GetSystemConfig(ctx context.Context, key string) (SystemConfig, error)
|
|
// System Settings queries
|
|
GetSystemSetting(ctx context.Context, settingKey string) (string, error)
|
|
GetSystemSettingFull(ctx context.Context, settingKey string) (SystemSettings, error)
|
|
GetSystemTimezone(ctx context.Context) (string, error)
|
|
GetTombstonedAnnotationsForBook(ctx context.Context, arg GetTombstonedAnnotationsForBookParams) ([]GetTombstonedAnnotationsForBookRow, error)
|
|
// Get universal progress for a book
|
|
GetUniversalProgress(ctx context.Context, arg GetUniversalProgressParams) (GetUniversalProgressRow, error)
|
|
// Get unlinked book by ContentId
|
|
GetUnlinkedBookByContentId(ctx context.Context, arg GetUnlinkedBookByContentIdParams) (UnlinkedBooks, error)
|
|
// Get unlinked book by ID
|
|
GetUnlinkedBookByID(ctx context.Context, id pgtype.UUID) (UnlinkedBooks, error)
|
|
// Get unlinked books for a device
|
|
GetUnlinkedBooksByDevice(ctx context.Context, deviceID pgtype.UUID) ([]GetUnlinkedBooksByDeviceRow, error)
|
|
GetUser(ctx context.Context, id pgtype.UUID) (GetUserRow, error)
|
|
GetUserByEmail(ctx context.Context, email string) (GetUserByEmailRow, error)
|
|
GetUserByEmailOrUsername(ctx context.Context, email string) (GetUserByEmailOrUsernameRow, error)
|
|
GetUserByUsername(ctx context.Context, username string) (GetUserByUsernameRow, error)
|
|
GetUserCollectionsForDashboard(ctx context.Context, userID pgtype.UUID) ([]Collections, error)
|
|
// Get user device usage statistics
|
|
GetUserDeviceUsage(ctx context.Context, userID pgtype.UUID) ([]GetUserDeviceUsageRow, error)
|
|
GetUserForLogin(ctx context.Context, email string) (GetUserForLoginRow, error)
|
|
GetUserMediaItemsForSync(ctx context.Context, userID pgtype.UUID) ([]GetUserMediaItemsForSyncRow, error)
|
|
GetUserPasswordHash(ctx context.Context, id pgtype.UUID) (string, error)
|
|
GetUserProgressForBooks(ctx context.Context, arg GetUserProgressForBooksParams) ([]GetUserProgressForBooksRow, error)
|
|
// Analytics queries
|
|
// Get user reading history for analytics
|
|
GetUserReadingHistory(ctx context.Context, arg GetUserReadingHistoryParams) ([]GetUserReadingHistoryRow, error)
|
|
GetUserVisibleLibraries(ctx context.Context, userID pgtype.UUID) ([]GetUserVisibleLibrariesRow, error)
|
|
GetVisibleLibraryMediaCounts(ctx context.Context, userID pgtype.UUID) ([]GetVisibleLibraryMediaCountsRow, error)
|
|
HasRecentConflictResolution(ctx context.Context, arg HasRecentConflictResolutionParams) (bool, error)
|
|
IncrementSyncQueueAttempts(ctx context.Context, arg IncrementSyncQueueAttemptsParams) (SyncQueue, error)
|
|
// Check if book is in collection
|
|
IsBookInCollection(ctx context.Context, arg IsBookInCollectionParams) (bool, error)
|
|
IsBookOnKoboShelf(ctx context.Context, arg IsBookOnKoboShelfParams) (bool, error)
|
|
// Link unlinked book to media item
|
|
LinkUnlinkedBook(ctx context.Context, arg LinkUnlinkedBookParams) (UnlinkedBooks, error)
|
|
ListAllConflictsByUserAndStatus(ctx context.Context, arg ListAllConflictsByUserAndStatusParams) ([]ListAllConflictsByUserAndStatusRow, error)
|
|
ListAllSyncQueueItems(ctx context.Context, arg ListAllSyncQueueItemsParams) ([]ListAllSyncQueueItemsRow, error)
|
|
ListConflictsByUser(ctx context.Context, userID pgtype.UUID) ([]ListConflictsByUserRow, error)
|
|
ListDevicesByType(ctx context.Context, deviceType string) ([]Devices, error)
|
|
ListDevicesByUser(ctx context.Context, userID pgtype.UUID) ([]Devices, error)
|
|
ListLibraries(ctx context.Context) ([]ListLibrariesRow, error)
|
|
ListMediaItems(ctx context.Context, arg ListMediaItemsParams) ([]ListMediaItemsRow, error)
|
|
ListMediaItemsByLibrary(ctx context.Context, libraryID pgtype.UUID) ([]ListMediaItemsByLibraryRow, error)
|
|
// List all media items sharing a SHA-256 hash within a library (hash conflict group)
|
|
ListMediaItemsBySHA256AndLibrary(ctx context.Context, arg ListMediaItemsBySHA256AndLibraryParams) ([]MediaItems, error)
|
|
// List media items that have no stored SHA-256 (imported before hashing existed)
|
|
ListMediaItemsMissingHash(ctx context.Context) ([]MediaItems, error)
|
|
ListMediaItemsSorted(ctx context.Context, arg ListMediaItemsSortedParams) ([]ListMediaItemsSortedRow, error)
|
|
ListPendingHashConflicts(ctx context.Context) ([]ListPendingHashConflictsRow, error)
|
|
ListPendingSyncQueueItems(ctx context.Context, arg ListPendingSyncQueueItemsParams) ([]SyncQueue, error)
|
|
ListProcessingIssuesByLibrary(ctx context.Context, libraryID pgtype.UUID) ([]ListProcessingIssuesByLibraryRow, error)
|
|
ListSyncConflictsByMediaItem(ctx context.Context, arg ListSyncConflictsByMediaItemParams) ([]SyncConflicts, error)
|
|
ListSyncConflictsByUser(ctx context.Context, userID pgtype.UUID) ([]ListSyncConflictsByUserRow, error)
|
|
// List unresolved unlinked books with pagination
|
|
ListUnresolvedUnlinkedBooks(ctx context.Context, arg ListUnresolvedUnlinkedBooksParams) ([]ListUnresolvedUnlinkedBooksRow, error)
|
|
ListUsers(ctx context.Context) ([]ListUsersRow, error)
|
|
PurgeExpiredBookmarkTombstones(ctx context.Context, deletedAt pgtype.Timestamptz) error
|
|
PurgeExpiredHighlightTombstones(ctx context.Context, deletedAt pgtype.Timestamptz) error
|
|
PurgeExpiredNoteTombstones(ctx context.Context, deletedAt pgtype.Timestamptz) error
|
|
// Query media items by multiple identifiers with confidence scoring
|
|
QueryMediaItemsByIdentifiers(ctx context.Context, arg QueryMediaItemsByIdentifiersParams) ([]QueryMediaItemsByIdentifiersRow, error)
|
|
ReassignLibraries(ctx context.Context, arg ReassignLibrariesParams) error
|
|
ReassignMediaItems(ctx context.Context, arg ReassignMediaItemsParams) error
|
|
// Remove book from collection
|
|
RemoveBookFromCollection(ctx context.Context, arg RemoveBookFromCollectionParams) error
|
|
RemoveBookFromKoboShelf(ctx context.Context, arg RemoveBookFromKoboShelfParams) error
|
|
// Re-parent all child rows of p_source onto p_target (defined in schema.sql)
|
|
ReparentMediaItemChildren(ctx context.Context, arg ReparentMediaItemChildrenParams) error
|
|
ResetSystemCollectionMetadata(ctx context.Context, arg ResetSystemCollectionMetadataParams) error
|
|
ResolveHashConflict(ctx context.Context, arg ResolveHashConflictParams) error
|
|
ResolveProcessingIssue(ctx context.Context, arg ResolveProcessingIssueParams) (ProcessingIssues, error)
|
|
ResolveSyncConflict(ctx context.Context, arg ResolveSyncConflictParams) (SyncConflicts, error)
|
|
// Resolve unlinked book
|
|
ResolveUnlinkedBook(ctx context.Context, arg ResolveUnlinkedBookParams) (UnlinkedBooks, error)
|
|
RevokeAllUserRefreshTokens(ctx context.Context, userID pgtype.UUID) error
|
|
RevokeDevice(ctx context.Context, id pgtype.UUID) error
|
|
// Revoke OPDS token
|
|
RevokeOpdsToken(ctx context.Context, token string) error
|
|
RevokeRefreshToken(ctx context.Context, token pgtype.UUID) error
|
|
SearchAuthorValues(ctx context.Context, arg SearchAuthorValuesParams) ([]SearchAuthorValuesRow, error)
|
|
SearchGenreValues(ctx context.Context, arg SearchGenreValuesParams) ([]SearchGenreValuesRow, error)
|
|
SearchLanguageValues(ctx context.Context, arg SearchLanguageValuesParams) ([]SearchLanguageValuesRow, error)
|
|
// Search Media Items queries
|
|
SearchMediaItems(ctx context.Context, arg SearchMediaItemsParams) ([]SearchMediaItemsRow, error)
|
|
SearchMediaItemsUnified(ctx context.Context, arg SearchMediaItemsUnifiedParams) ([]SearchMediaItemsUnifiedRow, error)
|
|
SearchSeriesValues(ctx context.Context, arg SearchSeriesValuesParams) ([]SearchSeriesValuesRow, error)
|
|
SearchTagsValues(ctx context.Context, arg SearchTagsValuesParams) ([]SearchTagsValuesRow, error)
|
|
// Library Visibility queries
|
|
SetLibraryVisibility(ctx context.Context, arg SetLibraryVisibilityParams) (LibraryVisibility, error)
|
|
// Set system config
|
|
SetSystemConfig(ctx context.Context, arg SetSystemConfigParams) (SystemConfig, error)
|
|
SyncLibraryTypeExtensions(ctx context.Context, arg SyncLibraryTypeExtensionsParams) error
|
|
TombstoneMediaBookmarkByDedupKey(ctx context.Context, arg TombstoneMediaBookmarkByDedupKeyParams) error
|
|
TombstoneMediaBookmarkByID(ctx context.Context, id pgtype.UUID) error
|
|
TombstoneMediaHighlightByDedupKey(ctx context.Context, arg TombstoneMediaHighlightByDedupKeyParams) error
|
|
TombstoneMediaHighlightByID(ctx context.Context, id pgtype.UUID) error
|
|
TombstoneMediaNoteByDedupKey(ctx context.Context, arg TombstoneMediaNoteByDedupKeyParams) error
|
|
TombstoneMediaNoteByID(ctx context.Context, id pgtype.UUID) error
|
|
// Update collection
|
|
UpdateCollection(ctx context.Context, arg UpdateCollectionParams) (Collections, error)
|
|
UpdateDashboardPreferences(ctx context.Context, arg UpdateDashboardPreferencesParams) (UserDashboardPreferences, error)
|
|
UpdateDevice(ctx context.Context, arg UpdateDeviceParams) (Devices, error)
|
|
UpdateDeviceAuthToken(ctx context.Context, arg UpdateDeviceAuthTokenParams) (Devices, error)
|
|
// Update device catalog availability
|
|
UpdateDeviceCatalogAvailability(ctx context.Context, arg UpdateDeviceCatalogAvailabilityParams) error
|
|
// Update device file alias
|
|
UpdateDeviceFileAlias(ctx context.Context, arg UpdateDeviceFileAliasParams) (DeviceFileAliases, error)
|
|
UpdateDeviceLastSeen(ctx context.Context, id pgtype.UUID) (Devices, error)
|
|
UpdateDeviceLastSync(ctx context.Context, id pgtype.UUID) (Devices, error)
|
|
// Update device shelf mapping
|
|
UpdateDeviceShelfMapping(ctx context.Context, arg UpdateDeviceShelfMappingParams) (DeviceShelfMappings, error)
|
|
UpdateDeviceSyncTimestamp(ctx context.Context, id pgtype.UUID) (Devices, error)
|
|
UpdateDictionaryAccessed(ctx context.Context, word string) (DictionaryCache, error)
|
|
UpdateEmail(ctx context.Context, arg UpdateEmailParams) error
|
|
UpdateKoboEntitlementRevision(ctx context.Context, arg UpdateKoboEntitlementRevisionParams) error
|
|
UpdateKoboEntitlementStatus(ctx context.Context, arg UpdateKoboEntitlementStatusParams) error
|
|
UpdateKoboShelfBookPosition(ctx context.Context, arg UpdateKoboShelfBookPositionParams) error
|
|
// Update Kobo shelves to support collections
|
|
UpdateKoboShelfCollection(ctx context.Context, arg UpdateKoboShelfCollectionParams) (KoboShelves, error)
|
|
UpdateLibrary(ctx context.Context, arg UpdateLibraryParams) (Libraries, error)
|
|
UpdateMediaBookmark(ctx context.Context, arg UpdateMediaBookmarkParams) (MediaBookmarks, error)
|
|
UpdateMediaBookmarkForSync(ctx context.Context, arg UpdateMediaBookmarkForSyncParams) (MediaBookmarks, error)
|
|
UpdateMediaHighlight(ctx context.Context, arg UpdateMediaHighlightParams) (MediaHighlights, error)
|
|
UpdateMediaHighlightForSync(ctx context.Context, arg UpdateMediaHighlightForSyncParams) (MediaHighlights, error)
|
|
UpdateMediaItem(ctx context.Context, arg UpdateMediaItemParams) (MediaItems, error)
|
|
UpdateMediaItemChapterMetadata(ctx context.Context, arg UpdateMediaItemChapterMetadataParams) (MediaItems, error)
|
|
// Update media item format
|
|
UpdateMediaItemFormat(ctx context.Context, arg UpdateMediaItemFormatParams) (MediaItemFormats, error)
|
|
// ============================================
|
|
// FORMAT DETECTION & PROGRESS
|
|
// ============================================
|
|
// Update media item format group information
|
|
UpdateMediaItemFormatGroup(ctx context.Context, arg UpdateMediaItemFormatGroupParams) error
|
|
// Media Items Admin Operations
|
|
// ============================================
|
|
// UNIVERSAL BOOK IDENTIFIERS
|
|
// ============================================
|
|
// Update media item with universal identifiers
|
|
UpdateMediaItemIdentifiers(ctx context.Context, arg UpdateMediaItemIdentifiersParams) (MediaItems, error)
|
|
UpdateMediaItemKoboMetadata(ctx context.Context, arg UpdateMediaItemKoboMetadataParams) (MediaItems, error)
|
|
UpdateMediaNote(ctx context.Context, arg UpdateMediaNoteParams) (MediaNotes, error)
|
|
UpdateMediaNoteForSync(ctx context.Context, arg UpdateMediaNoteForSyncParams) (MediaNotes, error)
|
|
UpdateMediaRating(ctx context.Context, arg UpdateMediaRatingParams) (MediaRatings, error)
|
|
UpdatePassword(ctx context.Context, arg UpdatePasswordParams) error
|
|
UpdateReadingProgress(ctx context.Context, arg UpdateReadingProgressParams) (ReadingProgress, error)
|
|
UpdateReadingSpeed(ctx context.Context, arg UpdateReadingSpeedParams) (ReadingSpeed, error)
|
|
UpdateSavedFilter(ctx context.Context, arg UpdateSavedFilterParams) (SavedFilters, error)
|
|
UpdateSyncQueueItemStatus(ctx context.Context, arg UpdateSyncQueueItemStatusParams) (SyncQueue, error)
|
|
UpdateSystemSetting(ctx context.Context, arg UpdateSystemSettingParams) error
|
|
// Update universal progress
|
|
UpdateUniversalProgress(ctx context.Context, arg UpdateUniversalProgressParams) (ReadingProgress, error)
|
|
UpdateUserMaxDevices(ctx context.Context, arg UpdateUserMaxDevicesParams) (Users, error)
|
|
UpdateUserProfile(ctx context.Context, arg UpdateUserProfileParams) error
|
|
UpdateUserRole(ctx context.Context, arg UpdateUserRoleParams) (UpdateUserRoleRow, error)
|
|
UpdateUserTheme(ctx context.Context, arg UpdateUserThemeParams) error
|
|
UpdateUserTimezone(ctx context.Context, arg UpdateUserTimezoneParams) error
|
|
UpdateUsername(ctx context.Context, arg UpdateUsernameParams) error
|
|
UpsertDashboardPreferences(ctx context.Context, arg UpsertDashboardPreferencesParams) (UserDashboardPreferences, error)
|
|
UpsertPanelData(ctx context.Context, arg UpsertPanelDataParams) (PanelData, error)
|
|
UpsertReaderSettings(ctx context.Context, arg UpsertReaderSettingsParams) (ReaderSettings, error)
|
|
UpsertSystemSetting(ctx context.Context, arg UpsertSystemSettingParams) (SystemSettings, error)
|
|
}
|
|
|
|
var _ Querier = (*Queries)(nil)
|