mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-10-08 14:28:20 +00:00
misc: added rate limiter
This commit is contained in:
@@ -8,6 +8,7 @@ import {
|
|||||||
ProjectUserMembershipRolesSchema
|
ProjectUserMembershipRolesSchema
|
||||||
} from "@app/db/schemas";
|
} from "@app/db/schemas";
|
||||||
import { PROJECTS } from "@app/lib/api-docs";
|
import { PROJECTS } from "@app/lib/api-docs";
|
||||||
|
import { readLimit, writeLimit } from "@app/server/config/rateLimiter";
|
||||||
import { verifyAuth } from "@app/server/plugins/auth/verify-auth";
|
import { verifyAuth } from "@app/server/plugins/auth/verify-auth";
|
||||||
import { AuthMode } from "@app/services/auth/auth-type";
|
import { AuthMode } from "@app/services/auth/auth-type";
|
||||||
import { ProjectUserMembershipTemporaryMode } from "@app/services/project-membership/project-membership-types";
|
import { ProjectUserMembershipTemporaryMode } from "@app/services/project-membership/project-membership-types";
|
||||||
@@ -17,6 +18,9 @@ export const registerGroupProjectRouter = async (server: FastifyZodProvider) =>
|
|||||||
method: "POST",
|
method: "POST",
|
||||||
url: "/:projectSlug/groups/:groupSlug",
|
url: "/:projectSlug/groups/:groupSlug",
|
||||||
onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]),
|
onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]),
|
||||||
|
config: {
|
||||||
|
rateLimit: writeLimit
|
||||||
|
},
|
||||||
schema: {
|
schema: {
|
||||||
description: "Add group to project",
|
description: "Add group to project",
|
||||||
security: [
|
security: [
|
||||||
@@ -138,6 +142,9 @@ export const registerGroupProjectRouter = async (server: FastifyZodProvider) =>
|
|||||||
method: "DELETE",
|
method: "DELETE",
|
||||||
url: "/:projectSlug/groups/:groupSlug",
|
url: "/:projectSlug/groups/:groupSlug",
|
||||||
onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]),
|
onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]),
|
||||||
|
config: {
|
||||||
|
rateLimit: writeLimit
|
||||||
|
},
|
||||||
schema: {
|
schema: {
|
||||||
description: "Remove group from project",
|
description: "Remove group from project",
|
||||||
security: [
|
security: [
|
||||||
@@ -172,6 +179,9 @@ export const registerGroupProjectRouter = async (server: FastifyZodProvider) =>
|
|||||||
method: "GET",
|
method: "GET",
|
||||||
url: "/:projectSlug/groups",
|
url: "/:projectSlug/groups",
|
||||||
onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]),
|
onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]),
|
||||||
|
config: {
|
||||||
|
rateLimit: readLimit
|
||||||
|
},
|
||||||
schema: {
|
schema: {
|
||||||
description: "Return list of groups in project",
|
description: "Return list of groups in project",
|
||||||
security: [
|
security: [
|
||||||
@@ -226,6 +236,9 @@ export const registerGroupProjectRouter = async (server: FastifyZodProvider) =>
|
|||||||
method: "GET",
|
method: "GET",
|
||||||
url: "/:projectSlug/groups/:groupSlug",
|
url: "/:projectSlug/groups/:groupSlug",
|
||||||
onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]),
|
onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]),
|
||||||
|
config: {
|
||||||
|
rateLimit: readLimit
|
||||||
|
},
|
||||||
schema: {
|
schema: {
|
||||||
description: "Return project group",
|
description: "Return project group",
|
||||||
security: [
|
security: [
|
||||||
|
|||||||
Reference in New Issue
Block a user