tag

package
v0.21.0 Latest Latest
Warning

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

Go to latest
Published: Jun 13, 2023 License: AGPL-3.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ByAlias added in v0.8.0

func ByAlias(ctx context.Context, qb Queryer, alias string) (*models.Tag, error)

func ByName added in v0.8.0

func ByName(ctx context.Context, qb Queryer, name string) (*models.Tag, error)

func EnsureAliasesUnique added in v0.8.0

func EnsureAliasesUnique(ctx context.Context, id int, aliases []string, qb Queryer) error

func EnsureTagNameUnique added in v0.8.0

func EnsureTagNameUnique(ctx context.Context, id int, name string, qb Queryer) error

EnsureTagNameUnique returns an error if the tag name provided is used as a name or alias of another existing tag.

func GetIDs

func GetIDs(tags []*models.Tag) []int

func GetNames

func GetNames(tags []*models.Tag) []string

func MergeHierarchy added in v0.10.0

func MergeHierarchy(ctx context.Context, destination int, sources []int, qb RelationshipGetter) ([]int, []int, error)

func ToJSON

func ToJSON(ctx context.Context, reader FinderAliasImageGetter, tag *models.Tag) (*jsonschema.Tag, error)

ToJSON converts a Tag object into its JSON equivalent.

func ValidateHierarchy added in v0.11.0

func ValidateHierarchy(ctx context.Context, tag *models.Tag, parentIDs, childIDs []int, qb RelationshipGetter) error

Types

type Finder added in v0.17.0

type Finder interface {
	Find(ctx context.Context, id int) (*models.Tag, error)
}

type FinderAliasImageGetter added in v0.17.0

type FinderAliasImageGetter interface {
	GetAliases(ctx context.Context, studioID int) ([]string, error)
	GetImage(ctx context.Context, tagID int) ([]byte, error)
	FindByChildTagID(ctx context.Context, childID int) ([]*models.Tag, error)
}

type Importer

type Importer struct {
	ReaderWriter        NameFinderCreatorUpdater
	Input               jsonschema.Tag
	MissingRefBehaviour models.ImportMissingRefEnum
	// contains filtered or unexported fields
}

func (*Importer) Create

func (i *Importer) Create(ctx context.Context) (*int, error)

func (*Importer) FindExistingID

func (i *Importer) FindExistingID(ctx context.Context) (*int, error)

func (*Importer) Name

func (i *Importer) Name() string

func (*Importer) PostImport

func (i *Importer) PostImport(ctx context.Context, id int) error

func (*Importer) PreImport

func (i *Importer) PreImport(ctx context.Context) error

func (*Importer) Update

func (i *Importer) Update(ctx context.Context, id int) error

type InvalidTagHierarchyError added in v0.10.0

type InvalidTagHierarchyError struct {
	Direction       string
	CurrentRelation string
	InvalidTag      string
	ApplyingTag     string
	TagPath         string
}

func (*InvalidTagHierarchyError) Error added in v0.10.0

func (e *InvalidTagHierarchyError) Error() string

type NameExistsError added in v0.8.0

type NameExistsError struct {
	Name string
}

func (*NameExistsError) Error added in v0.8.0

func (e *NameExistsError) Error() string

type NameFinderCreator added in v0.17.0

type NameFinderCreator interface {
	FindByNames(ctx context.Context, names []string, nocase bool) ([]*models.Tag, error)
	Create(ctx context.Context, newTag models.Tag) (*models.Tag, error)
}

type NameFinderCreatorUpdater added in v0.17.0

type NameFinderCreatorUpdater interface {
	FindByName(ctx context.Context, name string, nocase bool) (*models.Tag, error)
	Create(ctx context.Context, newTag models.Tag) (*models.Tag, error)
	UpdateFull(ctx context.Context, updatedTag models.Tag) (*models.Tag, error)
	UpdateImage(ctx context.Context, tagID int, image []byte) error
	UpdateAliases(ctx context.Context, tagID int, aliases []string) error
	UpdateParentTags(ctx context.Context, tagID int, parentIDs []int) error
}

type NameUsedByAliasError added in v0.8.0

type NameUsedByAliasError struct {
	Name     string
	OtherTag string
}

func (*NameUsedByAliasError) Error added in v0.8.0

func (e *NameUsedByAliasError) Error() string

type ParentTagNotExistError added in v0.10.0

type ParentTagNotExistError struct {
	// contains filtered or unexported fields
}

func (ParentTagNotExistError) Error added in v0.10.0

func (e ParentTagNotExistError) Error() string

func (ParentTagNotExistError) MissingParent added in v0.10.0

func (e ParentTagNotExistError) MissingParent() string

type Queryer added in v0.17.0

type Queryer interface {
	Query(ctx context.Context, tagFilter *models.TagFilterType, findFilter *models.FindFilterType) ([]*models.Tag, int, error)
}

type RelationshipGetter added in v0.17.0

type RelationshipGetter interface {
	FindAllAncestors(ctx context.Context, tagID int, excludeIDs []int) ([]*models.TagPath, error)
	FindAllDescendants(ctx context.Context, tagID int, excludeIDs []int) ([]*models.TagPath, error)
	FindByChildTagID(ctx context.Context, childID int) ([]*models.Tag, error)
	FindByParentTagID(ctx context.Context, parentID int) ([]*models.Tag, error)
}

Jump to

Keyboard shortcuts

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