Skip to content

Commit

Permalink
fix: disallow empty list of envs and invalid env names in advanced pl…
Browse files Browse the repository at this point in the history
…ayground (#4060)

This PR changes the OpenAPI schema for the advanced playground to not
accept empty lists of environments and to not accept environment names
that don't match the env name pattern we use.

The pattern is the same as the one we use for controlling environment
names on creation.

However, there is a (small) chance that these may get out of sync later,
so we could do something to only define this pattern once (and import it
in the enterprise package), but that may be more work than is necessary,
and I'd suggest we do that later.

I've also added a minLength to the string items although it isn't
strictly necessary. It's primarily to give the users better feedback if
the name is empty.
  • Loading branch information
thomasheartman committed Jun 22, 2023
1 parent 559caee commit 3fb00b2
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 1 deletion.
7 changes: 6 additions & 1 deletion src/lib/openapi/spec/advanced-playground-request-schema.ts
Expand Up @@ -11,7 +11,12 @@ export const advancedPlaygroundRequestSchema = {
properties: {
environments: {
type: 'array',
items: { type: 'string' },
items: {
type: 'string',
minLength: 1,
pattern: '^[a-zA-Z0-9~_.-]+$',
},
minItems: 1,
example: ['development', 'production'],
description: 'The environments to evaluate toggles in.',
},
Expand Down
Expand Up @@ -843,8 +843,11 @@ The provider you choose for your addon dictates what properties the \`parameters
"production",
],
"items": {
"minLength": 1,
"pattern": "^[a-zA-Z0-9~_.-]+$",
"type": "string",
},
"minItems": 1,
"type": "array",
},
"projects": {
Expand Down

0 comments on commit 3fb00b2

Please sign in to comment.