[server] Remove timelimit for applying referral code (#3322)

## Description

## Tests
This commit is contained in:
Neeraj Gupta 2024-09-18 11:22:48 +05:30 committed by GitHub
commit 5ce1a91146
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -3,6 +3,7 @@ package storagebonus
import (
"database/sql"
"errors"
goaway "github.com/TwiN/go-away"
"github.com/ente-io/museum/pkg/utils/random"
"strings"
@ -14,17 +15,14 @@ import (
"github.com/ente-io/museum/pkg/repo"
"github.com/ente-io/museum/pkg/repo/storagebonus"
"github.com/ente-io/museum/pkg/utils/auth"
enteTime "github.com/ente-io/museum/pkg/utils/time"
"github.com/ente-io/stacktrace"
"github.com/gin-gonic/gin"
"github.com/TwiN/go-away"
)
const (
codeLength = 6
referralAmountInGb = 10
maxClaimableReferralAmount = 2000
numOfDaysToClaimReferral = 32
defaultPlanType = entity.TenGbOnUpgrade
)
@ -51,7 +49,7 @@ func (c *Controller) GetUserReferralView(ctx *gin.Context) (*entity.GetUserRefer
return nil, stacktrace.Propagate(err, "")
}
isFamilyMember := user.FamilyAdminID != nil && *user.FamilyAdminID != userID
enableApplyCode := !appliedReferral && user.CreationTime > enteTime.MicrosecondBeforeDays(numOfDaysToClaimReferral) && !isFamilyMember
enableApplyCode := !appliedReferral && !isFamilyMember
// Get the referral code for the user or family admin
codeUser := userID
if isFamilyMember {
@ -102,9 +100,7 @@ func (c *Controller) ApplyReferralCode(ctx *gin.Context, code string) error {
return stacktrace.Propagate(err, "failed to get user")
}
if user.CreationTime < enteTime.MicrosecondBeforeDays(numOfDaysToClaimReferral) {
return stacktrace.Propagate(entity.CanNotApplyCodeErr, "account is too old to apply code")
} else if user.FamilyAdminID != nil && userID != *user.FamilyAdminID {
if user.FamilyAdminID != nil && userID != *user.FamilyAdminID {
return stacktrace.Propagate(entity.CanNotApplyCodeErr, "user is member of a family plan")
}
@ -143,11 +139,11 @@ func (c *Controller) UpdateReferralCode(ctx *gin.Context, userID int64, code str
return stacktrace.Propagate(ente.NewBadRequestWithMessage("code length should be between 4 and 8"), "")
}
// Check if the code contains any offensive language using the go-away library
if goaway.IsProfane(code) {
return stacktrace.Propagate(ente.NewBadRequestWithMessage("Referral code contains offensive language and cannot be used"), "")
}
// Check if the code contains any offensive language using the go-away library
if goaway.IsProfane(code) {
return stacktrace.Propagate(ente.NewBadRequestWithMessage("Referral code contains offensive language and cannot be used"), "")
}
err := c.StorageBonus.AddNewCode(ctx, userID, code, isAdminEdit)
if err != nil {
return stacktrace.Propagate(err, "failed to update referral code")