mirror of
https://github.com/Dokploy/dokploy.git
synced 2026-07-14 18:35:24 +02:00
API key names longer than 32 characters were rejected by better-auth with a 400 that surfaced as an opaque INTERNAL_SERVER_ERROR (the generic "Failed to generate API key" toast). Add a shared name schema (min 1, max 32, matching better-auth's default maximumNameLength) used by both the tRPC input and the client form, and surface the limit on the Name field so users see it before submitting. Fixes #4798
24 lines
701 B
TypeScript
24 lines
701 B
TypeScript
import { z } from "zod";
|
|
|
|
/**
|
|
* Maximum length allowed for an API key name.
|
|
*
|
|
* This mirrors the default `maximumNameLength` enforced by the
|
|
* `@better-auth/api-key` plugin. Names longer than this are rejected by
|
|
* better-auth with a 400, so we validate against it up front to surface a
|
|
* clear field-level error instead of an opaque 500.
|
|
*/
|
|
export const API_KEY_NAME_MAX_LENGTH = 32;
|
|
|
|
/**
|
|
* Shared validation for an API key name, used by both the tRPC input schema
|
|
* and the client form so the two can't drift.
|
|
*/
|
|
export const apiKeyNameSchema = z
|
|
.string()
|
|
.min(1, "Name is required")
|
|
.max(
|
|
API_KEY_NAME_MAX_LENGTH,
|
|
`Name must be at most ${API_KEY_NAME_MAX_LENGTH} characters`,
|
|
);
|