feat(platzhalter): Aufloesung, Namensregeln und Shell-Maskierung (#26)
Prüfung / pruefung (push) Canceled after 0s
Prüfung / e2e (push) Canceled after 0s

This commit was merged in pull request #26.
This commit is contained in:
2026-09-25 13:30:31 +00:00
parent f85bc87324
commit eec5de404a
21 changed files with 4069 additions and 166 deletions
+7 -12
View File
@@ -1,7 +1,7 @@
import { z } from "@/lib/validierung";
import type { Prisma } from "@/generated/prisma/client";
import { Betriebsmodus } from "@/generated/prisma/enums";
import { prisma } from "@/lib/db";
import { NamensregelnSchema, type Namensregeln } from "@/lib/namensregeln";
import { betriebsmodus, eigeneOrganisation } from "@/server/mandant";
import { kuerzelPruefen } from "@/server/services/kunden";
@@ -21,18 +21,13 @@ export class EinstellungsFehler extends Error {
}
/**
* Vorlagen fuer abgeleitete Werte. Die Platzhalter darin (`{vorname}`,
* `{nachname}`, `{v}`, `{nnn}`, `{kundenkuerzel}`) loest #012 auf; hier werden
* sie nur gespeichert und bearbeitet.
* Schema und Typ der Namensregeln liegen seit #012 in `src/lib/namensregeln.ts`,
* zusammen mit der Aufloesung der Platzhalter darin (`{vorname}`, `{nachname}`,
* `{v}`, `{nnn}`, `{kundenkuerzel}`). Hier werden sie nur gespeichert und
* bearbeitet — weitergereicht werden sie, damit die Server Action und das
* Formular ihren Import nicht aendern muessen.
*/
export const NamensregelnSchema = z.object({
upn: z.string().trim().max(200).optional(),
sam: z.string().trim().max(200).optional(),
mail: z.string().trim().max(200).optional(),
hostname: z.string().trim().max(200).optional(),
});
export type Namensregeln = z.infer<typeof NamensregelnSchema>;
export { NamensregelnSchema, type Namensregeln };
export type Einstellungen = {
readonly modus: Betriebsmodus;