usecases

package
v0.0.0-...-8227220 Latest Latest
Warning

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

Go to latest
Published: Feb 26, 2023 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Author

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

func NewAuthor

func NewAuthor(repo AuthorRepository) Author

type AuthorRepository

type AuthorRepository interface {
	GetByID(context.Context, models.Author) (models.Author, error)
}

type Book

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

func NewBook

func NewBook(repo BookRepository, author AuthorRepository) Book

func (Book) AddToFavorites

func (b Book) AddToFavorites(ctx context.Context, reader models.Reader, book models.Book) error

func (Book) AddToWishlist

func (b Book) AddToWishlist(ctx context.Context, reader models.Reader, book models.Book) error

func (Book) ExportToCSV

func (b Book) ExportToCSV(ctx context.Context, filter models.DataFilter) ([]byte, error)

func (Book) Fetch

func (b Book) Fetch(ctx context.Context, book models.Book) (models.Book, error)

func (Book) FetchMany

func (b Book) FetchMany(ctx context.Context, filter models.DataFilter) ([]models.Book, error)

func (Book) Import

func (b Book) Import(ctx context.Context, book models.Book) error

type BookRepository

type BookRepository interface {
	Add(context.Context, models.Book) error
	GetByID(context.Context, models.Book) (models.Book, error)
	GetMany(context.Context, models.DataFilter) ([]models.Book, error)
	AddToFavorites(context.Context, models.Reader, models.Book) error
	AddToWishlist(context.Context, models.Reader, models.Book) error
}

type Reader

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

func NewReader

func NewReader(repo ReaderRepository, sess TokenRepository) Reader

func (Reader) Auth

func (r Reader) Auth(ctx context.Context, token models.AccessToken) error

func (Reader) Refresh

func (r Reader) Refresh(ctx context.Context, token models.RefreshToken) (*models.TokenPair, error)

func (Reader) SignIn

func (r Reader) SignIn(ctx context.Context, creds models.Credentials) (*models.TokenPair, error)

func (Reader) SignOut

func (r Reader) SignOut(ctx context.Context, token models.AccessToken) error

func (Reader) SignUp

func (r Reader) SignUp(ctx context.Context, reader models.Reader) error

type ReaderRepository

type ReaderRepository interface {
	Add(context.Context, models.Reader) error
	GetByID(context.Context, models.Reader) (models.Reader, error)
	GetByEmail(context.Context, models.Reader) (models.Reader, error)
}

type TokenRepository

type TokenRepository interface {
	Create(context.Context, models.Token) error
	Find(context.Context, models.Token) (models.Token, error)
	Destroy(context.Context, models.Token) error
}

Jump to

Keyboard shortcuts

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