usecase

package
v0.0.0-...-2fe0e47 Latest Latest
Warning

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

Go to latest
Published: Dec 25, 2023 License: MIT Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrNotFound      = errors.New("not found")
	ErrFoundFavorite = errors.New("found favorite")
)

Functions

func GetClient

func GetClient(port string) (auth.AuthorizationClient, error)

Types

type Core

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

func GetCore

func GetCore(cfg_sql *configs.DbDsnCfg, lg *slog.Logger,
	films film.IFilmsRepo, genres genre.IGenreRepo, actors crew.ICrewRepo, professions profession.IProfessionRepo, calendar calendar.ICalendarRepo,
	nearFilms *film.FilmRedisRepo) *Core

func (*Core) AddFilm

func (core *Core) AddFilm(film models.FilmItem, genres []uint64, actors []uint64) error

func (*Core) AddNearFilm

func (c *Core) AddNearFilm(ctx context.Context, active models.NearFilm, lg *slog.Logger) (bool, error)

func (*Core) AddRating

func (core *Core) AddRating(filmId uint64, userId uint64, rating uint16) (bool, error)

func (*Core) DeleteRating

func (core *Core) DeleteRating(idUser uint64, idFilm uint64) error

func (*Core) FavoriteActors

func (core *Core) FavoriteActors(userId uint64, start uint64, end uint64) ([]models.Character, error)

func (*Core) FavoriteActorsAdd

func (core *Core) FavoriteActorsAdd(userId uint64, actorId uint64) error

func (*Core) FavoriteActorsRemove

func (core *Core) FavoriteActorsRemove(userId uint64, actorId uint64) error

func (*Core) FavoriteFilms

func (core *Core) FavoriteFilms(userId uint64, start uint64, end uint64) ([]models.FilmItem, error)

func (*Core) FavoriteFilmsAdd

func (core *Core) FavoriteFilmsAdd(userId uint64, filmId uint64) error

func (*Core) FavoriteFilmsRemove

func (core *Core) FavoriteFilmsRemove(userId uint64, filmId uint64) error

func (*Core) FindActor

func (core *Core) FindActor(name string, birthDate string, films []string, career []string, country string, first, limit uint64) ([]models.Character, error)

func (*Core) FindFilm

func (core *Core) FindFilm(title string, dateFrom string, dateTo string, ratingFrom float32, ratingTo float32,
	mpaa string, genres []uint32, actors []string, first uint64, limit uint64,
) ([]models.FilmItem, error)

func (*Core) GetActorInfo

func (core *Core) GetActorInfo(actorId uint64) (*requests.ActorResponse, error)

func (*Core) GetActorsCareer

func (core *Core) GetActorsCareer(actorId uint64) ([]models.ProfessionItem, error)

func (*Core) GetCalendar

func (core *Core) GetCalendar() (*requests.CalendarResponse, error)

func (*Core) GetFilmInfo

func (core *Core) GetFilmInfo(filmId uint64) (*requests.FilmResponse, error)

func (*Core) GetFilmsAndGenreTitle

func (core *Core) GetFilmsAndGenreTitle(genreId uint64, start uint64, end uint64) ([]models.FilmItem, string, error)

func (*Core) GetGenre

func (core *Core) GetGenre(genreId uint64) (string, error)

func (*Core) GetLastSeen

func (core *Core) GetLastSeen(filmsIds []models.NearFilm) ([]models.FilmItem, error)

func (*Core) GetNearFilms

func (c *Core) GetNearFilms(ctx context.Context, userId uint64, lg *slog.Logger) ([]models.NearFilm, error)

func (*Core) GetUserId

func (core *Core) GetUserId(ctx context.Context, sid string) (uint64, error)

func (*Core) Trends

func (core *Core) Trends() ([]models.FilmItem, error)

func (*Core) UsersStatistics

func (core *Core) UsersStatistics(idUser uint64) ([]requests.UsersStatisticsResponse, error)

type ICore

type ICore interface {
	GetFilmsAndGenreTitle(genreId uint64, start uint64, end uint64) ([]models.FilmItem, string, error)
	GetFilmInfo(filmId uint64) (*requests.FilmResponse, error)
	GetActorInfo(actorId uint64) (*requests.ActorResponse, error)
	GetActorsCareer(actorId uint64) ([]models.ProfessionItem, error)
	GetGenre(genreId uint64) (string, error)
	FindFilm(title string, dateFrom string, dateTo string, ratingFrom float32, ratingTo float32,
		mpaa string, genres []uint32, actors []string, first uint64, limit uint64,
	) ([]models.FilmItem, error)
	FavoriteFilms(userId uint64, start uint64, end uint64) ([]models.FilmItem, error)
	FavoriteFilmsAdd(userId uint64, filmId uint64) error
	FavoriteFilmsRemove(userId uint64, filmId uint64) error
	GetCalendar() (*requests.CalendarResponse, error)
	GetUserId(ctx context.Context, sid string) (uint64, error)
	FindActor(name string, birthDate string, films []string, career []string, country string, first, limit uint64) ([]models.Character, error)
	AddRating(filmId uint64, userId uint64, rating uint16) (bool, error)
	AddFilm(film models.FilmItem, genres []uint64, actors []uint64) error
	FavoriteActors(userId uint64, start uint64, end uint64) ([]models.Character, error)
	FavoriteActorsAdd(userId uint64, filmId uint64) error
	FavoriteActorsRemove(userId uint64, filmId uint64) error
	DeleteRating(idUser uint64, idFilm uint64) error
	GetNearFilms(ctx context.Context, userId uint64, lg *slog.Logger) ([]models.NearFilm, error)
	AddNearFilm(ctx context.Context, active models.NearFilm, lg *slog.Logger) (bool, error)
	UsersStatistics(idUser uint64) ([]requests.UsersStatisticsResponse, error)
	Trends() ([]models.FilmItem, error)
	GetLastSeen([]models.NearFilm) ([]models.FilmItem, error)
}

Jump to

Keyboard shortcuts

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