repository

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: May 1, 2022 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AuthRepository

type AuthRepository struct {
	Context context.Context
	Config  *config.Configuration
	Logger  *logrus.Logger
	DB      *pgx.Conn
	Redis   *redis.Client
}

AuthRepository is an app auth struct that consists of all the dependencies needed for auth repository

func (*AuthRepository) CreateUser

func (ar *AuthRepository) CreateUser(user model.CreateUserRequest, roleID int) error

CreateUser repository layer for executing command creating a user

func (*AuthRepository) GetRedis

func (ar *AuthRepository) GetRedis(key string) (string, error)

GetRedis repository layer for get a value from redis by unique key

func (*AuthRepository) GetUserByEmail

func (ar *AuthRepository) GetUserByEmail(email string) (*model.AuthUserDetails, error)

GetUserByEmail repository layer for querying command getting any user by email

func (*AuthRepository) SetRedis

func (ar *AuthRepository) SetRedis(key string, value string, expr time.Duration) error

SetRedis repository layer for set a value into redis by unique key

type BlogRepository

type BlogRepository struct {
	Context context.Context
	Config  *config.Configuration
	Logger  *logrus.Logger
	DB      *pgx.Conn
}

BlogRepository is an app blog struct that consists of all the dependencies needed for blog repository

func (*BlogRepository) Create

func (br *BlogRepository) Create(req model.CreateBlogRequest, createdBy string) error

Create repository layer for executing command create blog

func (*BlogRepository) DeleteByID

func (br *BlogRepository) DeleteByID(id int) error

DeleteByID repository layer for executin command delete blog by ID

func (*BlogRepository) GetAll

func (br *BlogRepository) GetAll(page int, size int, order string, field string, search string, filter model.FilterBlogRequest) ([]model.ViewBlogResponse, int, error)

GetAll repository layer for querying command get all blog

func (*BlogRepository) GetByID

func (br *BlogRepository) GetByID(id int) (*model.ViewBlogResponse, error)

GetByID repository layer for querying command get detail blog by ID

func (*BlogRepository) GetBySlug

func (br *BlogRepository) GetBySlug(slug string) (*model.ViewBlogResponse, error)

GetBySlug repository layer for querying command get detail blog by Slug

func (*BlogRepository) UpdateByID

func (br *BlogRepository) UpdateByID(id int, req map[string]interface{}, updatedBy string) error

UpdateByID repository layer for executing command update blog by ID

type CommentRepository

type CommentRepository struct {
	Context context.Context
	Config  *config.Configuration
	Logger  *logrus.Logger
	DB      *pgx.Conn
}

CommentRepository is an app comment struct that consists of all the dependencies needed for comment repository

func (*CommentRepository) Create

func (cr *CommentRepository) Create(blogID int, req model.CommentRequest, createdBy string) error

Create repository layer for executing command to creating comments

func (*CommentRepository) DeleteByID

func (cr *CommentRepository) DeleteByID(blogID int, commentID int) error

DeleteByID repository layer for executing command to deleting a comment by id

func (*CommentRepository) GetAllByBlogID

func (cr *CommentRepository) GetAllByBlogID(blogID int, page int, size int, order string, field string) ([]model.ViewCommentResponse, int, error)

GetAllByBlogID repository layer for querying command to getting all comments

func (*CommentRepository) GetByID

func (cr *CommentRepository) GetByID(id int) (*model.ViewCommentResponse, error)

GetByID repository layer for querying command to getting detail comment by id

func (*CommentRepository) UpdateByID

func (cr *CommentRepository) UpdateByID(id int, req map[string]interface{}, updatedBy string) error

UpdateByID repository layer for executing command to updating a comment by id

type HealthCheckRepository

type HealthCheckRepository struct {
	Context context.Context
	Config  *config.Configuration
	Logger  *logrus.Logger
	DB      *pgx.Conn
	Redis   *redis.Client
}

HealthCheckRepository is an app health check struct that consists of all the dependencies needed for health check repository

func (*HealthCheckRepository) HealthCheck

func (hcr *HealthCheckRepository) HealthCheck() (bool, error)

HealthCheck pinging the databases & redis is OK or not

type IAuthRepository

type IAuthRepository interface {
	CreateUser(user model.CreateUserRequest, roleID int) error
	GetUserByEmail(email string) (*model.AuthUserDetails, error)
	SetRedis(key string, value string, expr time.Duration) error
	GetRedis(key string) (string, error)
}

IAuthRepository is an interface that has all the function to be implemented inside auth repository

type IBlogRepository

type IBlogRepository interface {
	Create(req model.CreateBlogRequest, createdBy string) error
	GetAll(page int, size int, order string, field string, search string, filter model.FilterBlogRequest) ([]model.ViewBlogResponse, int, error)
	GetBySlug(slug string) (*model.ViewBlogResponse, error)
	GetByID(id int) (*model.ViewBlogResponse, error)
	UpdateByID(id int, req map[string]interface{}, updatedBy string) error
	DeleteByID(id int) error
}

IBlogRepository is an interface that has all the function to be implemented inside blog repository

type ICommentRepository

