Add server permission routes

This commit is contained in:
jeffvli
2022-11-13 12:35:26 -08:00
parent 1a6c4af5df
commit 14c22c63a0
4 changed files with 250 additions and 1 deletions
+65 -1
View File
@@ -1,4 +1,4 @@
import { ServerType } from '@prisma/client';
import { ServerPermissionType, ServerType } from '@prisma/client';
import { z } from 'zod';
import { idValidation } from './shared.validation';
@@ -163,13 +163,76 @@ const disableFolder = {
query: z.object({}),
};
const addServerPermission = {
body: z.object({
type: z.enum([
ServerPermissionType.ADMIN,
ServerPermissionType.VIEWER,
ServerPermissionType.EDITOR,
]),
userId: z.string().uuid(),
}),
params: z.object({
...idValidation('serverId'),
}),
query: z.object({}),
};
const updateServerPermission = {
body: z.object({
type: z.enum([
ServerPermissionType.ADMIN,
ServerPermissionType.VIEWER,
ServerPermissionType.EDITOR,
]),
}),
params: z.object({
...idValidation('serverId'),
...idValidation('permissionId'),
}),
query: z.object({}),
};
const deleteServerPermission = {
body: z.object({}),
params: z.object({
...idValidation('serverId'),
}),
query: z.object({}),
};
const addServerFolderPermission = {
body: z.object({
userId: z.string().uuid(),
}),
params: z.object({
...idValidation('serverId'),
...idValidation('folderId'),
}),
query: z.object({}),
};
const deleteServerFolderPermission = {
body: z.object({}),
params: z.object({
...idValidation('serverId'),
...idValidation('folderId'),
...idValidation('folderPermissionId'),
}),
query: z.object({}),
};
export const serversValidation = {
addServerFolderPermission,
addServerPermission,
create,
createCredential,
createUrl,
deleteCredential,
deleteFolder,
deleteServer,
deleteServerFolderPermission,
deleteServerPermission,
deleteUrl,
detail,
disableCredential,
@@ -183,4 +246,5 @@ export const serversValidation = {
refresh,
scan,
update,
updateServerPermission,
};