fix(api): validate variants on multi

This commit is contained in:
Shekar Siri 2023-06-20 18:35:44 +02:00
parent 5973fa9f41
commit 0a0f5170e5
2 changed files with 3 additions and 8 deletions

View file

@ -93,6 +93,9 @@ def prepare_constraints_params_to_search(data, project_id, user_id):
def create_feature_flag(project_id: int, user_id: int, feature_flag_data: schemas.FeatureFlagSchema) -> Optional[int]:
if feature_flag_data.flag_type == schemas.FeatureFlagType.multi_variant and len(feature_flag_data.variants) == 0:
raise HTTPException(status_code=status.HTTP_400_BAD_REQUEST, detail="Variants are required for multi variant flag")
validate_unique_flag_key(feature_flag_data, project_id)
validate_multi_variant_flag(feature_flag_data)

View file

@ -1429,13 +1429,5 @@ class FeatureFlagSchema(BaseModel):
conditions: List[FeatureFlagCondition] = Field(default=[], min_items=1)
variants: List[FeatureFlagVariant] = Field(default=[])
@root_validator()
def validate_variants(cls, values):
flag_type = values.get('flag_type', FeatureFlagType.single_variant)
variants = values.get('variants', [])
if flag_type == 'multi' and len(variants) == 0:
raise ValueError('Variants should have at least one item for flag_type "multi"')
return values
class Config:
alias_generator = attribute_to_camel_case