feat(user-settings): voeg IdeasListPrefs schema toe met filterStatuses

Nieuw IdeasListPrefs-subschema met filterStatuses (array van IdeaStatusApi-waarden),
ingehangen als views.ideasList in ViewsPrefs. Testdekking voor geldig, ongeldig en
leeg filterStatuses.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Scrum4Me Agent 2026-05-15 03:48:24 +02:00
parent 3d5c22382c
commit f8dd687c32
2 changed files with 19 additions and 0 deletions

View file

@ -1,5 +1,6 @@
import { z } from 'zod'
import { JOBS_TIME_FILTER_VALUES } from '@/lib/jobs-time-filter'
import { IDEA_STATUS_API_VALUES, type IdeaStatusApi } from '@/lib/idea-status'
const PriorityFilter = z.union([
z.number().int().min(1).max(4),
@ -37,12 +38,19 @@ const JobsViewPrefs = z.object({
timeFilter: z.enum(JOBS_TIME_FILTER_VALUES).optional(),
}).strict()
const IdeasListPrefs = z.object({
filterStatuses: z.array(
z.enum(IDEA_STATUS_API_VALUES as [IdeaStatusApi, ...IdeaStatusApi[]])
).optional(),
}).strict()
const ViewsPrefs = z.object({
sprintBacklog: SprintBacklogPrefs.optional(),
pbiList: PbiListPrefs.optional(),
storyPanel: StoryPanelPrefs.optional(),
jobsColumns: z.record(z.string(), JobsColumnPrefs).optional(),
jobs: JobsViewPrefs.optional(),
ideasList: IdeasListPrefs.optional(),
}).strict()
const DevToolsPrefs = z.object({