feat: make billing better (#203)

This commit is contained in:
KM Koushik
2025-08-25 22:35:21 +10:00
committed by GitHub
parent 8ce5e4b2dd
commit 3f9094e95d
25 changed files with 956 additions and 360 deletions

View File

@@ -0,0 +1,34 @@
import { Plan } from "@prisma/client";
export enum LimitReason {
DOMAIN = "DOMAIN",
CONTACT_BOOK = "CONTACT_BOOK",
TEAM_MEMBER = "TEAM_MEMBER",
EMAIL = "EMAIL",
}
export const PLAN_LIMITS: Record<
Plan,
{
emailsPerMonth: number;
emailsPerDay: number;
domains: number;
contactBooks: number;
teamMembers: number;
}
> = {
FREE: {
emailsPerMonth: 3000,
emailsPerDay: 100,
domains: 1,
contactBooks: 1,
teamMembers: 1,
},
BASIC: {
emailsPerMonth: -1, // unlimited
emailsPerDay: -1, // unlimited
domains: -1,
contactBooks: -1,
teamMembers: -1,
},
};

View File

@@ -1,4 +1,4 @@
import { EmailUsageType, Plan } from "@prisma/client";
import { EmailUsageType, Plan, Subscription } from "@prisma/client";
export const USAGE_UNIT_PRICE: Record<EmailUsageType, number> = {
[EmailUsageType.MARKETING]: 0.001,