Help us shape the future of Go! Take the 2026 Go Developer Survey

studio

package
v0.22.0 Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrParentStudioNotExist = errors.New("parent studio does not exist")
View Source
var (
	ErrStudioOwnAncestor = errors.New("studio cannot be an ancestor of itself")
)

Functions

func ByAlias added in v0.10.0

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

func ByName added in v0.10.0

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

func EnsureAliasesUnique added in v0.10.0

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

func EnsureStudioNameUnique added in v0.10.0

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

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

func ToJSON

ToJSON converts a Studio object into its JSON equivalent.

func ValidateModify added in v0.22.0

func ValidateModify(ctx context.Context, s models.StudioPartial, qb FinderQueryer) error

Checks to make sure that: 1. The studio exists locally 2. The studio is not its own ancestor 3. The studio's aliases are unique

Types

type Finder added in v0.17.0

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

type FinderImageAliasStashIDGetter added in v0.22.0

type FinderImageAliasStashIDGetter interface {
	Finder
	GetImage(ctx context.Context, studioID int) ([]byte, error)
	models.AliasLoader
	models.StashIDLoader
}

type FinderQueryer added in v0.22.0

type FinderQueryer interface {
	Finder
	Queryer
	models.AliasLoader
}

type Importer

type Importer struct {
	ReaderWriter        NameFinderCreatorUpdater
	Input               jsonschema.Studio
	MissingRefBehaviour models.ImportMissingRefEnum

	ID int
	// 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 NameExistsError added in v0.10.0

type NameExistsError struct {
	Name string
}

func (*NameExistsError) Error added in v0.10.0

func (e *NameExistsError) Error() string

type NameFinderCreator added in v0.17.0

type NameFinderCreator interface {
	FindByName(ctx context.Context, name string, nocase bool) (*models.Studio, error)
	Create(ctx context.Context, newStudio *models.Studio) error
}

type NameFinderCreatorUpdater added in v0.17.0

type NameFinderCreatorUpdater interface {
	NameFinderCreator
	Update(ctx context.Context, updatedStudio *models.Studio) error
	UpdateImage(ctx context.Context, studioID int, image []byte) error
}

type NameUsedByAliasError added in v0.10.0

type NameUsedByAliasError struct {
	Name        string
	OtherStudio string
}

func (*NameUsedByAliasError) Error added in v0.10.0

func (e *NameUsedByAliasError) Error() string

type Queryer added in v0.17.0

type Queryer interface {
	Query(ctx context.Context, studioFilter *models.StudioFilterType, findFilter *models.FindFilterType) ([]*models.Studio, int, error)
}

Jump to

Keyboard shortcuts

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