feat(announcements): add locale audience targeting and published-home news
This commit is contained in:
@@ -1,11 +1,13 @@
|
||||
import { z } from "zod"
|
||||
|
||||
export const announcementPlacementSchema = z.enum(["global_top", "homepage"])
|
||||
export const announcementLocaleSchema = z.enum(["de", "en", "es", "fr"])
|
||||
|
||||
export const createAnnouncementInputSchema = z.object({
|
||||
title: z.string().min(1).max(180),
|
||||
message: z.string().min(1).max(500),
|
||||
placement: announcementPlacementSchema.default("global_top"),
|
||||
targetLocales: z.array(announcementLocaleSchema).default([]),
|
||||
priority: z.number().int().min(0).default(100),
|
||||
ctaLabel: z.string().max(120).nullable().optional(),
|
||||
ctaHref: z.string().max(500).nullable().optional(),
|
||||
@@ -19,6 +21,7 @@ export const updateAnnouncementInputSchema = z.object({
|
||||
title: z.string().min(1).max(180).optional(),
|
||||
message: z.string().min(1).max(500).optional(),
|
||||
placement: announcementPlacementSchema.optional(),
|
||||
targetLocales: z.array(announcementLocaleSchema).optional(),
|
||||
priority: z.number().int().min(0).optional(),
|
||||
ctaLabel: z.string().max(120).nullable().optional(),
|
||||
ctaHref: z.string().max(500).nullable().optional(),
|
||||
|
||||
Reference in New Issue
Block a user