search

package
v0.10.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 2, 2025 License: MIT Imports: 17 Imported by: 0

Documentation

Index

Constants

View Source
const ContentGenreFacetKey = "content_genre"
View Source
const LanguageFacetKey = "language"
View Source
const QueueJobQueueFacetKey = "queue"
View Source
const QueueJobStatusFacetKey = "status"
View Source
const ReleaseYearFacetKey = "release_year"
View Source
const TorrentContentTypeFacetKey = "content_type"
View Source
const TorrentFileTypeFacetKey = "file_type"
View Source
const TorrentSourceFacetKey = "torrent_source"
View Source
const TorrentTagFacetKey = "torrent_tag"
View Source
const Video3DFacetKey = "video_3d"
View Source
const VideoCodecFacetKey = "video_codec"
View Source
const VideoModifierFacetKey = "video_modifier"
View Source
const VideoResolutionFacetKey = "video_resolution"
View Source
const VideoSourceFacetKey = "video_source"

Variables

View Source
var ErrInvalidOrderDirection = fmt.Errorf("not a valid OrderDirection, try [%s]", strings.Join(_OrderDirectionNames, ", "))
View Source
var ErrInvalidQueueJobsOrderBy = fmt.Errorf("not a valid QueueJobsOrderBy, try [%s]", strings.Join(_QueueJobsOrderByNames, ", "))
View Source
var ErrInvalidTorrentContentOrderBy = fmt.Errorf("not a valid TorrentContentOrderBy, try [%s]", strings.Join(_TorrentContentOrderByNames, ", "))
View Source
var ErrInvalidTorrentFilesOrderBy = fmt.Errorf("not a valid TorrentFilesOrderBy, try [%s]", strings.Join(_TorrentFilesOrderByNames, ", "))
View Source
var Video3DCriteria = torrentContentAttributeCriteria[model.Video3D](video3dField)
View Source
var VideoResolutionCriteria = torrentContentAttributeCriteria[model.VideoResolution](videoResolutionField)

Functions

func ContentAlternativeIdentifierCriteria added in v0.5.0

func ContentAlternativeIdentifierCriteria(refs ...model.ContentRef) query.Criteria

func ContentCanonicalIdentifierCriteria

func ContentCanonicalIdentifierCriteria(refs ...model.ContentRef) query.Criteria

func ContentCollectionCriteria

func ContentCollectionCriteria(refs ...model.ContentCollectionRef) query.Criteria

func ContentCoreJoins

func ContentCoreJoins() query.Option

func ContentDefaultHydrate

func ContentDefaultHydrate() query.Option

func ContentDefaultOption

func ContentDefaultOption() query.Option

func ContentDefaultPreload added in v0.5.0

func ContentDefaultPreload() query.Option

func ContentIdentifierCriteria

func ContentIdentifierCriteria(refs ...model.ContentRef) query.Criteria

func ContentReleaseDateCriteria

func ContentReleaseDateCriteria(dateRange model.DateRange) query.Criteria

func ContentReleaseDateCriteriaString

func ContentReleaseDateCriteriaString(dateRange string) query.Criteria

func ContentTypeCriteria

func ContentTypeCriteria(types ...model.ContentType) query.Criteria

func HydrateContentCollections

func HydrateContentCollections() query.Option

func HydrateTorrentContentContent

func HydrateTorrentContentContent() query.Option

func HydrateTorrentContentTorrent

func HydrateTorrentContentTorrent(options ...HydrateTorrentContentTorrentOption) query.Option

func OrderDirectionNames added in v0.9.0

func OrderDirectionNames() []string

OrderDirectionNames returns a list of possible string values of OrderDirection.

func QueueJobQueueCriteria added in v0.10.0

func QueueJobQueueCriteria(queues ...string) query.Criteria

func QueueJobQueueFacet added in v0.10.0

func QueueJobQueueFacet(options ...query.FacetOption) query.Facet

func QueueJobStatusCriteria added in v0.10.0

func QueueJobStatusCriteria(statuses ...model.QueueJobStatus) query.Criteria

func QueueJobStatusFacet added in v0.10.0

func QueueJobStatusFacet(options ...query.FacetOption) query.Facet

