fix rate limit set to default (#83)

This commit is contained in:
KM Koushik
2024-11-29 10:47:01 +11:00
committed by GitHub
parent 26f42e6e9e
commit 5e297ac23a
4 changed files with 7 additions and 2 deletions

View File

@@ -36,6 +36,7 @@ export const env = createEnv({
UNSEND_API_KEY: z.string().optional(), UNSEND_API_KEY: z.string().optional(),
GOOGLE_CLIENT_ID: z.string().optional(), GOOGLE_CLIENT_ID: z.string().optional(),
GOOGLE_CLIENT_SECRET: z.string().optional(), GOOGLE_CLIENT_SECRET: z.string().optional(),
AWS_SES_ENDPOINT: z.string().optional(),
AWS_DEFAULT_REGION: z.string().default("us-east-1"), AWS_DEFAULT_REGION: z.string().default("us-east-1"),
API_RATE_LIMIT: z API_RATE_LIMIT: z
.string() .string()
@@ -85,6 +86,7 @@ export const env = createEnv({
GOOGLE_CLIENT_ID: process.env.GOOGLE_CLIENT_ID, GOOGLE_CLIENT_ID: process.env.GOOGLE_CLIENT_ID,
GOOGLE_CLIENT_SECRET: process.env.GOOGLE_CLIENT_SECRET, GOOGLE_CLIENT_SECRET: process.env.GOOGLE_CLIENT_SECRET,
AWS_DEFAULT_REGION: process.env.AWS_DEFAULT_REGION, AWS_DEFAULT_REGION: process.env.AWS_DEFAULT_REGION,
AWS_SES_ENDPOINT: process.env.AWS_SES_ENDPOINT,
API_RATE_LIMIT: process.env.API_RATE_LIMIT, API_RATE_LIMIT: process.env.API_RATE_LIMIT,
NEXT_PUBLIC_IS_CLOUD: process.env.NEXT_PUBLIC_IS_CLOUD, NEXT_PUBLIC_IS_CLOUD: process.env.NEXT_PUBLIC_IS_CLOUD,
ADMIN_EMAIL: process.env.ADMIN_EMAIL, ADMIN_EMAIL: process.env.ADMIN_EMAIL,

View File

@@ -18,6 +18,7 @@ import { EmailContent } from "~/types";
function getSesClient(region: string) { function getSesClient(region: string) {
return new SESv2Client({ return new SESv2Client({
region: region, region: region,
endpoint: env.AWS_SES_ENDPOINT,
credentials: { credentials: {
accessKeyId: env.AWS_ACCESS_KEY, accessKeyId: env.AWS_ACCESS_KEY,
secretAccessKey: env.AWS_SECRET_KEY, secretAccessKey: env.AWS_SECRET_KEY,

View File

@@ -7,7 +7,7 @@ import { getTeamAndApiKey } from "../service/api-service";
const rateLimitCache = new TTLCache({ const rateLimitCache = new TTLCache({
ttl: 1000, // 1 second ttl: 1000, // 1 second
max: env.API_RATE_LIMIT, max: 10000,
}); });
/** /**
@@ -72,7 +72,7 @@ const checkRateLimit = (token: string) => {
rateLimit = rateLimit ?? 0; rateLimit = rateLimit ?? 0;
if (rateLimit >= 2) { if (rateLimit >= env.API_RATE_LIMIT) {
throw new UnsendApiError({ throw new UnsendApiError({
code: "RATE_LIMITED", code: "RATE_LIMITED",
message: `Rate limit exceeded, ${env.API_RATE_LIMIT} requests per second`, message: `Rate limit exceeded, ${env.API_RATE_LIMIT} requests per second`,

View File

@@ -7,6 +7,8 @@
"build:web": "turbo build --filter=@unsend/email-editor --filter=web ", "build:web": "turbo build --filter=@unsend/email-editor --filter=web ",
"build:marketing": "turbo build --filter=@unsend/email-editor --filter=marketing", "build:marketing": "turbo build --filter=@unsend/email-editor --filter=marketing",
"build:smtp": "turbo build --filter=smtp-server", "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": "pnpm load-env -- turbo dev",
"dev:docs": "cd apps/docs && mintlify dev", "dev:docs": "cd apps/docs && mintlify dev",
"lint": "turbo lint", "lint": "turbo lint",