From 445e1522c8673277c139c6347bf662d267517fed Mon Sep 17 00:00:00 2001 From: Madhura68 Date: Wed, 29 Apr 2026 17:08:34 +0200 Subject: [PATCH] feat(ST-1109.3): add PBI status API mappers - pbiStatusToApi / pbiStatusFromApi following same pattern as task/story - PbiStatusApi type derived from PBI_DB_TO_API - PBI_STATUS_API_VALUES export for downstream Zod schemas - Lowercase API surface (ready/blocked/done), DB stays UPPER_SNAKE Co-Authored-By: Claude Opus 4.7 (1M context) --- lib/task-status.ts | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/lib/task-status.ts b/lib/task-status.ts index 523b61b..3968042 100644 --- a/lib/task-status.ts +++ b/lib/task-status.ts @@ -1,7 +1,7 @@ // Bidirectionele case-mappers voor de REST API-boundary. // DB houdt UPPER_SNAKE; API exposeert lowercase. -import type { TaskStatus, StoryStatus } from '@prisma/client' +import type { TaskStatus, StoryStatus, PbiStatus } from '@prisma/client' const TASK_DB_TO_API = { TO_DO: 'todo', @@ -29,8 +29,21 @@ const STORY_API_TO_DB: Record = { done: 'DONE', } +const PBI_DB_TO_API = { + READY: 'ready', + BLOCKED: 'blocked', + DONE: 'done', +} as const satisfies Record + +const PBI_API_TO_DB: Record = { + ready: 'READY', + blocked: 'BLOCKED', + done: 'DONE', +} + export type TaskStatusApi = typeof TASK_DB_TO_API[TaskStatus] export type StoryStatusApi = typeof STORY_DB_TO_API[StoryStatus] +export type PbiStatusApi = typeof PBI_DB_TO_API[PbiStatus] export function taskStatusToApi(s: TaskStatus): TaskStatusApi { return TASK_DB_TO_API[s] @@ -48,5 +61,14 @@ export function storyStatusFromApi(s: string): StoryStatus | null { return STORY_API_TO_DB[s.toLowerCase()] ?? null } +export function pbiStatusToApi(s: PbiStatus): PbiStatusApi { + return PBI_DB_TO_API[s] +} + +export function pbiStatusFromApi(s: string): PbiStatus | null { + return PBI_API_TO_DB[s.toLowerCase()] ?? null +} + export const TASK_STATUS_API_VALUES = Object.values(TASK_DB_TO_API) export const STORY_STATUS_API_VALUES = Object.values(STORY_DB_TO_API) +export const PBI_STATUS_API_VALUES = Object.values(PBI_DB_TO_API)