fix rate limit set to default (#83)
This commit is contained in:
@@ -36,6 +36,7 @@ export const env = createEnv({
|
||||
UNSEND_API_KEY: z.string().optional(),
|
||||
GOOGLE_CLIENT_ID: z.string().optional(),
|
||||
GOOGLE_CLIENT_SECRET: z.string().optional(),
|
||||
AWS_SES_ENDPOINT: z.string().optional(),
|
||||
AWS_DEFAULT_REGION: z.string().default("us-east-1"),
|
||||
API_RATE_LIMIT: z
|
||||
.string()
|
||||
@@ -85,6 +86,7 @@ export const env = createEnv({
|
||||
GOOGLE_CLIENT_ID: process.env.GOOGLE_CLIENT_ID,
|
||||
GOOGLE_CLIENT_SECRET: process.env.GOOGLE_CLIENT_SECRET,
|
||||
AWS_DEFAULT_REGION: process.env.AWS_DEFAULT_REGION,
|
||||
AWS_SES_ENDPOINT: process.env.AWS_SES_ENDPOINT,
|
||||
API_RATE_LIMIT: process.env.API_RATE_LIMIT,
|
||||
NEXT_PUBLIC_IS_CLOUD: process.env.NEXT_PUBLIC_IS_CLOUD,
|
||||
ADMIN_EMAIL: process.env.ADMIN_EMAIL,
|
||||
|
@@ -18,6 +18,7 @@ import { EmailContent } from "~/types";
|
||||
function getSesClient(region: string) {
|
||||
return new SESv2Client({
|
||||
region: region,
|
||||
endpoint: env.AWS_SES_ENDPOINT,
|
||||
credentials: {
|
||||
accessKeyId: env.AWS_ACCESS_KEY,
|
||||
secretAccessKey: env.AWS_SECRET_KEY,
|
||||
|
@@ -7,7 +7,7 @@ import { getTeamAndApiKey } from "../service/api-service";
|
||||
|
||||
const rateLimitCache = new TTLCache({
|
||||
ttl: 1000, // 1 second
|
||||
max: env.API_RATE_LIMIT,
|
||||
max: 10000,
|
||||
});
|
||||
|
||||
/**
|
||||
@@ -72,7 +72,7 @@ const checkRateLimit = (token: string) => {
|
||||
|
||||
rateLimit = rateLimit ?? 0;
|
||||
|
||||
if (rateLimit >= 2) {
|
||||
if (rateLimit >= env.API_RATE_LIMIT) {
|
||||
throw new UnsendApiError({
|
||||
code: "RATE_LIMITED",
|
||||
message: `Rate limit exceeded, ${env.API_RATE_LIMIT} requests per second`,
|
||||
|
@@ -7,6 +7,8 @@
|
||||
"build:web": "turbo build --filter=@unsend/email-editor --filter=web ",
|
||||
"build:marketing": "turbo build --filter=@unsend/email-editor --filter=marketing",
|
||||
"build:smtp": "turbo build --filter=smtp-server",
|
||||
"build:web:local": "pnpm load-env -- turbo build --filter=@unsend/email-editor --filter=web ",
|
||||
"start:web:local": "pnpm load-env -- cd apps/web && pnpm start",
|
||||
"dev": "pnpm load-env -- turbo dev",
|
||||
"dev:docs": "cd apps/docs && mintlify dev",
|
||||
"lint": "turbo lint",
|
||||
|
Reference in New Issue
Block a user