diff options
author | Mo Tarbin <mhed.t91@gmail.com> | 2024-07-20 03:43:48 -0400 |
---|---|---|
committer | Mo Tarbin <mhed.t91@gmail.com> | 2024-07-20 03:43:48 -0400 |
commit | 3402ccdddd8ff61b16223b764d993c124164044a (patch) | |
tree | 5feccf155c39b67606b2de831e5d903d9389e1af /internal/chore/repo | |
parent | 7a5eacdaf31b228ab07d5c8422d179d210e57825 (diff) | |
parent | ee7a8e24da1dfc959d78236a63ee65acc4be45e4 (diff) | |
download | donetick-3402ccdddd8ff61b16223b764d993c124164044a.tar.gz donetick-3402ccdddd8ff61b16223b764d993c124164044a.tar.bz2 donetick-3402ccdddd8ff61b16223b764d993c124164044a.zip |
Merge branch 'dev'
Diffstat (limited to 'internal/chore/repo')
-rw-r--r-- | internal/chore/repo/repository.go | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/internal/chore/repo/repository.go b/internal/chore/repo/repository.go index 7284202..e7035d5 100644 --- a/internal/chore/repo/repository.go +++ b/internal/chore/repo/repository.go @@ -73,7 +73,7 @@ func (r *ChoreRepository) IsChoreOwner(c context.Context, choreID int, userID in // return chores, nil // } -func (r *ChoreRepository) CompleteChore(c context.Context, chore *chModel.Chore, note *string, userID int, dueDate *time.Time, completedDate time.Time, nextAssignedTo int) error { +func (r *ChoreRepository) CompleteChore(c context.Context, chore *chModel.Chore, note *string, userID int, dueDate *time.Time, completedDate *time.Time, nextAssignedTo int) error { err := r.db.WithContext(c).Transaction(func(tx *gorm.DB) error { ch := &chModel.ChoreHistory{ ChoreID: chore.ID, @@ -119,6 +119,22 @@ func (r *ChoreRepository) GetChoreHistoryWithLimit(c context.Context, choreID in return histories, nil } +func (r *ChoreRepository) GetChoreHistoryByID(c context.Context, choreID int, historyID int) (*chModel.ChoreHistory, error) { + var history chModel.ChoreHistory + if err := r.db.WithContext(c).Where("id = ? and chore_id = ? ", historyID, choreID).First(&history).Error; err != nil { + return nil, err + } + return &history, nil +} + +func (r *ChoreRepository) UpdateChoreHistory(c context.Context, history *chModel.ChoreHistory) error { + return r.db.WithContext(c).Save(history).Error +} + +func (r *ChoreRepository) DeleteChoreHistory(c context.Context, historyID int) error { + return r.db.WithContext(c).Delete(&chModel.ChoreHistory{}, historyID).Error +} + func (r *ChoreRepository) UpdateChoreAssignees(c context.Context, assignees []*chModel.ChoreAssignees) error { return r.db.WithContext(c).Save(&assignees).Error } |