Files
Homarr/packages/validation/src/group.ts
Meier Lukas 75ba3f2ae7 refactor: remove central validation export to improve typescript performance (#2810)
* refactor: remove central validation export to improve typescript performance

* fix: missing package exports change in validation package

* chore: address pull request feedback
2025-04-06 10:37:28 +00:00

41 lines
1.0 KiB
TypeScript

import { z } from "zod";
import { everyoneGroup, groupPermissionKeys } from "@homarr/definitions";
import { byIdSchema } from "./common";
import { zodEnumFromArray } from "./enums";
export const groupCreateSchema = z.object({
name: z
.string()
.trim()
.min(1)
.max(64)
.refine((value) => value !== everyoneGroup, {
message: "'everyone' is a reserved group name",
}),
});
export const groupUpdateSchema = groupCreateSchema.merge(byIdSchema);
export const groupSettingsSchema = z.object({
homeBoardId: z.string().nullable(),
mobileHomeBoardId: z.string().nullable(),
});
export const groupSavePartialSettingsSchema = z.object({
id: z.string(),
settings: groupSettingsSchema.partial(),
});
export const groupSavePermissionsSchema = z.object({
groupId: z.string(),
permissions: z.array(zodEnumFromArray(groupPermissionKeys)),
});
export const groupSavePositionsSchema = z.object({
positions: z.array(z.string()),
});
export const groupUserSchema = z.object({ groupId: z.string(), userId: z.string() });