func QueueJobsOrderByNames added in v0.10.0

func QueueJobsOrderByNames() []string

QueueJobsOrderByNames returns a list of possible string values of QueueJobsOrderBy.

func ReleaseYearFacet

func ReleaseYearFacet(options ...query.FacetOption) query.Facet

func TorrentContentCoreJoins

func TorrentContentCoreJoins() query.Option

func TorrentContentDefaultHydrate

func TorrentContentDefaultHydrate() query.Option

func TorrentContentDefaultOption

func TorrentContentDefaultOption() query.Option

func TorrentContentEpisodesCriteria added in v0.6.2

func TorrentContentEpisodesCriteria(episodes model.Episodes) query.Criteria

func TorrentContentGenreFacet

func TorrentContentGenreFacet(options ...query.FacetOption) query.Facet

func TorrentContentInfoHashCriteria added in v0.8.0

func TorrentContentInfoHashCriteria(infoHashes ...protocol.ID) query.Criteria

func TorrentContentLanguageFacet

func TorrentContentLanguageFacet(options ...query.FacetOption) query.Facet

func TorrentContentOrderByNames added in v0.9.0

func TorrentContentOrderByNames() []string

TorrentContentOrderByNames returns a list of possible string values of TorrentContentOrderBy.

func TorrentContentTypeCriteria

func TorrentContentTypeCriteria(types ...model.ContentType) query.Criteria

func TorrentContentTypeFacet

func TorrentContentTypeFacet(options ...query.FacetOption) query.Facet

func TorrentFileExtensionCriteria

func TorrentFileExtensionCriteria(extensions ...string) query.Criteria

func TorrentFileInfoHashCriteria added in v0.10.0

func TorrentFileInfoHashCriteria(infoHashes ...protocol.ID) query.Criteria

func TorrentFileTypeCriteria

func TorrentFileTypeCriteria(fileTypes ...model.FileType) query.Criteria

func TorrentFileTypeFacet

func TorrentFileTypeFacet(options ...query.FacetOption) query.Facet

func TorrentFilesOrderByNames added in v0.10.0

func TorrentFilesOrderByNames() []string

TorrentFilesOrderByNames returns a list of possible string values of TorrentFilesOrderBy.

func TorrentInfoHashCriteria

func TorrentInfoHashCriteria(infoHashes ...protocol.ID) query.Criteria

func TorrentSourceCriteria

func TorrentSourceCriteria(keys ...string) query.Criteria

func TorrentSourceFacet

func TorrentSourceFacet(options ...query.FacetOption) query.Facet

func TorrentTagCriteria added in v0.3.0

func TorrentTagCriteria(tagNames ...string) query.Criteria

func TorrentTagsFacet added in v0.3.0

func TorrentTagsFacet(options ...query.FacetOption) query.Facet

func Video3DFacet added in v0.10.0

func Video3DFacet(options ...query.FacetOption) query.Facet

func VideoCodecFacet

func VideoCodecFacet(options ...query.FacetOption) query.Facet

func VideoModifierFacet

func VideoModifierFacet(options ...query.FacetOption) query.Facet

func VideoResolutionFacet

func VideoResolutionFacet(options ...query.FacetOption) query.Facet

func VideoSourceFacet

func VideoSourceFacet(options ...query.FacetOption) query.Facet

Types

type ContentResultItem

type ContentResultItem struct {
	query.ResultItem
	model.Content
}

type ContentSearch

type ContentSearch interface {
	Content(ctx context.Context, options ...query.Option) (result ContentResult, err error)
}

type HydrateTorrentContentTorrentOption added in v0.10.0

type HydrateTorrentContentTorrentOption func(config *torrentContentTorrentHydratorConfig)

func HydrateTorrentContentTorrentWithFiles added in v0.10.0

func HydrateTorrentContentTorrentWithFiles() HydrateTorrentContentTorrentOption

type NullOrderDirection added in v0.9.0

type NullOrderDirection struct {
	OrderDirection OrderDirection
	Valid          bool
	Set            bool
}

func NewNullOrderDirection added in v0.9.0

func NewNullOrderDirection(val interface{}) (x NullOrderDirection)

