Implement per-team API rate limiting with Redis (#164)
This commit is contained in:
@@ -49,7 +49,7 @@ const route = createRoute({
|
||||
|
||||
function addContact(app: PublicAPIApp) {
|
||||
app.openapi(route, async (c) => {
|
||||
const team = await getTeamFromToken(c);
|
||||
const team = c.var.team;
|
||||
|
||||
const contactBook = await getContactBook(c, team.id);
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@ const route = createRoute({
|
||||
|
||||
function deleteContactHandler(app: PublicAPIApp) {
|
||||
app.openapi(route, async (c) => {
|
||||
const team = await getTeamFromToken(c);
|
||||
const team = c.var.team;
|
||||
|
||||
await getContactBook(c, team.id);
|
||||
const contactId = c.req.param("contactId");
|
||||
|
||||
@@ -50,7 +50,7 @@ const route = createRoute({
|
||||
|
||||
function getContact(app: PublicAPIApp) {
|
||||
app.openapi(route, async (c) => {
|
||||
const team = await getTeamFromToken(c);
|
||||
const team = c.var.team;
|
||||
|
||||
await getContactBook(c, team.id);
|
||||
|
||||
|
||||
@@ -51,7 +51,7 @@ const route = createRoute({
|
||||
|
||||
function getContacts(app: PublicAPIApp) {
|
||||
app.openapi(route, async (c) => {
|
||||
const team = await getTeamFromToken(c);
|
||||
const team = c.var.team;
|
||||
|
||||
const cb = await getContactBook(c, team.id);
|
||||
|
||||
|
||||
@@ -52,7 +52,7 @@ const route = createRoute({
|
||||
|
||||
function updateContactInfo(app: PublicAPIApp) {
|
||||
app.openapi(route, async (c) => {
|
||||
const team = await getTeamFromToken(c);
|
||||
const team = c.var.team;
|
||||
|
||||
await getContactBook(c, team.id);
|
||||
const contactId = c.req.param("contactId");
|
||||
|
||||
@@ -49,7 +49,7 @@ const route = createRoute({
|
||||
|
||||
function upsertContact(app: PublicAPIApp) {
|
||||
app.openapi(route, async (c) => {
|
||||
const team = await getTeamFromToken(c);
|
||||
const team = c.var.team;
|
||||
|
||||
const contactBook = await getContactBook(c, team.id);
|
||||
|
||||
|
||||
@@ -34,7 +34,7 @@ const route = createRoute({
|
||||
|
||||
function createDomain(app: PublicAPIApp) {
|
||||
app.openapi(route, async (c) => {
|
||||
const team = await getTeamFromToken(c);
|
||||
const team = c.var.team;
|
||||
const body = c.req.valid("json");
|
||||
const response = await createDomainService(team.id, body.name, body.region);
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@ const route = createRoute({
|
||||
|
||||
function getDomains(app: PublicAPIApp) {
|
||||
app.openapi(route, async (c) => {
|
||||
const team = await getTeamFromToken(c);
|
||||
const team = c.var.team;
|
||||
|
||||
const domains = await db.domain.findMany({ where: { teamId: team.id } });
|
||||
|
||||
|
||||
@@ -33,8 +33,6 @@ const route = createRoute({
|
||||
|
||||
function verifyDomain(app: PublicAPIApp) {
|
||||
app.openapi(route, async (c) => {
|
||||
const team = await getTeamFromToken(c);
|
||||
|
||||
await db.domain.update({
|
||||
where: { id: c.req.valid("param").id },
|
||||
data: { isVerifying: true },
|
||||
|
||||
@@ -44,7 +44,7 @@ const route = createRoute({
|
||||
|
||||
function sendBatch(app: PublicAPIApp) {
|
||||
app.openapi(route, async (c) => {
|
||||
const team = await getTeamFromToken(c);
|
||||
const team = c.var.team;
|
||||
const emailPayloads = c.req.valid("json");
|
||||
|
||||
// Add teamId and apiKeyId to each email payload
|
||||
|
||||
@@ -35,7 +35,7 @@ const route = createRoute({
|
||||
|
||||
function cancelScheduledEmail(app: PublicAPIApp) {
|
||||
app.openapi(route, async (c) => {
|
||||
const team = await getTeamFromToken(c);
|
||||
const team = c.var.team;
|
||||
const emailId = c.req.param("emailId");
|
||||
await checkIsValidEmailId(emailId, team.id);
|
||||
|
||||
|
||||
@@ -57,7 +57,7 @@ const route = createRoute({
|
||||
|
||||
function send(app: PublicAPIApp) {
|
||||
app.openapi(route, async (c) => {
|
||||
const team = await getTeamFromToken(c);
|
||||
const team = c.var.team;
|
||||
|
||||
const emailId = c.req.param("emailId");
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@ const route = createRoute({
|
||||
|
||||
function send(app: PublicAPIApp) {
|
||||
app.openapi(route, async (c) => {
|
||||
const team = await getTeamFromToken(c);
|
||||
const team = c.var.team;
|
||||
|
||||
let html = undefined;
|
||||
|
||||
|
||||
@@ -45,7 +45,7 @@ const route = createRoute({
|
||||
|
||||
function updateEmailScheduledAt(app: PublicAPIApp) {
|
||||
app.openapi(route, async (c) => {
|
||||
const team = await getTeamFromToken(c);
|
||||
const team = c.var.team;
|
||||
const emailId = c.req.param("emailId");
|
||||
|
||||
await checkIsValidEmailId(emailId, team.id);
|
||||
|
||||
Reference in New Issue
Block a user