pin

package
v0.0.0-...-38b1c69 Latest Latest
Warning

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

Go to latest
Published: Feb 25, 2024 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	SelectPinByID           = "SELECT author, title, description, picture, public, deleted_at FROM pin WHERE id = $1;"
	SelectCountLikePin      = "SELECT COUNT(*) FROM like_pin WHERE pin_id = $1;"
	SelectPinByIDWithAuthor = `` /* 183-byte string literal not displayed */

	SelectTagsByPinID = `` /* 142-byte string literal not displayed */

	SelectCheckAvailability = `` /* 391-byte string literal not displayed */

	SelectCheckSetLike = "SELECT pin_id FROM like_pin WHERE pin_id = $1 AND user_id = $2;"

	InsertLikePinFromUser       = "INSERT INTO like_pin (pin_id, user_id) VALUES ($1, $2) RETURNING (SELECT COUNT(*) FROM like_pin WHERE pin_id = $1);"
	InsertLikePinFromUserAtomic = `` /* 519-byte string literal not displayed */

	UpdatePinSetStatusDelete = "UPDATE pin SET deleted_at = now() WHERE id = $1 AND author = $2 AND deleted_at IS NULL;"

	DeleteLikePinFromUser = "DELETE FROM like_pin WHERE pin_id = $1 AND user_id = $2  RETURNING (SELECT COUNT(*) FROM like_pin WHERE pin_id = $1);"
	DeleteAllTagsFromPin  = "DELETE FROM pin_tag WHERE pin_id = $1;"
)
View Source
var (
	ErrNumberAffectedRows = errors.New("different number of affected rows was expected")
	ErrNumberSelectRows   = errors.New("the expected number of records does not match the selected one")
)

Functions

func NewPinRepoPG

func NewPinRepoPG(db pgtype.PgxPoolIface) *pinRepoPG

Types

type Repository

type Repository interface {
	GetFeedPins(ctx context.Context, cfg entity.FeedPinConfig) (entity.FeedPin, error)
	GetAuthorPin(ctx context.Context, pinID int) (*user.User, error)
	GetPinByID(ctx context.Context, pinID int, revealAuthor bool) (*entity.Pin, error)
	GetBatchPinByID(ctx context.Context, pinID []int) ([]entity.Pin, error)
	AddNewPin(ctx context.Context, pin *entity.Pin) error
	DeletePin(ctx context.Context, pinID, userID int) error
	SetLike(ctx context.Context, pinID, userID int) (int, error)
	IsSetLike(ctx context.Context, pinID, userID int) (bool, error)
	DelLike(ctx context.Context, pinID, userID int) (int, error)
	EditPin(ctx context.Context, pinID, userID int, updateData S, titleTags []string) error
	GetCountLikeByPinID(ctx context.Context, pinID int) (int, error)
	GetTagsByPinID(ctx context.Context, pinID int) ([]entity.Tag, error)
	IsAvailableToUserAsContributorBoard(ctx context.Context, pinID, userID int) (bool, error)
}

type S

type S map[string]any

Directories

Path Synopsis
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.

Jump to

Keyboard shortcuts

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