func (NullOrderDirection) MarshalJSON added in v0.9.0

func (n NullOrderDirection) MarshalJSON() ([]byte, error)

MarshalJSON correctly serializes a NullOrderDirection to JSON.

func (*NullOrderDirection) Scan added in v0.9.0

func (x *NullOrderDirection) Scan(value interface{}) (err error)

Scan implements the Scanner interface.

func (*NullOrderDirection) UnmarshalJSON added in v0.9.0

func (n *NullOrderDirection) UnmarshalJSON(b []byte) error

UnmarshalJSON correctly deserializes a NullOrderDirection from JSON.

func (NullOrderDirection) Value added in v0.9.0

func (x NullOrderDirection) Value() (driver.Value, error)

Value implements the driver Valuer interface.

type NullQueueJobsOrderBy added in v0.10.0

type NullQueueJobsOrderBy struct {
	QueueJobsOrderBy QueueJobsOrderBy
	Valid            bool
	Set              bool
}

func NewNullQueueJobsOrderBy added in v0.10.0

func NewNullQueueJobsOrderBy(val interface{}) (x NullQueueJobsOrderBy)

func (NullQueueJobsOrderBy) MarshalJSON added in v0.10.0

func (n NullQueueJobsOrderBy) MarshalJSON() ([]byte, error)

MarshalJSON correctly serializes a NullQueueJobsOrderBy to JSON.

func (*NullQueueJobsOrderBy) Scan added in v0.10.0

func (x *NullQueueJobsOrderBy) Scan(value interface{}) (err error)

Scan implements the Scanner interface.

func (*NullQueueJobsOrderBy) UnmarshalJSON added in v0.10.0

func (n *NullQueueJobsOrderBy) UnmarshalJSON(b []byte) error

UnmarshalJSON correctly deserializes a NullQueueJobsOrderBy from JSON.

func (NullQueueJobsOrderBy) Value added in v0.10.0

func (x NullQueueJobsOrderBy) Value() (driver.Value, error)

Value implements the driver Valuer interface.

type NullTorrentContentOrderBy added in v0.9.0

type NullTorrentContentOrderBy struct {
	TorrentContentOrderBy TorrentContentOrderBy
	Valid                 bool
	Set                   bool
}

func NewNullTorrentContentOrderBy added in v0.9.0

func NewNullTorrentContentOrderBy(val interface{}) (x NullTorrentContentOrderBy)

func (NullTorrentContentOrderBy) MarshalJSON added in v0.9.0

func (n NullTorrentContentOrderBy) MarshalJSON() ([]byte, error)

MarshalJSON correctly serializes a NullTorrentContentOrderBy to JSON.

func (*NullTorrentContentOrderBy) Scan added in v0.9.0

func (x *NullTorrentContentOrderBy) Scan(value interface{}) (err error)

Scan implements the Scanner interface.

func (*NullTorrentContentOrderBy) UnmarshalJSON added in v0.9.0

func (n *NullTorrentContentOrderBy) UnmarshalJSON(b []byte) error

UnmarshalJSON correctly deserializes a NullTorrentContentOrderBy from JSON.

func (NullTorrentContentOrderBy) Value added in v0.9.0

Value implements the driver Valuer interface.

type NullTorrentFilesOrderBy added in v0.10.0

type NullTorrentFilesOrderBy struct {
	TorrentFilesOrderBy TorrentFilesOrderBy
	Valid               bool
	Set                 bool
}

func NewNullTorrentFilesOrderBy added in v0.10.0

func NewNullTorrentFilesOrderBy(val interface{}) (x NullTorrentFilesOrderBy)

func (NullTorrentFilesOrderBy) MarshalJSON added in v0.10.0

func (n NullTorrentFilesOrderBy) MarshalJSON() ([]byte, error)

MarshalJSON correctly serializes a NullTorrentFilesOrderBy to JSON.

func (*NullTorrentFilesOrderBy) Scan added in v0.10.0

func (x *NullTorrentFilesOrderBy) Scan(value interface{}) (err error)

Scan implements the Scanner interface.

func (*NullTorrentFilesOrderBy) UnmarshalJSON added in v0.10.0

