diff --git a/internal/infrastructure/database/repository/engagement_repository.go b/internal/infrastructure/database/repository/engagement_repository.go index 90e8cac..906bd5e 100644 --- a/internal/infrastructure/database/repository/engagement_repository.go +++ b/internal/infrastructure/database/repository/engagement_repository.go @@ -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 diff --git a/internal/infrastructure/database/repository/user_repository.go b/internal/infrastructure/database/repository/user_repository.go index b593d3d..ee198b5 100644 --- a/internal/infrastructure/database/repository/user_repository.go +++ b/internal/infrastructure/database/repository/user_repository.go @@ -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 - }