File tree Expand file tree Collapse file tree
packages/cli/src/commands/db Expand file tree Collapse file tree Original file line number Diff line number Diff 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+
3745const COMMAND = "create" ;
3846const 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..." ) ;
You can’t perform that action at this time.
0 commit comments