func (n *NullTorrentFilesOrderBy) UnmarshalJSON(b []byte) error

UnmarshalJSON correctly deserializes a NullTorrentFilesOrderBy from JSON.

func (NullTorrentFilesOrderBy) Value added in v0.10.0

Value implements the driver Valuer interface.

type OrderDirection added in v0.9.0

type OrderDirection string

OrderDirection represents sort order directions ENUM(Ascending, Descending)

const (
	OrderDirectionAscending  OrderDirection = "Ascending"
	OrderDirectionDescending OrderDirection = "Descending"
)

func OrderDirectionValues added in v0.9.0

func OrderDirectionValues() []OrderDirection

OrderDirectionValues returns a list of the values for OrderDirection

func ParseOrderDirection added in v0.9.0

func ParseOrderDirection(name string) (OrderDirection, error)

ParseOrderDirection attempts to convert a string to a OrderDirection.

func (OrderDirection) IsValid added in v0.9.0

func (x OrderDirection) IsValid() bool

IsValid provides a quick way to determine if the typed value is part of the allowed enumerated values

func (OrderDirection) MarshalText added in v0.9.0

func (x OrderDirection) MarshalText() ([]byte, error)

MarshalText implements the text marshaller method.

func (*OrderDirection) Scan added in v0.9.0

func (x *OrderDirection) Scan(value interface{}) (err error)

Scan implements the Scanner interface.

func (OrderDirection) String added in v0.9.0

func (x OrderDirection) String() string

String implements the Stringer interface.

func (*OrderDirection) UnmarshalText added in v0.9.0

func (x *OrderDirection) UnmarshalText(text []byte) error

UnmarshalText implements the text unmarshaller method.

func (OrderDirection) Value added in v0.9.0

func (x OrderDirection) Value() (driver.Value, error)

Value implements the driver Valuer interface.

type Params

type Params struct {
	fx.In
	Query lazy.Lazy[*dao.Query]
}

type QueueJobResult added in v0.10.0

type QueueJobResult = query.GenericResult[model.QueueJob]

type QueueJobSearch added in v0.10.0

type QueueJobSearch interface {
	QueueJobs(ctx context.Context, options ...query.Option) (result QueueJobResult, err error)
}

type QueueJobsFullOrderBy added in v0.10.0

type QueueJobsFullOrderBy maps.InsertMap[QueueJobsOrderBy, OrderDirection]

func (QueueJobsFullOrderBy) Clauses added in v0.10.0

func (fob QueueJobsFullOrderBy) Clauses() []query.OrderByColumn

func (QueueJobsFullOrderBy) Option added in v0.10.0

func (fob QueueJobsFullOrderBy) Option() query.Option

type QueueJobsOrderBy added in v0.10.0

type QueueJobsOrderBy string

QueueJobsOrderBy represents sort orders for queue jobs search results ENUM(created_at, ran_at, priority)

const (
	QueueJobsOrderByCreatedAt QueueJobsOrderBy = "created_at"
	QueueJobsOrderByRanAt     QueueJobsOrderBy = "ran_at"
	QueueJobsOrderByPriority  QueueJobsOrderBy = "priority"
)

func ParseQueueJobsOrderBy added in v0.10.0

func ParseQueueJobsOrderBy(name string) (QueueJobsOrderBy, error)

ParseQueueJobsOrderBy attempts to convert a string to a QueueJobsOrderBy.

func QueueJobsOrderByValues added in v0.10.0

func QueueJobsOrderByValues() []QueueJobsOrderBy

QueueJobsOrderByValues returns a list of the values for QueueJobsOrderBy

func (QueueJobsOrderBy) Clauses added in v0.10.0

func (ob QueueJobsOrderBy) Clauses(direction OrderDirection) []query.OrderByColumn

func (QueueJobsOrderBy) IsValid added in v0.10.0

func (x QueueJobsOrderBy) IsValid() bool

IsValid provides a quick way to determine if the typed value is part of the allowed enumerated values

func (QueueJobsOrderBy) MarshalText added in v0.10.0

func (x QueueJobsOrderBy) MarshalText() ([]byte, error)

MarshalText implements the text marshaller method.

func (*QueueJobsOrderBy) Scan added in v0.10.0

