change(api): feature flags validate condition filters
This commit is contained in:
parent
c568027952
commit
0afa74b446
2 changed files with 9 additions and 3 deletions
|
|
@ -38,7 +38,6 @@ def exists_by_name(flag_key: str, project_id: int, exclude_id: Optional[int]) ->
|
|||
|
||||
def update_feature_flag_status(project_id: int, feature_flag_id: int, is_active: bool) -> Dict[str, Any]:
|
||||
try:
|
||||
print(f"feature_flag_id: {feature_flag_id}, is_active: {is_active}")
|
||||
with pg_client.PostgresClient() as cur:
|
||||
query = cur.mogrify(f"""UPDATE feature_flags
|
||||
SET is_active = %(is_active)s, updated_at=NOW()
|
||||
|
|
@ -234,7 +233,7 @@ def prepare_conditions_values(feature_flag_data):
|
|||
conditions_data[f"{k}_{i}"] = s.__getattribute__(k)
|
||||
conditions_data[f"name_{i}"] = s.name
|
||||
conditions_data[f"rollout_percentage_{i}"] = s.rollout_percentage
|
||||
conditions_data[f"filters_{i}"] = json.dumps(s.filters)
|
||||
conditions_data[f"filters_{i}"] = json.dumps([filter_.dict() for filter_ in s.filters])
|
||||
return conditions_data
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1393,11 +1393,18 @@ class FeatureFlagVariant(BaseModel):
|
|||
alias_generator = attribute_to_camel_case
|
||||
|
||||
|
||||
class FeatureFlagConditionFilterSchema(BaseModel):
|
||||
is_event: bool = Field(False, const=False)
|
||||
type: FilterType = Field(...)
|
||||
value: List[str] = Field(default=[], min_items=1)
|
||||
operator: Union[SearchEventOperator, MathOperator] = Field(...)
|
||||
|
||||
|
||||
class FeatureFlagCondition(BaseModel):
|
||||
condition_id: Optional[int] = Field(default=None)
|
||||
name: str = Field(...)
|
||||
rollout_percentage: Optional[int] = Field(default=0)
|
||||
filters: List[dict] = Field(default=[])
|
||||
filters: List[FeatureFlagConditionFilterSchema] = Field(default=[])
|
||||
|
||||
class Config:
|
||||
alias_generator = attribute_to_camel_case
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue