db

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

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

Go to latest
Published: Jun 24, 2022 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ConnectDb

func ConnectDb(DSN string, timeout time.Duration) (*sqlx.DB, error)

ConnectDb - try to connect to the database

Types

type DbError

type DbError struct {
	PqError *pq.Error
	Err     error
}

DbError contains details about db error

func (*DbError) Error

func (e *DbError) Error() string

func (*DbError) HasNoRows

func (e *DbError) HasNoRows() bool

func (*DbError) IsUniqueViolationError

func (e *DbError) IsUniqueViolationError() bool

type UserDatastore

type UserDatastore struct {
	DB *sqlx.DB
}

func NewUserDatastore

func NewUserDatastore(db *sqlx.DB) *UserDatastore

func (*UserDatastore) AcquireLock

func (d *UserDatastore) AcquireLock(ctx context.Context, key uint) (bool, error)

func (*UserDatastore) DeleteSubscription

func (d *UserDatastore) DeleteSubscription(ctx context.Context, subscription models.Subscription) error

func (*UserDatastore) GetNewSubscriptionsUsers

func (d *UserDatastore) GetNewSubscriptionsUsers(ctx context.Context, subscriptionIDs ...uuid.UUID) (map[uuid.UUID][]string, error)

func (*UserDatastore) GetReadySubscriptionsStates

func (d *UserDatastore) GetReadySubscriptionsStates(ctx context.Context, subscriptionIDs ...uuid.UUID) ([]models.SubscriptionState, error)

func (*UserDatastore) GetSubscription

func (d *UserDatastore) GetSubscription(ctx context.Context, subscriptionID uuid.UUID) (models.Subscription, error)

func (*UserDatastore) GetSubscriptionTweets

func (d *UserDatastore) GetSubscriptionTweets(ctx context.Context, subscriptionStateID uint) ([]models.Tweet, error)

func (*UserDatastore) GetSubscriptionUserTweets

func (d *UserDatastore) GetSubscriptionUserTweets(ctx context.Context, subscriptionID uuid.UUID) (models.SubscriptionUserTweets, error)

func (*UserDatastore) GetSubscriptions

func (d *UserDatastore) GetSubscriptions(ctx context.Context, userID uuid.UUID) ([]models.Subscription, error)

func (*UserDatastore) GetTodaySubscriptionsIDs

func (d *UserDatastore) GetTodaySubscriptionsIDs(ctx context.Context) ([]uuid.UUID, error)

func (*UserDatastore) GetTwitterUser

func (d *UserDatastore) GetTwitterUser(ctx context.Context, userID uuid.UUID) (models.TwitterUser, error)

func (*UserDatastore) GetTwitterUserByID

func (d *UserDatastore) GetTwitterUserByID(ctx context.Context, twitterUserID string) (models.TwitterUser, error)

func (*UserDatastore) GetUser

func (d *UserDatastore) GetUser(ctx context.Context, userID uuid.UUID) (models.User, error)

func (*UserDatastore) GetUserEmail

func (d *UserDatastore) GetUserEmail(ctx context.Context, userEmail models.UserEmail) (models.UserEmail, error)

func (*UserDatastore) GetUserEmails

func (d *UserDatastore) GetUserEmails(ctx context.Context, status string) ([]models.UserEmail, error)

func (*UserDatastore) InsertSubscription

func (d *UserDatastore) InsertSubscription(ctx context.Context, subscription models.Subscription) (models.Subscription, error)

func (*UserDatastore) InsertSubscriptionState

func (d *UserDatastore) InsertSubscriptionState(ctx context.Context, state models.SubscriptionState) (models.SubscriptionState, error)

func (*UserDatastore) InsertSubscriptionUserState

func (d *UserDatastore) InsertSubscriptionUserState(ctx context.Context, subscriptionID uuid.UUID, userTwitterID string, lastTweetID string) error

func (*UserDatastore) InsertTweet

func (d *UserDatastore) InsertTweet(ctx context.Context, tweet models.Tweet, subscriptionStateID uint) (models.Tweet, error)

func (*UserDatastore) InsertTwitterUser

func (d *UserDatastore) InsertTwitterUser(ctx context.Context, twitterUser models.TwitterUser) (models.TwitterUser, error)

func (*UserDatastore) InsertUser

func (d *UserDatastore) InsertUser(ctx context.Context, user models.User) (models.User, error)

func (*UserDatastore) InsertUserEmail

func (d *UserDatastore) InsertUserEmail(ctx context.Context, userEmail models.UserEmail) (models.UserEmail, error)

func (*UserDatastore) ReleaseLock

func (d *UserDatastore) ReleaseLock(ctx context.Context, key uint) (bool, error)

func (*UserDatastore) RemoveOldTweets

func (d *UserDatastore) RemoveOldTweets(ctx context.Context, tweetTTL int) error

func (*UserDatastore) RemoveUser

func (d *UserDatastore) RemoveUser(ctx context.Context, userID uuid.UUID) error

func (*UserDatastore) UpdateSubscription

func (d *UserDatastore) UpdateSubscription(ctx context.Context, subscription models.Subscription) (models.Subscription, error)

func (*UserDatastore) UpdateSubscriptionState

func (d *UserDatastore) UpdateSubscriptionState(ctx context.Context, state models.SubscriptionState) (models.SubscriptionState, error)

func (*UserDatastore) UpdateSubscriptionUserState

func (d *UserDatastore) UpdateSubscriptionUserState(ctx context.Context, subscriptionID uuid.UUID, userTwitterID string, lastTweetID string) error

func (*UserDatastore) UpdateSubscriptionUserStateTweets

func (d *UserDatastore) UpdateSubscriptionUserStateTweets(ctx context.Context) error

func (*UserDatastore) UpdateTwitterUser

func (d *UserDatastore) UpdateTwitterUser(ctx context.Context, twitterUser models.TwitterUser) (models.TwitterUser, error)

func (*UserDatastore) UpdateUser

func (d *UserDatastore) UpdateUser(ctx context.Context, user models.User) (models.User, error)

func (*UserDatastore) UpdateUserEmail

func (d *UserDatastore) UpdateUserEmail(ctx context.Context, userEmail models.UserEmail) (models.UserEmail, error)

Jump to

Keyboard shortcuts

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