func (x *QueueJobsOrderBy) Scan(value interface{}) (err error)

Scan implements the Scanner interface.

func (QueueJobsOrderBy) String added in v0.10.0

func (x QueueJobsOrderBy) String() string

String implements the Stringer interface.

func (*QueueJobsOrderBy) UnmarshalText added in v0.10.0

func (x *QueueJobsOrderBy) UnmarshalText(text []byte) error

UnmarshalText implements the text unmarshaller method.

func (QueueJobsOrderBy) Value added in v0.10.0

func (x QueueJobsOrderBy) Value() (driver.Value, error)

Value implements the driver Valuer interface.

type Result

type Result struct {
	fx.Out
	Search lazy.Lazy[Search]
}

func New

func New(params Params) Result

type SuggestTagsQuery added in v0.3.0

type SuggestTagsQuery struct {
	Prefix     string
	Exclusions []string
}

type SuggestedTag added in v0.3.0

type SuggestedTag struct {
	Name  string
	Count int
}

type TorrentContentFullOrderBy added in v0.9.0

type TorrentContentFullOrderBy maps.InsertMap[TorrentContentOrderBy, OrderDirection]

func (TorrentContentFullOrderBy) Clauses added in v0.9.0

func (TorrentContentFullOrderBy) Option added in v0.9.0

func (fob TorrentContentFullOrderBy) Option() query.Option

type TorrentContentOrderBy added in v0.9.0

type TorrentContentOrderBy string

TorrentContentOrderBy represents sort orders for torrent content search results ENUM(relevance, published_at, updated_at, size, files_count, seeders, leechers, name, info_hash)

const (
	TorrentContentOrderByRelevance   TorrentContentOrderBy = "relevance"
	TorrentContentOrderByPublishedAt TorrentContentOrderBy = "published_at"
	TorrentContentOrderByUpdatedAt   TorrentContentOrderBy = "updated_at"
	TorrentContentOrderBySize        TorrentContentOrderBy = "size"
	TorrentContentOrderByFilesCount  TorrentContentOrderBy = "files_count"
	TorrentContentOrderBySeeders     TorrentContentOrderBy = "seeders"
	TorrentContentOrderByLeechers    TorrentContentOrderBy = "leechers"
	TorrentContentOrderByName        TorrentContentOrderBy = "name"
	TorrentContentOrderByInfoHash    TorrentContentOrderBy = "info_hash"
)

func ParseTorrentContentOrderBy added in v0.9.0

func ParseTorrentContentOrderBy(name string) (TorrentContentOrderBy, error)

ParseTorrentContentOrderBy attempts to convert a string to a TorrentContentOrderBy.

func TorrentContentOrderByValues added in v0.9.0

func TorrentContentOrderByValues() []TorrentContentOrderBy

TorrentContentOrderByValues returns a list of the values for TorrentContentOrderBy

func (TorrentContentOrderBy) Clauses added in v0.9.0

func (ob TorrentContentOrderBy) Clauses(direction OrderDirection) []query.OrderByColumn

func (TorrentContentOrderBy) IsValid added in v0.9.0

func (x TorrentContentOrderBy) IsValid() bool

IsValid provides a quick way to determine if the typed value is part of the allowed enumerated values

func (TorrentContentOrderBy) MarshalText added in v0.9.0

func (x TorrentContentOrderBy) MarshalText() ([]byte, error)

MarshalText implements the text marshaller method.

func (*TorrentContentOrderBy) Scan added in v0.9.0

func (x *TorrentContentOrderBy) Scan(value interface{}) (err error)

Scan implements the Scanner interface.

func (TorrentContentOrderBy) String added in v0.9.0

func (x TorrentContentOrderBy) String() string

String implements the Stringer interface.

func (*TorrentContentOrderBy) UnmarshalText added in v0.9.0

func (x *TorrentContentOrderBy) UnmarshalText(text []byte) error

UnmarshalText implements the text unmarshaller method.

func (TorrentContentOrderBy) Value added in v0.9.0

func (x TorrentContentOrderBy) Value() (driver.Value, error)

Value implements the driver Valuer interface.

type TorrentContentResultItem

