@guildxyz/bev3
Version:
Schemas and types related to the Guild.xyz v3 API
55 lines (52 loc) • 1.31 kB
text/typescript
import { z } from 'zod';
export const RoleInputSchema = z.object({
name: z
.string()
.min(1)
.max(255)
.describe("Name of the template (1-255 characters)"),
urlName: z
.string()
.max(255)
.describe("URL-friendly name (optional, max 255 characters)")
.optional(),
description: z
.string()
.max(3000)
.describe(
"Detailed description of the template (optional, max 3000 characters)",
)
.optional(),
imageUrl: z
.string()
.max(255)
.describe("URL to the template's primary image")
.optional(),
backgroundImageUrl: z
.string()
.max(255)
.describe("URL to the template's background image")
.optional(),
visibility: z
.object({})
.catchall(z.any())
.describe("Conditions that determine template visibility")
.optional(),
settings: z
.object({})
.catchall(z.any())
.describe("Template-specific settings")
.optional(),
searchTags: z
.array(z.string().max(50))
.max(20)
.describe("Tags used for template search functionality")
.optional(),
categoryTags: z
.array(z.string().max(30))
.max(10)
.describe("Category classification tags")
.optional(),
guildId: z.string().nullable().optional(),
groupId: z.string().nullable().optional(),
}).strict();