Skip to content

Commit 7d2db1f

Browse files
committed
Add a new 20k plan
1 parent 2dab2b0 commit 7d2db1f

File tree

3 files changed

+36
-1
lines changed

3 files changed

+36
-1
lines changed

api/pkg/entities/user.go

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,15 @@ func (subscription SubscriptionName) Limit() uint {
2020
if subscription == SubscriptionNameProMonthly || subscription == SubscriptionNameProYearly || subscription == SubscriptionNameProLifetime {
2121
return 5000
2222
}
23-
return 10000
23+
24+
if subscription == SubscriptionNameUltraMonthly || subscription == SubscriptionNameUltraYearly {
25+
return 10_000
26+
}
27+
28+
if subscription == SubscriptionName20KMonthly || subscription == SubscriptionName20KYearly {
29+
return 20_000
30+
}
31+
return 200
2432
}
2533

2634
// SubscriptionNameFree represents a free subscription
@@ -41,6 +49,12 @@ const SubscriptionNameUltraYearly = SubscriptionName("ultra-yearly")
4149
// SubscriptionNameProLifetime represents a pro lifetime subscription
4250
const SubscriptionNameProLifetime = SubscriptionName("pro-lifetime")
4351

52+
// SubscriptionName20KMonthly represents a monthly 20k subscription
53+
const SubscriptionName20KMonthly = SubscriptionName("20k-monthly")
54+
55+
// SubscriptionName20KYearly represents a yearly 20k subscription
56+
const SubscriptionName20KYearly = SubscriptionName("20k-yearly")
57+
4458
// User stores information about a user
4559
type User struct {
4660
ID UserID `json:"id" gorm:"primaryKey;type:string;" example:"WB7DRDWrJZRGbYrv2CKGkqbzvqdC"`

api/pkg/services/lemonsqueezy_service.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,11 +143,20 @@ func (service *LemonsqueezyService) subscriptionName(variant string) entities.Su
143143
}
144144
return entities.SubscriptionNameProYearly
145145
}
146+
146147
if strings.Contains(strings.ToLower(variant), "ultra") {
147148
if strings.Contains(strings.ToLower(variant), "monthly") {
148149
return entities.SubscriptionNameUltraMonthly
149150
}
150151
return entities.SubscriptionNameUltraYearly
151152
}
153+
154+
if strings.Contains(strings.ToLower(variant), "20k") {
155+
if strings.Contains(strings.ToLower(variant), "monthly") {
156+
return entities.SubscriptionName20KMonthly
157+
}
158+
return entities.SubscriptionName20KYearly
159+
}
160+
152161
return entities.SubscriptionNameFree
153162
}

web/pages/billing/index.vue

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -385,6 +385,18 @@ export default Vue.extend({
385385
messagesPerMonth: 10000,
386386
price: 200,
387387
},
388+
{
389+
name: '20k - Monthly',
390+
id: '20k-monthly',
391+
messagesPerMonth: 20000,
392+
price: 35,
393+
},
394+
{
395+
name: '20k - Yearly',
396+
id: '20k-yearly',
397+
messagesPerMonth: 20000,
398+
price: 350,
399+
},
388400
{
389401
name: 'PRO - Lifetime',
390402
id: 'pro-lifetime',

0 commit comments

Comments
 (0)