type TorrentContentResultItem struct {
	query.ResultItem
	model.TorrentContent
}

type TorrentContentSearch

type TorrentContentSearch interface {
	TorrentContent(ctx context.Context, options ...query.Option) (TorrentContentResult, error)
}

type TorrentFilesFullOrderBy added in v0.10.0

type TorrentFilesFullOrderBy maps.InsertMap[TorrentFilesOrderBy, OrderDirection]

func (TorrentFilesFullOrderBy) Clauses added in v0.10.0

func (TorrentFilesFullOrderBy) Option added in v0.10.0

func (fob TorrentFilesFullOrderBy) Option() query.Option

type TorrentFilesOrderBy added in v0.10.0

type TorrentFilesOrderBy string

TorrentFilesOrderBy represents sort orders for torrent content search results ENUM(index, path, extension, size)

const (
	TorrentFilesOrderByIndex     TorrentFilesOrderBy = "index"
	TorrentFilesOrderByPath      TorrentFilesOrderBy = "path"
	TorrentFilesOrderByExtension TorrentFilesOrderBy = "extension"
	TorrentFilesOrderBySize      TorrentFilesOrderBy = "size"
)

func ParseTorrentFilesOrderBy added in v0.10.0

func ParseTorrentFilesOrderBy(name string) (TorrentFilesOrderBy, error)

ParseTorrentFilesOrderBy attempts to convert a string to a TorrentFilesOrderBy.

func TorrentFilesOrderByValues added in v0.10.0

func TorrentFilesOrderByValues() []TorrentFilesOrderBy

TorrentFilesOrderByValues returns a list of the values for TorrentFilesOrderBy

func (TorrentFilesOrderBy) Clauses added in v0.10.0

func (ob TorrentFilesOrderBy) Clauses(direction OrderDirection) []query.OrderByColumn

func (TorrentFilesOrderBy) IsValid added in v0.10.0

func (x TorrentFilesOrderBy) IsValid() bool

IsValid provides a quick way to determine if the typed value is part of the allowed enumerated values

func (TorrentFilesOrderBy) MarshalText added in v0.10.0

func (x TorrentFilesOrderBy) MarshalText() ([]byte, error)

MarshalText implements the text marshaller method.

func (*TorrentFilesOrderBy) Scan added in v0.10.0

func (x *TorrentFilesOrderBy) Scan(value interface{}) (err error)

Scan implements the Scanner interface.

func (TorrentFilesOrderBy) String added in v0.10.0

func (x TorrentFilesOrderBy) String() string

String implements the Stringer interface.

func (*TorrentFilesOrderBy) UnmarshalText added in v0.10.0

func (x *TorrentFilesOrderBy) UnmarshalText(text []byte) error

UnmarshalText implements the text unmarshaller method.

func (TorrentFilesOrderBy) Value added in v0.10.0

func (x TorrentFilesOrderBy) Value() (driver.Value, error)

Value implements the driver Valuer interface.

type TorrentFilesResult added in v0.10.0

type TorrentFilesResult = query.GenericResult[model.TorrentFile]

type TorrentFilesSearch added in v0.10.0

type TorrentFilesSearch interface {
	TorrentFiles(ctx context.Context, options ...query.Option) (TorrentFilesResult, error)
}

type TorrentSearch

type TorrentSearch interface {
	Torrents(ctx context.Context, options ...query.Option) (TorrentsResult, error)
	TorrentsWithMissingInfoHashes(ctx context.Context, infoHashes []protocol.ID, options ...query.Option) (TorrentsWithMissingInfoHashesResult, error)
	TorrentSuggestTags(ctx context.Context, query SuggestTagsQuery, options ...query.Option) (TorrentSuggestTagsResult, error)
}

type TorrentSuggestTagsResult added in v0.3.0

type TorrentSuggestTagsResult struct {
	Suggestions []SuggestedTag
}

type TorrentsResult

type TorrentsResult = query.GenericResult[model.Torrent]

type TorrentsWithMissingInfoHashesResult added in v0.3.0

type TorrentsWithMissingInfoHashesResult struct {
	Torrents          []model.Torrent
	MissingInfoHashes []protocol.ID
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL