db

package
v1.0.1 Latest Latest
Warning

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

Go to latest
Published: Aug 31, 2023 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type PostgresWrapper

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

PostgresWrapper is a wrapper for the database

func New

func New(l *log.Logger, db *sql.DB) *PostgresWrapper

New returns a new PostgresWrapper

func (*PostgresWrapper) AddSegmentInUsersHistory

func (p *PostgresWrapper) AddSegmentInUsersHistory(ctx context.Context, tx *sql.Tx, userID int, segments []models.SegmentAddDB, time time.Time) error

AddSegmentInUsersHistory adds segments to user history using transaction tx

func (*PostgresWrapper) AddSegmentsRemoveDateInUserHistory

func (p *PostgresWrapper) AddSegmentsRemoveDateInUserHistory(ctx context.Context, tx *sql.Tx, userID int, segments []models.SegmentDeleteDB, time time.Time) error

AddSegmentsRemoveDateInUserHistory sets date_removed to time for segments in user history using transaction tx

func (*PostgresWrapper) AddSegmentsToUser

func (p *PostgresWrapper) AddSegmentsToUser(ctx context.Context, tx *sql.Tx, userID int, segments []models.SegmentAddDB) (err error)

AddSegmentsToUser add segments to user using transaction tx

func (*PostgresWrapper) ChangeUsersSegments

func (p *PostgresWrapper) ChangeUsersSegments(ctx context.Context, us models.UserSegmentsDB) error

ChangeUsersSegments changes the segments of a user It calls addSegmentsToUser and deleteUserSegments and stores the segments addition and deletion history in one transaction

func (*PostgresWrapper) DeleteSegment

func (p *PostgresWrapper) DeleteSegment(ctx context.Context, slug string) error

DeleteSegment deletes segment with given slug from the database

func (*PostgresWrapper) DeleteUserSegments

func (p *PostgresWrapper) DeleteUserSegments(ctx context.Context, tx *sql.Tx, userID int, segments []models.SegmentDeleteDB) error

DeleteUserSegments deletes segments from user using transaction tx

func (*PostgresWrapper) GetUsersHistory

func (p *PostgresWrapper) GetUsersHistory(ctx context.Context, userID int, from, to time.Time) (models.UserSegmentsHistoryDB, error)

GetUsersHistory returns user history for given period

func (*PostgresWrapper) GetUsersSegments

func (p *PostgresWrapper) GetUsersSegments(ctx context.Context, userID int) (models.SegmentsDB, error)

GetUsersSegments returns a list of all not expired segments of a user from the database

func (*PostgresWrapper) InsertSegment

func (p *PostgresWrapper) InsertSegment(ctx context.Context, slug string) error

InsertSegment inserts segment with given slug into the database

func (*PostgresWrapper) IsSegmentDeleted

func (p *PostgresWrapper) IsSegmentDeleted(ctx context.Context, slug string) (bool, error)

IsSegmentDeleted checks if segment with given slug is deleted

func (*PostgresWrapper) IsSegmentExists

func (p *PostgresWrapper) IsSegmentExists(ctx context.Context, slug string) (bool, error)

IsSegmentExists checks if segment with given slug exists in the database Returns true if segment exists, false otherwise

func (*PostgresWrapper) SelectSegmentBySlug

func (p *PostgresWrapper) SelectSegmentBySlug(ctx context.Context, slug string) (models.SegmentDB, error)

SelectSegmentBySlug returns a segment with given slug from the database

func (*PostgresWrapper) SelectSegments

func (p *PostgresWrapper) SelectSegments(ctx context.Context) (models.SegmentsDB, error)

SelectSegments returns a list of all segments from the database

Jump to

Keyboard shortcuts

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