(FIX): Removed tx's from user and engagement repositories.
This commit is contained in:
parent
37c88561b6
commit
0bfb2e6e86
@ -244,21 +244,14 @@ func (r *EngagementRepository) AddEntityEngagement(entityId int, message string,
|
||||
// GetUserEngagement returns a list of the users most recent engagement entries. The number of records
|
||||
// is determined by the limit passed into this function. The results are sorted, newest-to-oldest.
|
||||
func (r *EngagementRepository) GetUserEngagement(userId, limit int) ([]domain.Engagement, error) {
|
||||
tx, err := r.db.Begin()
|
||||
if err != nil {
|
||||
tx.Rollback()
|
||||
return []domain.Engagement{}, err
|
||||
}
|
||||
|
||||
query := `
|
||||
SELECT * FROM Engagements
|
||||
WHERE Userid = $1
|
||||
ORDER BY created DESC LIMIT $2;
|
||||
`
|
||||
|
||||
rows, err := tx.Query(query, userId, limit)
|
||||
rows, err := r.db.Query(query, userId, limit)
|
||||
if err != nil {
|
||||
tx.Rollback()
|
||||
return []domain.Engagement{}, fmt.Errorf("Failed to get user engagements. %s", err.Error())
|
||||
}
|
||||
defer rows.Close()
|
||||
@ -275,7 +268,6 @@ func (r *EngagementRepository) GetUserEngagement(userId, limit int) ([]domain.En
|
||||
&engUserId,
|
||||
&engagement.Created,
|
||||
); err != nil {
|
||||
tx.Rollback()
|
||||
return []domain.Engagement{}, fmt.Errorf("Failed to scan user engagement. %s", err.Error())
|
||||
}
|
||||
|
||||
@ -287,11 +279,6 @@ func (r *EngagementRepository) GetUserEngagement(userId, limit int) ([]domain.En
|
||||
engagements = append(engagements, engagement)
|
||||
}
|
||||
|
||||
if err := tx.Commit(); err != nil {
|
||||
tx.Rollback()
|
||||
return []domain.Engagement{}, err
|
||||
}
|
||||
|
||||
return engagements, err
|
||||
}
|
||||
|
||||
@ -299,12 +286,6 @@ func (r *EngagementRepository) GetUserEngagement(userId, limit int) ([]domain.En
|
||||
// type. The number of records is determined by the limit passed into this function. The results are
|
||||
// sorted, newest-to-oldest. Only results of the provided engagementType will be returned.
|
||||
func (r *EngagementRepository) GetUserEngagementFiltered(userId, limit int, engagementType domain.EngagementType) ([]domain.Engagement, error) {
|
||||
tx, err := r.db.Begin()
|
||||
if err != nil {
|
||||
tx.Rollback()
|
||||
return []domain.Engagement{}, err
|
||||
}
|
||||
|
||||
query := `
|
||||
SELECT id, type, message, entity, userid, created
|
||||
FROM (
|
||||
@ -319,9 +300,8 @@ func (r *EngagementRepository) GetUserEngagementFiltered(userId, limit int, enga
|
||||
LIMIT $3;
|
||||
`
|
||||
|
||||
rows, err := tx.Query(query, userId, engagementType, limit)
|
||||
rows, err := r.db.Query(query, userId, engagementType, limit)
|
||||
if err != nil {
|
||||
tx.Rollback()
|
||||
return []domain.Engagement{}, fmt.Errorf("Failed to get user engagements. %s", err.Error())
|
||||
}
|
||||
defer rows.Close()
|
||||
@ -338,7 +318,6 @@ func (r *EngagementRepository) GetUserEngagementFiltered(userId, limit int, enga
|
||||
&engUserId,
|
||||
&engagement.Created,
|
||||
); err != nil {
|
||||
tx.Rollback()
|
||||
return []domain.Engagement{}, fmt.Errorf("Failed to scan user engagement. %s", err.Error())
|
||||
}
|
||||
|
||||
@ -350,13 +329,7 @@ func (r *EngagementRepository) GetUserEngagementFiltered(userId, limit int, enga
|
||||
engagements = append(engagements, engagement)
|
||||
}
|
||||
|
||||
if err := tx.Commit(); err != nil {
|
||||
tx.Rollback()
|
||||
return []domain.Engagement{}, err
|
||||
}
|
||||
|
||||
return engagements, err
|
||||
|
||||
}
|
||||
|
||||
// UserFavoriteRecipeToggle toggles the status of a users favorite of a recipe. If the user has already
|
||||
|
||||
@ -77,16 +77,10 @@ func (r *UserRepository) CreateGoogleUser(googleUserInfo *domain.GoogleUserInfo,
|
||||
// function is used when a user logs in with Google to prevent duplicate entries from being made. If
|
||||
// no user is found, this function will return a null pointer but not an error.
|
||||
func (r *UserRepository) GetGoogleUser(googleId string) (*domain.User, error) {
|
||||
tx, err := r.db.Begin()
|
||||
if err != nil {
|
||||
tx.Rollback()
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var user domain.User
|
||||
query := `SELECT * FROM users WHERE GoogleId = $1`
|
||||
|
||||
if err := tx.QueryRow(query, googleId).Scan(
|
||||
if err := r.db.QueryRow(query, googleId).Scan(
|
||||
&user.Id,
|
||||
&user.GoogleId,
|
||||
&user.Name,
|
||||
@ -99,12 +93,6 @@ func (r *UserRepository) GetGoogleUser(googleId string) (*domain.User, error) {
|
||||
if err == sql.ErrNoRows {
|
||||
return nil, nil
|
||||
}
|
||||
tx.Rollback()
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if err := tx.Commit(); err != nil {
|
||||
tx.Rollback()
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@ -116,16 +104,10 @@ func (r *UserRepository) GetGoogleUser(googleId string) (*domain.User, error) {
|
||||
// Callers are responsible for protecting against double nil results. Any errors will be bubbled
|
||||
// to the caller.
|
||||
func (r *UserRepository) GetUser(id int) (*domain.User, error) {
|
||||
tx, err := r.db.Begin()
|
||||
if err != nil {
|
||||
tx.Rollback()
|
||||
return nil, err
|
||||
}
|
||||
|
||||
query := "SELECT * FROM users WHERE id = $1"
|
||||
|
||||
var user domain.User
|
||||
if err := tx.QueryRow(query, id).Scan(
|
||||
if err := r.db.QueryRow(query, id).Scan(
|
||||
&user.Id,
|
||||
&user.GoogleId,
|
||||
&user.Name,
|
||||
@ -138,15 +120,8 @@ func (r *UserRepository) GetUser(id int) (*domain.User, error) {
|
||||
if err == sql.ErrNoRows {
|
||||
return nil, nil
|
||||
}
|
||||
tx.Rollback()
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if err := tx.Commit(); err != nil {
|
||||
tx.Rollback()
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &user, nil
|
||||
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user