diff --git a/internal/repository/promocode_repository.go b/internal/repository/promocode_repository.go index caf9682..5fa9246 100644 --- a/internal/repository/promocode_repository.go +++ b/internal/repository/promocode_repository.go @@ -246,7 +246,7 @@ func (r *PromoCodeRepository) ActivatePromo(ctx context.Context, req *models.Act return nil, err } - if promoCode.ActivationCount <= 0 && promoCode.DueTo > time.Now().Unix() { + if promoCode.ActivationCount <= 0 && promoCode.ActivationLimit > 0 { if !promoCode.OffLimit { update := bson.M{"$set": bson.M{"offLimit": true}} _, err := r.mdb.UpdateOne(ctx, filter, update) @@ -255,6 +255,15 @@ func (r *PromoCodeRepository) ActivatePromo(ctx context.Context, req *models.Act } } } + if promoCode.DueTo > 0 && promoCode.DueTo > time.Now().Unix() { + if !promoCode.OffLimit { + update := bson.M{"$set": bson.M{"outdated": true}} + _, err := r.mdb.UpdateOne(ctx, filter, update) + if err != nil { + return nil, err + } + } + } return &promoCode, nil }