Feat: Request access (new routes)

This commit is contained in:
Daniel Hougaard
2024-04-03 16:37:49 -07:00
parent 448f89fd1c
commit 5c69bbf515

View File

@@ -1,7 +1,9 @@
import slugify from "@sindresorhus/slugify";
import { z } from "zod";
import { AccessApprovalRequestsReviewersSchema, AccessApprovalRequestsSchema } from "@app/db/schemas";
import { ApprovalStatus } from "@app/ee/services/access-approval-request/access-approval-request-types";
import { alphaNumericNanoId } from "@app/lib/nanoid";
import { verifyAuth } from "@app/server/plugins/auth/verify-auth";
import { AuthMode } from "@app/services/auth/auth-type";
@@ -11,12 +13,24 @@ export const registerAccessApprovalRequestRouter = async (server: FastifyZodProv
method: "POST",
schema: {
body: z.object({
slug: z
.string()
.min(1)
.max(60)
.trim()
.default(`requested-privilege-${slugify(alphaNumericNanoId(12))}`)
.refine((v) => v.toLowerCase() === v, "Slug must be lowercase")
.refine((v) => slugify(v) === v, {
message: "Slug must be a valid slug"
}),
permissions: z.any().array(),
isTemporary: z.boolean(),
temporaryRange: z.string().optional()
}),
querystring: z.object({
projectSlug: z.string().trim()
projectSlug: z.string().trim(),
secretPath: z.string().trim(),
envSlug: z.string().trim()
}),
response: {
200: z.object({
@@ -31,7 +45,9 @@ export const registerAccessApprovalRequestRouter = async (server: FastifyZodProv
actorId: req.permission.id,
actorAuthMethod: req.permission.authMethod,
permissions: req.body.permissions,
envSlug: req.query.envSlug,
actorOrgId: req.permission.orgId,
secretPath: req.query.secretPath,
projectSlug: req.query.projectSlug,
temporaryRange: req.body.temporaryRange,
isTemporary: req.body.isTemporary