/** * Feste Wertelisten der Akte — Rollen der Beteiligten und Arten der * Verknüpfung. * * **Ohne Abhängigkeiten.** Diese Datei wird auch im Client geladen, und die * Dienstmodule daneben ziehen den Datenbankclient nach sich. Denselben Schnitt * hat `lib/templates/fields.ts` gegenüber `schema.ts`, aus demselben Grund: * das Bündelbudget aus docs/09-performance-und-ux.md. * * Die Übersetzungen stehen in `lib/i18n/de.ts`, nicht hier: diese Namen sind * Datenbankwerte. */ export const PARTICIPANT_ROLES = [ 'LEAD', 'INVESTIGATOR', 'WITNESS', 'SUBJECT', 'OBSERVER', ] as const export type ParticipantRoleName = (typeof PARTICIPANT_ROLES)[number] export function isParticipantRole(value: string): value is ParticipantRoleName { return (PARTICIPANT_ROLES as readonly string[]).includes(value) } export const LINK_KINDS = ['RELATED', 'SUCCESSOR', 'MERGED_INTO'] as const export type LinkKindName = (typeof LINK_KINDS)[number] export function isLinkKind(value: string): value is LinkKindName { return (LINK_KINDS as readonly string[]).includes(value) }