feat(rbac): resolved zod validator issues and trim in frontend

This commit is contained in:
Akhil Mohan
2023-09-08 21:22:36 +05:30
parent 26028e7312
commit 4ca95f4d79
5 changed files with 27 additions and 29 deletions
+2 -2
View File
@@ -102,7 +102,7 @@ export const DeleteIntegrationV1 = z.object({
export const ManualSyncV1 = z.object({ export const ManualSyncV1 = z.object({
body: z.object({ body: z.object({
environment: z.string(), environment: z.string().trim(),
workspaceId: z.string() workspaceId: z.string().trim()
}) })
}); });
+17 -17
View File
@@ -2,16 +2,16 @@ import { z } from "zod";
export const CreateRoleSchema = z.object({ export const CreateRoleSchema = z.object({
body: z.object({ body: z.object({
slug: z.string(), slug: z.string().trim(),
name: z.string(), name: z.string().trim(),
description: z.string().optional(), description: z.string().trim().optional(),
workspaceId: z.string().optional(), workspaceId: z.string().trim().optional(),
orgId: z.string(), orgId: z.string().trim(),
permissions: z permissions: z
.object({ .object({
subject: z.string(), subject: z.string().trim(),
action: z.string(), action: z.string().trim(),
conditions: z.record(z.union([z.string(), z.number()])).optional() conditions: z.record(z.union([z.string().trim(), z.number()])).optional()
}) })
.array() .array()
}) })
@@ -19,19 +19,19 @@ export const CreateRoleSchema = z.object({
export const UpdateRoleSchema = z.object({ export const UpdateRoleSchema = z.object({
params: z.object({ params: z.object({
id: z.string() id: z.string().trim()
}), }),
body: z.object({ body: z.object({
slug: z.string().optional(), slug: z.string().trim().optional(),
name: z.string().optional(), name: z.string().trim().optional(),
description: z.string().optional(), description: z.string().trim().optional(),
workspaceId: z.string().optional(), workspaceId: z.string().trim().optional(),
orgId: z.string(), orgId: z.string().trim(),
permissions: z permissions: z
.object({ .object({
subject: z.string(), subject: z.string().trim(),
action: z.string(), action: z.string().trim(),
conditions: z.record(z.union([z.string(), z.number()])).optional() conditions: z.record(z.union([z.string().trim(), z.number()])).optional()
}) })
.array() .array()
.optional() .optional()
+1 -3
View File
@@ -328,9 +328,7 @@ export const CreateSecretV3 = z.object({
secretCommentCiphertext: z.string().trim().optional(), secretCommentCiphertext: z.string().trim().optional(),
secretCommentIV: z.string().trim().optional(), secretCommentIV: z.string().trim().optional(),
secretCommentTag: z.string().trim().optional(), secretCommentTag: z.string().trim().optional(),
metadata: z.object({ metadata: z.record(z.string()).optional(),
source: z.string()
})
}), }),
params: z.object({ params: z.object({
secretName: z.string().trim() secretName: z.string().trim()
@@ -13,9 +13,9 @@ const generalPermissionSchema = z
.optional(); .optional();
export const formSchema = z.object({ export const formSchema = z.object({
name: z.string(), name: z.string().trim(),
description: z.string().optional(), description: z.string().trim().optional(),
slug: z.string(), slug: z.string().trim(),
permissions: z.object({ permissions: z.object({
workspace: z workspace: z
.object({ .object({
@@ -14,7 +14,7 @@ const generalPermissionSchema = z
const multiEnvPermissionSchema = z const multiEnvPermissionSchema = z
.object({ .object({
secretPath: z.string().optional(), secretPath: z.string().trim().optional(),
read: z.boolean().optional(), read: z.boolean().optional(),
edit: z.boolean().optional(), edit: z.boolean().optional(),
delete: z.boolean().optional(), delete: z.boolean().optional(),
@@ -26,9 +26,9 @@ const PERMISSION_ACTIONS = ["read", "create", "edit", "delete"] as const;
const MULTI_ENV_KEY = ["secrets", "folders", "secret-imports"] as const; const MULTI_ENV_KEY = ["secrets", "folders", "secret-imports"] as const;
export const formSchema = z.object({ export const formSchema = z.object({
name: z.string(), name: z.string().trim(),
description: z.string().optional(), description: z.string().trim().optional(),
slug: z.string(), slug: z.string().trim(),
permissions: z.object({ permissions: z.object({
secrets: z.record(multiEnvPermissionSchema).optional(), secrets: z.record(multiEnvPermissionSchema).optional(),
folders: z.record(multiEnvPermissionSchema).optional(), folders: z.record(multiEnvPermissionSchema).optional(),