Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewMoviesRepository ¶
func NewMoviesRepository(moviesRepo MoviesRepository, moviesCache MoviesCache, moviesPreviewRepo MoviesPreviewRepository, moviesPreviewCache MoviesPreviewCache, ageRatingsRepo AgeRatingRepository, genresRepo GenresRepository, countriesRepo CountryRepository, cfg RepositoryConfig, logger *logrus.Logger) *moviesRepository
Types ¶
type AgeRatingRepository ¶
type CountryRepository ¶
type DBConfig ¶
type DBConfig struct { Host string `yaml:"host" env:"DB_HOST"` Port string `yaml:"port" env:"DB_PORT"` Username string `yaml:"username" env:"DB_USERNAME"` Password string `yaml:"password" env:"DB_PASSWORD"` DBName string `yaml:"db_name" env:"DB_NAME"` SSLMode string `yaml:"ssl_mode" env:"DB_SSL_MODE"` }
type GenresRepository ¶
type MoviesCache ¶
type MoviesPreviewCache ¶
type MoviesPreviewCache interface { GetMovie(ctx context.Context, movieId int32) (models.RepositoryMoviePreview, error) GetMoviesIDs(ctx context.Context, Filter models.MoviesFilter, limit, offset uint32) ([]string, error) GetMovies(ctx context.Context, ids []string) ([]models.RepositoryMoviePreview, []string, error) CacheMovies(ctx context.Context, movies []models.RepositoryMoviePreview, ttl time.Duration) error CacheFilteredRequest(ctx context.Context, Filter models.MoviesFilter, limit, offset uint32, moviesIDs []string, ttl time.Duration) error }
type MoviesPreviewRepository ¶
type MoviesPreviewRepository interface { GetMoviesPreviewIds(ctx context.Context, Filter models.MoviesFilter, limit, offset uint32) ([]string, error) GetMoviePreview(ctx context.Context, movieId int32) (models.RepositoryMoviePreview, error) GetMovies(ctx context.Context, ids []int32) ([]models.RepositoryMoviePreview, error) }
type MoviesRepository ¶
Click to show internal directories.
Click to hide internal directories.