@@ -18,12 +18,12 @@ type CouponConfig = {
18
18
MAX_LIMIT_CAP : number ,
19
19
}
20
20
21
- function validateCouponData ( coupon : any , couponConfig : CouponConfig ) : Coupon | undefined {
21
+ function validateCouponData ( coupon : any , couponConfig : CouponConfig , ignoreCouponLimitCheck = true ) : Coupon | undefined {
22
22
if (
23
23
coupon . id &&
24
24
coupon . faucetConfigId &&
25
25
coupon . maxLimitAmount > 0 &&
26
- coupon . maxLimitAmount <= couponConfig . MAX_LIMIT_CAP &&
26
+ ( ignoreCouponLimitCheck || coupon . maxLimitAmount <= couponConfig . MAX_LIMIT_CAP ) &&
27
27
coupon . consumedAmount <= coupon . maxLimitAmount &&
28
28
coupon . expiry > 0
29
29
) {
@@ -77,7 +77,7 @@ export class CouponService {
77
77
78
78
// Fetches new coupons from database into memory
79
79
result ?. Items ?. forEach ( ( item : Record < string , any > ) => {
80
- const coupon : Coupon | undefined = validateCouponData ( item , this . couponConfig )
80
+ const coupon : Coupon | undefined = validateCouponData ( item , this . couponConfig , true )
81
81
if ( coupon ) {
82
82
dbItemSet . add ( coupon . id )
83
83
@@ -114,9 +114,10 @@ export class CouponService {
114
114
Key : {
115
115
id : couponItem . id ,
116
116
} ,
117
- UpdateExpression : 'SET consumedAmount = :consumedAmount' ,
117
+ UpdateExpression : 'SET consumedAmount = :consumedAmount, reset = :reset ' ,
118
118
ExpressionAttributeValues : {
119
119
':consumedAmount' : couponItem . consumedAmount ,
120
+ ':reset' : couponItem . reset ?? false ,
120
121
} ,
121
122
}
122
123
0 commit comments