type ICommentRepository interface {
	Create(blogID int, req model.CommentRequest, createdBy string) error
	GetByID(id int) (*model.ViewCommentResponse, error)
	UpdateByID(id int, req map[string]interface{}, updatedBy string) error
	GetAllByBlogID(blogID int, page int, size int, order string, field string) ([]model.ViewCommentResponse, int, error)
	DeleteByID(blogID, commentID int) error
}

ICommentRepository is an interface that has all the function to be implemented inside comment repository

type IHealthCheckRepository

type IHealthCheckRepository interface {
	HealthCheck() (bool, error)
}

IHealthCheckRepository is an interface that has all the function to be implemented inside health check repository

type ILikeRepository

type ILikeRepository interface {
	Create(blogID int, req model.LikeRequest, createdBy string) error
	GetByID(id int) (*model.ViewLikeResponse, error)
	GetByUserID(userID int) (*model.ViewLikeResponse, error)
	DeleteByID(blogID int, likeID int) error
}

ILikeRepository is an interface that has all the function to be implemented inside like repository

type ITagRepository

type ITagRepository interface {
	Create(req model.CreateTagRequest, createdBy string) error
	GetByName(name string) (*model.ViewTagResponse, error)
	GetAll(page int, size int, order string, field string, search string) ([]model.ViewTagResponse, int, error)
	GetByID(id int) (*model.ViewTagResponse, error)
	UpdateByID(id int, req map[string]interface{}, updatedBy string) error
	DeleteByID(id int) error
}

ITagRepository is an interface that has all the function to be implemented inside tag repository

type IUserRepository

type IUserRepository interface {
	GetAll(page int, size int, order string, field string, search string) ([]model.ViewUserResponse, int, error)
	GetByEmail(email string) (*model.ViewUserResponse, error)
	GetByID(id int) (*model.ViewUserResponse, error)
	UpdateByID(id int, req map[string]interface{}, updatedBy string) error
	DeleteByID(id int) error
}

IUserRepository is an interface that has all the function to be implemented inside user repository

type LikeRepository

type LikeRepository struct {
	Context context.Context
	Config  *config.Configuration
	Logger  *logrus.Logger
	DB      *pgx.Conn
}

LikeRepository is an app like struct that consists of all the dependencies needed for like repository

func (*LikeRepository) Create

func (lr *LikeRepository) Create(blogID int, req model.LikeRequest, createdBy string) error

Create repository layer for executing command creating like

func (*LikeRepository) DeleteByID

func (lr *LikeRepository) DeleteByID(blogID int, likeID int) error

DeleteByID repository layer for executing command deleting like by id

func (*LikeRepository) GetByID

func (lr *LikeRepository) GetByID(id int) (*model.ViewLikeResponse, error)

GetByID repository layer for querying command getting detail like by id

func (*LikeRepository) GetByUserID

func (lr *LikeRepository) GetByUserID(userID int) (*model.ViewLikeResponse, error)

GetByUserID repository layer for querying command getting detail like by userID

type TagRepository

type TagRepository struct {
	Context context.Context
	Config  *config.Configuration
	Logger  *logrus.Logger
	DB      *pgx.Conn
}

TagRepository is an app health check struct that consists of all the dependencies needed for tag repository

func (*TagRepository) Create

func (tr *TagRepository) Create(req model.CreateTagRequest, createdBy string) error

Create repository layer for executing command create a tag

func (*TagRepository) DeleteByID

func (tr *TagRepository) DeleteByID(id int) error

DeleteByID repository layer for executing command deleting tag by id

func (*TagRepository) GetAll

func (tr *TagRepository) GetAll(page int, size int, order string, field string, search string) ([]model.ViewTagResponse, int, error)

GetAll repository layer for quering command getting all tag

func (*TagRepository) GetByID

func (tr *TagRepository) GetByID(id int) (*model.ViewTagResponse, error)

GetByID repository layer for quering command getting tag by id

func (*TagRepository) GetByName

func (tr *TagRepository) GetByName(name string) (*model.ViewTagResponse, error)

GetByName repository layer for quering command getting tag by name

func (*TagRepository) UpdateByID

func (tr *TagRepository) UpdateByID(id int, req map[string]interface{}, updatedBy string) error

UpdateByID repository layer for executing command updating tag by id

type UserRepository

type UserRepository struct {
	Context context.Context
	Config  *config.Configuration
	Logger  *logrus.Logger
	DB      *pgx.Conn
}

UserRepository is an app user check struct that consists of all the dependencies needed for user repository

func (*UserRepository) DeleteByID

func (ur *UserRepository) DeleteByID(id int) error

UpdateByID repository layer for executing command delete a user by id

func (*UserRepository) GetAll

func (ur *UserRepository) GetAll(page int, size int, order string, field string, search string) ([]model.ViewUserResponse, int, error)

GetAll repository layer for querying command getting all user

func (*UserRepository) GetByEmail

func (ur *UserRepository) GetByEmail(email string) (*model.ViewUserResponse, error)

GetByEmail repository layer for querying command get a user by email

func (*UserRepository) GetByID

func (ur *UserRepository) GetByID(id int) (*model.ViewUserResponse, error)

GetByID repository layer for querying command get a user by id

func (*UserRepository) UpdateByID

func (ur *UserRepository) UpdateByID(id int, req map[string]interface{}, updatedBy string) error

UpdateByID repository layer for executing command update a user by id

Jump to

Keyboard shortcuts

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