Add PointsHistory model for tracking points history
This commit is contained in:
parent
8f3dd068c9
commit
c473627112
2 changed files with 6 additions and 0 deletions
|
@ -7,6 +7,7 @@ import (
|
|||
cModel "donetick.com/core/internal/circle/model"
|
||||
pModel "donetick.com/core/internal/points"
|
||||
uModel "donetick.com/core/internal/user/model"
|
||||
"donetick.com/core/logging"
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
|
@ -142,7 +143,9 @@ func (r *CircleRepository) AssignDefaultCircle(c context.Context, userID int) er
|
|||
}
|
||||
|
||||
func (r *CircleRepository) RedeemPoints(c context.Context, circleID int, userID int, points int, createdBy int) error {
|
||||
logger := logging.FromContext(c)
|
||||
err := r.db.Transaction(func(tx *gorm.DB) error {
|
||||
|
||||
if err := tx.Model(&cModel.UserCircle{}).Where("user_id = ? AND circle_id = ?", userID, circleID).Update("points_redeemed", gorm.Expr("points_redeemed + ?", points)).Error; err != nil {
|
||||
return err
|
||||
}
|
||||
|
@ -159,6 +162,7 @@ func (r *CircleRepository) RedeemPoints(c context.Context, circleID int, userID
|
|||
return nil
|
||||
})
|
||||
if err != nil {
|
||||
logger.Error("Error redeeming points", err)
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
|
|
|
@ -9,6 +9,7 @@ import (
|
|||
chModel "donetick.com/core/internal/chore/model"
|
||||
cModel "donetick.com/core/internal/circle/model"
|
||||
nModel "donetick.com/core/internal/notifier/model"
|
||||
pModel "donetick.com/core/internal/points"
|
||||
tModel "donetick.com/core/internal/thing/model"
|
||||
uModel "donetick.com/core/internal/user/model" // Pure go SQLite driver, checkout https://github.com/glebarez/sqlite for details
|
||||
migrations "donetick.com/core/migrations"
|
||||
|
@ -35,6 +36,7 @@ func Migration(db *gorm.DB) error {
|
|||
chModel.Label{},
|
||||
chModel.ChoreLabels{},
|
||||
migrations.Migration{},
|
||||
pModel.PointsHistory{},
|
||||
); err != nil {
|
||||
return err
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue