Skip to content

Commit 3f04889

Browse files
validate inline values
1 parent 47c844b commit 3f04889

1 file changed

Lines changed: 11 additions & 5 deletions

File tree

packages/cli/src/commands/db/create.ts

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,14 @@ async function getCdnServerToken(): Promise<string | null> {
3434
}
3535
}
3636

37+
/** Validate a database name; returns an error message, or null when valid. */
38+
function validateDbName(name: string): string | null {
39+
if (name.length > DB_NAME_MAX_LENGTH) {
40+
return `Database name must be ${DB_NAME_MAX_LENGTH} characters or fewer (got ${name.length}).`;
41+
}
42+
return null;
43+
}
44+
3745
const COMMAND = "create";
3846
const DESCRIPTION = "Create a new database.";
3947

@@ -139,15 +147,13 @@ export const dbCreateCommand = defineCommand<CreateArgs>({
139147
type: "text",
140148
name: "value",
141149
message: "Database name:",
150+
validate: (v: string) => validateDbName(v) ?? true,
142151
});
143152
name = value;
144153
}
145154
if (!name) throw new UserError("Database name is required.");
146-
if (name.length > DB_NAME_MAX_LENGTH) {
147-
throw new UserError(
148-
`Database name must be ${DB_NAME_MAX_LENGTH} characters or fewer (got ${name.length}).`,
149-
);
150-
}
155+
const nameError = validateDbName(name);
156+
if (nameError) throw new UserError(nameError);
151157

152158
// Fetch available regions from config
153159
const configSpin = spinner("Fetching available regions...");

0 commit comments

Comments
 (0)